VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Attributes | Static Private Attributes
makVrv::DtFxOglParticleSystemRenderer Class Reference

class that executes low level OpenGL draw calls from the particle system data.

Inheritance diagram for makVrv::DtFxOglParticleSystemRenderer:
Inheritance graph
[legend]

Public Member Functions

 DtFxOglParticleSystemRenderer (DtDe &dtDe)
 
virtual ~DtFxOglParticleSystemRenderer ()
 
virtual void releaseGLObjects (osg::State *state)
 
virtual void setup_particle_rendering (int render_pass_flags)
 
virtual void setup_particle_rendering (int render_pass_flags, osg::RenderInfo &renderInfo)
 
virtual void end_particle_rendering (int render_pass_flags)
 
virtual void updateProgramCache (osg::RenderInfo &renderInfo)
 
virtual DtFxParticleVertexgetMemoryPointer (int datasize)
 
virtual void unmapMemory ()
 
virtual void draw_particle_buffer (const diguyParticleDrawDesc *draw_desc, void *data)
 
virtual void draw_particle_buffer (osg::RenderInfo &renderInfo, const diguyParticleDrawDesc *draw_desc, void *data)
 
virtual void setCameraPos (double x, double y, double z)
 
virtual bdiFarPosition & cameraPos ()
 
virtual DtFxGizmoRenderergizmoRenderer ()
 
virtual DtDede ()
 
virtual void setWireframeMode (bool mode)
 

Protected Attributes

bdiFarPosition myCameraPos
 
DtDemyDe
 
DtFxGizmoRenderer myGizmoRenderer
 
bool myWireframeMode
 
unsigned int myVertexObject [BUFFER_COUNT]
 
int myBufferSize [BUFFER_COUNT]
 
int myCurrentVBOIndex
 
unsigned int myBillboardObject
 
unsigned int myBillboardZObject
 
unsigned int myBillboardXZObject
 
bdiVec3f myRotationVector
 
int myRenderPassFlags
 
const void * myLastProgram
 
const void * myLastParticleDesc
 
int myAttrVertex
 
int myAttrPositions
 
int myAttrColor
 
int myAttrNormal
 
int myAttrFrame
 
int myAttrAge
 
int myAttrSize
 
int myAttrRotation
 
int myAttrVelocity
 
int myUniformBasePosition
 
int myUniformUseTexture
 
int myUniformUseNormalTexture
 
int myUniformHdrGain
 
int myUniformEmissivityFactor
 
int myUniformMaterialSpecularity
 
int myUniformMaterialMetallicness
 
int myUniformXframes
 
int myUniformYframes
 
int myUniformVertCount
 
int myUniformRotationVector
 
int myUniformLightDirection
 
int myUniformLighting
 
int myUniformTranslucency
 
int myUniformSoftness
 
int myUniformAdditiveRendering
 

Static Private Attributes

static const int BUFFER_COUNT = 6
 

Constructor & Destructor Documentation

makVrv::DtFxOglParticleSystemRenderer::DtFxOglParticleSystemRenderer ( DtDe dtDe)

CTOR.

virtual makVrv::DtFxOglParticleSystemRenderer::~DtFxOglParticleSystemRenderer ( )
virtual

DTOR.

Member Function Documentation

virtual void makVrv::DtFxOglParticleSystemRenderer::releaseGLObjects ( osg::State *  state)
virtual

free resources

virtual void makVrv::DtFxOglParticleSystemRenderer::setup_particle_rendering ( int  render_pass_flags)
inlinevirtual

needed by base class, now no-ops so that render info can get passed in.

virtual void makVrv::DtFxOglParticleSystemRenderer::setup_particle_rendering ( int  render_pass_flags,
osg::RenderInfo &  renderInfo 
)
virtual

called at the beginning of the rendering. Render pass flags are from diguyApp mostly used to identify shadow vs main view

virtual void makVrv::DtFxOglParticleSystemRenderer::end_particle_rendering ( int  render_pass_flags)
virtual

called at the end of the particle rendering to clean up state

virtual void makVrv::DtFxOglParticleSystemRenderer::updateProgramCache ( osg::RenderInfo &  renderInfo)
virtual
virtual DtFxParticleVertex* makVrv::DtFxOglParticleSystemRenderer::getMemoryPointer ( int  datasize)
virtual

maps a buffer from the gpu into user memory

virtual void makVrv::DtFxOglParticleSystemRenderer::unmapMemory ( )
virtual

unmaps the vbo data

virtual void makVrv::DtFxOglParticleSystemRenderer::draw_particle_buffer ( const diguyParticleDrawDesc draw_desc,
void *  data 
)
inlinevirtual

needed by base class, now no-ops

virtual void makVrv::DtFxOglParticleSystemRenderer::draw_particle_buffer ( osg::RenderInfo &  renderInfo,
const diguyParticleDrawDesc draw_desc,
void *  data 
)
virtual

draws a particle system

virtual void makVrv::DtFxOglParticleSystemRenderer::setCameraPos ( double  x,
double  y,
double  z 
)
virtual

set the current position of the camera

virtual bdiFarPosition& makVrv::DtFxOglParticleSystemRenderer::cameraPos ( )
virtual

gets the current position of the camera

virtual DtFxGizmoRenderer& makVrv::DtFxOglParticleSystemRenderer::gizmoRenderer ( )
virtual

gets the debug rendering class

virtual DtDe& makVrv::DtFxOglParticleSystemRenderer::de ( )
virtual

gets the de

virtual void makVrv::DtFxOglParticleSystemRenderer::setWireframeMode ( bool  mode)
virtual

sets wireframe mode

Member Data Documentation

const int makVrv::DtFxOglParticleSystemRenderer::BUFFER_COUNT = 6
staticprivate
bdiFarPosition makVrv::DtFxOglParticleSystemRenderer::myCameraPos
protected

current camera position

DtDe& makVrv::DtFxOglParticleSystemRenderer::myDe
protected
DtFxGizmoRenderer makVrv::DtFxOglParticleSystemRenderer::myGizmoRenderer
protected
bool makVrv::DtFxOglParticleSystemRenderer::myWireframeMode
protected

current rendering info

unsigned int makVrv::DtFxOglParticleSystemRenderer::myVertexObject[BUFFER_COUNT]
protected

object that gets dynamically updated with particle data

int makVrv::DtFxOglParticleSystemRenderer::myBufferSize[BUFFER_COUNT]
protected
int makVrv::DtFxOglParticleSystemRenderer::myCurrentVBOIndex
protected
unsigned int makVrv::DtFxOglParticleSystemRenderer::myBillboardObject
protected

instanced object we render every frame

unsigned int makVrv::DtFxOglParticleSystemRenderer::myBillboardZObject
protected
unsigned int makVrv::DtFxOglParticleSystemRenderer::myBillboardXZObject
protected
bdiVec3f makVrv::DtFxOglParticleSystemRenderer::myRotationVector
protected
int makVrv::DtFxOglParticleSystemRenderer::myRenderPassFlags
protected

current render pass info, these are from diguyApp

const void* makVrv::DtFxOglParticleSystemRenderer::myLastProgram
protected

used to track when things should be relooked up not useable

const void* makVrv::DtFxOglParticleSystemRenderer::myLastParticleDesc
protected

used to track when things should be relooked up not useable

int makVrv::DtFxOglParticleSystemRenderer::myAttrVertex
protected

cache these draw to draw to avoid re-looking them up updated when the program changes

int makVrv::DtFxOglParticleSystemRenderer::myAttrPositions
protected
int makVrv::DtFxOglParticleSystemRenderer::myAttrColor
protected
int makVrv::DtFxOglParticleSystemRenderer::myAttrNormal
protected
int makVrv::DtFxOglParticleSystemRenderer::myAttrFrame
protected
int makVrv::DtFxOglParticleSystemRenderer::myAttrAge
protected
int makVrv::DtFxOglParticleSystemRenderer::myAttrSize
protected
int makVrv::DtFxOglParticleSystemRenderer::myAttrRotation
protected
int makVrv::DtFxOglParticleSystemRenderer::myAttrVelocity
protected
int makVrv::DtFxOglParticleSystemRenderer::myUniformBasePosition
protected
int makVrv::DtFxOglParticleSystemRenderer::myUniformUseTexture
protected
int makVrv::DtFxOglParticleSystemRenderer::myUniformUseNormalTexture
protected
int makVrv::DtFxOglParticleSystemRenderer::myUniformHdrGain
protected
int makVrv::DtFxOglParticleSystemRenderer::myUniformEmissivityFactor
protected
int makVrv::DtFxOglParticleSystemRenderer::myUniformMaterialSpecularity
protected
int makVrv::DtFxOglParticleSystemRenderer::myUniformMaterialMetallicness
protected
int makVrv::DtFxOglParticleSystemRenderer::myUniformXframes
protected
int makVrv::DtFxOglParticleSystemRenderer::myUniformYframes
protected
int makVrv::DtFxOglParticleSystemRenderer::myUniformVertCount
protected
int makVrv::DtFxOglParticleSystemRenderer::myUniformRotationVector
protected
int makVrv::DtFxOglParticleSystemRenderer::myUniformLightDirection
protected
int makVrv::DtFxOglParticleSystemRenderer::myUniformLighting
protected
int makVrv::DtFxOglParticleSystemRenderer::myUniformTranslucency
protected
int makVrv::DtFxOglParticleSystemRenderer::myUniformSoftness
protected
int makVrv::DtFxOglParticleSystemRenderer::myUniformAdditiveRendering
protected

The documentation for this class was generated from the following file:

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)