An offscreen render buffer. More...
#include "wdxGraphicsBuffer9.h"
Public Member Functions | |
wdxGraphicsBuffer9 (GraphicsEngine *engine, GraphicsPipe *pipe, const std::string &name, const FrameBufferProperties &fb_prop, const WindowProperties &win_prop, int flags, GraphicsStateGuardian *gsg, GraphicsOutput *host) | |
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. More... | |
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. More... | |
virtual TypeHandle | force_init_type () |
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. More... | |
virtual TypeHandle | get_type () const |
virtual void | process_events () |
Do whatever processing is necessary to ensure that the window responds to user events. More... | |
void | register_shared_depth_buffer (GraphicsOutput *graphics_output) |
Register/save who is sharing the depth buffer. More... | |
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 rendering the six faces of a cube map. More... | |
virtual bool | share_depth_buffer (GraphicsOutput *graphics_output) |
Will attempt to use the depth buffer of the input graphics_output. More... | |
void | unregister_shared_depth_buffer (GraphicsOutput *graphics_output) |
Unregister who is sharing the depth buffer. More... | |
virtual void | unshare_depth_buffer () |
Discontinue sharing the depth buffer. More... | |
Public Member Functions inherited from GraphicsBuffer | |
virtual void | request_close () |
This is called by the GraphicsEngine to request that the buffer (or whatever) close itself or, in general, make itself invalid, at the next call to process_events(). More... | |
virtual void | request_open () |
This is called by the GraphicsEngine to request that the buffer (or whatever) open itself or, in general, make itself valid, at the next call to process_events(). More... | |
virtual void | set_close_now () |
This is called by the GraphicsEngine to insist that the buffer be closed immediately. More... | |
virtual void | set_size (int x, int y) |
This is called by the GraphicsEngine to request that the buffer resize itself. More... | |
Public Member Functions inherited from GraphicsOutput | |
void | add_render_texture (Texture *tex, RenderTextureMode mode, RenderTexturePlane bitplane=RTP_COUNT) |
Creates a new Texture object, suitable for rendering the contents of this buffer into, and appends it to the list of render textures. More... | |
virtual void | begin_flip () |
This function will be called within the draw thread after end_frame() has been called on all windows, to initiate the exchange of the front and back buffers. More... | |
void | change_scenes (DisplayRegionPipelineReader *new_dr) |
Called by the GraphicsEngine when the window is about to change to another DisplayRegion. More... | |
virtual void | clear (Thread *current_thread) |
Clears the entire framebuffer before rendering, according to the settings of get_color_clear_active() and get_depth_clear_active() (inherited from DrawableRegion). More... | |
void | clear_child_sort () |
Resets the sort value of future offscreen buffers created by make_texture_sort() to the default value. More... | |
void | clear_delete_flag () |
Resets the delete flag, so the GraphicsOutput will not be automatically deleted before the beginning of the next frame. More... | |
virtual void | clear_pipe () |
Sets the window's _pipe pointer to NULL; this is generally called only as a precursor to deleting the window. More... | |
void | clear_render_textures () |
If the GraphicsOutput is currently rendering to a texture, then all textures are dissociated from the GraphicsOuput. More... | |
int | count_textures () const |
If the GraphicsOutput is set to render into a texture, returns the number of textures that are being rendered into. More... | |
virtual void | end_flip () |
This function will be called within the draw thread after begin_flip() has been called on all windows, to finish the exchange of the front and back buffers. More... | |
virtual bool | flip_ready () const |
Returns true if a frame has been rendered and needs to be flipped, false otherwise. More... | |
int | get_child_sort () const |
PStatCollector & | get_clear_window_pcollector () |
Returns a PStatCollector for timing the clear operation for just this GraphicsOutput. More... | |
PStatCollector & | get_cull_window_pcollector () |
Returns a PStatCollector for timing the cull operation for just this GraphicsOutput. More... | |
bool | get_delete_flag () const |
Returns the current setting of the delete flag. More... | |
PStatCollector & | get_draw_window_pcollector () |
Returns a PStatCollector for timing the draw operation for just this GraphicsOutput. More... | |
GraphicsEngine * | get_engine () const |
const FrameBufferProperties & | get_fb_properties () const |
Returns the framebuffer properties of the window. More... | |
LVecBase2i | get_fb_size () const |
int | get_fb_x_size () const |
Returns the internal width of the window or buffer. More... | |
int | get_fb_y_size () const |
Returns the internal height of the window or buffer. More... | |
GraphicsStateGuardian * | get_gsg () const |
virtual GraphicsOutput * | get_host () |
This is normally called only from within make_texture_buffer(). More... | |
bool | get_inverted () const |
unsigned int | get_left_eye_color_mask () const |
Returns the color mask in effect when rendering a left-eye view in red_blue stereo mode. More... | |
const std::string & | get_name () const |
int | get_num_active_display_regions () const |
int | get_num_display_regions () const |
bool | get_one_shot () const |
DisplayRegion * | get_overlay_display_region () const |
Returns the special "overlay" DisplayRegion that is created for each window or buffer. More... | |
GraphicsPipe * | get_pipe () const |
bool | get_red_blue_stereo () const |
Returns whether red-blue stereo mode is in effect for this particular window. More... | |
unsigned int | get_right_eye_color_mask () const |
Returns the color mask in effect when rendering a right-eye view in red_blue stereo mode. More... | |
RenderTextureMode | get_rtm_mode (int i=0) const |
Returns the RenderTextureMode associated with the nth render-texture. More... | |
const LVecBase4 & | get_sbs_left_dimensions () const |
Returns the effective sub-region of the window for displaying the left channel, if side-by-side stereo mode is in effect for the window. More... | |
LVecBase2i | get_sbs_left_size () const |
int | get_sbs_left_x_size () const |
If side-by-side stereo is enabled, this returns the pixel width of the left eye, based on scaling get_x_size() by get_sbs_left_dimensions(). More... | |
int | get_sbs_left_y_size () const |
If side-by-side stereo is enabled, this returns the pixel height of the left eye, based on scaling get_y_size() by get_sbs_left_dimensions(). More... | |
const LVecBase4 & | get_sbs_right_dimensions () const |
Returns the effective sub-region of the window for displaying the right channel, if side-by-side stereo mode is in effect for the window. More... | |
LVecBase2i | get_sbs_right_size () const |
int | get_sbs_right_x_size () const |
If side-by-side stereo is enabled, this returns the pixel width of the right eye, based on scaling get_x_size() by get_sbs_right_dimensions(). More... | |
int | get_sbs_right_y_size () const |
If side-by-side stereo is enabled, this returns the pixel height of the right eye, based on scaling get_y_size() by get_sbs_right_dimensions(). More... | |
bool | get_screenshot (PNMImage &image) |
Captures the most-recently rendered image from the framebuffer into the indicated PNMImage. More... | |
bool | get_side_by_side_stereo () const |
Returns whether side-by-side stereo mode is in effect for this particular window. More... | |
const LVecBase2i & | get_size () const |
int | get_sort () const |
bool | get_swap_eyes () const |
virtual Texture * | get_texture (int i=0) const |
Returns the nth texture into which the GraphicsOutput renders. More... | |
NodePath | get_texture_card () |
Returns a PandaNode containing a square polygon. More... | |
RenderTexturePlane | get_texture_plane (int i=0) const |
Returns the RenderTexturePlane associated with the nth render-texture. More... | |
int | get_x_size () const |
Returns the visible width of the window or buffer, if it is known. More... | |
int | get_y_size () const |
Returns the visible height of the window or buffer, if it is known. More... | |
bool | has_size () const |
Returns true if the size of the window/frame buffer is known, false otherwise. More... | |
bool | has_texture () const |
Returns true if the GraphicsOutput is rendering into any textures at all. More... | |
virtual bool | is_active () const |
bool | is_nonzero_size () const |
Returns true if the output has a nonzero size in both X and Y, or false if it is zero (and therefore invalid). More... | |
bool | is_stereo () const |
Returns Returns true if this window can render stereo DisplayRegions, either through red-blue stereo (see set_red_blue_stereo()) or through true hardware stereo rendering. More... | |
bool | is_valid () const |
Returns true if the output is fully created and ready for rendering, false otherwise. More... | |
GraphicsOutput * | make_cube_map (const std::string &name, int size, NodePath &camera_rig, DrawMask camera_mask=PandaNode::get_all_camera_mask(), bool to_ram=false, FrameBufferProperties *fbp=nullptr) |
This is similar to make_texture_buffer() in that it allocates a separate buffer suitable for rendering to a texture that can be assigned to geometry in this window, but in this case, the buffer is set up to render the six faces of a cube map. More... | |
DisplayRegion * | make_display_region () |
Creates a new DisplayRegion that covers the entire window. More... | |
DisplayRegion * | make_display_region (PN_stdfloat l, PN_stdfloat r, PN_stdfloat b, PN_stdfloat t) |
Creates a new DisplayRegion that covers the indicated sub-rectangle within the window. More... | |
DisplayRegion * | make_display_region (const LVecBase4 &dimensions) |
Creates a new DisplayRegion that covers the indicated sub-rectangle within the window. More... | |
DisplayRegion * | make_mono_display_region () |
Creates a new DisplayRegion that covers the entire window. More... | |
DisplayRegion * | make_mono_display_region (PN_stdfloat l, PN_stdfloat r, PN_stdfloat b, PN_stdfloat t) |
Creates a new DisplayRegion that covers the entire window. More... | |
DisplayRegion * | make_mono_display_region (const LVecBase4 &dimensions) |
Creates a new DisplayRegion that covers the indicated sub-rectangle within the window. More... | |
StereoDisplayRegion * | make_stereo_display_region () |
Creates a new DisplayRegion that covers the entire window. More... | |
StereoDisplayRegion * | make_stereo_display_region (PN_stdfloat l, PN_stdfloat r, PN_stdfloat b, PN_stdfloat t) |
Creates a new DisplayRegion that covers the entire window. More... | |
StereoDisplayRegion * | make_stereo_display_region (const LVecBase4 &dimensions) |
Creates a new DisplayRegion that covers the indicated sub-rectangle within the window. More... | |
GraphicsOutput * | make_texture_buffer (const std::string &name, int x_size, int y_size, Texture *tex=nullptr, bool to_ram=false, FrameBufferProperties *fbp=nullptr) |
bool | operator< (const GraphicsOutput &other) const |
The sorting operator is used to order the GraphicsOutput object in order by their sort number, so that they will render in the correct order in the GraphicsEngine. More... | |
PT (DisplayRegion) get_display_region(int n) const | |
PT (DisplayRegion) get_active_display_region(int n) const | |
PT (Texture) get_screenshot() | |
virtual void | ready_flip () |
This function will be called within the draw thread after end_frame() has been called on all windows, to initiate the exchange of the front and back buffers. More... | |
void | remove_all_display_regions () |
Removes all display regions from the window, except the default one that is created with the window. More... | |
bool | remove_display_region (DisplayRegion *display_region) |
Removes the indicated DisplayRegion from the window, and destructs it if there are no other references. More... | |
virtual void | reset_window (bool swapchain) |
Resets the window framebuffer from its derived children. More... | |
bool | save_screenshot (const Filename &filename, const std::string &image_comment="") |
Saves a screenshot of the region to the indicated filename. More... | |
Filename | save_screenshot_default (const std::string &prefix="screenshot") |
Saves a screenshot of the region to a default filename, and returns the filename, or empty string if the screenshot failed. More... | |
void | set_active (bool active) |
void | set_child_sort (int child_sort) |
void | set_inverted (bool inverted) |
void | set_one_shot (bool one_shot) |
void | set_overlay_display_region (DisplayRegion *display_region) |
Replaces the special "overlay" DisplayRegion that is created for each window or buffer. More... | |
void | set_red_blue_stereo (bool red_blue_stereo, unsigned int left_eye_color_mask, unsigned int right_eye_color_mask) |
Enables red-blue stereo mode on this particular window. More... | |
void | set_side_by_side_stereo (bool side_by_side_stereo) |
Enables side-by-side stereo mode on this particular window. More... | |
void | set_side_by_side_stereo (bool side_by_side_stereo, const LVecBase4 &sbs_left_dimensions, const LVecBase4 &sbs_right_dimensions) |
Enables side-by-side stereo mode on this particular window. More... | |
void | set_size_and_recalc (int x, int y) |
Changes the x_size and y_size, then recalculates structures that depend on size. More... | |
virtual void | set_sort (int sort) |
void | set_swap_eyes (bool swap_eyes) |
void | setup_render_texture (Texture *tex, bool allow_bind, bool to_ram) |
This is a deprecated interface that made sense back when GraphicsOutputs could only render into one texture at a time. More... | |
AsyncFuture * | trigger_copy () |
When the GraphicsOutput is in triggered copy mode, this function triggers the copy (at the end of the next frame). More... | |
Public Member Functions inherited from TypedWritableReferenceCount | |
TypedWritableReferenceCount (const TypedWritableReferenceCount ©) | |
virtual ReferenceCount * | as_reference_count () |
Returns the pointer cast to a ReferenceCount pointer, if it is in fact of that type. More... | |
void | operator= (const TypedWritableReferenceCount ©) |
Public Member Functions inherited from TypedWritable | |
TypedWritable (const TypedWritable ©) | |
virtual int | complete_pointers (TypedWritable **p_list, BamReader *manager) |
Receives an array of pointers, one for each time manager->read_pointer() was called in fillin(). More... | |
vector_uchar | encode_to_bam_stream () const |
Converts the TypedWritable object into a single stream of data using a BamWriter, and returns that data as a bytes object. More... | |
bool | encode_to_bam_stream (vector_uchar &data, BamWriter *writer=nullptr) const |
Converts the TypedWritable object into a single stream of data using a BamWriter, and stores that data in the indicated string. More... | |
virtual void | fillin (DatagramIterator &scan, BamReader *manager) |
This internal function is intended to be called by each class's make_from_bam() method to read in all of the relevant data from the BamFile for the new object. More... | |
virtual void | finalize (BamReader *manager) |
Called by the BamReader to perform any final actions needed for setting up the object after all objects have been read and all pointers have been completed. More... | |
UpdateSeq | get_bam_modified () const |
Returns the current bam_modified counter. More... | |
void | mark_bam_modified () |
Increments the bam_modified counter, so that this object will be invalidated and retransmitted on any open bam streams. More... | |
void | operator= (const TypedWritable ©) |
virtual bool | require_fully_complete () const |
Some objects require all of their nested pointers to have been completed before the objects themselves can be completed. More... | |
virtual void | update_bam_nested (BamWriter *manager) |
Called by the BamWriter when this object has not itself been modified recently, but it should check its nested objects for updates. More... | |
virtual void | write_datagram (BamWriter *manager, Datagram &dg) |
Writes the contents of this object to the datagram for shipping out to a Bam file. More... | |
Public Member Functions inherited from TypedObject | |
TypedObject (const TypedObject ©)=default | |
TypedObject * | as_typed_object () |
Returns the object, upcast (if necessary) to a TypedObject pointer. More... | |
const TypedObject * | as_typed_object () const |
Returns the object, upcast (if necessary) to a TypedObject pointer. More... | |
int | get_best_parent_from_Set (const std::set< int > &) const |
int | get_type_index () const |
Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. More... | |
bool | is_exact_type (TypeHandle handle) const |
Returns true if the current object is the indicated type exactly. More... | |
bool | is_of_type (TypeHandle handle) const |
Returns true if the current object is or derives from the indicated type. More... | |
TypedObject & | operator= (const TypedObject ©)=default |
Public Member Functions inherited from ReferenceCount | |
int | get_ref_count () const |
WeakReferenceList * | get_weak_list () const |
Returns the WeakReferenceList associated with this ReferenceCount object. More... | |
bool | has_weak_list () const |
Returns true if this particular ReferenceCount object has a WeakReferenceList created, false otherwise. More... | |
void | local_object () |
This function should be called, once, immediately after creating a new instance of some ReferenceCount-derived object on the stack. More... | |
void | ref () const |
Explicitly increments the reference count. More... | |
bool | ref_if_nonzero () const |
Atomically increases the reference count of this object if it is not zero. More... | |
bool | test_ref_count_integrity () const |
Does some easy checks to make sure that the reference count isn't completely bogus. More... | |
bool | test_ref_count_nonzero () const |
Does some easy checks to make sure that the reference count isn't zero, or completely bogus. More... | |
virtual bool | unref () const |
Explicitly decrements the reference count. More... | |
WeakReferenceList * | weak_ref () |
Adds the indicated PointerToVoid as a weak reference to this object. More... | |
void | weak_unref () |
Removes the indicated PointerToVoid as a weak reference to this object. More... | |
Public Member Functions inherited from DrawableRegion | |
DrawableRegion (const DrawableRegion ©) | |
void | copy_clear_settings (const DrawableRegion ©) |
Copies only the clear settings from the other drawable region. More... | |
virtual void | disable_clears () |
Disables both the color and depth clear. More... | |
virtual bool | get_clear_active (int n) const |
Gets the clear-active flag for any bitplane. More... | |
const LColor & | get_clear_color () const |
bool | get_clear_color_active () const |
Returns the current setting of the flag that indicates whether the color buffer should be cleared every frame. More... | |
PN_stdfloat | get_clear_depth () const |
bool | get_clear_depth_active () const |
Returns the current setting of the flag that indicates whether the depth buffer should be cleared every frame. More... | |
unsigned int | get_clear_stencil () const |
bool | get_clear_stencil_active () const |
Returns the current setting of the flag that indicates whether the color buffer should be cleared every frame. More... | |
virtual const LColor & | get_clear_value (int n) const |
Returns the clear value for any bitplane. More... | |
int | get_draw_buffer_type () const |
Returns the RenderBuffer into which the GSG should issue draw commands. More... | |
PN_stdfloat | get_pixel_factor () const |
PN_stdfloat | get_pixel_zoom () const |
int | get_screenshot_buffer_type () const |
Returns the RenderBuffer that should be used for capturing screenshots from this particular DrawableRegion. More... | |
virtual bool | is_any_clear_active () const |
Returns true if any of the clear types (so far there are just color or depth) have been set active, or false if none of them are active and there is no need to clear. More... | |
void | operator= (const DrawableRegion ©) |
virtual void | set_clear_active (int n, bool clear_aux_active) |
Sets the clear-active flag for any bitplane. More... | |
void | set_clear_color (const LColor &color) |
void | set_clear_color_active (bool clear_color_active) |
Toggles the flag that indicates whether the color buffer should be cleared every frame. More... | |
void | set_clear_depth (PN_stdfloat depth) |
void | set_clear_depth_active (bool clear_depth_active) |
Toggles the flag that indicates whether the depth buffer should be cleared every frame. More... | |
void | set_clear_stencil (unsigned int stencil) |
void | set_clear_stencil_active (bool clear_stencil_active) |
Toggles the flag that indicates whether the stencil buffer should be cleared every frame. More... | |
virtual void | set_clear_value (int n, const LColor &clear_value) |
Sets the clear value for any bitplane. More... | |
virtual void | set_pixel_zoom (PN_stdfloat pixel_zoom) |
virtual bool | supports_pixel_zoom () const |
Returns true if a call to set_pixel_zoom() will be respected, false if it will be ignored. More... | |
Static Public Member Functions | |
static TypeHandle | get_class_type () |
static void | init_type () |
Static Public Member Functions inherited from GraphicsBuffer | |
static TypeHandle | get_class_type () |
static void | init_type () |
Static Public Member Functions inherited from GraphicsOutput | |
static TypeHandle | get_class_type () |
static void | init_type () |
static Filename | make_screenshot_filename (const std::string &prefix="screenshot") |
Saves a screenshot of the region to a default filename, and returns the filename, or empty string if the screenshot failed. More... | |
Static Public Member Functions inherited from GraphicsOutputBase | |
static TypeHandle | get_class_type () |
static void | init_type () |
Static Public Member Functions inherited from TypedWritableReferenceCount | |
static TypeHandle | get_class_type () |
static void | init_type () |
static | PT (TypedWritableReferenceCount) decode_from_bam_stream(vector_uchar data |
Static Public Member Functions inherited from TypedWritable | |
static bool | decode_raw_from_bam_stream (TypedWritable *&ptr, ReferenceCount *&ref_ptr, vector_uchar data, BamReader *reader=nullptr) |
Reads the bytes created by a previous call to encode_to_bam_stream(), and extracts the single object on those bytes. More... | |
static TypeHandle | get_class_type () |
static void | init_type () |
Static Public Member Functions inherited from TypedObject | |
static TypeHandle | get_class_type () |
static void | init_type () |
This function is declared non-inline to work around a compiler bug in g++ 2.96. More... | |
Static Public Member Functions inherited from ReferenceCount | |
static TypeHandle | get_class_type () |
static void | init_type () |
Static Public Member Functions inherited from DrawableRegion | |
static int | get_renderbuffer_type (int plane) |
Returns the RenderBuffer::Type that corresponds to a RenderTexturePlane. More... | |
Friends | |
class | DXGraphicsStateGuardian9 |
class | DXTextureContext9 |
Additional Inherited Members | |
Public Types inherited from GraphicsOutput | |
enum | FrameMode { FM_render, FM_parasite, FM_refresh } |
enum | RenderTextureMode { RTM_none, RTM_bind_or_copy, RTM_copy_texture, RTM_copy_ram, RTM_triggered_copy_texture, RTM_triggered_copy_ram, RTM_bind_layered } |
Public Types inherited from DrawableRegion | |
enum | RenderTexturePlane { RTP_stencil =0, RTP_depth_stencil =1, RTP_color, RTP_aux_rgba_0, RTP_aux_rgba_1, RTP_aux_rgba_2, RTP_aux_rgba_3, RTP_aux_hrgba_0, RTP_aux_hrgba_1, RTP_aux_hrgba_2, RTP_aux_hrgba_3, RTP_aux_float_0, RTP_aux_float_1, RTP_aux_float_2, RTP_aux_float_3, RTP_depth, RTP_COUNT } |
Public Attributes inherited from GraphicsOutput | |
get_active_display_region | |
get_child_sort | |
Returns the sort value of future offscreen buffers created by make_texture_sort(). More... | |
get_display_region | |
get_engine | |
Returns the graphics engine that created this output. More... | |
get_fb_size | |
Returns the internal size of the window or buffer. More... | |
get_gsg | |
Returns the GSG that is associated with this window. More... | |
get_inverted | |
Returns the current setting of the inverted flag. More... | |
get_name | |
Returns the name that was passed to the GraphicsOutput constructor. More... | |
get_num_active_display_regions | |
get_num_display_regions | |
Returns the number of DisplayRegions that have been created within the window, active or otherwise. More... | |
get_one_shot | |
Returns the current setting of the one-shot flag. More... | |
get_pipe | |
Returns the GraphicsPipe that this window is associated with. More... | |
get_sbs_left_size | |
If side-by-side stereo is enabled, this returns the pixel size of the left eye, based on scaling get_size() by get_sbs_left_dimensions(). More... | |
get_sbs_right_size | |
If side-by-side stereo is enabled, this returns the pixel size of the right eye, based on scaling get_size() by get_sbs_right_dimensions(). More... | |
get_size | |
Returns the visible size of the window or buffer, if it is known. More... | |
get_sort | |
Returns the sorting order of this particular GraphicsOutput. More... | |
get_supports_render_texture | |
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. More... | |
get_swap_eyes | |
Returns the current setting of the "swap eyes" flag. More... | |
is_active | |
Returns true if the window is ready to be rendered into, false otherwise. More... | |
set_active | |
Sets the active flag associated with the GraphicsOutput. More... | |
set_child_sort | |
Specifies the sort value of future offscreen buffers created by make_texture_sort(). More... | |
set_inverted | |
Changes the current setting of the inverted flag. More... | |
set_one_shot | |
Changes the current setting of the one-shot flag. More... | |
set_sort | |
Adjusts the sorting order of this particular GraphicsOutput, relative to other GraphicsOutputs. More... | |
set_swap_eyes | |
Changes the "swap eyes" flag. More... | |
Public Attributes inherited from TypedWritableReferenceCount | |
static BamReader * | reader = nullptr) |
Public Attributes inherited from TypedObject | |
get_type | |
Public Attributes inherited from ReferenceCount | |
get_ref_count | |
Returns the current reference count. More... | |
Public Attributes inherited from DrawableRegion | |
get_clear_color | |
Returns the current clear color value. More... | |
get_clear_depth | |
Returns the current clear depth value. More... | |
get_clear_stencil | |
Returns the current clear stencil value. More... | |
get_pixel_factor | |
Returns the amount by which the height and width of the region will be scaled internally, based on the zoom factor set by set_pixel_zoom(). More... | |
get_pixel_zoom | |
Returns the value set by set_pixel_zoom(), regardless of whether it is being respected or not. More... | |
set_clear_color | |
Sets the clear color to the indicated value. More... | |
set_clear_depth | |
Sets the clear depth to the indicated value. More... | |
set_clear_stencil | |
Sets the clear stencil to the indicated value. More... | |
set_pixel_zoom | |
Sets the amount by which the pixels of the region are scaled internally when filling the image interally. More... | |
Static Public Attributes inherited from TypedWritable | |
static TypedWritable *const | Null = nullptr |
An offscreen render buffer.
In OpenGL under Windows, this simply renders into a window that is never made visible. There's a Windows interface for rendering into a DIB, but this puts restrictions on the kind of pixelformat we can use, and thus makes it difficult to support one GSG rendering into an offscreen buffer and also into a window.
Definition at line 29 of file wdxGraphicsBuffer9.h.
|
virtual |
This function will be called within the draw thread before beginning rendering for a given frame.
It should do whatever setup is required, and return true if the frame should be rendered, or false if it should be skipped.
Reimplemented from GraphicsOutput.
Definition at line 123 of file wdxGraphicsBuffer9.cxx.
References GraphicsOutput::get_fb_properties().
|
virtual |
This function will be called within the draw thread after rendering is completed for a given frame.
It should do whatever finalization is required.
Reimplemented from GraphicsOutput.
Definition at line 154 of file wdxGraphicsBuffer9.cxx.
|
inlinevirtual |
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.
Reimplemented from GraphicsOutput.
Definition at line 20 of file wdxGraphicsBuffer9.I.
|
virtual |
Do whatever processing is necessary to ensure that the window responds to user events.
Also, honor any requests recently made via request_properties()
This function is called only within the window thread.
Reimplemented from GraphicsBuffer.
Definition at line 703 of file wdxGraphicsBuffer9.cxx.
References GraphicsBuffer::process_events().
void wdxGraphicsBuffer9::register_shared_depth_buffer | ( | GraphicsOutput * | graphics_output | ) |
Register/save who is sharing the depth buffer.
Definition at line 874 of file wdxGraphicsBuffer9.cxx.
|
virtual |
Called internally when the window is in render-to-a-texture mode and we are in the process of rendering the six faces of a cube map.
This should do whatever needs to be done to switch the buffer to the indicated face.
Reimplemented from GraphicsOutput.
Definition at line 577 of file wdxGraphicsBuffer9.cxx.
|
virtual |
Will attempt to use the depth buffer of the input graphics_output.
The buffer sizes must be exactly the same.
Reimplemented from GraphicsOutput.
Definition at line 810 of file wdxGraphicsBuffer9.cxx.
void wdxGraphicsBuffer9::unregister_shared_depth_buffer | ( | GraphicsOutput * | graphics_output | ) |
Unregister who is sharing the depth buffer.
Definition at line 888 of file wdxGraphicsBuffer9.cxx.
Referenced by unshare_depth_buffer().
|
virtual |
Discontinue sharing the depth buffer.
Reimplemented from GraphicsOutput.
Definition at line 857 of file wdxGraphicsBuffer9.cxx.
References unregister_shared_depth_buffer().