14#ifndef wdxGraphicsBuffer9_H
15#define wdxGraphicsBuffer9_H
32 const std::string &name,
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.
A container for the various kinds of properties we might ask to have on a graphics frameBuffer before...
An offscreen buffer for rendering into.
virtual void process_events()
Honor any requests recently made via request_open() or request_close().
This class is the main interface to controlling the render process.
This is a base class for the various different classes that represent the result of a frame of render...
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 bool share_depth_buffer(GraphicsOutput *graphics_output)
Will attempt to use the depth buffer of the input graphics_output.
virtual void unshare_depth_buffer()
Discontinue sharing the depth buffer.
get_supports_render_texture
Returns true if this particular GraphicsOutput can render directly into a texture,...
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 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...
An object to create GraphicsOutputs that share a particular 3-D API.
Encapsulates all the communication with a particular instance of a given rendering backend.
A thread; that is, a lightweight 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 window before we o...
An offscreen render buffer.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
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.