VR-Forces 4.10 Class Documentation
 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. More...

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

Public Member Functions

 DtFxOglParticleSystemRenderer (DtDe &dtDe)
 CTOR. More...
 
virtual ~DtFxOglParticleSystemRenderer ()
 DTOR. More...
 
virtual void releaseGLObjects (osg::State *state)
 free resources More...
 
virtual void setup_particle_rendering (int render_pass_flags)
 needed by base class, now no-ops so that render info can get passed in. More...
 
virtual void setup_particle_rendering (int render_pass_flags, osg::RenderInfo &renderInfo)
 called at the beginning of the rendering. More...
 
virtual void end_particle_rendering (int render_pass_flags)
 called at the end of the particle rendering to clean up state More...
 
virtual void updateProgramCache (osg::RenderInfo &renderInfo)
 
virtual DtFxParticleVertexgetMemoryPointer (int datasize)
 maps a buffer from the gpu into user memory More...
 
virtual void unmapMemory ()
 unmaps the vbo data More...
 
virtual void draw_particle_buffer (const diguyParticleDrawDesc *draw_desc, void *data)
 needed by base class, now no-ops More...
 
virtual void draw_particle_buffer (osg::RenderInfo &renderInfo, const diguyParticleDrawDesc *draw_desc, void *data)
 draws a particle system More...
 
virtual void setCameraPos (double x, double y, double z)
 set the current position of the camera More...
 
virtual bdiFarPosition & cameraPos ()
 gets the current position of the camera More...
 
virtual DtFxGizmoRenderergizmoRenderer ()
 gets the debug rendering class More...
 
virtual DtDede ()
 gets the de More...
 
virtual void setWireframeMode (bool mode)
 sets wireframe mode More...
 

Protected Attributes

bdiFarPosition myCameraPos
 current camera position More...
 
DtDemyDe
 
DtFxGizmoRenderer myGizmoRenderer
 
bool myWireframeMode
 current rendering info More...
 
unsigned int myVertexObject [BUFFER_COUNT]
 object that gets dynamically updated with particle data More...
 
int myBufferSize [BUFFER_COUNT]
 
int myCurrentVBOIndex
 
unsigned int myBillboardObject
 instanced object we render every frame More...
 
unsigned int myBillboardZObject
 
unsigned int myBillboardXZObject
 
bdiVec3f myRotationVector
 
int myRenderPassFlags
 current render pass info, these are from diguyApp More...
 
const void * myLastProgram
 used to track when things should be relooked up not useable More...
 
const void * myLastParticleDesc
 used to track when things should be relooked up not useable More...
 
int myAttrVertex
 cache these draw to draw to avoid re-looking them up updated when the program changes More...
 
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
 

Detailed Description

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

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 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)