le3d - LightEngine 3D
A straightforward C++ 3D software engine for real-time graphics
Public Member Functions | List of all members
LeRenderer Class Reference

Render meshes and billboard sets to 2D triangle lista. More...

#include <renderer.h>

Public Member Functions

 LeRenderer (int width=LE_RESOX_DEFAULT, int height=LE_RESOY_DEFAULT)
 
 ~LeRenderer ()
 
void render (const LeMesh *mesh)
 Render a 3D mesh. More...
 
void render (const LeBSet *bset)
 Render a billboard set. More...
 
void flush ()
 Flush the currently selected triangle list. More...
 
int getViewportCoordinates (const LeVertex &pos, LeVertex &viewCoords)
 Return the viewport coordinates of a 3D vertex. More...
 
void setViewPosition (const LeVertex &pos)
 Set the rendering view position. More...
 
void setViewAngle (const LeVertex &angleYZX)
 Set the rendering view angle (in degrees) More...
 
void updateViewMatrix ()
 Update the rendering view matrix with position, scaling and angle vectors. More...
 
void setViewMatrix (const LeMatrix &view)
 Set the rendering view matrix. More...
 
void setViewport (int left, int top, int right, int bottom)
 Set the rendering viewport. More...
 
void setViewClipping (float near, float far)
 Set the rendering near & far clipping distances. More...
 
void setViewProjection (float fov)
 Set the rendering field of view angle (in degrees) More...
 
void setViewOffset (float offset)
 Set the renderer view offset (for triangle sorting) More...
 
void setBackcullingMode (LE_BACKCULLING_MODES mode)
 Set the backculling mode. More...
 
void setFog (bool enable)
 Enable or disable quadratic ambient fog. More...
 
void setFogProperties (LeColor color, float near, float far)
 Configure quadratic ambient fog characteristics. More...
 
void setMipmapping (bool enable)
 Enable or disable texture mipmapping. More...
 
void setTriangleList (LeTriList *trilist)
 Associate an external triangle list (for storage) More...
 
LeTriListgetTriangleList ()
 Retrieve the associated triangle list. More...
 

Detailed Description

Render meshes and billboard sets to 2D triangle lista.

Constructor & Destructor Documentation

LeRenderer::LeRenderer ( int  width = LE_RESOX_DEFAULT,
int  height = LE_RESOY_DEFAULT 
)
LeRenderer::~LeRenderer ( )

Member Function Documentation

void LeRenderer::flush ( )

Flush the currently selected triangle list.

LeTriList * LeRenderer::getTriangleList ( )

Retrieve the associated triangle list.

Returns
pointer to a triangle list
int LeRenderer::getViewportCoordinates ( const LeVertex pos,
LeVertex viewCoords 
)

Return the viewport coordinates of a 3D vertex.

Parameters
[in]posvertex position in 3D space
[in]viewCoordsviewport coordinates (if within viewport)
Returns
1 if vertex inside viewport, 0 otherwise
void LeRenderer::render ( const LeMesh mesh)

Render a 3D mesh.

Parameters
[in]meshpointer to a mesh
void LeRenderer::render ( const LeBSet bset)

Render a billboard set.

Parameters
[in]bsetpointer to a billboard set
void LeRenderer::setBackcullingMode ( LE_BACKCULLING_MODES  mode)

Set the backculling mode.

Parameters
[in]modebackculling mode
void LeRenderer::setFog ( bool  enable)

Enable or disable quadratic ambient fog.

Parameters
[in]enablefog enable state
void LeRenderer::setFogProperties ( LeColor  color,
float  near,
float  far 
)

Configure quadratic ambient fog characteristics.

Parameters
[in]colorfog color
[in]nearfog start distance
[in]farfog end distance
void LeRenderer::setMipmapping ( bool  enable)

Enable or disable texture mipmapping.

Parameters
[in]enablemipmapping enable state
void LeRenderer::setTriangleList ( LeTriList trilist)

Associate an external triangle list (for storage)

Parameters
[in]trilistpointer to an allocated triangle list or NULL (for internal triangle list)
void LeRenderer::setViewAngle ( const LeVertex angleYZX)

Set the rendering view angle (in degrees)

Parameters
[in]angleYZXorientation of the camera (Euler angles)
void LeRenderer::setViewClipping ( float  near,
float  far 
)

Set the rendering near & far clipping distances.

Parameters
[in]nearnearest distance where triangles are rendered
[in]farfarest distance where triangles are rendered
void LeRenderer::setViewMatrix ( const LeMatrix view)

Set the rendering view matrix.

void LeRenderer::setViewOffset ( float  offset)

Set the renderer view offset (for triangle sorting)

Parameters
[in]offsetview offset
void LeRenderer::setViewport ( int  left,
int  top,
int  right,
int  bottom 
)

Set the rendering viewport.

Parameters
[in]leftleft viewport position (in pixels)
[in]toptop viewport position (in pixels)
[in]rightright viewport position (in pixels)
[in]bottombottom viewport position (in pixels)
void LeRenderer::setViewPosition ( const LeVertex pos)

Set the rendering view position.

Parameters
[in]posposition of the camera
void LeRenderer::setViewProjection ( float  fov)

Set the rendering field of view angle (in degrees)

void LeRenderer::updateViewMatrix ( )

Update the rendering view matrix with position, scaling and angle vectors.


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