Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

DXGraphicsStateGuardian8 Class Reference

A GraphicsStateGuardian specialized for rendering into DX. More...

#include <dxGraphicsStateGuardian8.h>

Inheritance diagram for DXGraphicsStateGuardian8:

GraphicsStateGuardian GraphicsStateGuardianBase TypedReferenceCount TypedObject ReferenceCount List of all members.

Public Member Functions

 DXGraphicsStateGuardian8 (const FrameBufferProperties &properties)
 ~DXGraphicsStateGuardian8 ()
virtual void reset ()
 Resets all internal state as if the gsg were newly created.

virtual void do_clear (const RenderBuffer &buffer)
 Clears all of the indicated buffers to their assigned colors.

virtual void prepare_display_region ()
 Prepare a display region for rendering (set up scissor region and viewport).

virtual bool prepare_lens ()
 Makes the current lens (whichever lens was most recently specified with push_lens()) active, so that it will transform future rendered geometry.

virtual void draw_point (GeomPoint *geom, GeomContext *gc)
virtual void draw_line (GeomLine *geom, GeomContext *gc)
virtual void draw_linestrip (GeomLinestrip *geom, GeomContext *gc)
void draw_linestrip_base (Geom *geom, GeomContext *gc, bool bConnectEnds)
virtual void draw_sprite (GeomSprite *geom, GeomContext *gc)
virtual void draw_polygon (GeomPolygon *geom, GeomContext *gc)
virtual void draw_quad (GeomQuad *geom, GeomContext *gc)
virtual void draw_tri (GeomTri *geom, GeomContext *gc)
virtual void draw_tristrip (GeomTristrip *geom, GeomContext *gc)
virtual void draw_trifan (GeomTrifan *geom, GeomContext *gc)
virtual void draw_sphere (GeomSphere *geom, GeomContext *gc)
virtual GeomNodeContextprepare_geom_node (GeomNode *node)
 Prepares the indicated GeomNode for retained-mode rendering.

virtual void draw_geom_node (GeomNode *node, const RenderState *state, GeomNodeContext *gnc)
 Draws a GeomNode previously indicated by a call to prepare_geom_node().

virtual void release_geom_node (GeomNodeContext *gnc)
 Frees the resources previously allocated via a call to prepare_geom_node(), including deleting the GeomNodeContext itself, if necessary.

virtual TextureContextprepare_texture (Texture *tex)
 Creates a new retained-mode representation of the given texture, and returns a newly-allocated TextureContext pointer to reference it.

virtual void apply_texture (TextureContext *tc)
 Makes the texture the currently available texture for rendering.

virtual void release_texture (TextureContext *tc)
 Frees the GL resources previously allocated for the texture.

virtual void copy_texture (TextureContext *tc, const DisplayRegion *dr)
virtual void copy_texture (TextureContext *tc, const DisplayRegion *dr, const RenderBuffer &rb)
virtual void texture_to_pixel_buffer (TextureContext *tc, PixelBuffer *pb)
virtual void texture_to_pixel_buffer (TextureContext *tc, PixelBuffer *pb, const DisplayRegion *dr)
virtual void copy_pixel_buffer (PixelBuffer *pb, const DisplayRegion *dr)
virtual void copy_pixel_buffer (PixelBuffer *pb, const DisplayRegion *dr, const RenderBuffer &rb)
virtual void apply_material (const Material *material)
virtual void apply_fog (Fog *fog)
virtual void issue_transform (const TransformState *transform)
 Sends the indicated transform matrix to the graphics API to be applied to future vertices.

virtual void issue_tex_matrix (const TexMatrixAttrib *attrib)
virtual void issue_texture (const TextureAttrib *attrib)
virtual void issue_material (const MaterialAttrib *attrib)
virtual void issue_render_mode (const RenderModeAttrib *attrib)
virtual void issue_texture_apply (const TextureApplyAttrib *attrib)
virtual void issue_alpha_test (const AlphaTestAttrib *attrib)
virtual void issue_depth_test (const DepthTestAttrib *attrib)
virtual void issue_depth_write (const DepthWriteAttrib *attrib)
virtual void issue_color_write (const ColorWriteAttrib *attrib)
virtual void issue_cull_face (const CullFaceAttrib *attrib)
virtual void issue_fog (const FogAttrib *attrib)
virtual void issue_depth_offset (const DepthOffsetAttrib *attrib)
virtual void bind_light (PointLight *light, int light_id)
 Called the first time a particular light has been bound to a given id within a frame, this should set up the associated hardware light with the light's properties.

virtual void bind_light (DirectionalLight *light, int light_id)
 Called the first time a particular light has been bound to a given id within a frame, this should set up the associated hardware light with the light's properties.

virtual void bind_light (Spotlight *light, int light_id)
 Called the first time a particular light has been bound to a given id within a frame, this should set up the associated hardware light with the light's properties.

virtual bool begin_frame ()
 Called before each frame is rendered, to allow the GSG a chance to do any internal cleanup before beginning the frame.

virtual bool begin_scene ()
 Called between begin_frame() and end_frame() to mark the beginning of drawing commands for a "scene" (usually a particular DisplayRegion) within a frame.

virtual void end_scene ()
 Called between begin_frame() and end_frame() to mark the end of drawing commands for a "scene" (usually a particular DisplayRegion) within a frame.

virtual void end_frame ()
 Called after each frame is rendered, to allow the GSG a chance to do any internal cleanup after rendering the frame, and before the window flips.

virtual bool wants_normals (void) const
virtual bool wants_texcoords (void) const
virtual bool depth_offset_decals ()
 Returns true if this GSG can implement decals using a DepthOffsetAttrib, or false if that is unreliable and the three-step rendering process should be used instead.

virtual CoordinateSystem get_internal_coordinate_system () const
 Should be overridden by derived classes to return the coordinate system used internally by the GSG, if any one particular coordinate system is used.

float compute_distance_to (const LPoint3f &point) const
 This function may only be called during a render traversal; it will compute the distance to the indicated point, assumed to be in modelview coordinates, from the camera plane.

virtual void set_color_clear_value (const Colorf &value)
 Sets the color that the next do_clear() command will set the color buffer to.

void set_context (DXScreenData *pNewContextData)
virtual TypeHandle get_type (void) const
virtual TypeHandle force_init_type ()
void SetDXReady (bool status)
bool GetDXReady (void)
void DXGraphicsStateGuardian8::SetTextureBlendMode (TextureApplyAttrib::Mode TexBlendMode, bool bJustEnable)
DXShaderHandle read_vertex_shader (string &filename)
DXShaderHandle read_pixel_shader (string &filename)
void init_shader (ShaderType stype, DXShaderHandle &hShader, string *pFname)
void dx_cleanup (bool bRestoreDisplayMode, bool bAtExitFnCalled)
 Clean up the DirectX environment, accounting for exit().

void reset_panda_gsg (void)
HRESULT reset_d3d_device (D3DPRESENT_PARAMETERS *pPresParams)
bool CheckCooperativeLevel (bool bDoReactivateWindow=false)
void show_frame (bool bNoNewFrameDrawn=false)
 redraw primary buffer

void dx_init (void)
 Handles initialization which assumes that DX has already been set up.

void support_overlay_window (bool flag)
 Specifies whether dialog windows placed on top of the dx rendering window should be supported.

void release_all_textures ()
 Frees the resources for all textures associated with this GSG.

void release_all_geoms ()
 Frees the resources for all Geoms and GeomNodes associated with this GSG.

const FrameBufferPropertiesget_properties () const
 Returns the frame buffer properties requested for this GSG.

GraphicsPipeget_pipe () const
 Returns the graphics pipe on which this GSG was created.

const GraphicsThreadingModelget_threading_model () const
 Returns the threading model that was used to create this GSG.

void set_scene (SceneSetup *scene_setup)
 Sets the SceneSetup object that indicates the initial camera position, etc.

SceneSetupget_scene () const
 Returns the SceneSetup object.

virtual GeomContextprepare_geom (Geom *geom)
 Prepares the indicated Geom for retained-mode rendering.

virtual void release_geom (GeomContext *gc)
 Frees the resources previously allocated via a call to prepare_geom(), including deleting the GeomContext itself, if necessary.

virtual void set_state_and_transform (const RenderState *state, const TransformState *transform)
 Simultaneously resets the render state and the transform state.

virtual void set_depth_clear_value (const float value)
 Sets the depth that the next do_clear() command will set the depth buffer to.

void clear (ClearableRegion *clearable)
 Clears the framebuffer within the current DisplayRegion, according to the flags indicated by the given ClearableRegion object.

void clear (DisplayRegion *dr)
 Clears the framebuffer within the indicated DisplayRegion, according to the flags indicated by the DisplayRegion object (inheriting from ClearableRegion).

void enable_normals (bool val)
virtual bool wants_colors () const
 Returns true if the GSG should issue geometry color commands, false otherwise.

virtual ConstPointerTo< RenderStatebegin_decal_base_first ()
 Called during draw to begin a three-step rendering phase to draw decals.

virtual ConstPointerTo< RenderStatebegin_decal_nested ()
 Called during draw to begin a three-step rendering phase to draw decals.

virtual ConstPointerTo< RenderStatebegin_decal_base_second ()
 Called during draw to begin a three-step rendering phase to draw decals.

virtual void finish_decal ()
 Called during draw to clean up after decals are finished.

void reset_if_new ()
 Calls reset() to initialize the GSG, but only if it hasn't been called yet.

void modify_state (const RenderState *state)
 Applies the attributes indicated in the state set to the current state, and issues the changes to the graphics hardware.

void set_state (const RenderState *state)
 Applies the attributes indicated in the state set to the current state, and issues the changes to the graphics hardware.

void set_transform (const TransformState *transform)
 Sets the world transform that will be applied to subsequent geometry.

RenderBuffer get_render_buffer (int buffer_type)
 Returns a RenderBuffer object suitable for operating on the requested set of buffers.

const DisplayRegionget_current_display_region (void) const
 Returns the current display region being rendered to, as set by the last call to push_display_region() (or restored by pop_display_region()).

const Lensget_current_lens () const
 Returns the current lens being rendered with, as set by the last call to push_lens() (or restored by pop_lens()).

DisplayRegionStack push_display_region (const DisplayRegion *dr)
 Saves the current display region information and sets up a new display region for rendering.

void pop_display_region (DisplayRegionStack &node)
 Restores the display region previously in effect, before the matching call to push_display_region().

FrameBufferStack push_frame_buffer (const RenderBuffer &buffer, const DisplayRegion *dr)
 Saves the contents of the frame buffer (within the indicated display region only) so that rendering may be performed (for instance, to render a partial in a multipass algorithm) and the frame buffer later restored via a matching call to pop_frame_buffer().

void pop_frame_buffer (FrameBufferStack &node)
 Restores the contents of the frame buffer as saved by a previous call to push_frame_buffer().

LensStack push_lens (const Lens *lens)
 Saves the current lens information and sets up a new lens for rendering.

void pop_lens (LensStack &stack)
 Restores the lens previously in effect, before the matching call to push_lens().

bool set_lens (const Lens *lens)
 Sets a new lens for rendering without bothering to push or pop.

void set_coordinate_system (CoordinateSystem cs)
 Changes the coordinate system in effect on this particular gsg.

CoordinateSystem get_coordinate_system () const
 Returns the coordinate system in effect on this particular gsg.

virtual void issue_color_scale (const ColorScaleAttrib *attrib)
virtual void issue_color (const ColorAttrib *attrib)
 This method is defined in the base class because it is likely that this functionality will be used for all (or at least most) kinds of GraphicsStateGuardians--it's not specific to any one rendering backend.

virtual void issue_light (const LightAttrib *attrib)
 The default implementation of issue_light() assumes we have a limited number of hardware lights available.

virtual void issue_transparency (const TransparencyAttrib *attrib)
virtual void issue_color_blend (const ColorBlendAttrib *attrib)
virtual void issue_clip_plane (const ClipPlaneAttrib *attrib)
 This is fundametically similar to issue_light(), with calls to slot_new_clip_plane(), apply_clip_plane(), and enable_clip_planes(), as appropriate.

void traverse_prepared_textures (bool(*pertex_callbackfn)(TextureContext *, void *), void *callback_arg)
virtual void issue_tex_gen (const TexGenAttrib *)
virtual void issue_stencil (const StencilAttrib *)
int get_type_index () const
 Returns the internal index number associated with this object's TypeHandle, a unique number for each different type.

bool is_of_type (TypeHandle handle) const
 Returns true if the current object is or derives from the indicated type.

bool is_exact_type (TypeHandle handle) const
 Returns true if the current object is the indicated type exactly.

int get_ref_count () const
 Returns the current reference count.

int ref () const
 Explicitly increments the reference count.

int unref () const
 Explicitly decrements the reference count.

void test_ref_count_integrity () const
 Does some easy checks to make sure that the reference count isn't completely bogus.


Static Public Member Functions

GraphicsStateGuardianmake_DXGraphicsStateGuardian8 (const FactoryParams &params)
TypeHandle get_class_type (void)
void init_type (void)

Public Attributes

DXScreenData_pScrn
LPDIRECT3DDEVICE8 _pD3DDevice
IDirect3DTexture8 * _pGlobalTexture
DXShaderHandle _CurVertexShader
DXShaderHandle _CurPixelShader

Static Public Attributes

PStatCollector _total_texusage_pcollector
PStatCollector _active_texusage_pcollector
PStatCollector _total_geom_pcollector
PStatCollector _active_geom_pcollector
PStatCollector _total_geom_node_pcollector
PStatCollector _active_geom_node_pcollector
PStatCollector _total_texmem_pcollector
PStatCollector _used_texmem_pcollector
PStatCollector _texmgrmem_total_pcollector
PStatCollector _texmgrmem_resident_pcollector
PStatCollector _vertices_pcollector
PStatCollector _vertices_tristrip_pcollector
PStatCollector _vertices_trifan_pcollector
PStatCollector _vertices_tri_pcollector
PStatCollector _vertices_other_pcollector
PStatCollector _state_changes_pcollector
PStatCollector _transform_state_pcollector
PStatCollector _texture_state_pcollector
PStatCollector _nodes_pcollector
PStatCollector _geom_nodes_pcollector
PStatCollector _frustum_cull_volumes_pcollector
PStatCollector _frustum_cull_transforms_pcollector
PStatCollector _set_state_pcollector
PStatCollector _draw_primitive_pcollector
PStatCollector _transform_states_pcollector
PStatCollector _transform_states_unused_pcollector
PStatCollector _render_states_pcollector
PStatCollector _render_states_unused_pcollector

Protected Types

enum  DxgsgFogType { None, PerVertexFog = D3DRS_FOGVERTEXMODE, PerPixelFog = D3DRS_FOGTABLEMODE }
enum  ColorTransform { CT_offset = 0x01, CT_scale = 0x02 }

Protected Member Functions

virtual void enable_lighting (bool enable)
 Intended to be overridden by a derived class to enable or disable the use of lighting overall.

virtual void set_ambient_light (const Colorf &color)
 Intended to be overridden by a derived class to indicate the color of the ambient light that should be in effect.

virtual void enable_light (int light_id, bool enable)
 Intended to be overridden by a derived class to enable the indicated light id.

virtual bool slot_new_clip_plane (int plane_id)
 This will be called by the base class before a particular clip plane id will be used for the first time.

virtual void enable_clip_plane (int plane_id, bool enable)
 Intended to be overridden by a derived class to enable the indicated clip_plane id.

virtual void bind_clip_plane (PlaneNode *plane, int plane_id)
 Called the first time a particular clip_plane has been bound to a given id within a frame, this should set up the associated hardware clip_plane with the clip_plane's properties.

virtual void set_blend_mode (ColorWriteAttrib::Mode color_write_mode, ColorBlendAttrib::Mode color_blend_mode, TransparencyAttrib::Mode transparency_mode)
 Called after any of these three blending states have changed; this function is responsible for setting the appropriate color blending mode based on the given properties.

void free_nondx_resources ()
 Frees some memory that was explicitly allocated within the dxgsg.

void free_d3d_device (void)
virtual PointerTo< SavedFrameBuffersave_frame_buffer (const RenderBuffer &buffer, ConstPointerTo< DisplayRegion > dr)
virtual void restore_frame_buffer (SavedFrameBuffer *frame_buffer)
 Restores the frame buffer that was previously saved.

void set_draw_buffer (const RenderBuffer &rb)
 Sets up the glDrawBuffer to render into the buffer indicated by the RenderBuffer object.

void set_read_buffer (const RenderBuffer &rb)
 Vestigial analog of glReadBuffer.

void add_to_FVFBuf (void *data, size_t bytes)
 This adds data to the flexible vertex format.

void GenerateSphere (void *pVertexSpace, DWORD dwVertSpaceByteSize, void *pIndexSpace, DWORD dwIndexSpaceByteSize, D3DXVECTOR3 *pCenter, float fRadius, DWORD wNumRings, DWORD wNumSections, float sx, float sy, float sz, DWORD *pNumVertices, DWORD *pNumTris, DWORD fvfFlags, DWORD dwVertSize)
HRESULT ReleaseAllDeviceObjects (void)
HRESULT RecreateAllDeviceObjects (void)
HRESULT DeleteAllDeviceObjects (void)
void enable_color_material (bool val)
void enable_fog (bool val)
void enable_zwritemask (bool val)
void set_color_writemask (UINT color_writemask)
void enable_gouraud_shading (bool val)
void set_vertex_format (DWORD NewFvfType)
D3DTEXTUREADDRESS get_texture_wrap_mode (Texture::WrapMode wm) const
 Maps from the Texture's internal wrap mode symbols to GL's.

D3DFOGMODE get_fog_mode_type (Fog::Mode m) const
 Maps from the fog types to gl version.

void enable_primitive_clipping (bool val)
void enable_alpha_test (bool val)
void enable_line_smooth (bool val)
void enable_blend (bool val)
void enable_point_smooth (bool val)
void enable_texturing (bool val)
void call_dxLightModelAmbient (const Colorf &color)
void call_dxAlphaFunc (D3DCMPFUNC func, float refval)
void call_dxBlendFunc (D3DBLEND sfunc, D3DBLEND dfunc)
void enable_dither (bool val)
void enable_stencil_test (bool val)
void report_texmgr_stats ()
 Reports the DX texture manager's activity to PStats.

void draw_multitri (Geom *geom, D3DPRIMITIVETYPE tri_id)
 handles trifans and tristrips

void draw_prim_inner_loop (int nVerts, const Geom *geom, ushort perFlags)
 This adds data to the flexible vertex format with a check for component normals and color.

void draw_prim_inner_loop_coordtexonly (int nVerts, const Geom *geom)
 FastPath loop used by animated character data.

size_t draw_prim_setup (const Geom *geom)
 This adds data to the flexible vertex format.

void transform_color (Colorf &InColor, D3DCOLOR &OutColor)
Lightget_light (int light_id) const
 Returns the Light object that is bound to the indicated id, or NULL if no Light is bound.

virtual bool slot_new_light (int light_id)
 This will be called by the base class before a particular light id will be used for the first time.

virtual void begin_bind_lights ()
 Called immediately before bind_light() is called, this is intended to provide the derived class a hook in which to set up some state (like transform) that might apply to several lights.

virtual void end_bind_lights ()
 Called after before bind_light() has been called one or more times (but before any geometry is issued or additional state is changed), this is intended to clean up any temporary changes to the state that may have been made by begin_bind_lights().

PlaneNodeget_clip_plane (int plane_id) const
 Returns the PlaneNode object that is bound to the indicated id, or NULL if no PlaneNode is bound.

virtual void enable_clip_planes (bool enable)
 Intended to be overridden by a derived class to enable or disable the use of clipping planes overall.

virtual void begin_bind_clip_planes ()
 Called immediately before bind_clip_plane() is called, this is intended to provide the derived class a hook in which to set up some state (like transform) that might apply to several planes.

virtual void end_bind_clip_planes ()
 Called after before bind_clip_plane() has been called one or more times (but before any geometry is issued or additional state is changed), this is intended to clean up any temporary changes to the state that may have been made by begin_bind_clip_planes().

bool mark_prepared_texture (TextureContext *tc)
 This is intended to be called from within prepare_texture().

bool unmark_prepared_texture (TextureContext *tc)
 This is intended to be called from within release_texture().

bool mark_prepared_geom (GeomContext *gc)
 This is intended to be called from within prepare_geom().

bool unmark_prepared_geom (GeomContext *gc)
 This is intended to be called from within release_geom().

bool mark_prepared_geom_node (GeomNodeContext *gnc)
 This is intended to be called from within prepare_geom_node().

bool unmark_prepared_geom_node (GeomNodeContext *gnc)
 This is intended to be called from within release_geom_node().

virtual void free_pointers ()
 Frees some memory that was explicitly allocated within the glgsg.

virtual void close_gsg ()
 This is called by the associated GraphicsWindow when close_window() is called.

void init_frame_pstats ()
void add_to_texture_record (TextureContext *)
void add_to_geom_record (GeomContext *)
void add_to_geom_node_record (GeomNodeContext *)
void record_state_change (TypeHandle)

Static Protected Member Functions

ConstPointerTo< RenderStateget_unlit_state ()
ConstPointerTo< RenderStateget_unclipped_state ()
ConstPointerTo< RenderStateget_untextured_state ()

Protected Attributes

bool _bDXisReady
HRESULT _last_testcooplevel_result
DXTextureContext8_pCurTexContext
bool _bTransformIssued
D3DMATRIX _SavedTransform
RenderBuffer::Type _cur_read_pixel_buffer
Normalf p_normal
TexCoordf p_texcoord
D3DCOLOR _curD3Dcolor
DWORD _perPrim
DWORD _perVertex
DWORD _perComp
DWORD _CurFVFType
BYTE * _pCurFvfBufPtr
BYTE * _pFvfBufBasePtr
WORD * _index_buf
D3DCOLOR _scene_graph_color_D3DCOLOR
D3DCOLOR _d3dcolor_clear_value
bool _bGouraudShadingOn
UINT _color_writemask
bool _bDrawPrimDoSetupVertexBuffer
DXGeomNodeContext8_pCurrentGeomContext
Geom::VertexIterator vi
Geom::NormalIterator ni
Geom::TexCoordIterator ti
Geom::ColorIterator ci
Vertexf_coord_array
Vertexf_pCurCoord
ushort_coordindex_array
ushort_pCurCoordIndex
TexCoordf_texcoord_array
TexCoordf_pCurTexCoord
ushort_texcoordindex_array
ushort_pCurTexCoordIndex
Colorf _lmodel_ambient
float _material_ambient
float _material_diffuse
float _material_specular
float _material_shininess
float _material_emission
DxgsgFogType _doFogType
bool _fog_enabled
float _alpha_func_refval
D3DCMPFUNC _alpha_func
D3DBLEND _blend_source_func
D3DBLEND _blend_dest_func
bool _line_smooth_enabled
bool _color_material_enabled
bool _texturing_enabled
bool _clipping_enabled
bool _dither_enabled
bool _stencil_test_enabled
bool _blend_enabled
bool _depth_test_enabled
bool _depth_write_enabled
bool _alpha_test_enabled
DWORD _clip_plane_bits
RenderModeAttrib::Mode _current_fill_mode
TextureApplyAttrib::Mode _CurTexBlendMode
D3DTEXTUREFILTERTYPE _CurTexMagFilter
D3DTEXTUREFILTERTYPE _CurTexMinFilter
D3DTEXTUREFILTERTYPE _CurTexMipFilter
DWORD _CurTexAnisoDegree
Texture::WrapMode _CurTexWrapModeU
Texture::WrapMode _CurTexWrapModeV
LMatrix4f _current_projection_mat
int _projection_mat_stack_count
ConstPointerTo< DisplayRegion_actual_display_region
bool _overlay_windows_supported
PointerTo< SceneSetup_scene_setup
ConstPointerTo< RenderState_state
ConstPointerTo< TransformState_transform
int _buffer_mask
Colorf _color_clear_value
float _depth_clear_value
bool _stencil_clear_value
Colorf _accum_clear_value
int _clear_buffer_type
int _display_region_stack_level
int _frame_buffer_stack_level
int _lens_stack_level
ConstPointerTo< DisplayRegion_current_display_region
ConstPointerTo< Lens_current_lens
bool _normals_enabled
CoordinateSystem _coordinate_system
Colorf _scene_graph_color
bool _has_scene_graph_color
bool _scene_graph_color_stale
bool _vertex_colors_enabled
bool _lighting_enabled
bool _clip_planes_enabled
int _color_transform_enabled
LVecBase4f _current_color_offset
LVecBase4f _current_color_scale
ColorWriteAttrib::Mode _color_write_mode
ColorBlendAttrib::Mode _color_blend_mode
TransparencyAttrib::Mode _transparency_mode
bool _needs_reset
bool _closing_gsg

Static Private Attributes

TypeHandle _type_handle

Friends

class wdxGraphicsWindow8
class wdxGraphicsPipe8
class wdxGraphicsWindowGroup8
class DXTextureContext8

Detailed Description

A GraphicsStateGuardian specialized for rendering into DX.

There should be no DX calls outside of this object.

Definition at line 74 of file dxGraphicsStateGuardian8.h.


Member Enumeration Documentation

enum GraphicsStateGuardian::ColorTransform [protected, inherited]
 

Enumeration values:
CT_offset 
CT_scale 

Definition at line 268 of file graphicsStateGuardian.h.

enum DXGraphicsStateGuardian8::DxgsgFogType [protected]
 

Enumeration values:
None 
PerVertexFog 
PerPixelFog 

Definition at line 285 of file dxGraphicsStateGuardian8.h.


Constructor & Destructor Documentation

DXGraphicsStateGuardian8::DXGraphicsStateGuardian8 const FrameBufferProperties properties  ) 
 

Definition at line 406 of file dxGraphicsStateGuardian8.cxx.

References _bDXisReady, _cur_read_pixel_buffer, _CurPixelShader, _CurVertexShader, _index_buf, _overlay_windows_supported, _pFvfBufBasePtr, _pGlobalTexture, _pScrn, matIdentity, NULL, and RenderBuffer::T_front.

DXGraphicsStateGuardian8::~DXGraphicsStateGuardian8  ) 
 

Definition at line 444 of file dxGraphicsStateGuardian8.cxx.


Member Function Documentation

INLINE void DXGraphicsStateGuardian8::add_to_FVFBuf void *  data,
size_t  bytes
[inline, protected]
 

This adds data to the flexible vertex format.

Definition at line 1315 of file dxGraphicsStateGuardian8.cxx.

References _coordindex_array, _pCurCoordIndex, and NULL.

void GraphicsStateGuardian::add_to_geom_node_record GeomNodeContext  )  [inline, protected, inherited]
 

Definition at line 228 of file graphicsStateGuardian.h.

Referenced by GLGraphicsStateGuardian::prepare_geom_node().

void GraphicsStateGuardian::add_to_geom_record GeomContext  )  [inline, protected, inherited]
 

Definition at line 227 of file graphicsStateGuardian.h.

void GraphicsStateGuardian::add_to_texture_record TextureContext  )  [inline, protected, inherited]
 

Definition at line 226 of file graphicsStateGuardian.h.

Referenced by draw_sphere().

void DXGraphicsStateGuardian8::apply_fog Fog fog  )  [virtual]
 

Definition at line 3532 of file dxGraphicsStateGuardian8.cxx.

Referenced by issue_texture().

void DXGraphicsStateGuardian8::apply_material const Material material  )  [virtual]
 

Implements GraphicsStateGuardianBase.

Definition at line 3514 of file dxGraphicsStateGuardian8.cxx.

void DXGraphicsStateGuardian8::apply_texture TextureContext tc  )  [virtual]
 

Makes the texture the currently available texture for rendering.

Reimplemented from GraphicsStateGuardian.

Definition at line 3100 of file dxGraphicsStateGuardian8.cxx.

References tex.

void GraphicsStateGuardian::begin_bind_clip_planes  )  [protected, virtual, inherited]
 

Called immediately before bind_clip_plane() is called, this is intended to provide the derived class a hook in which to set up some state (like transform) that might apply to several planes.

The sequence is: begin_bind_clip_planes() will be called, then one or more bind_clip_plane() calls, then end_bind_clip_planes().

Reimplemented in GLGraphicsStateGuardian.

Definition at line 1540 of file graphicsStateGuardian.cxx.

References RenderState::make(), TextureAttrib::make_off(), and NULL.

void GraphicsStateGuardian::begin_bind_lights  )  [protected, virtual, inherited]
 

Called immediately before bind_light() is called, this is intended to provide the derived class a hook in which to set up some state (like transform) that might apply to several lights.

The sequence is: begin_bind_lights() will be called, then one or more bind_light() calls, then end_bind_lights().

Reimplemented in CRGraphicsStateGuardian, and GLGraphicsStateGuardian.

Definition at line 1427 of file graphicsStateGuardian.cxx.

ConstPointerTo< RenderState > GraphicsStateGuardian::begin_decal_base_first  )  [virtual, inherited]
 

Called during draw to begin a three-step rendering phase to draw decals.

The first step, begin_decal_base_first(), is called prior to drawing the base geometry. It should set up whatever internal state is appropriate, as well as returning a RenderState object that should be applied to the base geometry for rendering.

Implements GraphicsStateGuardianBase.

Definition at line 714 of file graphicsStateGuardian.cxx.

References GraphicsStateGuardian::_has_scene_graph_color, GraphicsStateGuardian::_scene_graph_color_stale, GraphicsStateGuardian::_vertex_colors_enabled, and ColorAttrib::T_vertex.

ConstPointerTo< RenderState > GraphicsStateGuardian::begin_decal_base_second  )  [virtual, inherited]
 

Called during draw to begin a three-step rendering phase to draw decals.

The third step, begin_decal_base_second(), is called after drawing the base geometry and the nested decal geometry, and prior to drawing the base geometry one more time (if needed).

It should return a RenderState object appropriate for rendering the base geometry the second time, or NULL if it is not necessary to re-render the base geometry.

Implements GraphicsStateGuardianBase.

Definition at line 785 of file graphicsStateGuardian.cxx.

References GraphicsStateGuardian::_light_info, and GraphicsStateGuardian::enable_light().

ConstPointerTo< RenderState > GraphicsStateGuardian::begin_decal_nested  )  [virtual, inherited]
 

Called during draw to begin a three-step rendering phase to draw decals.

The second step, begin_decal_nested(), is called after drawing the base geometry and prior to drawing any of the nested decal geometry that is to be applied to the base geometry.

Implements GraphicsStateGuardianBase.

Definition at line 744 of file graphicsStateGuardian.cxx.

References GraphicsStateGuardian::_light_info, GraphicsStateGuardian::_lighting_enabled, GraphicsStateGuardian::_lighting_enabled_this_frame, Colorf, GraphicsStateGuardian::enable_lighting(), AmbientLight::get_class_type(), Light::get_color(), LightAttrib::get_light(), LightAttrib::get_num_lights(), LightAttrib::get_operation(), Light::get_type(), nassertv, NULL, and LightAttrib::O_remove.

bool DXGraphicsStateGuardian8::begin_frame  )  [virtual]
 

Called before each frame is rendered, to allow the GSG a chance to do any internal cleanup before beginning the frame.

The return value is true if successful (in which case the frame will be drawn and end_frame() will be called later), or false if unsuccessful (in which case nothing will be drawn and end_frame() will not be called).

Reimplemented from GraphicsStateGuardian.

Definition at line 4096 of file dxGraphicsStateGuardian8.cxx.

bool DXGraphicsStateGuardian8::begin_scene  )  [virtual]
 

Called between begin_frame() and end_frame() to mark the beginning of drawing commands for a "scene" (usually a particular DisplayRegion) within a frame.

All 3-D drawing commands, except the clear operation, must be enclosed within begin_scene() .. end_scene().

The return value is true if successful (in which case the scene will be drawn and end_scene() will be called later), or false if unsuccessful (in which case nothing will be drawn and end_scene() will not be called).

Reimplemented from GraphicsStateGuardian.

Definition at line 4129 of file dxGraphicsStateGuardian8.cxx.

void DXGraphicsStateGuardian8::bind_clip_plane PlaneNode plane,
int  plane_id
[protected, virtual]
 

Called the first time a particular clip_plane has been bound to a given id within a frame, this should set up the associated hardware clip_plane with the clip_plane's properties.

Reimplemented from GraphicsStateGuardian.

Definition at line 4628 of file dxGraphicsStateGuardian8.cxx.

References _pD3DDevice, and NULL.

void DXGraphicsStateGuardian8::bind_light Spotlight light,
int  light_id
[virtual]
 

Called the first time a particular light has been bound to a given id within a frame, this should set up the associated hardware light with the light's properties.

Reimplemented from GraphicsStateGuardian.

Definition at line 4030 of file dxGraphicsStateGuardian8.cxx.

void DXGraphicsStateGuardian8::bind_light DirectionalLight light,
int  light_id
[virtual]
 

Called the first time a particular light has been bound to a given id within a frame, this should set up the associated hardware light with the light's properties.

Reimplemented from GraphicsStateGuardian.

Definition at line 3983 of file dxGraphicsStateGuardian8.cxx.

void DXGraphicsStateGuardian8::bind_light PointLight light,
int  light_id
[virtual]
 

Called the first time a particular light has been bound to a given id within a frame, this should set up the associated hardware light with the light's properties.

Reimplemented from GraphicsStateGuardian.

Definition at line 3936 of file dxGraphicsStateGuardian8.cxx.

void DXGraphicsStateGuardian8::call_dxAlphaFunc D3DCMPFUNC  func,
float  refval
[inline, protected]
 

Definition at line 258 of file dxGraphicsStateGuardian8.I.

void DXGraphicsStateGuardian8::call_dxBlendFunc D3DBLEND  sfunc,
D3DBLEND  dfunc
[inline, protected]
 

Definition at line 306 of file dxGraphicsStateGuardian8.I.

Referenced by compute_distance_to().

void DXGraphicsStateGuardian8::call_dxLightModelAmbient const Colorf color  )  [inline, protected]
 

Definition at line 237 of file dxGraphicsStateGuardian8.I.

bool DXGraphicsStateGuardian8::CheckCooperativeLevel bool  bDoReactivateWindow = false  ) 
 

Definition at line 5011 of file dxGraphicsStateGuardian8.cxx.

References x, and y.

Referenced by set_blend_mode().

void GraphicsStateGuardian::clear DisplayRegion dr  )  [inline, inherited]
 

Clears the framebuffer within the indicated DisplayRegion, according to the flags indicated by the DisplayRegion object (inheriting from ClearableRegion).

Note that by default, a DisplayRegion does not have any clear flags set, in which case this function will do nothing.

Definition at line 146 of file graphicsStateGuardian.I.

References GraphicsStateGuardian::_state.

void GraphicsStateGuardian::clear ClearableRegion clearable  )  [inherited]
 

Clears the framebuffer within the current DisplayRegion, according to the flags indicated by the given ClearableRegion object.

Definition at line 445 of file graphicsStateGuardian.cxx.

Referenced by GraphicsStateGuardian::set_scene(), and GraphicsEngine::sync_frame().

void GraphicsStateGuardian::close_gsg  )  [protected, virtual, inherited]
 

This is called by the associated GraphicsWindow when close_window() is called.

It should null out the _win pointer and possibly free any open resources associated with the GSG.

Definition at line 1791 of file graphicsStateGuardian.cxx.

Referenced by GraphicsPipe::get_hw_channel().

INLINE float DXGraphicsStateGuardian8::compute_distance_to const LPoint3f &  point  )  const [inline, virtual]
 

This function may only be called during a render traversal; it will compute the distance to the indicated point, assumed to be in modelview coordinates, from the camera plane.

Implements GraphicsStateGuardianBase.

Definition at line 4363 of file dxGraphicsStateGuardian8.cxx.

References _pScrn, DXScreenData::bCanDirectDisableColorWrites, call_dxBlendFunc(), enable_blend(), ColorBlendAttrib::M_add, ColorBlendAttrib::M_multiply, ColorBlendAttrib::M_none, and ColorWriteAttrib::M_off.

void DXGraphicsStateGuardian8::copy_pixel_buffer PixelBuffer pb,
const DisplayRegion dr,
const RenderBuffer rb
[virtual]
 

Implements GraphicsStateGuardianBase.

Definition at line 3501 of file dxGraphicsStateGuardian8.cxx.

References _pD3DDevice, and TextureApplyAttrib::M_blend.

void DXGraphicsStateGuardian8::copy_pixel_buffer PixelBuffer pb,
const DisplayRegion dr
[virtual]
 

Implements GraphicsStateGuardianBase.

Definition at line 3396 of file dxGraphicsStateGuardian8.cxx.

References _pD3DDevice.

void DXGraphicsStateGuardian8::copy_texture TextureContext tc,
const DisplayRegion dr,
const RenderBuffer rb
[virtual]
 

Implements GraphicsStateGuardianBase.

Definition at line 3335 of file dxGraphicsStateGuardian8.cxx.

void DXGraphicsStateGuardian8::copy_texture TextureContext tc,
const DisplayRegion dr
[virtual]
 

Implements GraphicsStateGuardianBase.

Definition at line 3284 of file dxGraphicsStateGuardian8.cxx.

References _cur_read_pixel_buffer, _pD3DDevice, _pScrn, pb, and RenderBuffer::T_back.

HRESULT DXGraphicsStateGuardian8::DeleteAllDeviceObjects void   )  [protected]
 

Definition at line 4894 of file dxGraphicsStateGuardian8.cxx.

References NULL.

bool DXGraphicsStateGuardian8::depth_offset_decals  )  [virtual]
 

Returns true if this GSG can implement decals using a DepthOffsetAttrib, or false if that is unreliable and the three-step rendering process should be used instead.

Reimplemented from GraphicsStateGuardian.

Definition at line 4314 of file dxGraphicsStateGuardian8.cxx.

References _clip_plane_bits, _pD3DDevice, and DWORD.

void DXGraphicsStateGuardian8::do_clear const RenderBuffer buffer  )  [virtual]
 

Clears all of the indicated buffers to their assigned colors.

Implements GraphicsStateGuardian.

Definition at line 981 of file dxGraphicsStateGuardian8.cxx.

References _actual_display_region, GraphicsStateGuardian::_current_display_region, _pD3DDevice, and D3DERRORSTRING.

void DXGraphicsStateGuardian8::draw_geom_node GeomNode node,
const RenderState state,
GeomNodeContext gnc
[virtual]
 

Draws a GeomNode previously indicated by a call to prepare_geom_node().

Reimplemented from GraphicsStateGuardian.

Definition at line 5244 of file dxGraphicsStateGuardian8.cxx.

void DXGraphicsStateGuardian8::draw_line GeomLine geom,
GeomContext gc
[virtual]
 

Implements GraphicsStateGuardianBase.

Definition at line 1688 of file dxGraphicsStateGuardian8.cxx.

References _bDrawPrimDoSetupVertexBuffer, _pCurFvfBufPtr, _pD3DDevice, DrawPrim, nassertv, NULL, and TestDrawPrimFailure().

void DXGraphicsStateGuardian8::draw_linestrip GeomLinestrip geom,
GeomContext gc
[virtual]
 

Implements GraphicsStateGuardianBase.

Definition at line 1784 of file dxGraphicsStateGuardian8.cxx.

void DXGraphicsStateGuardian8::draw_linestrip_base Geom geom,
GeomContext gc,
bool  bConnectEnds
 

Definition at line 1806 of file dxGraphicsStateGuardian8.cxx.

References _pCurFvfBufPtr.

void DXGraphicsStateGuardian8::draw_multitri Geom geom,
D3DPRIMITIVETYPE  tri_id
[protected]
 

handles trifans and tristrips

Definition at line 2549 of file dxGraphicsStateGuardian8.cxx.

void DXGraphicsStateGuardian8::draw_point GeomPoint geom,
GeomContext gc
[virtual]
 

Implements GraphicsStateGuardianBase.

Definition at line 1609 of file dxGraphicsStateGuardian8.cxx.

References GraphicsStateGuardian::_draw_primitive_pcollector, _pCurFvfBufPtr, _perComp, _perPrim, _perVertex, _pFvfBufBasePtr, GraphicsStateGuardian::_vertices_other_pcollector, PStatCollector::add_level(), DO_PSTATS_STUFF, draw_prim_inner_loop(), draw_prim_setup(), DWORD, G_COLOR, G_NORMAL, G_PER_COMPONENT, G_PER_VERTEX, Geom::get_binding(), Geom::get_next_normal(), Geom::get_num_prims(), Geom::get_num_vertices(), GeomLine::get_width(), nassertv, ni, NULL, PER_COLOR, PER_NORMAL, size_t, and VERT_BUFFER_SIZE.

void DXGraphicsStateGuardian8::draw_polygon GeomPolygon geom,
GeomContext gc
[virtual]
 

Implements GraphicsStateGuardianBase.

Definition at line 2306 of file dxGraphicsStateGuardian8.cxx.

References _perPrim, _perVertex, G_OFF, G_PER_PRIM, G_PER_VERTEX, PER_COLOR, and PER_TEXCOORD.

void DXGraphicsStateGuardian8::draw_prim_inner_loop int  nVerts,
const Geom geom,
ushort  perFlags
[protected]
 

This adds data to the flexible vertex format with a check for component normals and color.

Definition at line 1492 of file dxGraphicsStateGuardian8.cxx.

References _coord_array, _coordindex_array, _curD3Dcolor, _pCurFvfBufPtr, _texcoord_array, _texcoordindex_array, DWORD, NULL, and TexCoordf.

Referenced by draw_point().

void DXGraphicsStateGuardian8::draw_prim_inner_loop_coordtexonly int  nVerts,
const Geom geom
[protected]
 

FastPath loop used by animated character data.

Definition at line 1544 of file dxGraphicsStateGuardian8.cxx.

size_t DXGraphicsStateGuardian8::draw_prim_setup const Geom geom  )  [protected]
 

This adds data to the flexible vertex format.

Definition at line 1357 of file dxGraphicsStateGuardian8.cxx.

Referenced by draw_point().

void DXGraphicsStateGuardian8::draw_quad GeomQuad geom,
GeomContext gc
[virtual]
 

Implements GraphicsStateGuardianBase.

Definition at line 2332 of file dxGraphicsStateGuardian8.cxx.

References _perVertex, and PER_TEXCOORD.

void DXGraphicsStateGuardian8::draw_sphere GeomSphere geom,
GeomContext gc
[virtual]
 

Implements GraphicsStateGuardianBase.

Definition at line 2984 of file dxGraphicsStateGuardian8.cxx.

References _CurTexAnisoDegree, _CurTexWrapModeU, _pCurTexContext, _pD3DDevice, _pScrn, TextureContext::_texture, GraphicsStateGuardian::add_to_texture_record(), TextureContext::clear_dirty_flags(), DXTextureContext8::CreateTexture(), DCAST, DXTextureContext8::DeleteTexture(), Texture::DF_image, Texture::DF_mipmap, enable_texturing(), Texture::FilterType, Texture::get_anisotropic_degree(), TextureContext::get_dirty_flags(), Texture::get_magfilter(), get_texture_wrap_mode(), Texture::get_wrapu(), Texture::get_wrapv(), NULL, release_texture(), tex, uint, and Texture::WrapMode.

void DXGraphicsStateGuardian8::draw_sprite GeomSprite geom,
GeomContext gc
[virtual]
 

Implements GraphicsStateGuardianBase.

Definition at line 1936 of file dxGraphicsStateGuardian8.cxx.

References GraphicsStateGuardian::_state, TransparencyAttrib::get_mode(), TransparencyAttrib::M_none, and NULL.

void DXGraphicsStateGuardian8::draw_tri GeomTri geom,
GeomContext gc
[virtual]
 

Implements GraphicsStateGuardianBase.

Definition at line 2359 of file dxGraphicsStateGuardian8.cxx.

References _pCurFvfBufPtr, and uint.

void DXGraphicsStateGuardian8::draw_trifan GeomTrifan geom,
GeomContext gc
[virtual]
 

Implements GraphicsStateGuardianBase.

Definition at line 2529 of file dxGraphicsStateGuardian8.cxx.

References _perVertex, and PER_TEXCOORD.

void DXGraphicsStateGuardian8::draw_tristrip GeomTristrip geom,
GeomContext gc
[virtual]
 

Implements GraphicsStateGuardianBase.

Definition at line 2510 of file dxGraphicsStateGuardian8.cxx.

References _perVertex, and PER_COLOR.

void DXGraphicsStateGuardian8::dx_cleanup bool  bRestoreDisplayMode,
bool  bAtExitFnCalled
 

Clean up the DirectX environment, accounting for exit().

Definition at line 4807 of file dxGraphicsStateGuardian8.cxx.

References nout, and pb.

void DXGraphicsStateGuardian8::dx_init void   ) 
 

Handles initialization which assumes that DX has already been set up.

Definition at line 532 of file dxGraphicsStateGuardian8.cxx.

References _bDrawPrimDoSetupVertexBuffer, _bGouraudShadingOn, _blend_enabled, _clipping_enabled, _color_material_enabled, _color_writemask, _CurFVFType, _current_projection_mat, _depth_test_enabled, _fog_enabled, GraphicsStateGuardian::_has_scene_graph_color, _last_testcooplevel_result, _line_smooth_enabled, GraphicsStateGuardian::_normals_enabled, _pCurrentGeomContext, _pCurTexContext, _pD3DDevice, _projection_mat_stack_count, _pScrn, D3DFORMAT_FLAG, MAX_POSSIBLE_TEXFMTS, and NULL.

void DXGraphicsStateGuardian8::DXGraphicsStateGuardian8::SetTextureBlendMode TextureApplyAttrib::Mode  TexBlendMode,
bool  bJustEnable
 

void DXGraphicsStateGuardian8::enable_alpha_test bool  val  )  [inline, protected]
 

Definition at line 221 of file dxGraphicsStateGuardian8.I.

void DXGraphicsStateGuardian8::enable_blend bool  val  )  [inline, protected]
 

Definition at line 109 of file dxGraphicsStateGuardian8.I.

References GraphicsStateGuardian::_color_blend_mode, GraphicsStateGuardian::_color_write_mode, _color_writemask, _pD3DDevice, _pScrn, GraphicsStateGuardian::_transparency_mode, DXScreenData::bCanDirectDisableColorWrites, DWORD, and set_blend_mode().

Referenced by compute_distance_to().

INLINE void DXGraphicsStateGuardian8::enable_clip_plane int  plane_id,
bool  enable
[protected, virtual]
 

Intended to be overridden by a derived class to enable the indicated clip_plane id.

A specific PlaneNode will already have been bound to this id via bind_clip_plane().

Reimplemented from GraphicsStateGuardian.

Definition at line 4600 of file dxGraphicsStateGuardian8.cxx.

void GraphicsStateGuardian::enable_clip_planes bool  enable  )  [protected, virtual, inherited]
 

Intended to be overridden by a derived class to enable or disable the use of clipping planes overall.

This is called by issue_clip_plane() according to whether any planes are in use or not.

Definition at line 1496 of file graphicsStateGuardian.cxx.

References GraphicsStateGuardian::_transform_state_pcollector, and PStatCollector::add_level().

Referenced by GraphicsStateGuardian::issue_color().

void DXGraphicsStateGuardian8::enable_color_material bool  val  )  [inline, protected]
 

Definition at line 94 of file dxGraphicsStateGuardian8.I.

References _blend_enabled, _pD3DDevice, DWORD, and INLINE.

void DXGraphicsStateGuardian8::enable_dither bool  val  )  [inline, protected]
 

Definition at line 55 of file dxGraphicsStateGuardian8.I.

void DXGraphicsStateGuardian8::enable_fog bool  val  )  [inline, protected]
 

Definition at line 169 of file dxGraphicsStateGuardian8.I.

References D3DERRORSTRING.

Referenced by issue_texture().

void DXGraphicsStateGuardian8::enable_gouraud_shading bool  val  )  [inline, protected]
 

Definition at line 146 of file dxGraphicsStateGuardian8.I.

References _doFogType, _fog_enabled, _pD3DDevice, DWORD, INLINE, and None.

void DXGraphicsStateGuardian8::enable_light int  light_id,
bool  enable
[protected, virtual]
 

Intended to be overridden by a derived class to enable the indicated light id.

A specific Light will already have been bound to this id via bind_light().

Reimplemented from GraphicsStateGuardian.

Definition at line 4545 of file dxGraphicsStateGuardian8.cxx.

References _pD3DDevice, and _pScrn.

void DXGraphicsStateGuardian8::enable_lighting bool  enable  )  [protected, virtual]
 

Intended to be overridden by a derived class to enable or disable the use of lighting overall.

This is called by issue_light() according to whether any lights are in use or not.

Reimplemented from GraphicsStateGuardian.

Definition at line 4508 of file dxGraphicsStateGuardian8.cxx.

void DXGraphicsStateGuardian8::enable_line_smooth bool  val  )  [inline, protected]
 

Definition at line 33 of file dxGraphicsStateGuardian8.I.

void GraphicsStateGuardian::enable_normals bool  val  )  [inline, inherited]
 

Definition at line 119 of file graphicsStateGuardian.h.

References CoordinateSystem, and INLINE.

INLINE void DXGraphicsStateGuardian8::enable_point_smooth bool  val  )  [inline, protected]
 

Definition at line 452 of file dxGraphicsStateGuardian8.I.

void DXGraphicsStateGuardian8::enable_primitive_clipping bool  val  )  [inline, protected]
 

Definition at line 154 of file dxGraphicsStateGuardian8.I.

void DXGraphicsStateGuardian8::enable_stencil_test bool  val  )  [inline, protected]
 

Definition at line 79 of file dxGraphicsStateGuardian8.I.

References _color_material_enabled, and INLINE.

INLINE void DXGraphicsStateGuardian8::enable_texturing bool  val  )  [inline, protected]
 

Definition at line 3673 of file dxGraphicsStateGuardian8.cxx.

References _depth_test_enabled, _pD3DDevice, DepthTestAttrib::get_mode(), RenderAttrib::M_none, and RenderAttrib::PandaCompareFunc.

Referenced by draw_sphere().

void DXGraphicsStateGuardian8::enable_zwritemask bool  val  )  [inline, protected]
 

Definition at line 392 of file dxGraphicsStateGuardian8.I.

void GraphicsStateGuardian::end_bind_clip_planes  )  [protected, virtual, inherited]
 

Called after before bind_clip_plane() has been called one or more times (but before any geometry is issued or additional state is changed), this is intended to clean up any temporary changes to the state that may have been made by begin_bind_clip_planes().

Reimplemented in GLGraphicsStateGuardian.

Definition at line 1578 of file graphicsStateGuardian.cxx.

void GraphicsStateGuardian::end_bind_lights  )  [protected, virtual, inherited]
 

Called after before bind_light() has been called one or more times (but before any geometry is issued or additional state is changed), this is intended to clean up any temporary changes to the state that may have been made by begin_bind_lights().

Reimplemented in CRGraphicsStateGuardian, and GLGraphicsStateGuardian.

Definition at line 1447 of file graphicsStateGuardian.cxx.

References GraphicsStateGuardian::_active_geom_pcollector, PStatCollector::add_level(), PStatClient::is_connected(), and NULL.

Referenced by GraphicsStateGuardian::issue_color_scale().

void DXGraphicsStateGuardian8::end_frame  )  [virtual]
 

Called after each frame is rendered, to allow the GSG a chance to do any internal cleanup after rendering the frame, and before the window flips.

Reimplemented from GraphicsStateGuardian.

Definition at line 4208 of file dxGraphicsStateGuardian8.cxx.

References INLINE, and Texture::WM_invalid.

void DXGraphicsStateGuardian8::end_scene  )  [virtual]
 

Called between begin_frame() and end_frame() to mark the end of drawing commands for a "scene" (usually a particular DisplayRegion) within a frame.

All 3-D drawing commands, except the clear operation, must be enclosed within begin_scene() .. end_scene().

Reimplemented from GraphicsStateGuardian.

Definition at line 4174 of file dxGraphicsStateGuardian8.cxx.

References RenderBuffer::T_back_left, and RenderBuffer::T_back_right.

void GraphicsStateGuardian::finish_decal  )  [virtual, inherited]
 

Called during draw to clean up after decals are finished.

Implements GraphicsStateGuardianBase.

Definition at line 813 of file graphicsStateGuardian.cxx.

References GraphicsStateGuardian::_light_info.

virtual TypeHandle DXGraphicsStateGuardian8::force_init_type void   )  [inline, virtual]
 

Reimplemented from GraphicsStateGuardian.

Definition at line 352 of file dxGraphicsStateGuardian8.h.

void DXGraphicsStateGuardian8::free_d3d_device void   )  [protected]
 

Definition at line 482 of file dxGraphicsStateGuardian8.cxx.

void DXGraphicsStateGuardian8::free_nondx_resources  )  [protected]
 

Frees some memory that was explicitly allocated within the dxgsg.

Definition at line 514 of file dxGraphicsStateGuardian8.cxx.

References _clip_plane_bits, _index_buf, _pCurFvfBufPtr, _pD3DDevice, _pFvfBufBasePtr, _pScrn, NULL, PANDA_MAXNUMVERTS, and VERT_BUFFER_SIZE.

void GraphicsStateGuardian::free_pointers  )  [protected, virtual, inherited]
 

Frees some memory that was explicitly allocated within the glgsg.

Reimplemented in CRGraphicsStateGuardian, DXGraphicsStateGuardian7, and GLGraphicsStateGuardian.

Definition at line 1773 of file graphicsStateGuardian.cxx.

void DXGraphicsStateGuardian8::GenerateSphere void *  pVertexSpace,
DWORD  dwVertSpaceByteSize,
void *  pIndexSpace,
DWORD  dwIndexSpaceByteSize,
D3DXVECTOR3 *  pCenter,
float  fRadius,
DWORD  wNumRings,
DWORD  wNumSections,
float  sx,
float  sy,
float  sz,
DWORD pNumVertices,
DWORD pNumTris,
DWORD  fvfFlags,
DWORD  dwVertSize
[protected]
 

Definition at line 2737 of file dxGraphicsStateGuardian8.cxx.

TypeHandle DXGraphicsStateGuardian8::get_class_type void   )  [static]
 

Reimplemented from GraphicsStateGuardian.

Definition at line 4789 of file dxGraphicsStateGuardian8.cxx.

References pb.

PlaneNode * GraphicsStateGuardian::get_clip_plane int  plane_id  )  const [inline, protected, inherited]
 

Returns the PlaneNode object that is bound to the indicated id, or NULL if no PlaneNode is bound.

Definition at line 552 of file graphicsStateGuardian.I.

CoordinateSystem GraphicsStateGuardian::get_coordinate_system  )  const [inline, inherited]
 

Returns the coordinate system in effect on this particular gsg.

Normally, this will be the default coordinate system, but it might be set differently at runtime.

Definition at line 521 of file graphicsStateGuardian.I.

const DisplayRegion * GraphicsStateGuardian::get_current_display_region void   )  const [inline, inherited]
 

Returns the current display region being rendered to, as set by the last call to push_display_region() (or restored by pop_display_region()).

This display region will be made active (if it is not already) by a call to prepare_display_region().

Definition at line 269 of file graphicsStateGuardian.I.

References FrameBufferStack::_frame_buffer, GraphicsStateGuardian::_frame_buffer_stack_level, FrameBufferStack::_stack_level, and GraphicsStateGuardian::save_frame_buffer().

Referenced by PlanarReflector::init().

const Lens * GraphicsStateGuardian::get_current_lens  )  const [inline, inherited]
 

Returns the current lens being rendered with, as set by the last call to push_lens() (or restored by pop_lens()).

This lens will be made active (if it is not already) by a call to prepare_lens().

Definition at line 288 of file graphicsStateGuardian.I.

INLINE D3DFOGMODE DXGraphicsStateGuardian8::get_fog_mode_type Fog::Mode  m  )  const [inline, protected]
 

Maps from the fog types to gl version.

Definition at line 4480 of file dxGraphicsStateGuardian8.cxx.

References _type_handle.

CoordinateSystem DXGraphicsStateGuardian8::get_internal_coordinate_system  )  const [virtual]
 

Should be overridden by derived classes to return the coordinate system used internally by the GSG, if any one particular coordinate system is used.

The default, CS_default, indicates that the GSG can use any coordinate system.

If this returns other than CS_default, the GraphicsEngine will automatically convert all transforms into the indicated coordinate system.

Reimplemented from GraphicsStateGuardian.

Definition at line 4344 of file dxGraphicsStateGuardian8.cxx.

References _pD3DDevice.

Light * GraphicsStateGuardian::get_light int  light_id  )  const [inline, protected, inherited]
 

Returns the Light object that is bound to the indicated id, or NULL if no Light is bound.

Definition at line 536 of file graphicsStateGuardian.I.

GraphicsPipe * GraphicsStateGuardian::get_pipe  )  const [inline, inherited]
 

Returns the graphics pipe on which this GSG was created.

Definition at line 78 of file graphicsStateGuardian.I.

References GraphicsStateGuardian::_scene_setup, and INLINE.

Referenced by GraphicsEngine::terminate_threads().

const FrameBufferProperties & GraphicsStateGuardian::get_properties  )  const [inline, inherited]
 

Returns the frame buffer properties requested for this GSG.

All windows created for this GSG must be created with the same properties.

Definition at line 63 of file graphicsStateGuardian.I.

int ReferenceCount::get_ref_count  )  const [inline, inherited]
 

Returns the current reference count.

Definition at line 183 of file referenceCount.I.

Referenced by RenderState::determine_bin_index(), RenderEffects::determine_show_bounds(), FontPool::ns_garbage_collect(), TexturePool::ns_garbage_collect(), MaterialPool::ns_get_material(), and TexturePool::ns_release_texture().

RenderBuffer GraphicsStateGuardian::get_render_buffer int  buffer_type  )  [inherited]
 

Returns a RenderBuffer object suitable for operating on the requested set of buffers.

buffer_type is the union of all the desired RenderBuffer::Type values.

Definition at line 170 of file graphicsStateGuardian.cxx.

References GraphicsStateGuardian::_prepared_textures.

Referenced by CRGraphicsStateGuardian::release_geom_node().

SceneSetup * GraphicsStateGuardian::get_scene  )  const [inline, inherited]
 

Returns the SceneSetup object.

Definition at line 123 of file graphicsStateGuardian.I.

References INLINE, and GraphicsStateGuardian::reset().

INLINE D3DTEXTUREADDRESS DXGraphicsStateGuardian8::get_texture_wrap_mode Texture::WrapMode  wm  )  const [inline, protected]
 

Maps from the Texture's internal wrap mode symbols to GL's.

Definition at line 4464 of file dxGraphicsStateGuardian8.cxx.

Referenced by draw_sphere().

const GraphicsThreadingModel & GraphicsStateGuardian::get_threading_model  )  const [inline, inherited]
 

Returns the threading model that was used to create this GSG.

Definition at line 93 of file graphicsStateGuardian.I.

References GraphicsStateGuardian::_scene_setup, and INLINE.

TypeHandle DXGraphicsStateGuardian8::get_type void   )  const [virtual]
 

Reimplemented from GraphicsStateGuardian.

Definition at line 4785 of file dxGraphicsStateGuardian8.cxx.

int TypedObject::get_type_index  )  const [inline, inherited]
 

Returns the internal index number associated with this object's TypeHandle, a unique number for each different type.

This is equivalent to get_type().get_index().

Definition at line 71 of file typedObject.I.

References TypeHandle::get_name(), TypedObject::get_type(), and INLINE.

ConstPointerTo< RenderState > GraphicsStateGuardian::get_unclipped_state  )  [static, protected, inherited]
 

Definition at line 1969 of file graphicsStateGuardian.cxx.

Referenced by GraphicsStateGuardian::set_depth_clear_value().

ConstPointerTo< RenderState > GraphicsStateGuardian::get_unlit_state  )  [static, protected, inherited]
 

Definition at line 1952 of file graphicsStateGuardian.cxx.

ConstPointerTo< RenderState > GraphicsStateGuardian::get_untextured_state  )  [static, protected, inherited]
 

Reimplemented in GLGraphicsStateGuardian.

Definition at line 1986 of file graphicsStateGuardian.cxx.

bool DXGraphicsStateGuardian8::GetDXReady void   )  [inline]
 

Definition at line 354 of file dxGraphicsStateGuardian8.h.

References DXShaderHandle.

void GraphicsStateGuardian::init_frame_pstats  )  [inline, protected, inherited]
 

Definition at line 225 of file graphicsStateGuardian.h.

void DXGraphicsStateGuardian8::init_shader ShaderType  stype,
DXShaderHandle hShader,
string *  pFname
 

Definition at line 864 of file dxGraphicsStateGuardian8.cxx.

References _pD3DDevice, and NULL.

void DXGraphicsStateGuardian8::init_type void   )  [static]
 

Reimplemented from GraphicsStateGuardian.

Definition at line 4793 of file dxGraphicsStateGuardian8.cxx.

References pb.

bool TypedObject::is_exact_type TypeHandle  handle  )  const [inline, inherited]
 

Returns true if the current object is the indicated type exactly.

Definition at line 101 of file typedObject.I.

Referenced by PT(), and CollisionNode::xform().

bool TypedObject::is_of_type TypeHandle  handle  )  const [inline, inherited]
 

Returns true if the current object is or derives from the indicated type.

Definition at line 86 of file typedObject.I.

Referenced by EggMaterialCollection::collapse_equivalent_materials(), EggTextureCollection::collapse_equivalent_textures(), DeferredNodeProperty::compose(), AnimBundleMaker::create_s_channel(), CharacterMaker::create_slider(), ProjectionScreen::cull_callback(), DataNode::define_output(), EggNode::determine_draw_order(), CharacterMaker::egg_to_index(), EggGroupUniquifier::EggGroupUniquifier(), EggPoolUniquifier::EggPoolUniquifier(), EggGroupNode::find_textures(), StaticTextFont::get_glyph(), EggMaterialCollection::insert_materials(), EggTextureCollection::insert_textures(), CharacterJoint::make_copy(), PT(), EggGroupNode::r_flatten_transforms(), EggGroupNode::r_transform_vertices(), EggGroupNode::recompute_polygon_normals(), CollisionLevelState::reserve(), PandaFramework::reset_frame_rate(), PandaFramework::set_texture(), EggGroupNode::steal_children(), and DataGraphTraverser::traverse().

void DXGraphicsStateGuardian8::issue_alpha_test const AlphaTestAttrib attrib  )  [virtual]
 

Reimplemented from GraphicsStateGuardianBase.

Definition at line 3838 of file dxGraphicsStateGuardian8.cxx.

References __D3DLIGHT_RANGE_MAX, and _pD3DDevice.

void GraphicsStateGuardian::issue_clip_plane const ClipPlaneAttrib attrib  )  [virtual, inherited]
 

This is fundametically similar to issue_light(), with calls to slot_new_clip_plane(), apply_clip_plane(), and enable_clip_planes(), as appropriate.

Reimplemented from GraphicsStateGuardianBase.

Definition at line 1158 of file graphicsStateGuardian.cxx.

void GraphicsStateGuardian::issue_color const ColorAttrib attrib  )  [virtual, inherited]
 

This method is defined in the base class because it is likely that this functionality will be used for all (or at least most) kinds of GraphicsStateGuardians--it's not specific to any one rendering backend.

The ColorAttribute just changes the interpretation of the color on the vertices, and fiddles with _vertex_colors_enabled, etc.

Reimplemented from GraphicsStateGuardianBase.

Definition at line 905 of file graphicsStateGuardian.cxx.

References GraphicsStateGuardian::_clip_plane_info, GraphicsStateGuardian::_clip_planes_enabled, GraphicsStateGuardian::_clip_planes_enabled_this_frame, GraphicsStateGuardian::enable_clip_plane(), GraphicsStateGuardian::enable_clip_planes(), ClipPlaneAttrib::get_num_planes(), ClipPlaneAttrib::get_operation(), ClipPlaneAttrib::get_plane(), ClipPlaneAttrib::has_plane(), nassertv, NULL, ClipPlaneAttrib::O_remove, and GraphicsStateGuardian::slot_new_clip_plane().

Referenced by GLGraphicsStateGuardian::draw_point(), GLGraphicsStateGuardian::draw_quad(), and CRGraphicsStateGuardian::prepare_lens().

void GraphicsStateGuardian::issue_color_blend const ColorBlendAttrib attrib  )  [virtual, inherited]
 

Reimplemented from GraphicsStateGuardianBase.

Definition at line 1140 of file graphicsStateGuardian.cxx.

void GraphicsStateGuardian::issue_color_scale const ColorScaleAttrib attrib  )  [virtual, inherited]
 

Reimplemented from GraphicsStateGuardianBase.

Definition at line 868 of file graphicsStateGuardian.cxx.

References GraphicsStateGuardian::end_bind_lights().

void DXGraphicsStateGuardian8::issue_color_write const ColorWriteAttrib attrib  )  [virtual]
 

Reimplemented from GraphicsStateGuardian.

Definition at line 4641 of file dxGraphicsStateGuardian8.cxx.

References _pScrn.

void DXGraphicsStateGuardian8::issue_cull_face const CullFaceAttrib attrib  )  [virtual]
 

Reimplemented from GraphicsStateGuardianBase.

Definition at line 3869 of file dxGraphicsStateGuardian8.cxx.

References __D3DLIGHT_RANGE_MAX, and _pD3DDevice.

void DXGraphicsStateGuardian8::issue_depth_offset const DepthOffsetAttrib attrib  )  [virtual]
 

Reimplemented from GraphicsStateGuardianBase.

Definition at line 3916 of file dxGraphicsStateGuardian8.cxx.

References GraphicsStateGuardian::begin_scene().

void DXGraphicsStateGuardian8::issue_depth_test const DepthTestAttrib attrib  )  [virtual]
 

Reimplemented from GraphicsStateGuardianBase.

Definition at line 3818 of file dxGraphicsStateGuardian8.cxx.

References GraphicsStateGuardian::_scene_setup.

void DXGraphicsStateGuardian8::issue_depth_write const DepthWriteAttrib attrib  )  [virtual]
 

Reimplemented from GraphicsStateGuardianBase.

Definition at line 3857 of file dxGraphicsStateGuardian8.cxx.

References GraphicsStateGuardian::_scene_setup, CS_default, CS_yup_left, LensNode::get_lens(), NodePath::get_mat(), Lens::get_nodal_point(), nassertv, and NULL.

void DXGraphicsStateGuardian8::issue_fog const FogAttrib attrib  )  [virtual]
 

Reimplemented from GraphicsStateGuardianBase.

Definition at line 3897 of file dxGraphicsStateGuardian8.cxx.

void GraphicsStateGuardian::issue_light const LightAttrib attrib  )  [virtual, inherited]
 

The default implementation of issue_light() assumes we have a limited number of hardware lights available.

This function assigns each light to a different hardware light id, trying to keep each light associated with the same id where possible, but reusing id's when necessary. When it is no longer possible to reuse existing id's (e.g. all id's are in use), slot_new_light() is called to prepare the next sequential light id.

It will call apply_light() each time a light is assigned to a particular id for the first time in a given frame, and it will subsequently call enable_light() to enable or disable each light as the frame is rendered, as well as enable_lighting() to enable or disable overall lighting.

If this model of hardware lights with id's does not apply to a particular graphics engine, it should override this function to do something more appropriate instead.

Reimplemented from GraphicsStateGuardianBase.

Definition at line 983 of file graphicsStateGuardian.cxx.

void DXGraphicsStateGuardian8::issue_material const MaterialAttrib attrib  )  [virtual]
 

Reimplemented from GraphicsStateGuardianBase.

Definition at line 3760 of file dxGraphicsStateGuardian8.cxx.

References _pD3DDevice, and DepthOffsetAttrib::get_offset().

void DXGraphicsStateGuardian8::issue_render_mode const RenderModeAttrib attrib  )  [virtual]
 

Reimplemented from GraphicsStateGuardianBase.

Definition at line 3779 of file dxGraphicsStateGuardian8.cxx.

References __D3DLIGHT_RANGE_MAX, _pD3DDevice, and GraphicsStateGuardian::_scene_setup.

virtual void GraphicsStateGuardianBase::issue_stencil const StencilAttrib *   )  [inline, virtual, inherited]
 

Definition at line 204 of file graphicsStateGuardianBase.h.

virtual void GraphicsStateGuardianBase::issue_tex_gen const TexGenAttrib *   )  [inline, virtual, inherited]
 

Definition at line 203 of file graphicsStateGuardianBase.h.

void DXGraphicsStateGuardian8::issue_tex_matrix const TexMatrixAttrib attrib  )  [virtual]
 

Reimplemented from GraphicsStateGuardianBase.

Definition at line 3729 of file dxGraphicsStateGuardian8.cxx.

References _pD3DDevice, and CullFaceAttrib::M_cull_counter_clockwise.

void DXGraphicsStateGuardian8::issue_texture const TextureAttrib attrib  )  [virtual]
 

Reimplemented from GraphicsStateGuardianBase.

Definition at line 3741 of file dxGraphicsStateGuardian8.cxx.

References apply_fog(), enable_fog(), FogAttrib::get_fog(), FogAttrib::is_off(), nassertv, and NULL.

void DXGraphicsStateGuardian8::issue_texture_apply const TextureApplyAttrib attrib  )  [virtual]
 

Reimplemented from GraphicsStateGuardianBase.

Definition at line 3807 of file dxGraphicsStateGuardian8.cxx.

void DXGraphicsStateGuardian8::issue_transform const TransformState transform  )  [virtual]
 

Sends the indicated transform matrix to the graphics API to be applied to future vertices.

Reimplemented from GraphicsStateGuardian.

Definition at line 3701 of file dxGraphicsStateGuardian8.cxx.

void GraphicsStateGuardian::issue_transparency const TransparencyAttrib attrib  )  [virtual, inherited]
 

Reimplemented from GraphicsStateGuardianBase.

Definition at line 1127 of file graphicsStateGuardian.cxx.

GraphicsStateGuardian* DXGraphicsStateGuardian8::make_DXGraphicsStateGuardian8 const FactoryParams params  )  [static]
 

bool GraphicsStateGuardian::mark_prepared_geom GeomContext gc  )  [protected, inherited]
 

This is intended to be called from within prepare_geom().

It adds the indicated GeomContext pointer to the _prepared_geoms set, and returns true if it was successfully added (i.e. it was not already in the set).

Definition at line 1671 of file graphicsStateGuardian.cxx.

bool GraphicsStateGuardian::mark_prepared_geom_node GeomNodeContext gnc  )  [protected, inherited]
 

This is intended to be called from within prepare_geom_node().

It adds the indicated GeomNodeContext pointer to the _prepared_geom_nodes set, and returns true if it was successfully added (i.e. it was not already in the set).

Definition at line 1725 of file graphicsStateGuardian.cxx.

bool GraphicsStateGuardian::mark_prepared_texture TextureContext tc  )  [protected, inherited]
 

This is intended to be called from within prepare_texture().

It adds the indicated TextureContext pointer to the _prepared_textures set, and returns true if it was successfully added (i.e. it was not already in the set).

Definition at line 1617 of file graphicsStateGuardian.cxx.

Referenced by RIBGraphicsStateGuardian::draw_sprite().

void GraphicsStateGuardian::modify_state const RenderState state  )  [inline, inherited]
 

Applies the attributes indicated in the state set to the current state, and issues the changes to the graphics hardware.

Any transitions not mentioned are left unchanged.

Definition at line 187 of file graphicsStateGuardian.I.

Referenced by GLGraphicsStateGuardian::copy_texture(), and GraphicsStateGuardian::set_depth_clear_value().

void GraphicsStateGuardian::pop_display_region DisplayRegionStack node  )  [inline, inherited]
 

Restores the display region previously in effect, before the matching call to push_display_region().

The newly-restored display region will not actually be made active for rendering until the next call to prepare_display_region(). This is a state-changing optimization.

Definition at line 347 of file graphicsStateGuardian.I.

References GraphicsStateGuardian::_current_lens, and GraphicsStateGuardian::prepare_lens().

Referenced by GraphicsStateGuardian::set_scene().

void GraphicsStateGuardian::pop_frame_buffer FrameBufferStack node  )  [inline, inherited]
 

Restores the contents of the frame buffer as saved by a previous call to push_frame_buffer().

Definition at line 392 of file graphicsStateGuardian.I.

References GraphicsStateGuardian::_clip_plane_info, INLINE, nassertr, and NULL.

void GraphicsStateGuardian::pop_lens LensStack stack  )  [inline, inherited]
 

Restores the lens previously in effect, before the matching call to push_lens().

The newly-restored lens will not actually be made active for rendering until the next call to prepare_lens(). This is a state-changing optimization.

Definition at line 453 of file graphicsStateGuardian.I.

void DXGraphicsStateGuardian8::prepare_display_region  )  [virtual]
 

Prepare a display region for rendering (set up scissor region and viewport).

Implements GraphicsStateGuardian.

Definition at line 1025 of file dxGraphicsStateGuardian8.cxx.

GeomContext * GraphicsStateGuardian::prepare_geom Geom geom  )  [virtual, inherited]
 

Prepares the indicated Geom for retained-mode rendering.

The value returned by this function will be passed back into future calls to draw_tristrip(), etc., along with the Geom pointer.

Implements GraphicsStateGuardianBase.

Definition at line 365 of file graphicsStateGuardian.cxx.

References RenderBuffer::T_depth.

GeomNodeContext * DXGraphicsStateGuardian8::prepare_geom_node GeomNode node  )  [virtual]
 

Prepares the indicated GeomNode for retained-mode rendering.

If this function returns non-NULL, the value returned will be passed back to a future call to draw_geom_node(), which is expected to draw the contents of the node.

Reimplemented from GraphicsStateGuardian.

Definition at line 5228 of file dxGraphicsStateGuardian8.cxx.

bool DXGraphicsStateGuardian8::prepare_lens  )  [virtual]
 

Makes the current lens (whichever lens was most recently specified with push_lens()) active, so that it will transform future rendered geometry.

Normally this is only called from the draw process, and usually it is called immediately after a call to push_lens().

The return value is true if the lens is acceptable, false if it is not.

Reimplemented from GraphicsStateGuardian.

Definition at line 1072 of file dxGraphicsStateGuardian8.cxx.

References _pD3DDevice.

TextureContext * DXGraphicsStateGuardian8::prepare_texture Texture tex  )  [virtual]
 

Creates a new retained-mode representation of the given texture, and returns a newly-allocated TextureContext pointer to reference it.

It is the responsibility of the calling function to later call release_texture() with this same pointer (which will also delete the pointer).

Reimplemented from GraphicsStateGuardian.

Definition at line 3061 of file dxGraphicsStateGuardian8.cxx.

References _CurTexAnisoDegree.

DisplayRegionStack GraphicsStateGuardian::push_display_region const DisplayRegion dr  )  [inline, inherited]
 

Saves the current display region information and sets up a new display region for rendering.

The return value from this function must eventually be passed to a matching pop_display_region() call.

The new display region will not actually be made active for rendering until the next call to prepare_display_region(). This is a state-changing optimization.

Definition at line 317 of file graphicsStateGuardian.I.

References GraphicsStateGuardian::_current_lens, GraphicsStateGuardian::_lens_stack_level, LensStack::_stack_level, INLINE, and nassertv.

Referenced by GLGraphicsStateGuardian::bind_texture(), and GraphicsStateGuardian::set_scene().

FrameBufferStack GraphicsStateGuardian::push_frame_buffer const RenderBuffer buffer,
const DisplayRegion dr
[inline, inherited]
 

Saves the contents of the frame buffer (within the indicated display region only) so that rendering may be performed (for instance, to render a partial in a multipass algorithm) and the frame buffer later restored via a matching call to pop_frame_buffer().

Definition at line 372 of file graphicsStateGuardian.I.

References GraphicsStateGuardian::_coordinate_system, CoordinateSystem, and INLINE.

Referenced by GLGraphicsStateGuardian::release_geom_node(), and CRGraphicsStateGuardian::release_geom_node().

LensStack GraphicsStateGuardian::push_lens const Lens lens  )  [inline, inherited]
 

Saves the current lens information and sets up a new lens for rendering.

The return value from this function must eventually be passed to a matching pop_lens() call.

The new lens will not actually be made active for rendering until the next call to prepare_lens(). This is a state-changing optimization.

Definition at line 423 of file graphicsStateGuardian.I.

DXShaderHandle DXGraphicsStateGuardian8::read_pixel_shader string &  filename  ) 
 

Definition at line 194 of file dxGraphicsStateGuardian8.cxx.

References _pScrn, HANDLE(), and NULL.

DXShaderHandle DXGraphicsStateGuardian8::read_vertex_shader string &  filename  ) 
 

Definition at line 272 of file dxGraphicsStateGuardian8.cxx.

References DXShaderHandle, HANDLE(), and NULL.

void GraphicsStateGuardian::record_state_change TypeHandle   )  [inline, protected, inherited]
 

Definition at line 229 of file graphicsStateGuardian.h.

References Colorf.

HRESULT DXGraphicsStateGuardian8::RecreateAllDeviceObjects void   )  [protected]
 

Definition at line 4922 of file dxGraphicsStateGuardian8.cxx.

int ReferenceCount::ref  )  const [inline, inherited]
 

Explicitly increments the reference count.

User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.

This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

The return value is the new reference count.

Definition at line 225 of file referenceCount.I.

Referenced by ClientDevice::ClientDevice(), EggGroupNode::find_textures(), EggGroupNode::r_apply_texmats(), EggGroupNode::r_flatten_transforms(), and EggGroupNode::reverse_vertex_ordering().

void GraphicsStateGuardian::release_all_geoms  )  [inherited]
 

Frees the resources for all Geoms and GeomNodes associated with this GSG.

Warning! This may make the Geoms unrenderable, if the Panda-level information has been deleted.

Definition at line 218 of file graphicsStateGuardian.cxx.

References NULL.

void GraphicsStateGuardian::release_all_textures  )  [inherited]
 

Frees the resources for all textures associated with this GSG.

Definition at line 185 of file graphicsStateGuardian.cxx.

References GraphicsStateGuardian::_prepared_geom_nodes, GraphicsStateGuardian::_prepared_geoms, nassertv, GraphicsStateGuardian::release_geom(), and GraphicsStateGuardian::release_geom_node().

void GraphicsStateGuardian::release_geom GeomContext gc  )  [virtual, inherited]
 

Frees the resources previously allocated via a call to prepare_geom(), including deleting the GeomContext itself, if necessary.

Implements GraphicsStateGuardianBase.

Definition at line 382 of file graphicsStateGuardian.cxx.

Referenced by GraphicsStateGuardian::release_all_textures().

void DXGraphicsStateGuardian8::release_geom_node GeomNodeContext gnc  )  [virtual]
 

Frees the resources previously allocated via a call to prepare_geom_node(), including deleting the GeomNodeContext itself, if necessary.

Reimplemented from GraphicsStateGuardian.

Definition at line 5262 of file dxGraphicsStateGuardian8.cxx.

void DXGraphicsStateGuardian8::release_texture TextureContext tc  )  [virtual]
 

Frees the GL resources previously allocated for the texture.

Reimplemented from GraphicsStateGuardian.

Definition at line 3265 of file dxGraphicsStateGuardian8.cxx.

Referenced by draw_sphere().

HRESULT DXGraphicsStateGuardian8::ReleaseAllDeviceObjects void   )  [protected]
 

Definition at line 4933 of file dxGraphicsStateGuardian8.cxx.

References DWORD, HDC(), NULL, x, and y.

void DXGraphicsStateGuardian8::report_texmgr_stats  )  [protected]
 

Reports the DX texture manager's activity to PStats.

Definition at line 1175 of file dxGraphicsStateGuardian8.cxx.

void DXGraphicsStateGuardian8::reset  )  [virtual]
 

Resets all internal state as if the gsg were newly created.

The GraphicsWindow pointer represents a typical window that might be used for this context; it may be required to set up the frame buffer properly the first time.

Reimplemented from GraphicsStateGuardian.

Definition at line 471 of file dxGraphicsStateGuardian8.cxx.

References _bDXisReady, _pD3DDevice, D3D_MAXTEXTURESTAGES, and NULL.

HRESULT DXGraphicsStateGuardian8::reset_d3d_device D3DPRESENT_PARAMETERS *  pPresParams  ) 
 

Definition at line 4985 of file dxGraphicsStateGuardian8.cxx.

References DWORD, and NULL.

void GraphicsStateGuardian::reset_if_new  )  [inline, inherited]
 

Calls reset() to initialize the GSG, but only if it hasn't been called yet.

Definition at line 164 of file graphicsStateGuardian.I.

References RenderState::write().

Referenced by glxGraphicsWindow::~glxGraphicsWindow(), and wglGraphicsWindow::~wglGraphicsWindow().

void DXGraphicsStateGuardian8::reset_panda_gsg void   ) 
 

Definition at line 380 of file dxGraphicsStateGuardian8.cxx.

References GraphicsStateGuardian::_buffer_mask, RenderBuffer::T_back, and RenderBuffer::T_color.

void DXGraphicsStateGuardian8::restore_frame_buffer SavedFrameBuffer frame_buffer  )  [protected, virtual]
 

Restores the frame buffer that was previously saved.

Implements GraphicsStateGuardian.

Definition at line 4780 of file dxGraphicsStateGuardian8.cxx.

virtual PointerTo< SavedFrameBuffer > DXGraphicsStateGuardian8::save_frame_buffer const RenderBuffer buffer,
ConstPointerTo< DisplayRegion dr
[protected, virtual]
 

Implements GraphicsStateGuardian.

void DXGraphicsStateGuardian8::set_ambient_light const Colorf color  )  [protected, virtual]
 

Intended to be overridden by a derived class to indicate the color of the ambient light that should be in effect.

This is called by issue_light() after all other lights have been enabled or disabled.

Reimplemented from GraphicsStateGuardian.

Definition at line 4527 of file dxGraphicsStateGuardian8.cxx.

References _pD3DDevice, _pScrn, D3D_MAXTEXTURESTAGES, and NULL.

void DXGraphicsStateGuardian8::set_blend_mode ColorWriteAttrib::Mode  color_write_mode,
ColorBlendAttrib::Mode  color_blend_mode,
TransparencyAttrib::Mode  transparency_mode
[protected, virtual]
 

Called after any of these three blending states have changed; this function is responsible for setting the appropriate color blending mode based on the given properties.

Reimplemented from GraphicsStateGuardian.

Definition at line 4661 of file dxGraphicsStateGuardian8.cxx.

References CheckCooperativeLevel().

Referenced by enable_blend().

void DXGraphicsStateGuardian8::set_color_clear_value const Colorf value  )  [virtual]
 

Sets the color that the next do_clear() command will set the color buffer to.

Reimplemented from GraphicsStateGuardian.

Definition at line 188 of file dxGraphicsStateGuardian8.cxx.

void DXGraphicsStateGuardian8::set_color_writemask UINT  color_writemask  )  [inline, protected]
 

Definition at line 124 of file dxGraphicsStateGuardian8.I.

References _bGouraudShadingOn, _pD3DDevice, and INLINE.

void DXGraphicsStateGuardian8::set_context DXScreenData pNewContextData  ) 
 

Definition at line 4855 of file dxGraphicsStateGuardian8.cxx.

void GraphicsStateGuardian::set_coordinate_system CoordinateSystem  cs  )  [inline, inherited]
 

Changes the coordinate system in effect on this particular gsg.

Normally, this will be the default coordinate system, but it might be set differently at runtime.

Definition at line 502 of file graphicsStateGuardian.I.

void GraphicsStateGuardian::set_depth_clear_value const float  value  )  [virtual, inherited]
 

Sets the depth that the next do_clear() command will set the depth buffer to.

Definition at line 428 of file graphicsStateGuardian.cxx.

References GraphicsStateGuardian::_clip_plane_info, GraphicsStateGuardian::_clip_planes_enabled_this_frame, GraphicsStateGuardian::enable_clip_plane(), GraphicsStateGuardian::get_unclipped_state(), GraphicsStateGuardian::modify_state(), and NULL.

void DXGraphicsStateGuardian8::set_draw_buffer const RenderBuffer rb  )  [protected]
 

Sets up the glDrawBuffer to render into the buffer indicated by the RenderBuffer object.

This only sets up the color bits; it does not affect the depth, stencil, accum layers.

Definition at line 4388 of file dxGraphicsStateGuardian8.cxx.

References ColorBlendAttrib::M_multiply_add.

bool GraphicsStateGuardian::set_lens const Lens lens  )  [inline, inherited]
 

Sets a new lens for rendering without bothering to push or pop.

This replaces the lens most recently pushed, if any. There is no need to call prepare_lens() following this call.

The return value is true if the lens is acceptable, false if it is not.

Definition at line 482 of file graphicsStateGuardian.I.

void DXGraphicsStateGuardian8::set_read_buffer const RenderBuffer rb  )  [protected]
 

Vestigial analog of glReadBuffer.

Definition at line 4441 of file dxGraphicsStateGuardian8.cxx.

References NULL, and RenderBuffer::T_depth.

void GraphicsStateGuardian::set_scene SceneSetup scene_setup  )  [inline, inherited]
 

Sets the SceneSetup object that indicates the initial camera position, etc.

This must be called before traversal begins.

Definition at line 110 of file graphicsStateGuardian.I.

References GraphicsStateGuardian::clear(), GraphicsStateGuardian::pop_display_region(), GraphicsStateGuardian::prepare_display_region(), and GraphicsStateGuardian::push_display_region().

void GraphicsStateGuardian::set_state const RenderState state  )  [inline, inherited]
 

Applies the attributes indicated in the state set to the current state, and issues the changes to the graphics hardware.

The state is taken to be a complete description of what the graphics state should be; any transitions not mentioned are implicitly reset to their initial values.

Definition at line 220 of file graphicsStateGuardian.I.

References GraphicsStateGuardian::_current_display_region, DisplayRegionStack::_display_region, GraphicsStateGuardian::_display_region_stack_level, DisplayRegionStack::_stack_level, and INLINE.

void GraphicsStateGuardian::set_state_and_transform const RenderState state,
const TransformState transform
[virtual, inherited]
 

Simultaneously resets the render state and the transform state.

Implements GraphicsStateGuardianBase.

Definition at line 396 of file graphicsStateGuardian.cxx.

References GraphicsStateGuardian::_light_info.

void GraphicsStateGuardian::set_transform const TransformState transform  )  [inline, inherited]
 

Sets the world transform that will be applied to subsequent geometry.

This is normally called only during the draw process, immediately before issuing geometry commands.

Definition at line 245 of file graphicsStateGuardian.I.

References GraphicsStateGuardian::_current_display_region, DisplayRegionStack::_display_region, GraphicsStateGuardian::_display_region_stack_level, DisplayRegionStack::_stack_level, INLINE, and nassertv.

void DXGraphicsStateGuardian8::set_vertex_format DWORD  NewFvfType  )  [inline, protected]
 

Definition at line 184 of file dxGraphicsStateGuardian8.I.

References D3DERRORSTRING.

void DXGraphicsStateGuardian8::SetDXReady bool  status  )  [inline]
 

Definition at line 353 of file dxGraphicsStateGuardian8.h.

void DXGraphicsStateGuardian8::show_frame bool  bNoNewFrameDrawn = false  ) 
 

redraw primary buffer

Definition at line 4946 of file dxGraphicsStateGuardian8.cxx.

References NULL.

Referenced by wdxGraphicsWindow8::begin_frame().

bool DXGraphicsStateGuardian8::slot_new_clip_plane int  plane_id  )  [protected, virtual]
 

This will be called by the base class before a particular clip plane id will be used for the first time.

It is intended to allow the derived class to reserve any additional resources, if required, for the new clip plane; and also to indicate whether the hardware supports this many simultaneous clipping planes.

The return value should be true if the additional plane is supported, or false if it is not.

Reimplemented from GraphicsStateGuardian.

Definition at line 4581 of file dxGraphicsStateGuardian8.cxx.

References _CurVertexShader, _pD3DDevice, _pGlobalTexture, delete_tex_callback(), SAFE_DELSHADER, SAFE_RELEASE, and GraphicsStateGuardian::traverse_prepared_textures().

bool GraphicsStateGuardian::slot_new_light int  light_id  )  [protected, virtual, inherited]
 

This will be called by the base class before a particular light id will be used for the first time.

It is intended to allow the derived class to reserve any additional resources, if required, for the new light; and also to indicate whether the hardware supports this many simultaneous lights.

The return value should be true if the additional light is supported, or false if it is not.

Reimplemented in GLGraphicsStateGuardian.

Definition at line 1348 of file graphicsStateGuardian.cxx.

References GraphicsStateGuardian::_prepared_geom_nodes, GraphicsStateGuardian::_total_geom_node_pcollector, and PStatCollector::sub_level().

void DXGraphicsStateGuardian8::support_overlay_window bool  flag  ) 
 

Specifies whether dialog windows placed on top of the dx rendering window should be supported.

This requires a bit of extra overhead, so it should only be activated when necessary; however, if it is not activated, a window that pops up over the fullscreen DX window (like a dialog box, or particularly like the IME composition or candidate windows) may not be visible.

This is not necessary when running in windowed mode, but it does no harm.

Definition at line 939 of file dxGraphicsStateGuardian8.cxx.

References RenderBuffer::_buffer_type, _d3dcolor_clear_value, GraphicsStateGuardian::_depth_clear_value, RenderBuffer::_gsg, _pD3DDevice, _pScrn, GraphicsStateGuardian::_stencil_clear_value, D3DERRORSTRING, DWORD, IS_STENCIL_FORMAT, nassertv, NULL, DXScreenData::PresParams, RenderBuffer::T_back, RenderBuffer::T_depth, and RenderBuffer::T_stencil.

void ReferenceCount::test_ref_count_integrity  )  const [inline, inherited]
 

Does some easy checks to make sure that the reference count isn't completely bogus.

Definition at line 328 of file referenceCount.I.

References INLINE.

Referenced by EggNode::determine_bin(), and ReferenceCount::~ReferenceCount().

void DXGraphicsStateGuardian8::texture_to_pixel_buffer TextureContext tc,
PixelBuffer pb,
const DisplayRegion dr
[virtual]
 

Implements GraphicsStateGuardianBase.

Definition at line 3382 of file dxGraphicsStateGuardian8.cxx.

void DXGraphicsStateGuardian8::texture_to_pixel_buffer TextureContext tc,
PixelBuffer pb
[virtual]
 

Implements GraphicsStateGuardianBase.

Definition at line 3348 of file dxGraphicsStateGuardian8.cxx.

References _pD3DDevice.

INLINE void DXGraphicsStateGuardian8::transform_color Colorf InColor,
D3DCOLOR &  OutColor
[inline, protected]
 

Definition at line 1339 of file dxGraphicsStateGuardian8.cxx.

References GraphicsStateGuardian::_color_transform_enabled, _curD3Dcolor, _perComp, _perPrim, _perVertex, GraphicsStateGuardian::_scene_graph_color, _scene_graph_color_D3DCOLOR, GraphicsStateGuardian::_scene_graph_color_stale, Colorf_to_D3DCOLOR(), and PER_COLOR.

void GraphicsStateGuardian::traverse_prepared_textures bool(*  pertex_callbackfn)(TextureContext *, void *),
void *  callback_arg
[inherited]
 

Definition at line 1995 of file graphicsStateGuardian.cxx.

Referenced by slot_new_clip_plane().

bool GraphicsStateGuardian::unmark_prepared_geom GeomContext gc  )  [protected, inherited]
 

This is intended to be called from within release_geom().

It removes the indicated GeomContext pointer from the _prepared_geoms set, and returns true if it was successfully removed (i.e. it had been in the set).

Definition at line 1698 of file graphicsStateGuardian.cxx.

bool GraphicsStateGuardian::unmark_prepared_geom_node GeomNodeContext gnc  )  [protected, inherited]
 

This is intended to be called from within release_geom_node().

It removes the indicated GeomNodeContext pointer from the _prepared_geom_nodes set, and returns true if it was successfully removed (i.e. it had been in the set).

Definition at line 1752 of file graphicsStateGuardian.cxx.

bool GraphicsStateGuardian::unmark_prepared_texture TextureContext tc  )  [protected, inherited]
 

This is intended to be called from within release_texture().

It removes the indicated TextureContext pointer from the _prepared_textures set, and returns true if it was successfully removed (i.e. it had been in the set).

Definition at line 1644 of file graphicsStateGuardian.cxx.

int ReferenceCount::unref  )  const [inline, inherited]
 

Explicitly decrements the reference count.

Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().

User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.

This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

The return value is the new reference count.

Definition at line 293 of file referenceCount.I.

References INLINE.

Referenced by RenderState::determine_bin_index(), and RenderEffects::determine_show_bounds().

bool GraphicsStateGuardian::wants_colors void   )  const [virtual, inherited]
 

Returns true if the GSG should issue geometry color commands, false otherwise.

Implements GraphicsStateGuardianBase.

Reimplemented in RIBGraphicsStateGuardian.

Definition at line 670 of file graphicsStateGuardian.cxx.

References GraphicsStateGuardian::_color_transform_enabled, GraphicsStateGuardian::_current_color_scale, and GraphicsStateGuardian::CT_scale.

Referenced by GLGraphicsStateGuardian::draw_point(), and GLGraphicsStateGuardian::draw_quad().

INLINE bool DXGraphicsStateGuardian8::wants_normals void   )  const [virtual]
 

Reimplemented from GraphicsStateGuardian.

Definition at line 4282 of file dxGraphicsStateGuardian8.cxx.

INLINE bool DXGraphicsStateGuardian8::wants_texcoords void   )  const [virtual]
 

Reimplemented from GraphicsStateGuardian.

Definition at line 4294 of file dxGraphicsStateGuardian8.cxx.


Friends And Related Function Documentation

friend class DXTextureContext8 [friend]
 

Definition at line 78 of file dxGraphicsStateGuardian8.h.

friend class wdxGraphicsPipe8 [friend]
 

Definition at line 76 of file dxGraphicsStateGuardian8.h.

friend class wdxGraphicsWindow8 [friend]
 

Definition at line 75 of file dxGraphicsStateGuardian8.h.

friend class wdxGraphicsWindowGroup8 [friend]
 

Definition at line 77 of file dxGraphicsStateGuardian8.h.


Member Data Documentation

Colorf GraphicsStateGuardian::_accum_clear_value [protected, inherited]
 

Definition at line 246 of file graphicsStateGuardian.h.

Referenced by GraphicsStateGuardian::reset().

PStatCollector GraphicsStateGuardian::_active_geom_node_pcollector [static, inherited]
 

Referenced by GraphicsStateGuardian::enable_light(), and GraphicsStateGuardian::slot_new_clip_plane().

PStatCollector GraphicsStateGuardian::_active_geom_pcollector [static, inherited]
 

Referenced by GraphicsStateGuardian::enable_light(), and GraphicsStateGuardian::end_bind_lights().

PStatCollector GraphicsStateGuardian::_active_texusage_pcollector [static, inherited]
 

Referenced by GraphicsStateGuardian::set_ambient_light().

ConstPointerTo< DisplayRegion > DXGraphicsStateGuardian8::_actual_display_region [protected]
 

Definition at line 327 of file dxGraphicsStateGuardian8.h.

Referenced by do_clear().

D3DCMPFUNC DXGraphicsStateGuardian8::_alpha_func [protected]
 

Definition at line 297 of file dxGraphicsStateGuardian8.h.

float DXGraphicsStateGuardian8::_alpha_func_refval [protected]
 

Definition at line 296 of file dxGraphicsStateGuardian8.h.

bool DXGraphicsStateGuardian8::_alpha_test_enabled [protected]
 

Definition at line 311 of file dxGraphicsStateGuardian8.h.

bool DXGraphicsStateGuardian8::_bDrawPrimDoSetupVertexBuffer [protected]
 

Definition at line 255 of file dxGraphicsStateGuardian8.h.

Referenced by draw_line(), and dx_init().

bool DXGraphicsStateGuardian8::_bDXisReady [protected]
 

Definition at line 188 of file dxGraphicsStateGuardian8.h.

Referenced by DXGraphicsStateGuardian8(), and reset().

bool DXGraphicsStateGuardian8::_bGouraudShadingOn [protected]
 

Definition at line 253 of file dxGraphicsStateGuardian8.h.

Referenced by dx_init(), and set_color_writemask().

D3DBLEND DXGraphicsStateGuardian8::_blend_dest_func [protected]
 

Definition at line 300 of file dxGraphicsStateGuardian8.h.

bool DXGraphicsStateGuardian8::_blend_enabled [protected]
 

Definition at line 308 of file dxGraphicsStateGuardian8.h.

Referenced by dx_init(), and enable_color_material().

D3DBLEND DXGraphicsStateGuardian8::_blend_source_func [protected]
 

Definition at line 299 of file dxGraphicsStateGuardian8.h.

bool DXGraphicsStateGuardian8::_bTransformIssued [protected]
 

Definition at line 192 of file dxGraphicsStateGuardian8.h.

int GraphicsStateGuardian::_buffer_mask [protected, inherited]
 

Definition at line 242 of file graphicsStateGuardian.h.

Referenced by DXGraphicsStateGuardian7::DXGraphicsStateGuardian7(), GLGraphicsStateGuardian::reset(), CRGraphicsStateGuardian::reset(), reset_panda_gsg(), CRGraphicsStateGuardian::~CRGraphicsStateGuardian(), GLGraphicsStateGuardian::~GLGraphicsStateGuardian(), and GraphicsStateGuardian::~GraphicsStateGuardian().

int GraphicsStateGuardian::_clear_buffer_type [protected, inherited]
 

Definition at line 247 of file graphicsStateGuardian.h.

Referenced by GraphicsStateGuardian::reset().

DWORD DXGraphicsStateGuardian8::_clip_plane_bits [protected]
 

Definition at line 312 of file dxGraphicsStateGuardian8.h.

Referenced by depth_offset_decals(), and free_nondx_resources().

bool GraphicsStateGuardian::_clip_planes_enabled [protected, inherited]
 

Definition at line 266 of file graphicsStateGuardian.h.

Referenced by GraphicsStateGuardian::issue_color(), and GraphicsStateGuardian::reset().

bool DXGraphicsStateGuardian8::_clipping_enabled [protected]
 

Definition at line 305 of file dxGraphicsStateGuardian8.h.

Referenced by dx_init().

bool GraphicsStateGuardian::_closing_gsg [protected, inherited]
 

Definition at line 281 of file graphicsStateGuardian.h.

Referenced by GraphicsStateGuardian::GraphicsStateGuardian(), and GLGraphicsStateGuardian::prepare_texture().

ColorBlendAttrib::Mode GraphicsStateGuardian::_color_blend_mode [protected, inherited]
 

Definition at line 277 of file graphicsStateGuardian.h.

Referenced by enable_blend(), and GraphicsStateGuardian::reset().

Colorf GraphicsStateGuardian::_color_clear_value [protected, inherited]
 

Definition at line 243 of file graphicsStateGuardian.h.

Referenced by GraphicsStateGuardian::reset().

bool DXGraphicsStateGuardian8::_color_material_enabled [protected]
 

Definition at line 303 of file dxGraphicsStateGuardian8.h.

Referenced by dx_init(), and enable_stencil_test().

int GraphicsStateGuardian::_color_transform_enabled [protected, inherited]
 

Definition at line 272 of file graphicsStateGuardian.h.

Referenced by GLGraphicsStateGuardian::draw_point(), DXGraphicsStateGuardian7::draw_prim_setup(), GLGraphicsStateGuardian::draw_quad(), CRGraphicsStateGuardian::prepare_lens(), GraphicsStateGuardian::reset(), transform_color(), and GraphicsStateGuardian::wants_colors().

ColorWriteAttrib::Mode GraphicsStateGuardian::_color_write_mode [protected, inherited]
 

Definition at line 276 of file graphicsStateGuardian.h.

Referenced by enable_blend(), and GraphicsStateGuardian::reset().

UINT DXGraphicsStateGuardian8::_color_writemask [protected]
 

Definition at line 254 of file dxGraphicsStateGuardian8.h.

Referenced by dx_init(), and enable_blend().

Vertexf* DXGraphicsStateGuardian8::_coord_array [protected]
 

Definition at line 266 of file dxGraphicsStateGuardian8.h.

Referenced by draw_prim_inner_loop().

CoordinateSystem GraphicsStateGuardian::_coordinate_system [protected, inherited]
 

Definition at line 259 of file graphicsStateGuardian.h.

Referenced by GraphicsStateGuardian::push_frame_buffer().

ushort* DXGraphicsStateGuardian8::_coordindex_array [protected]
 

Definition at line 267 of file dxGraphicsStateGuardian8.h.

Referenced by add_to_FVFBuf(), and draw_prim_inner_loop().

RenderBuffer::Type DXGraphicsStateGuardian8::_cur_read_pixel_buffer [protected]
 

Definition at line 195 of file dxGraphicsStateGuardian8.h.

Referenced by copy_texture(), and DXGraphicsStateGuardian8().

D3DCOLOR DXGraphicsStateGuardian8::_curD3Dcolor [protected]
 

Definition at line 243 of file dxGraphicsStateGuardian8.h.

Referenced by draw_prim_inner_loop(), and transform_color().

DWORD DXGraphicsStateGuardian8::_CurFVFType [protected]
 

Definition at line 245 of file dxGraphicsStateGuardian8.h.

Referenced by dx_init().

DXShaderHandle DXGraphicsStateGuardian8::_CurPixelShader
 

Definition at line 362 of file dxGraphicsStateGuardian8.h.

Referenced by DXGraphicsStateGuardian8().

LVecBase4f GraphicsStateGuardian::_current_color_offset [protected, inherited]
 

Definition at line 273 of file graphicsStateGuardian.h.

Referenced by GraphicsStateGuardian::reset().

LVecBase4f GraphicsStateGuardian::_current_color_scale [protected, inherited]
 

Definition at line 274 of file graphicsStateGuardian.h.

Referenced by GraphicsStateGuardian::reset(), and GraphicsStateGuardian::wants_colors().

ConstPointerTo< DisplayRegion > GraphicsStateGuardian::_current_display_region [protected, inherited]
 

Definition at line 253 of file graphicsStateGuardian.h.

Referenced by do_clear(), GraphicsStateGuardian::set_state(), and GraphicsStateGuardian::set_transform().

RenderModeAttrib::Mode DXGraphicsStateGuardian8::_current_fill_mode [protected]
 

Definition at line 314 of file dxGraphicsStateGuardian8.h.

ConstPointerTo< Lens > GraphicsStateGuardian::_current_lens [protected, inherited]
 

Definition at line 254 of file graphicsStateGuardian.h.

Referenced by GraphicsStateGuardian::pop_display_region(), GLGraphicsStateGuardian::prepare_display_region(), CRGraphicsStateGuardian::prepare_display_region(), and GraphicsStateGuardian::push_display_region().

LMatrix4f DXGraphicsStateGuardian8::_current_projection_mat [protected]
 

Definition at line 324 of file dxGraphicsStateGuardian8.h.

Referenced by dx_init().

DWORD DXGraphicsStateGuardian8::_CurTexAnisoDegree [protected]
 

Definition at line 322 of file dxGraphicsStateGuardian8.h.

Referenced by draw_sphere(), and prepare_texture().

TextureApplyAttrib::Mode DXGraphicsStateGuardian8::_CurTexBlendMode [protected]
 

Definition at line 320 of file dxGraphicsStateGuardian8.h.

D3DTEXTUREFILTERTYPE DXGraphicsStateGuardian8::_CurTexMagFilter [protected]
 

Definition at line 321 of file dxGraphicsStateGuardian8.h.

D3DTEXTUREFILTERTYPE DXGraphicsStateGuardian8::_CurTexMinFilter [protected]
 

Definition at line 321 of file dxGraphicsStateGuardian8.h.

D3DTEXTUREFILTERTYPE DXGraphicsStateGuardian8::_CurTexMipFilter [protected]
 

Definition at line 321 of file dxGraphicsStateGuardian8.h.

Texture::WrapMode DXGraphicsStateGuardian8::_CurTexWrapModeU [protected]
 

Definition at line 323 of file dxGraphicsStateGuardian8.h.

Referenced by draw_sphere().

Texture::WrapMode DXGraphicsStateGuardian8::_CurTexWrapModeV [protected]
 

Definition at line 323 of file dxGraphicsStateGuardian8.h.

DXShaderHandle DXGraphicsStateGuardian8::_CurVertexShader
 

Definition at line 362 of file dxGraphicsStateGuardian8.h.

Referenced by DXGraphicsStateGuardian8(), and slot_new_clip_plane().

D3DCOLOR DXGraphicsStateGuardian8::_d3dcolor_clear_value [protected]
 

Definition at line 251 of file dxGraphicsStateGuardian8.h.

Referenced by support_overlay_window().

float GraphicsStateGuardian::_depth_clear_value [protected, inherited]
 

Definition at line 244 of file graphicsStateGuardian.h.

Referenced by GraphicsStateGuardian::release_geom_node(), GraphicsStateGuardian::reset(), and support_overlay_window().

bool DXGraphicsStateGuardian8::_depth_test_enabled [protected]
 

Definition at line 309 of file dxGraphicsStateGuardian8.h.

Referenced by dx_init(), and enable_texturing().

bool DXGraphicsStateGuardian8::_depth_write_enabled [protected]
 

Definition at line 310 of file dxGraphicsStateGuardian8.h.

int GraphicsStateGuardian::_display_region_stack_level [protected, inherited]
 

Definition at line 249 of file graphicsStateGuardian.h.

Referenced by GraphicsStateGuardian::set_state(), GraphicsStateGuardian::set_transform(), and GraphicsStateGuardian::~GraphicsStateGuardian().

bool DXGraphicsStateGuardian8::_dither_enabled [protected]
 

Definition at line 306 of file dxGraphicsStateGuardian8.h.

DxgsgFogType DXGraphicsStateGuardian8::_doFogType [protected]
 

Definition at line 289 of file dxGraphicsStateGuardian8.h.

Referenced by enable_gouraud_shading().

PStatCollector GraphicsStateGuardian::_draw_primitive_pcollector [static, inherited]
 

Referenced by GLGraphicsStateGuardian::draw_point(), draw_point(), DXGraphicsStateGuardian7::draw_prim_inner_loop_coordtexonly(), GLGraphicsStateGuardian::draw_quad(), GLGraphicsStateGuardian::draw_sphere(), GLGraphicsStateGuardian::prepare_geom_node(), and CRGraphicsStateGuardian::prepare_lens().

bool DXGraphicsStateGuardian8::_fog_enabled [protected]
 

Definition at line 290 of file dxGraphicsStateGuardian8.h.

Referenced by dx_init(), and enable_gouraud_shading().

int GraphicsStateGuardian::_frame_buffer_stack_level [protected, inherited]
 

Definition at line 250 of file graphicsStateGuardian.h.

Referenced by GraphicsStateGuardian::get_current_display_region(), and GraphicsStateGuardian::~GraphicsStateGuardian().

PStatCollector GraphicsStateGuardian::_frustum_cull_transforms_pcollector [static, inherited]
 

Referenced by GraphicsStateGuardian::enable_light().

PStatCollector GraphicsStateGuardian::_frustum_cull_volumes_pcollector [static, inherited]
 

Referenced by GraphicsStateGuardian::enable_light().

PStatCollector GraphicsStateGuardian::_geom_nodes_pcollector [static, inherited]
 

Referenced by GraphicsStateGuardian::enable_light().

bool GraphicsStateGuardian::_has_scene_graph_color [protected, inherited]
 

Definition at line 262 of file graphicsStateGuardian.h.

Referenced by GraphicsStateGuardian::begin_decal_base_first(), GraphicsStateGuardian::depth_offset_decals(), dx_init(), and GraphicsStateGuardian::reset().

WORD* DXGraphicsStateGuardian8::_index_buf [protected]
 

Definition at line 248 of file dxGraphicsStateGuardian8.h.

Referenced by DXGraphicsStateGuardian8(), and free_nondx_resources().

HRESULT DXGraphicsStateGuardian8::_last_testcooplevel_result [protected]
 

Definition at line 189 of file dxGraphicsStateGuardian8.h.

Referenced by dx_init(), and PT().

int GraphicsStateGuardian::_lens_stack_level [protected, inherited]
 

Definition at line 251 of file graphicsStateGuardian.h.

Referenced by GraphicsStateGuardian::push_display_region(), and GraphicsStateGuardian::~GraphicsStateGuardian().

bool GraphicsStateGuardian::_lighting_enabled [protected, inherited]
 

Definition at line 265 of file graphicsStateGuardian.h.

Referenced by GraphicsStateGuardian::begin_decal_nested(), and GraphicsStateGuardian::reset().

bool DXGraphicsStateGuardian8::_line_smooth_enabled [protected]
 

Definition at line 302 of file dxGraphicsStateGuardian8.h.

Referenced by dx_init().

Colorf DXGraphicsStateGuardian8::_lmodel_ambient [protected]
 

Definition at line 278 of file dxGraphicsStateGuardian8.h.

float DXGraphicsStateGuardian8::_material_ambient [protected]
 

Definition at line 279 of file dxGraphicsStateGuardian8.h.

float DXGraphicsStateGuardian8::_material_diffuse [protected]
 

Definition at line 280 of file dxGraphicsStateGuardian8.h.

float DXGraphicsStateGuardian8::_material_emission [protected]
 

Definition at line 283 of file dxGraphicsStateGuardian8.h.

float DXGraphicsStateGuardian8::_material_shininess [protected]
 

Definition at line 282 of file dxGraphicsStateGuardian8.h.

float DXGraphicsStateGuardian8::_material_specular [protected]
 

Definition at line 281 of file dxGraphicsStateGuardian8.h.

bool GraphicsStateGuardian::_needs_reset [protected, inherited]
 

Definition at line 280 of file graphicsStateGuardian.h.

Referenced by GraphicsStateGuardian::GraphicsStateGuardian(), and GraphicsStateGuardian::~GraphicsStateGuardian().

PStatCollector GraphicsStateGuardian::_nodes_pcollector [static, inherited]
 

Referenced by GraphicsStateGuardian::enable_light().

bool GraphicsStateGuardian::_normals_enabled [protected, inherited]
 

Definition at line 257 of file graphicsStateGuardian.h.

Referenced by dx_init(), and GraphicsStateGuardian::reset().

bool DXGraphicsStateGuardian8::_overlay_windows_supported [protected]
 

Definition at line 332 of file dxGraphicsStateGuardian8.h.

Referenced by DXGraphicsStateGuardian8().

Vertexf * DXGraphicsStateGuardian8::_pCurCoord [protected]
 

Definition at line 266 of file dxGraphicsStateGuardian8.h.

ushort * DXGraphicsStateGuardian8::_pCurCoordIndex [protected]
 

Definition at line 267 of file dxGraphicsStateGuardian8.h.

Referenced by add_to_FVFBuf().

BYTE* DXGraphicsStateGuardian8::_pCurFvfBufPtr [protected]
 

Definition at line 247 of file dxGraphicsStateGuardian8.h.

Referenced by draw_line(), draw_linestrip_base(), draw_point(), draw_prim_inner_loop(), draw_tri(), and free_nondx_resources().

DXGeomNodeContext8* DXGraphicsStateGuardian8::_pCurrentGeomContext [protected]
 

Definition at line 256 of file dxGraphicsStateGuardian8.h.

Referenced by dx_init().

DXTextureContext8* DXGraphicsStateGuardian8::_pCurTexContext [protected]
 

Definition at line 190 of file dxGraphicsStateGuardian8.h.

Referenced by draw_sphere(), and dx_init().

TexCoordf * DXGraphicsStateGuardian8::_pCurTexCoord [protected]
 

Definition at line 269 of file dxGraphicsStateGuardian8.h.

ushort * DXGraphicsStateGuardian8::_pCurTexCoordIndex [protected]
 

Definition at line 270 of file dxGraphicsStateGuardian8.h.

LPDIRECT3DDEVICE8 DXGraphicsStateGuardian8::_pD3DDevice
 

Definition at line 162 of file dxGraphicsStateGuardian8.h.

Referenced by bind_clip_plane(), copy_pixel_buffer(), copy_texture(), depth_offset_decals(), do_clear(), draw_line(), draw_sphere(), dx_init(), enable_blend(), enable_color_material(), enable_gouraud_shading(), enable_light(), enable_texturing(), free_nondx_resources(), get_internal_coordinate_system(), init_shader(), issue_alpha_test(), issue_cull_face(), issue_material(), issue_render_mode(), issue_tex_matrix(), draw_sprite_vertex_less::operator()(), prepare_lens(), reset(), set_ambient_light(), set_color_writemask(), slot_new_clip_plane(), support_overlay_window(), and texture_to_pixel_buffer().

DWORD DXGraphicsStateGuardian8::_perComp [protected]
 

Definition at line 244 of file dxGraphicsStateGuardian8.h.

Referenced by draw_point(), and transform_color().

DWORD DXGraphicsStateGuardian8::_perPrim [protected]
 

Definition at line 244 of file dxGraphicsStateGuardian8.h.

Referenced by draw_point(), draw_polygon(), and transform_color().

DWORD DXGraphicsStateGuardian8::_perVertex [protected]
 

Definition at line 244 of file dxGraphicsStateGuardian8.h.

Referenced by draw_point(), draw_polygon(), draw_quad(), draw_trifan(), draw_tristrip(), and transform_color().

BYTE * DXGraphicsStateGuardian8::_pFvfBufBasePtr [protected]
 

Definition at line 247 of file dxGraphicsStateGuardian8.h.

Referenced by draw_point(), DXGraphicsStateGuardian8(), and free_nondx_resources().

IDirect3DTexture8* DXGraphicsStateGuardian8::_pGlobalTexture
 

Definition at line 361 of file dxGraphicsStateGuardian8.h.

Referenced by DXGraphicsStateGuardian8(), and slot_new_clip_plane().

int DXGraphicsStateGuardian8::_projection_mat_stack_count [protected]
 

Definition at line 325 of file dxGraphicsStateGuardian8.h.

Referenced by dx_init().

DXScreenData* DXGraphicsStateGuardian8::_pScrn
 

Definition at line 161 of file dxGraphicsStateGuardian8.h.

Referenced by compute_distance_to(), copy_texture(), draw_sphere(), dx_init(), DXGraphicsStateGuardian8(), enable_blend(), enable_light(), free_nondx_resources(), issue_color_write(), read_pixel_shader(), set_ambient_light(), and support_overlay_window().

PStatCollector GraphicsStateGuardian::_render_states_pcollector [static, inherited]
 

Referenced by GraphicsStateGuardian::enable_light().

PStatCollector GraphicsStateGuardian::_render_states_unused_pcollector [static, inherited]
 

Referenced by GraphicsStateGuardian::enable_light().

D3DMATRIX DXGraphicsStateGuardian8::_SavedTransform [protected]
 

Definition at line 193 of file dxGraphicsStateGuardian8.h.

Colorf GraphicsStateGuardian::_scene_graph_color [protected, inherited]
 

Definition at line 261 of file graphicsStateGuardian.h.

Referenced by GraphicsStateGuardian::depth_offset_decals(), DXGraphicsStateGuardian7::draw_prim_setup(), CRGraphicsStateGuardian::enable_polygon_offset(), and transform_color().

D3DCOLOR DXGraphicsStateGuardian8::_scene_graph_color_D3DCOLOR [protected]
 

Definition at line 250 of file dxGraphicsStateGuardian8.h.

Referenced by transform_color().

bool GraphicsStateGuardian::_scene_graph_color_stale [protected, inherited]
 

Definition at line 263 of file graphicsStateGuardian.h.

Referenced by GraphicsStateGuardian::begin_decal_base_first(), GraphicsStateGuardian::depth_offset_decals(), DXGraphicsStateGuardian7::draw_prim_setup(), CRGraphicsStateGuardian::enable_polygon_offset(), GraphicsStateGuardian::reset(), and transform_color().

PointerTo< SceneSetup > GraphicsStateGuardian::_scene_setup [protected, inherited]
 

Definition at line 237 of file graphicsStateGuardian.h.

Referenced by CRGraphicsStateGuardian::get_internal_image_format(), GraphicsStateGuardian::get_pipe(), GraphicsStateGuardian::get_threading_model(), GLGraphicsStateGuardian::issue_alpha_test(), CRGraphicsStateGuardian::issue_color_write(), GLGraphicsStateGuardian::issue_cull_face(), issue_depth_test(), issue_depth_write(), CRGraphicsStateGuardian::issue_depth_write(), CRGraphicsStateGuardian::issue_fog(), and issue_render_mode().

PStatCollector GraphicsStateGuardian::_set_state_pcollector [static, inherited]
 

ConstPointerTo< RenderState > GraphicsStateGuardian::_state [protected, inherited]
 

Definition at line 239 of file graphicsStateGuardian.h.

Referenced by GraphicsStateGuardian::clear(), GLGraphicsStateGuardian::draw_sprite(), draw_sprite(), DXGraphicsStateGuardian7::draw_sprite(), RIBGraphicsStateGuardian::reset_file(), and GraphicsStateGuardian::~GraphicsStateGuardian().

PStatCollector GraphicsStateGuardian::_state_changes_pcollector [static, inherited]
 

Referenced by GraphicsStateGuardian::enable_light().

bool GraphicsStateGuardian::_stencil_clear_value [protected, inherited]
 

Definition at line 245 of file graphicsStateGuardian.h.

Referenced by GraphicsStateGuardian::reset(), and support_overlay_window().

bool DXGraphicsStateGuardian8::_stencil_test_enabled [protected]
 

Definition at line 307 of file dxGraphicsStateGuardian8.h.

TexCoordf* DXGraphicsStateGuardian8::_texcoord_array [protected]
 

Definition at line 269 of file dxGraphicsStateGuardian8.h.

Referenced by draw_prim_inner_loop().

ushort* DXGraphicsStateGuardian8::_texcoordindex_array [protected]
 

Definition at line 270 of file dxGraphicsStateGuardian8.h.

Referenced by draw_prim_inner_loop().

PStatCollector GraphicsStateGuardian::_texmgrmem_resident_pcollector [static, inherited]
 

PStatCollector GraphicsStateGuardian::_texmgrmem_total_pcollector [static, inherited]
 

PStatCollector GraphicsStateGuardian::_texture_state_pcollector [static, inherited]
 

Referenced by GraphicsStateGuardian::enable_light().

bool DXGraphicsStateGuardian8::_texturing_enabled [protected]
 

Definition at line 304 of file dxGraphicsStateGuardian8.h.

PStatCollector GraphicsStateGuardian::_total_geom_node_pcollector [static, inherited]
 

Referenced by GraphicsStateGuardian::bind_light(), and GraphicsStateGuardian::slot_new_light().

PStatCollector GraphicsStateGuardian::_total_geom_pcollector [static, inherited]
 

Referenced by GraphicsStateGuardian::bind_light().

PStatCollector GraphicsStateGuardian::_total_texmem_pcollector [static, inherited]
 

PStatCollector GraphicsStateGuardian::_total_texusage_pcollector [static, inherited]
 

ConstPointerTo< TransformState > GraphicsStateGuardian::_transform [protected, inherited]
 

Definition at line 240 of file graphicsStateGuardian.h.

Referenced by GraphicsStateGuardian::~GraphicsStateGuardian().

PStatCollector GraphicsStateGuardian::_transform_state_pcollector [static, inherited]
 

Referenced by GraphicsStateGuardian::enable_clip_planes(), and GraphicsStateGuardian::enable_light().

PStatCollector GraphicsStateGuardian::_transform_states_pcollector [static, inherited]
 

Referenced by GraphicsStateGuardian::enable_light().

PStatCollector GraphicsStateGuardian::_transform_states_unused_pcollector [static, inherited]
 

Referenced by GraphicsStateGuardian::enable_light().

TransparencyAttrib::Mode GraphicsStateGuardian::_transparency_mode [protected, inherited]
 

Definition at line 278 of file graphicsStateGuardian.h.

Referenced by enable_blend(), and GraphicsStateGuardian::reset().

TypeHandle DXGraphicsStateGuardian8::_type_handle [static, private]
 

Reimplemented from GraphicsStateGuardian.

Definition at line 83 of file dxGraphicsStateGuardian8.cxx.

Referenced by get_fog_mode_type().

PStatCollector GraphicsStateGuardian::_used_texmem_pcollector [static, inherited]
 

bool GraphicsStateGuardian::_vertex_colors_enabled [protected, inherited]
 

Definition at line 264 of file graphicsStateGuardian.h.

Referenced by GraphicsStateGuardian::begin_decal_base_first(), GraphicsStateGuardian::depth_offset_decals(), and GraphicsStateGuardian::reset().

PStatCollector GraphicsStateGuardian::_vertices_other_pcollector [static, inherited]
 

Referenced by GLGraphicsStateGuardian::draw_point(), draw_point(), DXGraphicsStateGuardian7::draw_prim_inner_loop_coordtexonly(), GraphicsStateGuardian::enable_light(), CRGraphicsStateGuardian::prepare_lens(), and CRGraphicsStateGuardian::release_texture().

PStatCollector GraphicsStateGuardian::_vertices_pcollector [static, inherited]
 

PStatCollector GraphicsStateGuardian::_vertices_tri_pcollector [static, inherited]
 

Referenced by GraphicsStateGuardian::enable_light(), and CRGraphicsStateGuardian::release_texture().

PStatCollector GraphicsStateGuardian::_vertices_trifan_pcollector [static, inherited]
 

Referenced by GraphicsStateGuardian::enable_light(), and CRGraphicsStateGuardian::release_texture().

PStatCollector GraphicsStateGuardian::_vertices_tristrip_pcollector [static, inherited]
 

Referenced by GLGraphicsStateGuardian::draw_quad(), GraphicsStateGuardian::enable_light(), and CRGraphicsStateGuardian::release_texture().

Geom::ColorIterator DXGraphicsStateGuardian8::ci [protected]
 

Definition at line 262 of file dxGraphicsStateGuardian8.h.

Geom::NormalIterator DXGraphicsStateGuardian8::ni [protected]
 

Definition at line 260 of file dxGraphicsStateGuardian8.h.

Referenced by draw_point().

Normalf DXGraphicsStateGuardian8::p_normal [protected]
 

Definition at line 241 of file dxGraphicsStateGuardian8.h.

TexCoordf DXGraphicsStateGuardian8::p_texcoord [protected]
 

Definition at line 242 of file dxGraphicsStateGuardian8.h.

Geom::TexCoordIterator DXGraphicsStateGuardian8::ti [protected]
 

Definition at line 261 of file dxGraphicsStateGuardian8.h.

Geom::VertexIterator DXGraphicsStateGuardian8::vi [protected]
 

Definition at line 259 of file dxGraphicsStateGuardian8.h.


The documentation for this class was generated from the following files:
Generated on Fri May 2 00:49:43 2003 for Panda by doxygen1.3