VEE_GlRenderer Class Reference

OpenGL rendering engine for VEE. More...

#include <vee_gl_renderer.h>

Inheritance diagram for VEE_GlRenderer:

Inheritance graph
[legend]
Collaboration diagram for VEE_GlRenderer:

Collaboration graph
[legend]
List of all members.

Public Types

Public Member Functions

Static Public Member Functions

Protected Types

Protected Member Functions

Protected Attributes

Static Protected Attributes


Detailed Description

OpenGL rendering engine for VEE.

This class knows how to draw the graphics primitives in VEE with OpenGL.

Authors:
Tommi Ilmonen, Marko Myllymaa


Member Typedef Documentation

typedef std::map<int, Solar::GraphicTriangleMesh> VEE_GlRenderer::meshStore [protected]
 


Member Enumeration Documentation

enum VEE_GlRenderer::Mode
 

Enumerator:
RenderNothing 
RenderTriangles 
RenderQuads 
RenderPoints 
RenderLines 

enum VEE_GlRenderer::Order
 

Enumerator:
OrderRandom1 
OrderRandom2 
OrderBackToFront1 
OrderBackToFront2 
OrderSizeof 

enum VEE_GlRenderer::Material
 

Enumerator:
POLYGON 
CHECK 
SWIRL 
BLOW 
MATERIALS 


Constructor & Destructor Documentation

VEE_GlRenderer::VEE_GlRenderer VEE_SceneBox box = 0  ) 
 

VEE_GlRenderer::~VEE_GlRenderer  )  [virtual]
 


Member Function Documentation

void VEE_GlRenderer::initRenderState  )  [virtual]
 

Implements VEE_Renderer.

void VEE_GlRenderer::closeRenderState  )  [virtual]
 

Implements VEE_Renderer.

void VEE_GlRenderer::renderParticle VEE_Particle  )  [virtual]
 

Implements VEE_Renderer.

Reimplemented in VEE_CgGlRenderer, and VEE_GlSlRenderer.

void VEE_GlRenderer::renderPolygon VEE_Polygon  )  [virtual]
 

Implements VEE_Renderer.

void VEE_GlRenderer::renderForceObject VEE_ForceObject  )  [virtual]
 

Implements VEE_Renderer.

bool VEE_GlRenderer::setValue const char *  id,
VEE_Value v
[virtual]
 

Receive and process a value.

Parameters:

  • "size", float, range 1e-5 to 100

  • "alphamul", float, range 1e-5 to 1

  • "fov" (Field of view), float, range 10 to 175

  • "fade", float, range 0 to 10

  • "fixedfade", float, range 0 to 1

  • "lengthscale" (Field of view), float, range 0 to 100

  • "subtexture", int, range 0 to subTextureCount() - 1

  • "stretch" (Should we stretch textured particles), boolean (int)

  • "renderorder", int, range 0 to OrderSizeof

  • "blendtype", int, 0 to VEE_BLEND_USUAL

  • "bgcolor" (background color) , RGBA or vector

Reimplemented from VEE_HasValues.

void VEE_GlRenderer::setSceneBox VEE_SceneBox box  )  [inline]
 

VEE_SceneBox* VEE_GlRenderer::sceneBox  )  [inline]
 

void VEE_GlRenderer::initializeGL  )  [virtual]
 

Reimplemented in VEE_CgGlRenderer, and VEE_GlSlRenderer.

virtual void VEE_GlRenderer::resizeGL int  w,
int  h
[virtual]
 

void VEE_GlRenderer::prepareGlMode  )  [virtual]
 

void VEE_GlRenderer::endGlMode  )  [virtual]
 

Reimplemented in VEE_CgGlRenderer, and VEE_GlSlRenderer.

void VEE_GlRenderer::paintGL bool  drawBoxEdges,
bool  moveCamera,
bool  clear,
float  dt = 0.04
[virtual]
 

void VEE_GlRenderer::drawRecursed VEE_SceneBox vps  ) 
 

void VEE_GlRenderer::drawBackToFront VEE_SceneBox vps  ) 
 

void VEE_GlRenderer::drawBackToFront2 VEE_OrdererCollector  ) 
 

void VEE_GlRenderer::drawRandom VEE_Collector  ) 
 

void VEE_GlRenderer::clearGlScreen  ) 
 

Clears the OpenGL screen.

void VEE_GlRenderer::moveGlCamera  ) 
 

Moves camera to accordingto camera parameters.

void VEE_GlRenderer::setParticleSize float  size  )  [inline]
 

float VEE_GlRenderer::particleSize  )  const [inline]
 

float VEE_GlRenderer::alphaMul  )  const [inline]
 

void VEE_GlRenderer::setAlphaMul float  a  )  [inline]
 

VEE_RenderClass& VEE_GlRenderer::defaultRenderClass  )  [inline]
 

float VEE_GlRenderer::lengthScale  )  const [inline]
 

void VEE_GlRenderer::setLengthScale float  scale  )  [inline]
 

float VEE_GlRenderer::maxLengthScale  )  const [inline]
 

void VEE_GlRenderer::setParticleMode Mode  m  )  [inline]
 

Mode VEE_GlRenderer::setParticleMode  )  const [inline]
 

void VEE_GlRenderer::setPolygonMode Mode  m  )  [inline]
 

Mode VEE_GlRenderer::getPolygonMode  )  const [inline]
 

void VEE_GlRenderer::setForceMode Mode  m  )  [inline]
 

Mode VEE_GlRenderer::getForceMode  )  const [inline]
 

VEE_Vector3& VEE_GlRenderer::camPos  )  [inline]
 

void VEE_GlRenderer::setCameraPosition const VEE_Vector3 pos  )  [inline]
 

void VEE_GlRenderer::setCameraPosition3f float  x,
float  y,
float  z
[inline]
 

void VEE_GlRenderer::addCamAzi float  azi  )  [inline]
 

void VEE_GlRenderer::addCamEle float  ele  )  [inline]
 

void VEE_GlRenderer::setCameraAngles float  azi,
float  ele
[inline]
 

void VEE_GlRenderer::moveCameraUp float  z  )  [inline]
 

VEE_Vector3& VEE_GlRenderer::camDir  )  [inline]
 

void VEE_GlRenderer::setCameraParams const VEE_CameraPosition p  )  [inline]
 

VEE_CameraPosition VEE_GlRenderer::cameraParams  )  const [inline]
 

void VEE_GlRenderer::forward float  distance  )  [inline]
 

void VEE_GlRenderer::forwardAcceleration float  acceleration  )  [inline]
 

void VEE_GlRenderer::sidewaysAcceleration float  acceleration  )  [inline]
 

void VEE_GlRenderer::moveCamera float  dt  ) 
 

void VEE_GlRenderer::stopMotion  )  [inline]
 

void VEE_GlRenderer::setBlend bool  b  )  [inline]
 

bool VEE_GlRenderer::getBlend  )  const [inline]
 

void VEE_GlRenderer::setBlendType VEE_Blending  b  )  [inline]
 

void VEE_GlRenderer::setUseTextures bool  u  )  [inline]
 

bool VEE_GlRenderer::getUseTextures  )  const [inline]
 

bool VEE_GlRenderer::getDrawForceBoxes  )  [inline]
 

void VEE_GlRenderer::setDrawForceBoxes bool  b  )  [inline]
 

bool VEE_GlRenderer::drawBoxEdges  )  const [inline]
 

void VEE_GlRenderer::setDrawBoxEdges bool  b  )  [inline]
 

void VEE_GlRenderer::setBackgroundColor const VEE_Rgba color  )  [inline]
 

const VEE_Rgba& VEE_GlRenderer::backgroundColor  )  const [inline]
 

void VEE_GlRenderer::setRange float  minDist,
float  fadeDist,
float  maxDist
 

Set the clipping distances.

static void VEE_GlRenderer::createPrivateTextures bool  create  )  [inline, static]
 

To create a private OpenGL texture for this class.

Must be called before the first call to initializeGL if you want this to have any effect.

void VEE_GlRenderer::setTexture GLuint  texId  )  [inline]
 

Set the texture that should be used for the point particles.

GLuint VEE_GlRenderer::getTexture  )  const [inline]
 

ulong VEE_GlRenderer::modeChanges  )  const [inline]
 

void VEE_GlRenderer::setFade float  fade  )  [inline]
 

int VEE_GlRenderer::subTextureCount  )  const [inline]
 

int VEE_GlRenderer::subTextureDivision  )  const [inline]
 

int VEE_GlRenderer::currentSubTexture  )  const [inline]
 

void VEE_GlRenderer::setSubTexture int  tex  )  [inline]
 

void VEE_GlRenderer::buildTextures VEE_GlTexture2D tex,
float  radius,
const char *  configFile = 0
 

Creates the blurry textures that are to be used in rendering.

A great number of small textures are merged into a single larger texture that contains small "tiles".

This method also loads the shader names.

void VEE_GlRenderer::buildPolygonTextures VEE_GlTexture2D tex  ) 
 

bool VEE_GlRenderer::continuousTails  )  const [inline]
 

void VEE_GlRenderer::setContinuousTails bool  b  )  [inline]
 

float VEE_GlRenderer::tailDispersion  )  const [inline]
 

float VEE_GlRenderer::fov  )  const [inline]
 

void VEE_GlRenderer::setExternalTextures VEE_GlTexture2D blob,
VEE_GlTexture2D polygon
[inline]
 

void VEE_GlRenderer::setTexId  ) 
 

void VEE_GlRenderer::drawVolumeGrid const VEE_Vector3 ,
VEE_VolumeGrid
 

void VEE_GlRenderer::drawVolumeGrid2 const VEE_Vector3 ,
VEE_VolumeGrid2 ,
bool  blend = true
 

VEE_Rgba VEE_GlRenderer::transformColor const VEE_Rgba  )  const [inline]
 

void VEE_GlRenderer::nextAlignMent  )  [inline]
 

VEE_MotionAlign VEE_GlRenderer::align  )  const [inline]
 

void VEE_GlRenderer::renderParticleVisual VEE_ParticleVisualInfo p  )  [virtual]
 

void VEE_GlRenderer::renderTailParticle VEE_TailParticle p  ) 
 

void VEE_GlRenderer::renderCurveParticle VEE_CurveParticle p  ) 
 

void VEE_GlRenderer::renderRigidParticle VEE_RigidParticle p  ) 
 

void VEE_GlRenderer::drawBox VEE_Vector3  low,
VEE_Vector3  high
[static]
 

float VEE_GlRenderer::farDistance  )  const [inline]
 

float VEE_GlRenderer::fadeDistance  )  const [inline]
 

float VEE_GlRenderer::nearDistance  )  const [inline]
 

float VEE_GlRenderer::fadeRange  )  const [inline]
 

int VEE_GlRenderer::textureNameToId const char *  name  ) 
 

int VEE_GlRenderer::shaderNameToId const char *  name  ) 
 

VEE_GlMaterialBank& VEE_GlRenderer::materials  )  [inline]
 

void VEE_GlRenderer::setForceFrontColor const VEE_Rgba c  )  [inline]
 

void VEE_GlRenderer::setForceBackColor const VEE_Rgba c  )  [inline]
 

const VEE_Rgba* VEE_GlRenderer::forceFrontColor  )  const [inline]
 

const VEE_Rgba* VEE_GlRenderer::forceBackColor  )  const [inline]
 

void VEE_GlRenderer::setMatrix const VEE_Matrix4 m  )  [inline]
 

void VEE_GlRenderer::setUseMatrix bool  use  )  [inline]
 

const std::string& VEE_GlRenderer::configFile  )  const [inline]
 

void VEE_GlRenderer::setRenderOnlyOutline bool  outlines  ) 
 

int VEE_GlRenderer::width  )  const [inline]
 

Window width;.

int VEE_GlRenderer::height  )  const [inline]
 

bool VEE_GlRenderer::applyDepthMap  )  const [inline]
 

void VEE_GlRenderer::createDepthMap  ) 
 

Creates the depth map texture into the GL_TEXTURE1_ARB.

VEE_GlTexture2D& VEE_GlRenderer::depthMap  )  [inline]
 

void VEE_GlRenderer::newMode Mode   )  [protected]
 

void VEE_GlRenderer::beginTextured Mode  ,
GLuint 
[protected]
 

void VEE_GlRenderer::endTextured  )  [protected]
 

void VEE_GlRenderer::pushTransform const VEE_Matrix3 rot,
const VEE_Vector3 loc
[protected]
 

void VEE_GlRenderer::popTransform  )  [inline, protected]
 


Member Data Documentation

VEE_Vector3 VEE_GlRenderer::m_camPos [protected]
 

VEE_Vector3 VEE_GlRenderer::m_direction [protected]
 

VEE_Vector3 VEE_GlRenderer::m_velocity [protected]
 

VEE_Vector3 VEE_GlRenderer::m_camUp [protected]
 

const VEE_Rgba* VEE_GlRenderer::m_forceFrontColor [protected]
 

const VEE_Rgba* VEE_GlRenderer::m_forceBackColor [protected]
 

VEE_Vector3 VEE_GlRenderer::m_vpUp [protected]
 

VEE_Vector3 VEE_GlRenderer::m_vpRight [protected]
 

float VEE_GlRenderer::m_azi [protected]
 

float VEE_GlRenderer::m_ele [protected]
 

VEE_SceneBox* VEE_GlRenderer::m_vps [protected]
 

float VEE_GlRenderer::m_farDistance [protected]
 

float VEE_GlRenderer::m_fadeDistance [protected]
 

float VEE_GlRenderer::m_nearDistance [protected]
 

float VEE_GlRenderer::m_fadeRange [protected]
 

bool VEE_GlRenderer::m_renderOnlyOutline [protected]
 

GLUquadric* VEE_GlRenderer::m_cylinder [protected]
 

GLuint VEE_GlRenderer::m_texId [protected]
 

bool VEE_GlRenderer::m_blend [protected]
 

bool VEE_GlRenderer::m_useTextures [protected]
 

bool VEE_GlRenderer::m_drawBoxEdges [protected]
 

Mode VEE_GlRenderer::m_mode [protected]
 

Mode VEE_GlRenderer::m_particleMode [protected]
 

Mode VEE_GlRenderer::m_forceMode [protected]
 

Mode VEE_GlRenderer::m_polygonMode [protected]
 

bool VEE_GlRenderer::m_drawForceBoxes [protected]
 

GLuint VEE_GlRenderer::m_currentTexture [protected]
 

The texture that is currently loaded into memory.

int VEE_GlRenderer::m_currentMaterial [protected]
 

float VEE_GlRenderer::m_pointSize [protected]
 

float VEE_GlRenderer::m_particleSize [protected]
 

VEE_RenderClass VEE_GlRenderer::m_defaultRenderClass [protected]
 

float VEE_GlRenderer::m_alphaMul [protected]
 

float VEE_GlRenderer::m_fade [protected]
 

float VEE_GlRenderer::m_fixedFade [protected]
 

float VEE_GlRenderer::m_fov [protected]
 

Field of view.

bool VEE_GlRenderer::m_continuousTails [protected]
 

float VEE_GlRenderer::m_tailDispersion [protected]
 

VEE_TCBSpline3* VEE_GlRenderer::m_tcbSpline [protected]
 

Order VEE_GlRenderer::m_renderOrder [protected]
 

int VEE_GlRenderer::m_width [protected]
 

int VEE_GlRenderer::m_height [protected]
 

ulong VEE_GlRenderer::m_modeChanges [protected]
 

VEE_GlMaterialBank VEE_GlRenderer::m_materials [protected]
 

uint VEE_GlRenderer::m_textureDivision [protected]
 

The number of sub-texture rows & columns in the main texture.

uint VEE_GlRenderer::m_textureRow [protected]
 

uint VEE_GlRenderer::m_textureCol [protected]
 

float VEE_GlRenderer::m_textureStep [protected]
 

VEE_Rgba VEE_GlRenderer::m_bgColor [protected]
 

VEE_Blending VEE_GlRenderer::m_blendType [protected]
 

VEE_GlTexture2D* VEE_GlRenderer::m_blobTexture [protected]
 

VEE_GlTexture2D* VEE_GlRenderer::m_polygonTexture [protected]
 

VEE_GlTexture2D VEE_GlRenderer::m_depthMap [protected]
 

Depth map texture used for smooth particle blending near edges.

bool VEE_GlRenderer::m_useDepthMap [protected]
 

bool VEE_GlRenderer::m_applyDepthMap [protected]
 

std::string VEE_GlRenderer::m_configFile [protected]
 

bool VEE_GlRenderer::m_privateTextures = true [static, protected]
 

meshStore VEE_GlRenderer::m_meshes [protected]
 

VEE_Matrix4 VEE_GlRenderer::m_matrix [protected]
 

bool VEE_GlRenderer::m_useMatrix [protected]
 

std::map<std::string, int> VEE_GlRenderer::m_textureNames [protected]
 

std::map<std::string, int> VEE_GlRenderer::m_shaderNames [protected]
 


The documentation for this class was generated from the following files:
Generated on Mon Mar 12 21:09:23 2007 for VEE - The Visual Effects Engine by  doxygen 1.4.6