System for drawing, updating, and re-using water mark render objects. More...
#include <W3DWaterTracks.h>
Public Member Functions | |
| WaterTracksRenderSystem (void) | |
| ~WaterTracksRenderSystem (void) | |
| void | ReleaseResources (void) |
| Release all dx8 resources so the device can be reset. | |
| void | ReAcquireResources (void) |
| Reacquire all resources after device reset. | |
| void | flush (RenderInfoClass &rinfo) |
| draw all tracks that were requested for rendering. | |
| void | update (void) |
| update the state of all edges (fade alpha, remove old, etc.) | |
| void | init (void) |
| pre-allocate track objects | |
| void | shutdown (void) |
| release all pre-allocated track objects, called by destructor | |
| void | reset (void) |
| free all map dependent items. | |
| WaterTracksObj * | bindTrack (waveType type) |
| track object to be controlled by owner | |
| void | unbindTrack (WaterTracksObj *mod) |
| releases control of track object | |
| void | saveTracks (void) |
| save all used tracks to disk | |
| void | loadTracks (void) |
| load tracks from disk | |
| WaterTracksObj * | findTrack (Vector2 &start, Vector2 &end, waveType type) |
Protected Member Functions | |
| void | releaseTrack (WaterTracksObj *mod) |
| returns track object to free store. | |
Protected Attributes | |
| DX8VertexBufferClass * | m_vertexBuffer |
| vertex buffer used to draw all tracks | |
| DX8IndexBufferClass * | m_indexBuffer |
| indices defining triangles in maximum length track | |
| VertexMaterialClass * | m_vertexMaterialClass |
| vertex lighting material | |
| ShaderClass | m_shaderClass |
| shader or rendering state for heightmap | |
| WaterTracksObj * | m_usedModules |
| active objects being rendered in the scene | |
| WaterTracksObj * | m_freeModules |
| Int | m_stripSizeX |
| resolution (vertex count) of wave strip | |
| Int | m_stripSizeY |
| resolution (vertex count) of wave strip | |
| Int | m_batchStart |
| start of unused vertices in vertex buffer | |
| Real | m_level |
| water level | |
Friends | |
| class | WaterTracksObj |
System for drawing, updating, and re-using water mark render objects.
This system keeps track of all the active track mark objects and reuses them when they expire. It also renders all the track marks that were submitted in this frame.
Definition at line 105 of file W3DWaterTracks.h.
| WaterTracksRenderSystem::WaterTracksRenderSystem | ( | void | ) |
Constructor. Just nulls out some variables.
Definition at line 612 of file W3DWaterTracks.cpp.
| WaterTracksRenderSystem::~WaterTracksRenderSystem | ( | void | ) |
Destructor. Free all pre-allocated track laying render objects
Definition at line 630 of file W3DWaterTracks.cpp.
| WaterTracksObj * WaterTracksRenderSystem::bindTrack | ( | waveType | type | ) |
track object to be controlled by owner
Grab a track from the free store. If no free tracks exist, return NULL. As long as a track is bound to an object (like a tank) it is ready to accept updates with additional edges. Once it is unbound, it will expire and return to the free store once all tracks have faded out.
Definition at line 503 of file W3DWaterTracks.cpp.
| WaterTracksObj * WaterTracksRenderSystem::findTrack | ( | Vector2 & | start, |
| Vector2 & | end, | ||
| waveType | type ) |
Definition at line 955 of file W3DWaterTracks.cpp.
| void WaterTracksRenderSystem::flush | ( | RenderInfoClass & | rinfo | ) |
draw all tracks that were requested for rendering.
Draw all active track marks for this frame
set to identity
Definition at line 864 of file W3DWaterTracks.cpp.
| void WaterTracksRenderSystem::init | ( | void | ) |
pre-allocate track objects
initialize the system, allocate all the render objects we will need
Definition at line 708 of file W3DWaterTracks.cpp.
| void WaterTracksRenderSystem::loadTracks | ( | void | ) |
load tracks from disk
Definition at line 1007 of file W3DWaterTracks.cpp.
| void WaterTracksRenderSystem::ReAcquireResources | ( | void | ) |
Reacquire all resources after device reset.
(Re)allocates all W3D assets after a reset..
Definition at line 645 of file W3DWaterTracks.cpp.
| void WaterTracksRenderSystem::ReleaseResources | ( | void | ) |
Release all dx8 resources so the device can be reset.
(Re)allocates all W3D assets after a reset..
Definition at line 695 of file W3DWaterTracks.cpp.
|
protected |
returns track object to free store.
Returns a track laying object to free store to be used again later.
Definition at line 583 of file W3DWaterTracks.cpp.
| void WaterTracksRenderSystem::reset | ( | void | ) |
free all map dependent items.
Definition at line 761 of file W3DWaterTracks.cpp.
| void WaterTracksRenderSystem::saveTracks | ( | void | ) |
save all used tracks to disk
Definition at line 969 of file W3DWaterTracks.cpp.
| void WaterTracksRenderSystem::shutdown | ( | void | ) |
release all pre-allocated track objects, called by destructor
Shutdown and free all memory for this system
Definition at line 787 of file W3DWaterTracks.cpp.
| void WaterTracksRenderSystem::unbindTrack | ( | WaterTracksObj * | mod | ) |
releases control of track object
Called when an object (i.e Tank) will not lay down any more tracks and doesn't need this object anymore. The track-laying object will be returned to pool of available tracks as soon as any remaining track edges have faded out.
Definition at line 570 of file W3DWaterTracks.cpp.
| void WaterTracksRenderSystem::update | ( | void | ) |
update the state of all edges (fade alpha, remove old, etc.)
Update the state of all active track marks - fade, expire, etc.
Definition at line 829 of file W3DWaterTracks.cpp.
|
friend |
Definition at line 107 of file W3DWaterTracks.h.
|
protected |
start of unused vertices in vertex buffer
Definition at line 141 of file W3DWaterTracks.h.
|
protected |
Definition at line 137 of file W3DWaterTracks.h.
|
protected |
indices defining triangles in maximum length track
Definition at line 132 of file W3DWaterTracks.h.
|
protected |
water level
Definition at line 142 of file W3DWaterTracks.h.
|
protected |
shader or rendering state for heightmap
Definition at line 134 of file W3DWaterTracks.h.
|
protected |
resolution (vertex count) of wave strip
Definition at line 139 of file W3DWaterTracks.h.
|
protected |
resolution (vertex count) of wave strip
Definition at line 140 of file W3DWaterTracks.h.
|
protected |
active objects being rendered in the scene
Definition at line 136 of file W3DWaterTracks.h.
|
protected |
vertex buffer used to draw all tracks
Definition at line 131 of file W3DWaterTracks.h.
|
protected |
vertex lighting material
Definition at line 133 of file W3DWaterTracks.h.