15 #ifndef wdxGraphicsBuffer9_H
16 #define wdxGraphicsBuffer9_H
18 #include "pandabase.h"
19 #include "graphicsBuffer.h"
20 #include "dxgsg9base.h"
21 #include "dxTextureContext9.h"
56 void register_shared_depth_buffer(
GraphicsOutput *graphics_output);
57 void unregister_shared_depth_buffer(
GraphicsOutput *graphics_output);
60 virtual void close_buffer();
61 virtual bool open_buffer();
64 bool save_bitplanes();
65 bool rebuild_bitplanes();
66 void restore_bitplanes();
67 static void process_1_event();
71 IDirect3DSurface9 *_saved_color_buffer;
72 IDirect3DSurface9 *_saved_depth_buffer;
73 D3DSURFACE_DESC _saved_color_desc;
74 D3DSURFACE_DESC _saved_depth_desc;
75 IDirect3DSurface9 *_color_backing_store;
76 IDirect3DSurface9 *_depth_backing_store;
81 list <wdxGraphicsBuffer9 *> _shared_depth_buffer_list;
89 static void init_type() {
90 GraphicsBuffer::init_type();
91 register_type(_type_handle,
"wdxGraphicsBuffer9",
92 GraphicsBuffer::get_class_type());
95 return get_class_type();
97 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
107 #include "wdxGraphicsBuffer9.I"
A GraphicsStateGuardian for rendering into DirectX9 contexts.
virtual void end_frame(FrameMode mode, Thread *current_thread)
This function will be called within the draw thread after rendering is completed for a given frame...
virtual void select_target_tex_page(int page)
Called internally when the window is in render-to-a-texture mode and we are in the process of renderi...
virtual void process_events()
Honor any requests recently made via request_open() or request_close().
A container for the various kinds of properties we might ask to have on a graphics window before we o...
An offscreen render buffer.
An offscreen buffer for rendering into.
An object to create GraphicsOutputs that share a particular 3-D API.
This is a base class for the various different classes that represent the result of a frame of render...
A thread; that is, a lightweight process.
Encapsulates all the communication with a particular instance of a given rendering backend...
virtual bool get_supports_render_texture() const
Returns true if this particular GraphicsOutput can render directly into a texture, or false if it must always copy-to-texture at the end of each frame to achieve this effect.
This class is the main interface to controlling the render process.
TypeHandle is the identifier used to differentiate C++ class types.
A container for the various kinds of properties we might ask to have on a graphics frameBuffer before...
virtual void unshare_depth_buffer()
Discontinue sharing the depth buffer.
virtual bool begin_frame(FrameMode mode, Thread *current_thread)
This function will be called within the draw thread before beginning rendering for a given frame...
virtual bool share_depth_buffer(GraphicsOutput *graphics_output)
Will attempt to use the depth buffer of the input graphics_output.