|
|
|
|
Documentation |
|
Main Page Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members Related Pages Search
NL3D::CVegetableManager Class ReferenceManager of vegetable.
More...
#include <vegetable_manager.h>
List of all members.
CVegetableBlendLayerModel mgt. |
void | setupRenderStateForBlendLayerModel (IDriver *driver) |
| called by CVegetableBlendLayerModel. More...
|
void | exitRenderStateForBlendLayerModel (IDriver *driver) |
uint | _NumZSortBlendLayers |
| For Alpha Blend rdrPass, ordering into layers. More...
|
float | _ZSortLayerDistMax |
CScene * | _ZSortScene |
std::vector< CVegetableBlendLayerModel * > | _ZSortModelLayers |
std::vector< CVegetableBlendLayerModel * > | _ZSortModelLayersUW |
UpdateLighting management |
void | doUpdateLighting () |
| update lighting according to _ULNVerticesToUpdate. More...
|
bool | updateLightingIGPart () |
| update part of the RootIg, according to _ULNVerticesToUpdate (while > 0) if all Ig is updated, return true and _ULCurrentIgRdrPass and _ULCurrentIgInstance is updated. More...
|
uint | updateInstanceLighting (CVegetableInstanceGroup *ig, uint rdrPassId, uint instanceId) |
| update part of an ig. More...
|
double | _ULPrecTime |
bool | _ULPrecTimeInit |
double | _ULTime |
float | _ULFrequency |
| Frequency of update. More...
|
float | _ULNVerticesToUpdate |
| Current number of vertices to update. If negative, I have some advance. More...
|
uint | _ULNTotalVertices |
| Sum of all ig vertices to update. More...
|
CVegetableInstanceGroup * | _ULRootIg |
| the priority list of ig to update. More...
|
uint | _ULCurrentIgRdrPass |
| Current instance to render in the first ig to update: rdrpass/instanceId. More...
|
uint | _ULCurrentIgInstance |
Public Types |
enum | TVegetableWater { AboveWater = 0,
UnderWater,
IntersectWater,
VegetInfoLast
} |
| Micro vegetation position against Water. Above water is the default. More...
|
Public Methods |
| CVegetableManager (uint maxVertexVbHardUnlit, uint maxVertexVbHardLighted, uint nbBlendLayers=NL3D_VEGETABLE_DEFAULT_NUM_BLEND_LAYER, float blendLayerDistMax=NL3D_VEGETABLE_DEFAULT_DIST_MAX) |
| ~CVegetableManager () |
void | createVegetableBlendLayersModels (CScene *scene) |
| Before any render(), you must call this method (else nlassert). More...
|
|
CVegetableShape * | getVegetableShape (const std::string &shape) |
| Load a shape if necessary, and return a shapeId for this shape. More...
|
|
CVegetableClipBlock * | createClipBlock () |
| Create a clipBlock where SortBlock will be created. More...
|
void | deleteClipBlock (CVegetableClipBlock *clipBlock) |
| delete such a clipBlock. all sortBlocks and so all ig must be deleted before. More...
|
CVegetableSortBlock * | createSortBlock (CVegetableClipBlock *clipBlock, const CVector ¢er, float radius) |
| Create a SortBlock in a clipBlock where instance group (ig) will be created. More...
|
void | deleteSortBlock (CVegetableSortBlock *sortBlock) |
| delete such a SortBlock. all ig must be deleted before. More...
|
CVegetableInstanceGroup * | createIg (CVegetableSortBlock *sortBlock) |
| create an instance group in a sortBlock, where instances will be created. More...
|
void | deleteIg (CVegetableInstanceGroup *ig) |
| delete such an ig. More...
|
|
void | reserveIgAddInstances (CVegetableInstanceGroupReserve &vegetIgReserve, CVegetableShape *shape, TVegetableWater vegetWaterState, uint numInstances) |
| reserve some instance space in an Ig. More...
|
void | reserveIgCompile (CVegetableInstanceGroup *ig, const CVegetableInstanceGroupReserve &vegetIgReserve) |
| reserve the space in the ig. More...
|
void | addInstance (CVegetableInstanceGroup *ig, CVegetableShape *shape, const NLMISC::CMatrix &mat, const NLMISC::CRGBAF &ambientColor, const NLMISC::CRGBAF &diffuseColor, float bendFactor, float bendPhase, float bendFreqFactor, float blendDistMax, TVegetableWater vegetWaterState, CVegetableUV8 dlmUV) |
| add an instance to an ig, enlarging the associated clipBlock bbox. More...
|
|
void | updateDriver (IDriver *driver) |
| must give a driver to the vegetableManager, before any addInstance(). More...
|
void | loadTexture (const std::string &texName) |
| load a global texture used for all vegetables (lookup into CPath). More...
|
void | loadTexture (ITexture *itex) |
| setup a global texture used for all vegetables (smartPtr-ized). More...
|
void | setDirectionalLight (const CRGBA &ambient, const CRGBA &diffuse, const CVector &light) |
| setup the directional light. More...
|
void | lockBuffers () |
| lock any AGP vertex buffers. More...
|
void | unlockBuffers () |
| unlock any AGP vertex buffers. More...
|
void | render (const CVector &viewCenter, const CVector &frontVector, const std::vector< CPlane > &pyramid, ITexture *textureDLM, IDriver *driver) |
| render the manager into a driver, with current viewMatrix/frustum/fog setuped Buffers should be unlocked. More...
|
|
void | setWind (const CVector &windDir, float windFreq, float windPower, float windBendMin) |
| set the Wind for animation. More...
|
void | setTime (double time) |
| set the current Time (in seconds). More...
|
|
void | setUpdateLightingTime (double time) |
| set the vegetable manager System Time (in seconds) This time is used for lighting update, and is independent of setTime(). More...
|
void | updateLighting () |
| update the lighting of Igs, within a certain amount of time. More...
|
void | setUpdateLightingFrequency (float freq) |
| set the frequency of lighting update. More...
|
void | updateLightingAll () |
| like updateLighting(), but update ALL vegetable You MUST enclose calls to updateLighting() with lockBuffers() / unlockBuffers(). More...
|
|
void | resetNumVegetableFaceRendered () |
| set to 0 the number of faces rendered. More...
|
uint | getNumVegetableFaceRendered () const |
| get the number of faces rendered by the vegetable manager. More...
|
Private Types |
typedef std::map< std::string,
CVegetableShape > | TShapeMap |
typedef TShapeMap::iterator | ItShapeMap |
Private Methods |
uint | getRdrPassInfoForShape (CVegetableShape *shape, TVegetableWater vegetWaterState, bool &instanceLighted, bool &instanceDoubleSided, bool &instanceZSort, bool &destLighted, bool &precomputeLighting) |
| get the rdrPass and other info for a given shape. More...
|
CVegetableVBAllocator & | getVBAllocatorForRdrPassAndVBHardMode (uint rdrPass, uint vbHardMode) |
| Get the good allocator for the appropriate rdr pass. More...
|
void | initVertexProgram (uint vpType) |
| init the ith vertexProgram. More...
|
void | setupVertexProgramConstants (IDriver *driver) |
| setup the vertexProgram constants. More...
|
void | swapIgRdrPassHardMode (CVegetableInstanceGroup *, uint rdrPass) |
| swap the RdrPass type (hard or soft) of the rdrPass of an instance group. More...
|
Static Private Methods |
bool | doubleSidedRdrPass (uint rdrPass) |
Private Attributes |
NLMISC::CBlockMemory< CVegetableClipBlock > | _ClipBlockMemory |
NLMISC::CBlockMemory< CVegetableSortBlock > | _SortBlockMemory |
NLMISC::CBlockMemory< CVegetableInstanceGroup > | _InstanceGroupMemory |
CTessList< CVegetableClipBlock > | _ClipBlockList |
CTessList< CVegetableClipBlock > | _EmptyClipBlockList |
TShapeMap | _ShapeMap |
CVegetableVBAllocator | _VBHardAllocator [CVegetableVBAllocator::VBTypeCount] |
CVegetableVBAllocator | _VBSoftAllocator [CVegetableVBAllocator::VBTypeCount] |
CVertexProgram * | _VertexProgram [NL3D_VEGETABLE_NRDRPASS] |
CMaterial | _VegetableMaterial |
CVector | _DirectionalLight |
NLMISC::CRGBA | _GlobalAmbient |
NLMISC::CRGBA | _GlobalDiffuse |
uint | _NumVegetableFaceRendered |
| profile. More...
|
NLMISC::CRefPtr< IDriver > | _LastDriver |
|
CVector | _WindDirection |
float | _WindFrequency |
float | _WindPower |
float | _WindBendMin |
double | _Time |
double | _WindPrecRenderTime |
double | _WindAnimTime |
float | _CosTable [NL3D_VEGETABLE_VP_LUT_SIZE] |
NLMISC::CVector2f | _WindTable [NL3D_VEGETABLE_VP_LUT_SIZE] |
NLMISC::CVector2f | _WindDeltaTable [NL3D_VEGETABLE_VP_LUT_SIZE] |
|
CVector | _AngleAxis |
CVector | _ViewCenter |
bool | _BkupFog |
NLMISC::CMatrix | _ManagerMatrix |
Friends |
class | CVegetableBlendLayerModel |
Detailed Description
Manager of vegetable.
Instance Factory and rendering. A VegetableManager should be put into a CScene model which is Opaque (ie rendered in Opaque pass), and call vegetableManager::render() at this time. a good example is CLandscape.
Because during render(), it uses and setup special "Vegetable Blend Layer models" to render transparents alpha blended vegetables. Toses models are transparent so they are drawn during the transparent pass of the renderTrav's CScene (so after the Opaque pass).
-
Author:
-
Lionel Berenguier , Nevrax France
-
Date:
-
2001
Definition at line 75 of file vegetable_manager.h.
Member Typedef Documentation
typedef TShapeMap::iterator NL3D::CVegetableManager::ItShapeMap [private]
|
|
typedef std::map<std::string, CVegetableShape> NL3D::CVegetableManager::TShapeMap [private]
|
|
Member Enumeration Documentation
enum NL3D::CVegetableManager::TVegetableWater
|
|
|
Micro vegetation position against Water. Above water is the default.
-
Enumeration values:
-
AboveWater |
|
UnderWater |
|
IntersectWater |
|
VegetInfoLast |
|
Definition at line 79 of file vegetable_manager.h. |
Constructor & Destructor Documentation
NL3D::CVegetableManager::CVegetableManager |
( |
uint |
maxVertexVbHardUnlit, |
|
|
uint |
maxVertexVbHardLighted, |
|
|
uint |
nbBlendLayers = NL3D_VEGETABLE_DEFAULT_NUM_BLEND_LAYER, |
|
|
float |
blendLayerDistMax = NL3D_VEGETABLE_DEFAULT_DIST_MAX |
|
) |
|
|
|
-
Parameters:
-
maxVertexVbHardUnlit |
maximum VertexCount in VBHard for Unlit (or precomputed lighted) vegetables |
maxVertexVbHardLighted |
maximum VertexCount in VBHard for Lighted vegetables |
nbBlendLayers |
for ZSort/AlphaBlend rdrPass: number of layers of vegetables rendered independently. |
blendLayerDistMax |
for ZSort/AlphaBlend rdrPass: distance of the farest layer. |
Definition at line 58 of file vegetable_manager.cpp.
References _CosTable, _DirectionalLight, _GlobalAmbient, _GlobalDiffuse, _NumVegetableFaceRendered, _NumZSortBlendLayers, _Time, _ULCurrentIgInstance, _ULCurrentIgRdrPass, _ULFrequency, _ULNTotalVertices, _ULNVerticesToUpdate, _ULPrecTime, _ULPrecTimeInit, _ULRootIg, _ULTime, _VBHardAllocator, _VBSoftAllocator, _VegetableMaterial, _VertexProgram, _WindAnimTime, _WindBendMin, _WindDirection, _WindFrequency, _WindPower, _WindPrecRenderTime, _ZSortModelLayers, _ZSortModelLayersUW, NL3D_VEGETABLE_CLIP_BLOCK_BLOCKSIZE, NL3D_VEGETABLE_INSTANCE_GROUP_BLOCKSIZE, NL3D_VEGETABLE_NRDRPASS, NL3D_VEGETABLE_SORT_BLOCK_BLOCKSIZE, NL3D_VEGETABLE_VP_LUT_SIZE, nlassert, NLMISC::Pi, and NLMISC::CRGBA::set. |
NL3D::CVegetableManager::~CVegetableManager |
( |
|
) |
|
|
Member Function Documentation
void NL3D::CVegetableManager::addInstance |
( |
CVegetableInstanceGroup * |
ig, |
|
|
CVegetableShape * |
shape, |
|
|
const NLMISC::CMatrix & |
mat, |
|
|
const NLMISC::CRGBAF & |
ambientColor, |
|
|
const NLMISC::CRGBAF & |
diffuseColor, |
|
|
float |
bendFactor, |
|
|
float |
bendPhase, |
|
|
float |
bendFreqFactor, |
|
|
float |
blendDistMax, |
|
|
TVegetableWater |
vegetWaterState, |
|
|
CVegetableUV8 |
dlmUV |
|
) |
|
|
|
add an instance to an ig, enlarging the associated clipBlock bbox.
If the shape is not lighted, then only diffuseColor is used, to setup color per vertex. Warning! Use OptFastFloor()! So call must be enclosed with a OptFastFloorBegin()/OptFastFloorEnd().
Also, buffer must be locked.
ambientColor and diffuseColor should be in [0..1] (no clamp), else uint8 will wrap...
nlassert() if no sufficient space reserved in reserveIgCompile(). -
Parameters:
-
dlmUV |
is the dynamic lightmap UV for this vegetable. |
-
See also:
-
reserveIgAddInstances() reserveIgCompile()
Definition at line 1148 of file vegetable_manager.cpp.
References _DirectionalLight, _GlobalAmbient, _GlobalDiffuse, _ULNTotalVertices, _ULRootIg, AboveWater, NLMISC::CRGBAF::B, NL3D::computeVegetVertexLighting, NL3D::computeVegetVertexLightingForceBestSided, NLMISC::CRGBAF::G, NLMISC::CMatrix::getPos, getRdrPassInfoForShape, getVBAllocatorForRdrPassAndVBHardMode, min, NLMISC::CMatrix::mulVector, NL3D_VEGETABLE_BLOCK_BLEND_TRANSITION_DIST, NL3D_VEGETABLE_FREQUENCY_FACTOR_PREC, NL3D_VEGETABLE_NUM_QUADRANT, NL3D_VEGETABLE_RDRPASS_UNLIT_2SIDED_ZSORT, NL3D_VEGETABLE_VPPOS_BENDINFO, NL3D_VEGETABLE_VPPOS_CENTER, NL3D_VEGETABLE_VPPOS_COLOR0, NL3D_VEGETABLE_VPPOS_COLOR1, NL3D_VEGETABLE_VPPOS_NORMAL, NL3D_VEGETABLE_VPPOS_TEX0, nlassert, NL3D::OptFastFloor, NLMISC::CRGBAF::R, swapIgRdrPassHardMode, UnderWater, and v. |
|
Create a SortBlock in a clipBlock where instance group (ig) will be created.
All AlphaBlend instances created in a SortBlock should have the same vegetWaterState: AboveWater or UnderWater. Each time an instance is added to the sortBlock it changes the _UnderWater state of the sortBlock. -
Parameters:
-
center |
you must give an approximate center for the sortBlock (for sorting) |
radius |
you must give an approximate radius for the sortBlock (for the system to know when you are IN the sortBlock, and then to sort in a better way) |
Definition at line 702 of file vegetable_manager.cpp.
References _SortBlockMemory, NLMISC::CBlockMemory< CVegetableSortBlock >::allocate, and nlassert. |
void NL3D::CVegetableManager::createVegetableBlendLayersModels |
( |
CScene * |
scene |
) |
|
|
|
delete such an ig.
After doing this, you must call igSortBlockOwner->updateSortBlock() If the sortBlock has many Igs, you can do it after deleting all your igs.
Definition at line 771 of file vegetable_manager.cpp.
References _ClipBlockList, _EmptyClipBlockList, _InstanceGroupMemory, _ULCurrentIgInstance, _ULCurrentIgRdrPass, _ULNTotalVertices, _ULRootIg, NLMISC::CBlockMemory< CVegetableInstanceGroup >::free, getVBAllocatorForRdrPassAndVBHardMode, NL3D_VEGETABLE_NRDRPASS, and nlassert. |
bool NL3D::CVegetableManager::doubleSidedRdrPass |
( |
uint |
rdrPass |
) |
[static, private] |
|
void NL3D::CVegetableManager::doUpdateLighting |
( |
|
) |
[private] |
|
void NL3D::CVegetableManager::exitRenderStateForBlendLayerModel |
( |
IDriver * |
driver |
) |
[private] |
|
uint NL3D::CVegetableManager::getNumVegetableFaceRendered |
( |
|
) |
const |
|
uint NL3D::CVegetableManager::getRdrPassInfoForShape |
( |
CVegetableShape * |
shape, |
|
|
TVegetableWater |
vegetWaterState, |
|
|
bool & |
instanceLighted, |
|
|
bool & |
instanceDoubleSided, |
|
|
bool & |
instanceZSort, |
|
|
bool & |
destLighted, |
|
|
bool & |
precomputeLighting |
|
) |
[private] |
|
|
Get the good allocator for the appropriate rdr pass.
Definition at line 182 of file vegetable_manager.cpp.
References _VBHardAllocator, _VBSoftAllocator, NL3D_VEGETABLE_RDRPASS_LIGHTED, NL3D_VEGETABLE_RDRPASS_LIGHTED_2SIDED, NL3D_VEGETABLE_RDRPASS_UNLIT, NL3D_VEGETABLE_RDRPASS_UNLIT_2SIDED, NL3D_VEGETABLE_RDRPASS_UNLIT_2SIDED_ZSORT, and nlstop.
Referenced by addInstance, deleteIg, render, swapIgRdrPassHardMode, and updateInstanceLighting. |
CVegetableShape * NL3D::CVegetableManager::getVegetableShape |
( |
const std::string & |
shape |
) |
|
|
void NL3D::CVegetableManager::initVertexProgram |
( |
uint |
vpType |
) |
[private] |
|
|
init the ith vertexProgram.
Definition at line 611 of file vegetable_manager.cpp.
References _LastDriver, _VertexProgram, NL3D::NL3D_BendProgram, NL3D::NL3D_CommonEndVegetableProgram, NL3D::NL3D_FastBendProgram, NL3D::NL3D_LightedMiddle1SidedVegetableProgram, NL3D::NL3D_LightedMiddle2SidedVegetableProgram, NL3D::NL3D_LightedStartVegetableProgram, NL3D::NL3D_UnlitMiddle1SidedAlphaBlendVegetableProgram, NL3D::NL3D_UnlitMiddle1SidedVegetableProgram, NL3D::NL3D_UnlitMiddle2SidedAlphaBlendVegetableProgram, NL3D::NL3D_UnlitMiddle2SidedVegetableProgram, NL3D::NL3D_UnlitStartVegetableProgram, NL3D_VEGETABLE_RDRPASS_LIGHTED, NL3D_VEGETABLE_RDRPASS_LIGHTED_2SIDED, NL3D_VEGETABLE_RDRPASS_UNLIT, NL3D_VEGETABLE_RDRPASS_UNLIT_2SIDED, NL3D_VEGETABLE_RDRPASS_UNLIT_2SIDED_ZSORT, and nlassert.
Referenced by updateDriver. |
void NL3D::CVegetableManager::loadTexture |
( |
ITexture * |
itex |
) |
|
|
void NL3D::CVegetableManager::loadTexture |
( |
const std::string & |
texName |
) |
|
|
|
load a global texture used for all vegetables (lookup into CPath).
|
void NL3D::CVegetableManager::lockBuffers |
( |
|
) |
|
|
void NL3D::CVegetableManager::render |
( |
const CVector & |
viewCenter, |
|
|
const CVector & |
frontVector, |
|
|
const std::vector< CPlane > & |
pyramid, |
|
|
ITexture * |
textureDLM, |
|
|
IDriver * |
driver |
|
) |
|
|
|
render the manager into a driver, with current viewMatrix/frustum/fog setuped Buffers should be unlocked.
-
Parameters:
-
textureDLM |
is the dynamic lightmap to use. can be NULL if don't want DLM |
Definition at line 1822 of file vegetable_manager.cpp.
References _AngleAxis, _ClipBlockList, _CosTable, _ManagerMatrix, _NumVegetableFaceRendered, _NumZSortBlendLayers, _Time, _VegetableMaterial, _VertexProgram, _ViewCenter, _WindAnimTime, _WindBendMin, _WindDeltaTable, _WindDirection, _WindFrequency, _WindPower, _WindPrecRenderTime, _WindTable, _ZSortLayerDistMax, _ZSortModelLayers, _ZSortModelLayersUW, NLMISC::clamp, doubleSidedRdrPass, getVBAllocatorForRdrPassAndVBHardMode, H_AUTO, NLMISC::CMatrix::identity, NL3D_VEGETABLE_FREQUENCY_FACTOR_PREC, NL3D_VEGETABLE_NRDRPASS, NL3D_VEGETABLE_NUM_QUADRANT, NL3D_VEGETABLE_RDRPASS_UNLIT_2SIDED_ZSORT, NL3D_VEGETABLE_VP_LUT_SIZE, nlassert, nlverify, NL3D::OptFastFloor, NLMISC::CMatrix::setPos, setupVertexProgramConstants, updateDriver, and z. |
|
reserve some instance space in an Ig.
nothing is really done here, after doing this for all shapes of your ig, you must call reserveIgCompile() -
Parameters:
-
vegetIgReserve |
the object where space required for the ig is added |
Definition at line 921 of file vegetable_manager.cpp.
References getRdrPassInfoForShape. |
void NL3D::CVegetableManager::resetNumVegetableFaceRendered |
( |
|
) |
|
|
void NL3D::CVegetableManager::setDirectionalLight |
( |
const CRGBA & |
ambient, |
|
|
const CRGBA & |
diffuse, |
|
|
const CVector & |
light |
|
) |
|
|
void NL3D::CVegetableManager::setTime |
( |
double |
time |
) |
|
|
void NL3D::CVegetableManager::setUpdateLightingFrequency |
( |
float |
freq |
) |
|
|
|
set the frequency of lighting update.
If freq==1, ALL lighted igs are updated each second. e.g: if 1/20, then every 20 seconds, all Igs are updated. If you set 0, no update will be done at all (this is the default setup!!).
Definition at line 2399 of file vegetable_manager.cpp.
References _ULFrequency. |
void NL3D::CVegetableManager::setUpdateLightingTime |
( |
double |
time |
) |
|
|
|
set the vegetable manager System Time (in seconds) This time is used for lighting update, and is independent of setTime().
Definition at line 2340 of file vegetable_manager.cpp.
References _ULTime. |
void NL3D::CVegetableManager::setupRenderStateForBlendLayerModel |
( |
IDriver * |
driver |
) |
[private] |
|
void NL3D::CVegetableManager::setupVertexProgramConstants |
( |
IDriver * |
driver |
) |
[private] |
|
|
setup the vertexProgram constants.
Definition at line 1773 of file vegetable_manager.cpp.
References _AngleAxis, _DirectionalLight, _ViewCenter, _WindAnimTime, _WindBendMin, _WindDeltaTable, _WindPower, _WindTable, NL3D_VEGETABLE_BLOCK_BLEND_TRANSITION_DIST, NL3D_VEGETABLE_VP_LUT_SIZE, and NLMISC::Pi.
Referenced by render, and setupRenderStateForBlendLayerModel. |
void NL3D::CVegetableManager::setWind |
( |
const CVector & |
windDir, |
|
|
float |
windFreq, |
|
|
float |
windPower, |
|
|
float |
windBendMin |
|
) |
|
|
|
set the Wind for animation.
All thoses variables may be modified each frame without penalty. -
Parameters:
-
windDir |
is the direction of the wind. NB: only XY direction is kept. |
windFreq |
is the frequency for the animation (speed) |
windPower |
is the power of the wind, and is a factor (0..1) of Bend |
windBendMin |
is a value in (0..1) which indicate how much the vegetables are bended at minimum (for very powerfull wind) |
Definition at line 2311 of file vegetable_manager.cpp.
References _WindBendMin, _WindDirection, _WindFrequency, _WindPower, and NLMISC::clamp. |
void NL3D::CVegetableManager::unlockBuffers |
( |
|
) |
|
|
void NL3D::CVegetableManager::updateDriver |
( |
IDriver * |
driver |
) |
|
|
void NL3D::CVegetableManager::updateLighting |
( |
|
) |
|
|
void NL3D::CVegetableManager::updateLightingAll |
( |
|
) |
|
|
bool NL3D::CVegetableManager::updateLightingIGPart |
( |
|
) |
[private] |
|
Friends And Related Function Documentation
friend class CVegetableBlendLayerModel [friend]
|
|
Member Data Documentation
CVector NL3D::CVegetableManager::_AngleAxis [private]
|
|
bool NL3D::CVegetableManager::_BkupFog [private]
|
|
float NL3D::CVegetableManager::_CosTable[NL3D_VEGETABLE_VP_LUT_SIZE] [private]
|
|
CVector NL3D::CVegetableManager::_DirectionalLight [private]
|
|
uint NL3D::CVegetableManager::_NumVegetableFaceRendered [private]
|
|
uint NL3D::CVegetableManager::_NumZSortBlendLayers [private]
|
|
TShapeMap NL3D::CVegetableManager::_ShapeMap [private]
|
|
double NL3D::CVegetableManager::_Time [private]
|
|
uint NL3D::CVegetableManager::_ULCurrentIgInstance [private]
|
|
uint NL3D::CVegetableManager::_ULCurrentIgRdrPass [private]
|
|
float NL3D::CVegetableManager::_ULFrequency [private]
|
|
uint NL3D::CVegetableManager::_ULNTotalVertices [private]
|
|
float NL3D::CVegetableManager::_ULNVerticesToUpdate [private]
|
|
double NL3D::CVegetableManager::_ULPrecTime [private]
|
|
bool NL3D::CVegetableManager::_ULPrecTimeInit [private]
|
|
double NL3D::CVegetableManager::_ULTime [private]
|
|
CVegetableVBAllocator NL3D::CVegetableManager::_VBHardAllocator[CVegetableVBAllocator::VBTypeCount] [private]
|
|
CVegetableVBAllocator NL3D::CVegetableManager::_VBSoftAllocator[CVegetableVBAllocator::VBTypeCount] [private]
|
|
CMaterial NL3D::CVegetableManager::_VegetableMaterial [private]
|
|
CVertexProgram* NL3D::CVegetableManager::_VertexProgram[NL3D_VEGETABLE_NRDRPASS] [private]
|
|
CVector NL3D::CVegetableManager::_ViewCenter [private]
|
|
double NL3D::CVegetableManager::_WindAnimTime [private]
|
|
float NL3D::CVegetableManager::_WindBendMin [private]
|
|
NLMISC::CVector2f NL3D::CVegetableManager::_WindDeltaTable[NL3D_VEGETABLE_VP_LUT_SIZE] [private]
|
|
CVector NL3D::CVegetableManager::_WindDirection [private]
|
|
float NL3D::CVegetableManager::_WindFrequency [private]
|
|
float NL3D::CVegetableManager::_WindPower [private]
|
|
double NL3D::CVegetableManager::_WindPrecRenderTime [private]
|
|
NLMISC::CVector2f NL3D::CVegetableManager::_WindTable[NL3D_VEGETABLE_VP_LUT_SIZE] [private]
|
|
float NL3D::CVegetableManager::_ZSortLayerDistMax [private]
|
|
CScene* NL3D::CVegetableManager::_ZSortScene [private]
|
|
The documentation for this class was generated from the following files:
|
|