14 #ifndef wdxGraphicsBuffer9_H 15 #define wdxGraphicsBuffer9_H 32 const std::string &name,
40 virtual INLINE
bool get_supports_render_texture()
const;
52 void register_shared_depth_buffer(
GraphicsOutput *graphics_output);
53 void unregister_shared_depth_buffer(
GraphicsOutput *graphics_output);
56 virtual void close_buffer();
57 virtual bool open_buffer();
60 bool save_bitplanes();
61 bool rebuild_bitplanes();
62 void restore_bitplanes();
63 static void process_1_event();
67 IDirect3DSurface9 *_saved_color_buffer;
68 IDirect3DSurface9 *_saved_depth_buffer;
69 D3DSURFACE_DESC _saved_color_desc;
70 D3DSURFACE_DESC _saved_depth_desc;
71 IDirect3DSurface9 *_color_backing_store;
72 IDirect3DSurface9 *_depth_backing_store;
77 std::list <wdxGraphicsBuffer9 *> _shared_depth_buffer_list;
85 static void init_type() {
86 GraphicsBuffer::init_type();
88 GraphicsBuffer::get_class_type());
91 return get_class_type();
93 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
A GraphicsStateGuardian for rendering into DirectX9 contexts.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
void register_type(TypeHandle &type_handle, const std::string &name)
This inline function is just a convenient way to call TypeRegistry::register_type(),...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
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.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
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.
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.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
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.