DisplayRegion
from panda3d.core import DisplayRegion
- class DisplayRegion
Bases:
TypedReferenceCount
,DrawableRegion
A rectangular subregion within a window for rendering into. Typically, there is one DisplayRegion that covers the whole window, but you may also create smaller DisplayRegions for having different regions within the window that represent different scenes. You may also stack up DisplayRegions like panes of glass, usually for layering 2-d interfaces on top of a 3-d scene.
Inheritance diagram
- __init__(*args, **kwargs)
- active
- camera
- clearCullCallback()
C++ Interface: clear_cull_callback(const DisplayRegion self)
- /**
Removes the callback set by an earlier call to set_cull_callback().
*/
- clearDrawCallback()
C++ Interface: clear_draw_callback(const DisplayRegion self)
- /**
Removes the callback set by an earlier call to set_draw_callback().
*/
- clear_cull_callback()
C++ Interface: clear_cull_callback(const DisplayRegion self)
- /**
Removes the callback set by an earlier call to set_cull_callback().
*/
- clear_draw_callback()
C++ Interface: clear_draw_callback(const DisplayRegion self)
- /**
Removes the callback set by an earlier call to set_draw_callback().
*/
- cull_callback
- cull_traverser
- dimensions
- draw_callback
- getBottom()
C++ Interface: get_bottom(DisplayRegion self, int i)
- /**
Retrieves the y coordinate of the bottom edge of the rectangle within its
GraphicsOutput. This number will be in the range [0..1].
*/
- getCamera()
C++ Interface: get_camera(DisplayRegion self, Thread current_thread)
- /**
Returns the camera associated with this DisplayRegion, or an empty NodePath
if no camera is associated.
*/
- getClassType()
C++ Interface: get_class_type()
- getCullCallback()
C++ Interface: get_cull_callback(DisplayRegion self)
- /**
Returns the CallbackObject set by set_cull_callback().
*/
- getCullTraverser()
C++ Interface: get_cull_traverser(const DisplayRegion self)
- /**
Returns the CullTraverser that will be used to draw the contents of this
DisplayRegion.
*/
- getDimensions()
C++ Interface: get_dimensions(DisplayRegion self, int i)
- /**
Retrieves the coordinates of the DisplayRegion’s rectangle within its
GraphicsOutput. These numbers will be in the range [0..1].
*/
- /**
Retrieves the coordinates of the DisplayRegion’s rectangle within its
GraphicsOutput. These numbers will be in the range [0..1].
*/
- /**
Retrieves the coordinates of the DisplayRegion’s rectangle within its
GraphicsOutput. These numbers will be in the range [0..1].
*/
- getDrawCallback()
C++ Interface: get_draw_callback(DisplayRegion self)
- /**
Returns the CallbackObject set by set_draw_callback().
*/
- getIncompleteRender()
C++ Interface: get_incomplete_render(DisplayRegion self)
- /**
Returns the incomplete_render flag. See set_incomplete_render().
*/
- getLeft()
C++ Interface: get_left(DisplayRegion self, int i)
- /**
Retrieves the x coordinate of the left edge of the rectangle within its
GraphicsOutput. This number will be in the range [0..1].
*/
- getLensIndex()
C++ Interface: get_lens_index(DisplayRegion self)
- /**
Returns the specific lens of the associated Camera that will be used for
rendering this scene. Most Cameras hold only one lens, but for multiple
lenses this method may be used to selected between them.
*/
- getNumRegions()
C++ Interface: get_num_regions(DisplayRegion self)
- /**
Returns the number of regions, see set_num_regions.
*/
- getPipe()
C++ Interface: get_pipe(DisplayRegion self)
- /**
Returns the GraphicsPipe that this DisplayRegion is ultimately associated
with, or NULL if no pipe is associated.
*/
- getPixelHeight()
C++ Interface: get_pixel_height(DisplayRegion self, int i)
- /**
Returns the height of the DisplayRegion in pixels.
*/
- getPixelSize()
C++ Interface: get_pixel_size(DisplayRegion self, int i)
- /**
Returns the size of the DisplayRegion in pixels.
*/
- getPixelWidth()
C++ Interface: get_pixel_width(DisplayRegion self, int i)
- /**
Returns the width of the DisplayRegion in pixels.
*/
- getRight()
C++ Interface: get_right(DisplayRegion self, int i)
- /**
Retrieves the x coordinate of the right edge of the rectangle within its
GraphicsOutput. This number will be in the range [0..1].
*/
- getScissorEnabled()
C++ Interface: get_scissor_enabled(DisplayRegion self)
- /**
Returns whether or not scissor testing is enabled for this region. The
default is true, except for the overlay display region.
*/
- getScreenshot()
C++ Interface: get_screenshot(const DisplayRegion self) get_screenshot(const DisplayRegion self, PNMImage image)
- getSort()
C++ Interface: get_sort(DisplayRegion self)
- /**
Returns the sort value associated with the DisplayRegion.
*/
- getStereoChannel()
C++ Interface: get_stereo_channel(DisplayRegion self)
- /**
Returns whether the DisplayRegion is specified as the left or right channel
of a stereo pair, or whether it is a normal, monocular image. See
set_stereo_channel().
*/
- getTargetTexPage()
C++ Interface: get_target_tex_page(DisplayRegion self)
- /**
Returns the target page number associated with this particular
DisplayRegion, or -1 if it is not associated with a page. See
set_target_tex_page().
*/
- getTexViewOffset()
C++ Interface: get_tex_view_offset(DisplayRegion self)
- /**
Returns the current texture view offset for this DisplayRegion. This is
normally set to zero. If nonzero, it is used to select a particular view
of any multiview textures that are rendered within this DisplayRegion.
For a StereoDisplayRegion, this is normally 0 for the left eye, and 1 for
the right eye, to support stereo textures.
*/
- getTextureReloadPriority()
C++ Interface: get_texture_reload_priority(DisplayRegion self)
- /**
Returns the priority which is assigned to asynchronous texture reload
requests. See set_texture_reload_priority().
*/
- getTop()
C++ Interface: get_top(DisplayRegion self, int i)
- /**
Retrieves the y coordinate of the top edge of the rectangle within its
GraphicsOutput. This number will be in the range [0..1].
*/
- getWindow()
C++ Interface: get_window(DisplayRegion self)
- /**
Returns the GraphicsOutput that this DisplayRegion is ultimately associated
with, or NULL if no window is associated.
*/
- get_bottom()
C++ Interface: get_bottom(DisplayRegion self, int i)
- /**
Retrieves the y coordinate of the bottom edge of the rectangle within its
GraphicsOutput. This number will be in the range [0..1].
*/
- get_camera()
C++ Interface: get_camera(DisplayRegion self, Thread current_thread)
- /**
Returns the camera associated with this DisplayRegion, or an empty NodePath
if no camera is associated.
*/
- get_class_type()
C++ Interface: get_class_type()
- get_cull_callback()
C++ Interface: get_cull_callback(DisplayRegion self)
- /**
Returns the CallbackObject set by set_cull_callback().
*/
- get_cull_traverser()
C++ Interface: get_cull_traverser(const DisplayRegion self)
- /**
Returns the CullTraverser that will be used to draw the contents of this
DisplayRegion.
*/
- get_dimensions()
C++ Interface: get_dimensions(DisplayRegion self, int i)
- /**
Retrieves the coordinates of the DisplayRegion’s rectangle within its
GraphicsOutput. These numbers will be in the range [0..1].
*/
- /**
Retrieves the coordinates of the DisplayRegion’s rectangle within its
GraphicsOutput. These numbers will be in the range [0..1].
*/
- /**
Retrieves the coordinates of the DisplayRegion’s rectangle within its
GraphicsOutput. These numbers will be in the range [0..1].
*/
- get_draw_callback()
C++ Interface: get_draw_callback(DisplayRegion self)
- /**
Returns the CallbackObject set by set_draw_callback().
*/
- get_incomplete_render()
C++ Interface: get_incomplete_render(DisplayRegion self)
- /**
Returns the incomplete_render flag. See set_incomplete_render().
*/
- get_left()
C++ Interface: get_left(DisplayRegion self, int i)
- /**
Retrieves the x coordinate of the left edge of the rectangle within its
GraphicsOutput. This number will be in the range [0..1].
*/
- get_lens_index()
C++ Interface: get_lens_index(DisplayRegion self)
- /**
Returns the specific lens of the associated Camera that will be used for
rendering this scene. Most Cameras hold only one lens, but for multiple
lenses this method may be used to selected between them.
*/
- get_num_regions()
C++ Interface: get_num_regions(DisplayRegion self)
- /**
Returns the number of regions, see set_num_regions.
*/
- get_pipe()
C++ Interface: get_pipe(DisplayRegion self)
- /**
Returns the GraphicsPipe that this DisplayRegion is ultimately associated
with, or NULL if no pipe is associated.
*/
- get_pixel_height()
C++ Interface: get_pixel_height(DisplayRegion self, int i)
- /**
Returns the height of the DisplayRegion in pixels.
*/
- get_pixel_size()
C++ Interface: get_pixel_size(DisplayRegion self, int i)
- /**
Returns the size of the DisplayRegion in pixels.
*/
- get_pixel_width()
C++ Interface: get_pixel_width(DisplayRegion self, int i)
- /**
Returns the width of the DisplayRegion in pixels.
*/
- get_right()
C++ Interface: get_right(DisplayRegion self, int i)
- /**
Retrieves the x coordinate of the right edge of the rectangle within its
GraphicsOutput. This number will be in the range [0..1].
*/
- get_scissor_enabled()
C++ Interface: get_scissor_enabled(DisplayRegion self)
- /**
Returns whether or not scissor testing is enabled for this region. The
default is true, except for the overlay display region.
*/
- get_screenshot()
C++ Interface: get_screenshot(const DisplayRegion self) get_screenshot(const DisplayRegion self, PNMImage image)
- get_sort()
C++ Interface: get_sort(DisplayRegion self)
- /**
Returns the sort value associated with the DisplayRegion.
*/
- get_stereo_channel()
C++ Interface: get_stereo_channel(DisplayRegion self)
- /**
Returns whether the DisplayRegion is specified as the left or right channel
of a stereo pair, or whether it is a normal, monocular image. See
set_stereo_channel().
*/
- get_target_tex_page()
C++ Interface: get_target_tex_page(DisplayRegion self)
- /**
Returns the target page number associated with this particular
DisplayRegion, or -1 if it is not associated with a page. See
set_target_tex_page().
*/
- get_tex_view_offset()
C++ Interface: get_tex_view_offset(DisplayRegion self)
- /**
Returns the current texture view offset for this DisplayRegion. This is
normally set to zero. If nonzero, it is used to select a particular view
of any multiview textures that are rendered within this DisplayRegion.
For a StereoDisplayRegion, this is normally 0 for the left eye, and 1 for
the right eye, to support stereo textures.
*/
- get_texture_reload_priority()
C++ Interface: get_texture_reload_priority(DisplayRegion self)
- /**
Returns the priority which is assigned to asynchronous texture reload
requests. See set_texture_reload_priority().
*/
- get_top()
C++ Interface: get_top(DisplayRegion self, int i)
- /**
Retrieves the y coordinate of the top edge of the rectangle within its
GraphicsOutput. This number will be in the range [0..1].
*/
- get_window()
C++ Interface: get_window(DisplayRegion self)
- /**
Returns the GraphicsOutput that this DisplayRegion is ultimately associated
with, or NULL if no window is associated.
*/
- incomplete_render
- isActive()
C++ Interface: is_active(DisplayRegion self)
- /**
Returns the active flag associated with the DisplayRegion.
*/
- isStereo()
C++ Interface: is_stereo(DisplayRegion self)
- /**
Returns true if this is a StereoDisplayRegion, false otherwise.
*/
- is_active()
C++ Interface: is_active(DisplayRegion self)
- /**
Returns the active flag associated with the DisplayRegion.
*/
- is_stereo()
C++ Interface: is_stereo(DisplayRegion self)
- /**
Returns true if this is a StereoDisplayRegion, false otherwise.
*/
- lens_index
- makeCullResultGraph()
C++ Interface: make_cull_result_graph(const DisplayRegion self)
- /**
Returns a special scene graph constructed to represent the results of the
last frame’s cull operation.
This will be a hierarchy of nodes, one node for each bin, each of which
will in term be a parent of a number of GeomNodes, representing the
geometry drawn in each bin.
This is useful mainly for high-level debugging and abstraction tools; it
should not be mistaken for the low-level cull result itself, which is
constructed and maintained internally. No such scene graph is normally
constructed during the rendering of a frame; this is an artificial
construct created for the purpose of making it easy to analyze the results
of the cull operation.
*/
- makeScreenshotFilename()
C++ Interface: make_screenshot_filename(str prefix)
- /**
Synthesizes a suitable default filename for passing to save_screenshot().
The default filename is generated from the supplied prefix and from the
Config variable screenshot-filename, which contains the following strings:
%~p - the supplied prefix %~f - the frame count %~e - the value of
screenshot-extension All other % strings in strftime().
*/
- make_cull_result_graph()
C++ Interface: make_cull_result_graph(const DisplayRegion self)
- /**
Returns a special scene graph constructed to represent the results of the
last frame’s cull operation.
This will be a hierarchy of nodes, one node for each bin, each of which
will in term be a parent of a number of GeomNodes, representing the
geometry drawn in each bin.
This is useful mainly for high-level debugging and abstraction tools; it
should not be mistaken for the low-level cull result itself, which is
constructed and maintained internally. No such scene graph is normally
constructed during the rendering of a frame; this is an artificial
construct created for the purpose of making it easy to analyze the results
of the cull operation.
*/
- make_screenshot_filename()
C++ Interface: make_screenshot_filename(str prefix)
- /**
Synthesizes a suitable default filename for passing to save_screenshot().
The default filename is generated from the supplied prefix and from the
Config variable screenshot-filename, which contains the following strings:
%~p - the supplied prefix %~f - the frame count %~e - the value of
screenshot-extension All other % strings in strftime().
*/
- pipe
- pixel_size
- saveScreenshot()
C++ Interface: save_screenshot(const DisplayRegion self, const Filename filename, str image_comment)
- /**
Saves a screenshot of the region to the indicated filename. Returns true
on success, false on failure.
*/
- saveScreenshotDefault()
C++ Interface: save_screenshot_default(const DisplayRegion self, str prefix)
- /**
Saves a screenshot of the region to a default filename, and returns the
filename, or empty string if the screenshot failed. The filename is
generated by make_screenshot_filename().
*/
- save_screenshot()
C++ Interface: save_screenshot(const DisplayRegion self, const Filename filename, str image_comment)
- /**
Saves a screenshot of the region to the indicated filename. Returns true
on success, false on failure.
*/
- save_screenshot_default()
C++ Interface: save_screenshot_default(const DisplayRegion self, str prefix)
- /**
Saves a screenshot of the region to a default filename, and returns the
filename, or empty string if the screenshot failed. The filename is
generated by make_screenshot_filename().
*/
- scissor_enabled
- setActive()
C++ Interface: set_active(const DisplayRegion self, bool active)
- /**
Sets the active flag associated with the DisplayRegion. If the
DisplayRegion is marked inactive, nothing is rendered.
Don’t call this in a downstream thread unless you don’t mind it blowing
away other changes you might have recently made in an upstream thread.
*/
- setCamera()
C++ Interface: set_camera(const DisplayRegion self, const NodePath camera)
- /**
Sets the camera that is associated with this DisplayRegion. There is a
one-to-many association between cameras and DisplayRegions; one camera may
be shared by multiple DisplayRegions.
The camera is actually set via a NodePath, which clarifies which instance
of the camera (if there happen to be multiple instances) we should use.
Don’t call this in a downstream thread unless you don’t mind it blowing
away other changes you might have recently made in an upstream thread.
*/
- setCubeMapIndex()
C++ Interface: set_cube_map_index(const DisplayRegion self, int cube_map_index)
- /**
Deprecated; replaced by set_target_tex_page().
*/
- setCullCallback()
C++ Interface: set_cull_callback(const DisplayRegion self, CallbackObject object)
- /**
Sets the CallbackObject that will be notified when the DisplayRegion is
visited during the cull traversal. This callback will be made during the
cull thread.
The cull traversal is responsible for determining which nodes are visible
and within the view frustum, and for accumulating state and transform, and
generally building up the list of CullableObjects that are to be eventually
passed to the draw traversal for rendering.
At the time the cull traversal callback is made, the traversal for this
DisplayRegion has not yet started.
The callback is passed an instance of a DisplayRegionCullCallbackData,
which contains pointers to the current scene information, as well as the
current DisplayRegion and GSG. The callback replaces the normal cull
behavior, so if your callback does nothing, the scene graph will not be
traversed and therefore nothing will be drawn. If you wish the normal cull
traversal to be performed for this DisplayRegion, you must call
cbdata->upcall() from your callback.
*/
- setCullTraverser()
C++ Interface: set_cull_traverser(const DisplayRegion self, CullTraverser trav)
- /**
Specifies the CullTraverser that will be used to draw the contents of this
DisplayRegion. Normally the default CullTraverser is sufficient, but this
may be changed to change the default cull behavior.
*/
- setDepthRange()
C++ Interface: set_depth_range(const DisplayRegion self, float near, float far)
- /**
Changes the range of the depth buffer this DisplayRegion writes to.
The parameters range from 0 to 1. It is legal for the near value to be
larger than the far value.
@since 1.11.0
*/
- setDimensions()
C++ Interface: set_dimensions(const DisplayRegion self, const LVecBase4f dimensions) set_dimensions(const DisplayRegion self, int i, const LVecBase4f dimensions) set_dimensions(const DisplayRegion self, float l, float r, float b, float t) set_dimensions(const DisplayRegion self, int i, float l, float r, float b, float t)
- /**
Changes the portion of the framebuffer this DisplayRegion corresponds to.
The parameters range from 0 to 1, where 0,0 is the lower left corner and
1,1 is the upper right; (0, 1, 0, 1) represents the whole screen.
*/
- /**
Changes the portion of the framebuffer this DisplayRegion corresponds to.
The parameters range from 0 to 1, where 0,0 is the lower left corner and
1,1 is the upper right; (0, 1, 0, 1) represents the whole screen.
*/
- /**
Changes the portion of the framebuffer this DisplayRegion corresponds to.
The parameters range from 0 to 1, where 0,0 is the lower left corner and
1,1 is the upper right; (0, 1, 0, 1) represents the whole screen.
*/
- /**
Changes the portion of the framebuffer this DisplayRegion corresponds to.
The parameters range from 0 to 1, where 0,0 is the lower left corner and
1,1 is the upper right; (0, 1, 0, 1) represents the whole screen.
Don’t call this in a downstream thread unless you don’t mind it blowing
away other changes you might have recently made in an upstream thread.
*/
- setDrawCallback()
C++ Interface: set_draw_callback(const DisplayRegion self, CallbackObject object)
- /**
Sets the CallbackObject that will be notified when the contents of
DisplayRegion is drawn during the draw traversal. This callback will be
made during the draw thread.
The draw traversal is responsible for actually issuing the commands to the
graphics engine to draw primitives. Its job is to walk through the list of
CullableObjects build up by the cull traversal, as quickly as possible,
issuing the appropriate commands to draw each one.
At the time the draw traversal callback is made, the graphics state is in
the initial state, and no projection matrix or modelview matrix is in
effect. begin_scene() has not yet been called, and no objects have yet
been drawn. However, the viewport has already been set to the appropriate
part of the window, and the clear commands for this DisplayRegion (if any)
have been issued.
The callback is passed an instance of a DisplayRegionDrawCallbackData,
which contains pointers to the current scene information, as well as the
current DisplayRegion and GSG. The callback replaces the normal draw
behavior, so if your callback does nothing, nothing in the DisplayRegion
will be drawn. If you wish the draw traversal to continue to draw the
contents of this DisplayRegion, you must call cbdata->upcall() from your
callback.
*/
- setIncompleteRender()
C++ Interface: set_incomplete_render(const DisplayRegion self, bool incomplete_render)
- /**
Sets the incomplete_render flag. When this is true, the frame will be
rendered even if some of the geometry or textures in the scene are not
available (e.g. they have been temporarily paged out). When this is
false, the frame will be held up while this data is reloaded.
This flag may also be set on the GraphicsStateGuardian. It will be
considered true for a given DisplayRegion only if it is true on both the
GSG and on the DisplayRegion.
See GraphicsStateGuardian::set_incomplete_render() for more detail.
*/
- setLensIndex()
C++ Interface: set_lens_index(const DisplayRegion self, int index)
- /**
Sets the lens index, allows for multiple lenses to be attached to a camera.
This is useful for a variety of setups, such as fish eye rendering. The
default is 0.
Don’t call this in a downstream thread unless you don’t mind it blowing
away other changes you might have recently made in an upstream thread.
*/
- setNumRegions()
C++ Interface: set_num_regions(const DisplayRegion self, int i)
- /**
Sets the number of regions that this DisplayRegion indicates. Usually,
this number is 1 (and it is always at least 1), and only the first is used
for rendering. However, if more than one is provided, you may select which
one to render into using a geometry shader (gl_ViewportIndex in GLSL).
*/
- setScissorEnabled()
C++ Interface: set_scissor_enabled(const DisplayRegion self, bool scissor_enabled)
- /**
Sets whether or not scissor testing is enabled for this region. The
default is true, except for the overlay display region.
*/
- setSort()
C++ Interface: set_sort(const DisplayRegion self, int sort)
- /**
Sets the sort value associated with the DisplayRegion. Within a window,
DisplayRegions will be rendered in order from the lowest sort value to the
highest.
Don’t call this in a downstream thread unless you don’t mind it blowing
away other changes you might have recently made in an upstream thread.
*/
- setStereoChannel()
C++ Interface: set_stereo_channel(const DisplayRegion self, int stereo_channel)
- /**
Specifies whether the DisplayRegion represents the left or right channel of
a stereo pair, or whether it is a normal, monocular image. This
automatically adjusts the lens that is used to render to this DisplayRegion
to its left or right eye, according to the lens’s stereo properties.
When the DisplayRegion is attached to a stereo window (one for which
is_stereo() returns true), this also specifies which physical channel the
DisplayRegion renders to.
Normally you would create at least two DisplayRegions for a stereo window,
one for each of the left and right channels. The two DisplayRegions may
share the same camera (and thus the same lens); this parameter is used to
control the exact properties of the lens when it is used to render into
this DisplayRegion.
Also see the StereoDisplayRegion, which automates managing a pair of
left/right DisplayRegions.
An ordinary DisplayRegion may be set to SC_mono, SC_left, or SC_right. You
may set SC_stereo only on a StereoDisplayRegion.
This call also resets tex_view_offset to its default value, which is 0 for
the left eye or 1 for the right eye of a stereo display region, or 0 for a
mono display region.
*/
- setTargetTexPage()
C++ Interface: set_target_tex_page(const DisplayRegion self, int page)
- /**
This is a special parameter that is only used when rendering the faces of a
cube map or multipage and/or multiview texture.
This sets up the DisplayRegion to render to the ith page and jth view of
its associated texture(s); the value must be consistent with the range of
values availble to the texture. A normal DisplayRegion that is not
associated with any particular page should be set to page -1 and view 0.
This is particularly useful when rendering cube maps and/or stereo
textures.
Don’t call this in a downstream thread unless you don’t mind it blowing
away other changes you might have recently made in an upstream thread.
*/
- setTexViewOffset()
C++ Interface: set_tex_view_offset(const DisplayRegion self, int tex_view_offset)
- /**
Sets the current texture view offset for this DisplayRegion. This is
normally set to zero. If nonzero, it is used to select a particular view
of any multiview textures that are rendered within this DisplayRegion.
For a StereoDisplayRegion, this is normally 0 for the left eye, and 1 for
the right eye, to support stereo textures. This is set automatically when
you call set_stereo_channel().
*/
- setTextureReloadPriority()
C++ Interface: set_texture_reload_priority(const DisplayRegion self, int texture_reload_priority)
- /**
Specifies an integer priority which is assigned to any asynchronous texture
reload requests spawned while processing this DisplayRegion. This controls
which textures are loaded first when multiple textures need to be reloaded
at once; it also controls the relative priority between asynchronous
texture loads and asynchronous model or animation loads.
Specifying a larger number here makes the textures rendered by this
DisplayRegion load up first. This may be particularly useful to do, for
instance, for the DisplayRegion that renders the gui.
*/
- set_active()
C++ Interface: set_active(const DisplayRegion self, bool active)
- /**
Sets the active flag associated with the DisplayRegion. If the
DisplayRegion is marked inactive, nothing is rendered.
Don’t call this in a downstream thread unless you don’t mind it blowing
away other changes you might have recently made in an upstream thread.
*/
- set_camera()
C++ Interface: set_camera(const DisplayRegion self, const NodePath camera)
- /**
Sets the camera that is associated with this DisplayRegion. There is a
one-to-many association between cameras and DisplayRegions; one camera may
be shared by multiple DisplayRegions.
The camera is actually set via a NodePath, which clarifies which instance
of the camera (if there happen to be multiple instances) we should use.
Don’t call this in a downstream thread unless you don’t mind it blowing
away other changes you might have recently made in an upstream thread.
*/
- set_cube_map_index()
C++ Interface: set_cube_map_index(const DisplayRegion self, int cube_map_index)
- /**
Deprecated; replaced by set_target_tex_page().
*/
- set_cull_callback()
C++ Interface: set_cull_callback(const DisplayRegion self, CallbackObject object)
- /**
Sets the CallbackObject that will be notified when the DisplayRegion is
visited during the cull traversal. This callback will be made during the
cull thread.
The cull traversal is responsible for determining which nodes are visible
and within the view frustum, and for accumulating state and transform, and
generally building up the list of CullableObjects that are to be eventually
passed to the draw traversal for rendering.
At the time the cull traversal callback is made, the traversal for this
DisplayRegion has not yet started.
The callback is passed an instance of a DisplayRegionCullCallbackData,
which contains pointers to the current scene information, as well as the
current DisplayRegion and GSG. The callback replaces the normal cull
behavior, so if your callback does nothing, the scene graph will not be
traversed and therefore nothing will be drawn. If you wish the normal cull
traversal to be performed for this DisplayRegion, you must call
cbdata->upcall() from your callback.
*/
- set_cull_traverser()
C++ Interface: set_cull_traverser(const DisplayRegion self, CullTraverser trav)
- /**
Specifies the CullTraverser that will be used to draw the contents of this
DisplayRegion. Normally the default CullTraverser is sufficient, but this
may be changed to change the default cull behavior.
*/
- set_depth_range()
C++ Interface: set_depth_range(const DisplayRegion self, float near, float far)
- /**
Changes the range of the depth buffer this DisplayRegion writes to.
The parameters range from 0 to 1. It is legal for the near value to be
larger than the far value.
@since 1.11.0
*/
- set_dimensions()
C++ Interface: set_dimensions(const DisplayRegion self, const LVecBase4f dimensions) set_dimensions(const DisplayRegion self, int i, const LVecBase4f dimensions) set_dimensions(const DisplayRegion self, float l, float r, float b, float t) set_dimensions(const DisplayRegion self, int i, float l, float r, float b, float t)
- /**
Changes the portion of the framebuffer this DisplayRegion corresponds to.
The parameters range from 0 to 1, where 0,0 is the lower left corner and
1,1 is the upper right; (0, 1, 0, 1) represents the whole screen.
*/
- /**
Changes the portion of the framebuffer this DisplayRegion corresponds to.
The parameters range from 0 to 1, where 0,0 is the lower left corner and
1,1 is the upper right; (0, 1, 0, 1) represents the whole screen.
*/
- /**
Changes the portion of the framebuffer this DisplayRegion corresponds to.
The parameters range from 0 to 1, where 0,0 is the lower left corner and
1,1 is the upper right; (0, 1, 0, 1) represents the whole screen.
*/
- /**
Changes the portion of the framebuffer this DisplayRegion corresponds to.
The parameters range from 0 to 1, where 0,0 is the lower left corner and
1,1 is the upper right; (0, 1, 0, 1) represents the whole screen.
Don’t call this in a downstream thread unless you don’t mind it blowing
away other changes you might have recently made in an upstream thread.
*/
- set_draw_callback()
C++ Interface: set_draw_callback(const DisplayRegion self, CallbackObject object)
- /**
Sets the CallbackObject that will be notified when the contents of
DisplayRegion is drawn during the draw traversal. This callback will be
made during the draw thread.
The draw traversal is responsible for actually issuing the commands to the
graphics engine to draw primitives. Its job is to walk through the list of
CullableObjects build up by the cull traversal, as quickly as possible,
issuing the appropriate commands to draw each one.
At the time the draw traversal callback is made, the graphics state is in
the initial state, and no projection matrix or modelview matrix is in
effect. begin_scene() has not yet been called, and no objects have yet
been drawn. However, the viewport has already been set to the appropriate
part of the window, and the clear commands for this DisplayRegion (if any)
have been issued.
The callback is passed an instance of a DisplayRegionDrawCallbackData,
which contains pointers to the current scene information, as well as the
current DisplayRegion and GSG. The callback replaces the normal draw
behavior, so if your callback does nothing, nothing in the DisplayRegion
will be drawn. If you wish the draw traversal to continue to draw the
contents of this DisplayRegion, you must call cbdata->upcall() from your
callback.
*/
- set_incomplete_render()
C++ Interface: set_incomplete_render(const DisplayRegion self, bool incomplete_render)
- /**
Sets the incomplete_render flag. When this is true, the frame will be
rendered even if some of the geometry or textures in the scene are not
available (e.g. they have been temporarily paged out). When this is
false, the frame will be held up while this data is reloaded.
This flag may also be set on the GraphicsStateGuardian. It will be
considered true for a given DisplayRegion only if it is true on both the
GSG and on the DisplayRegion.
See GraphicsStateGuardian::set_incomplete_render() for more detail.
*/
- set_lens_index()
C++ Interface: set_lens_index(const DisplayRegion self, int index)
- /**
Sets the lens index, allows for multiple lenses to be attached to a camera.
This is useful for a variety of setups, such as fish eye rendering. The
default is 0.
Don’t call this in a downstream thread unless you don’t mind it blowing
away other changes you might have recently made in an upstream thread.
*/
- set_num_regions()
C++ Interface: set_num_regions(const DisplayRegion self, int i)
- /**
Sets the number of regions that this DisplayRegion indicates. Usually,
this number is 1 (and it is always at least 1), and only the first is used
for rendering. However, if more than one is provided, you may select which
one to render into using a geometry shader (gl_ViewportIndex in GLSL).
*/
- set_scissor_enabled()
C++ Interface: set_scissor_enabled(const DisplayRegion self, bool scissor_enabled)
- /**
Sets whether or not scissor testing is enabled for this region. The
default is true, except for the overlay display region.
*/
- set_sort()
C++ Interface: set_sort(const DisplayRegion self, int sort)
- /**
Sets the sort value associated with the DisplayRegion. Within a window,
DisplayRegions will be rendered in order from the lowest sort value to the
highest.
Don’t call this in a downstream thread unless you don’t mind it blowing
away other changes you might have recently made in an upstream thread.
*/
- set_stereo_channel()
C++ Interface: set_stereo_channel(const DisplayRegion self, int stereo_channel)
- /**
Specifies whether the DisplayRegion represents the left or right channel of
a stereo pair, or whether it is a normal, monocular image. This
automatically adjusts the lens that is used to render to this DisplayRegion
to its left or right eye, according to the lens’s stereo properties.
When the DisplayRegion is attached to a stereo window (one for which
is_stereo() returns true), this also specifies which physical channel the
DisplayRegion renders to.
Normally you would create at least two DisplayRegions for a stereo window,
one for each of the left and right channels. The two DisplayRegions may
share the same camera (and thus the same lens); this parameter is used to
control the exact properties of the lens when it is used to render into
this DisplayRegion.
Also see the StereoDisplayRegion, which automates managing a pair of
left/right DisplayRegions.
An ordinary DisplayRegion may be set to SC_mono, SC_left, or SC_right. You
may set SC_stereo only on a StereoDisplayRegion.
This call also resets tex_view_offset to its default value, which is 0 for
the left eye or 1 for the right eye of a stereo display region, or 0 for a
mono display region.
*/
- set_target_tex_page()
C++ Interface: set_target_tex_page(const DisplayRegion self, int page)
- /**
This is a special parameter that is only used when rendering the faces of a
cube map or multipage and/or multiview texture.
This sets up the DisplayRegion to render to the ith page and jth view of
its associated texture(s); the value must be consistent with the range of
values availble to the texture. A normal DisplayRegion that is not
associated with any particular page should be set to page -1 and view 0.
This is particularly useful when rendering cube maps and/or stereo
textures.
Don’t call this in a downstream thread unless you don’t mind it blowing
away other changes you might have recently made in an upstream thread.
*/
- set_tex_view_offset()
C++ Interface: set_tex_view_offset(const DisplayRegion self, int tex_view_offset)
- /**
Sets the current texture view offset for this DisplayRegion. This is
normally set to zero. If nonzero, it is used to select a particular view
of any multiview textures that are rendered within this DisplayRegion.
For a StereoDisplayRegion, this is normally 0 for the left eye, and 1 for
the right eye, to support stereo textures. This is set automatically when
you call set_stereo_channel().
*/
- set_texture_reload_priority()
C++ Interface: set_texture_reload_priority(const DisplayRegion self, int texture_reload_priority)
- /**
Specifies an integer priority which is assigned to any asynchronous texture
reload requests spawned while processing this DisplayRegion. This controls
which textures are loaded first when multiple textures need to be reloaded
at once; it also controls the relative priority between asynchronous
texture loads and asynchronous model or animation loads.
Specifying a larger number here makes the textures rendered by this
DisplayRegion load up first. This may be particularly useful to do, for
instance, for the DisplayRegion that renders the gui.
*/
- sort
- stereo
- stereo_channel
- target_tex_page
- tex_view_offset
- texture_reload_priority
- upcastToDrawableRegion()
C++ Interface: upcast_to_DrawableRegion(const DisplayRegion self)
upcast from DisplayRegion to DrawableRegion
- upcastToTypedReferenceCount()
C++ Interface: upcast_to_TypedReferenceCount(const DisplayRegion self)
upcast from DisplayRegion to TypedReferenceCount
- upcast_to_DrawableRegion()
C++ Interface: upcast_to_DrawableRegion(const DisplayRegion self)
upcast from DisplayRegion to DrawableRegion
- upcast_to_TypedReferenceCount()
C++ Interface: upcast_to_TypedReferenceCount(const DisplayRegion self)
upcast from DisplayRegion to TypedReferenceCount
- window