NL3D Namespace Reference

This namespace contains all 3D class. More...

Classes

class  IAnimCtrl
 This is a handler for extra Animation behavior on Skeleton Models. More...
class  CAnimDetailTrav
 The AnimDetail traversal. More...
class  IAnimatable
 An animatable object. More...
class  CAnimatedLightmap
 An animated lightmap. More...
class  CMaterialBase
 An material Reference for Animated reference. More...
class  CAnimatedMaterial
 An animated material Instance of CMaterialBase NB: formated for 3ds Max :). More...
class  CMorphBase
 An animated morph (blend shape) base. More...
class  CAnimatedMorph
 An animated morph (blend shape). More...
class  IAnimatedValue
 A value handled by the animation system. More...
class  CAnimatedValueBlendable
 A template implementation of IAnimatedValue. More...
class  CAnimatedValueBlendable< NLMISC::CQuat >
 A QUATERNION implementation of IAnimatedValue. More...
class  CAnimatedValueBlendable< NLMISC::CRGBA >
 A CRGBA implementation of IAnimatedValue. More...
class  CAnimatedValueNotBlendable
 A template implementation of IAnimatedValue not blendable. More...
class  CAnimatedValueBlock
 This class must contain all the possible AnimatedValue, so the system can work It is used at ITrack evaluation to fill one of these values. More...
class  CAnimation
 This class describes animations for several tracks. More...
class  CAnimationOptimizer
 Purpose of this class is to optimize for memory and speed a CAnimation. More...
class  CAnimationPlaylist
 This class. More...
class  CAnimationSet
 An CAnimationSet is set of CAnimation. More...
class  CAnimationSetUser
 UAnimationSet implementation. More...
class  CAsyncFileManager3D
 CAsyncFileManager is a class that manage file loading in a seperate thread. More...
class  CAsyncTextureBlock
 Descriptor of TextureFile Names. More...
class  CAsyncTextureManager
 Async Loader of textures and Texture Load Balancer. More...
class  CBezierPatch
 A standard bezier patch of float. More...
class  CBloomEffect
class  CBoneBase
 This is a bone default value. More...
class  CBone
 This is a bone, for skeleton animation, with information for result WorldMatrix. More...
class  CBSPTree
 class: CBSPTree. More...
class  CCameraInfo
 A camera descriptor. More...
class  CCamera
 A Camera node, based on a CTransform node. More...
class  CCameraCol
 A tool class used to compute differents info for camera collision. More...
class  CChannelMixer
 A channel mixer. More...
class  CClipTrav
 The clip traversal. More...
class  CCloud
struct  SCloudTexture3D
struct  SCloudTextureClamp
class  CCloudScape
class  CCloudScapeUser
 implementation of UWaterInstance methods More...
class  CCluster
 CCluster. More...
class  CCoarseMeshBuild
 Class used to build the coarse meshes. More...
class  CCoarseMeshManager
 Management of coarse meshes. More...
class  CRenderStringBuffer
 A Buffer to render batch of computed string. More...
class  CLetterColors
struct  CComputedString
 CComputedString A CComputedString is a structure which permits to render a string in a driver. More...
class  CCubeGrid
 Class used to classify elements in space around a point (good for pointlight raytracing) Elements are copied at insertion, and are duplicated at compilation along the grids. More...
struct  ICubeMapFunctor
 A cube map functor should return a color from a vector (with each coordinate ranging from [-1..1]. More...
class  CDeform2d
 This perform a 2d deformation effect on the frame buffer, by using the given function and surface. More...
struct  GfxMode
 A Graphic Mode descriptor. More...
struct  EBadDisplay
class  IDriver
class  CDriverUser
 UDriver implementation. More...
struct  EDru
 Exception thrown by CDru::createGlDriver. More...
struct  EDruOpenglDriverNotFound
struct  EDruOpenglDriverCorrupted
struct  EDruOpenglDriverOldVersion
struct  EDruOpenglDriverUnknownVersion
struct  EDruOpenglDriverCantCreateDriver
class  CDRU
 The driver Utilities class of static. More...
class  CEvent3dMouseListener
 CEvent3dMouseListener is a listener that handle a 3d matrix with mouse events. More...
class  CFastPtrListNode
 See CFastPtrListBase. More...
class  CFastPtrListBase
 This class store actually an array of void*, for very fast acces (list is slower because of RAM access). More...
class  CFastPtrList
 Type Safe version of CFastPtrListBase. More...
class  CFastHLSModifier
 Singleton. More...
class  CFlareModel
 TODO Class description. More...
class  CFlareShape
 shape for a flare More...
class  CFontGenerator
 Generate bitmap based on a true type font (using freetype2). More...
class  CFontManager
 Font manager The font manager manages CMaterial pointers through a list of CSmartPtr. More...
class  CFrustum
 A Screen frustum, perspective or orthogonal. More...
class  CHeatHaze
 This perform a heat haze effect at the horizon of the scene. More...
class  CHeightMap
 A HeightMap. More...
class  CHLSColorDelta
class  CHLSColorTexture
 A colorisable texture. More...
class  CHLSTextureBank
 A bank of HLS colorisable textures. More...
class  CHLSTextureManager
 This is a list of banks of colorisable textures. More...
class  CHrcTrav
 The hierarchy traversal. More...
class  CIGSurfaceLight
 Class owned by CInstanceGroup to get StaticLightSetup for dynamic models. More...
class  CIGSurfaceLightBuild
 Class used by NL3D::CInstanceLighter to build CIGSurfaceLight with PACS surfaces. More...
class  CIndexBuffer
 An index buffer to work with the driver. More...
class  IIBDrvInfos
 Index buffer driver informations. More...
class  CIndexBufferReadWrite
 The index buffer accessor read / write. More...
class  CIndexBufferRead
 The index buffer read accessor. More...
class  CInstanceGroupUser
 Implementation of the user interface managing instance groups. More...
class  CInstanceLighter
 A class to precompute "StaticSetup" lighting for instances in an InstanceGroup. More...
class  CKey
 Interface for a key of a keyframer. More...
class  CKeyTCB
 Implementation of CKey for TCB keyframer. More...
class  CKeyBezier
 Implementation of CKey for Bezier keyframer. More...
class  CKeyTCB< NLMISC::CAngleAxis >
 Implementation of CKeyTCB for rotation. More...
class  CKeyBezier< NLMISC::CQuat >
 Implementation of CKeyBezier for rotation. More...
struct  EBadBind
 A landscape bind exception. More...
class  CLandscape
 A landscape. More...
class  CLandscapeCollisionGrid
 A grid of Tiles Id. More...
class  CLandscapeGlobals
class  CLandscapeFaceVectorManager
 Fast Allocate blocks of faces, according to the size of the block. More...
class  CLandscapeModel
 The model for MOT. More...
class  CLandscapeUser
 ULandscape Implementation. More...
class  CLandscapeVegetableBlock
 A block of vegetable IG (one IG per distance type). More...
class  CLandscapeVegetableBlockCreateContext
 Information for instanciation of vegetable IG. More...
class  CLandscapeIGManager
 This class is used to load and unload IG of landscape. More...
class  CLandscapeVBAllocator
 A class to easily allocate vertices for Landscape Far / Tile faces. More...
class  CFarVertexBufferInfo
 Info for the current Far VertexBuffer setuped (iether normal or hard). More...
class  CNearVertexBufferInfo
 Info for the current Far VertexBuffer setuped (iether normal or hard). More...
class  CLayeredOrderingTable
 The same as an ordering table, but it allows to have several layers for the display. More...
class  CLight
 Light class to work with driver. More...
class  CLightContribution
 light contribution on a model. More...
class  CLightInfluenceInterpolator
 This class is used by CLandscape and IG/Pacs to compute interpolated influence of lights (biLinear-like) on a square. More...
class  CLightTrav
 The light traversal. More...
class  CLightUser
 ULight implementation. More...
class  CLightingManager
 Owned by CLightingTrav. More...
class  CLoadBalancingGroup
 A LoadBalancing Group. More...
class  CLoadBalancingTrav
 The LoadBalancing traversal. More...
class  CLodCharacterBuilder
 A tool class used to build a CLodCharacterShape Use it by first calling setShape(), then add animations to it, and finally get result with getLodShape. More...
class  CLodCharacterInstance
 An instance of a lodCharacter (stored in CSkeletonModel). More...
class  CLodCharacterTmpBitmap
 This bitmap is builded in the Instance texturing build process of CLodCharacterManager. More...
class  CLodCharacterManager
 A Manager used to display CLodCharacter instances. More...
class  CLodCharacterShapeBuild
 A build structure information for building a CLodCharacterShape This is the structure exported from the 3D editor. More...
class  CLodCharacterShape
 A very Small Shape with anims encoded as Key Meshes. More...
class  CLodCharacterShapeBank
 A Bank of CLodCharacterShape. More...
class  CLodCharacterTexture
 This describe Texturing information for CLods. More...
class  ILogicInfo
 An interface for UScene to retrieve client information for a specified UTransform ( see UTransfrom::setLogicInfo() ). More...
class  IMaterialDrvInfos
 Driver info for the material. More...
class  CMaterial
 A material represent ALL the states relatives to the aspect of a primitive. More...
class  CMatrix3x4
 For fast vector/point multiplication. More...
class  CMatrix3x4SSE
 dummy CMatrix3x4SSE for non windows platform More...
class  CMesh
 An instanciable mesh. More...
class  CMeshGeom
 A mesh geometry. More...
class  CMeshBase
 A base mesh with just material manipulation. More...
class  CMeshBaseInstance
 An base class for instance of CMesh and CMeshMRM (which derive from CMeshBase). More...
class  CMeshBlender
 A tool class used for Alpha Blending of Meshes. More...
class  CMeshBlockManager
 A class used to render instances sorted by MeshGeom first, then per material, where possible. More...
class  CMeshGeomRenderContext
 A render Context used to render MeshGeom. More...
class  IMeshGeom
 Interface for MeshGeom. More...
class  CMeshInstance
 An instance of CMesh. More...
class  CBlendShape
class  CMeshMorpher
 Utility to blend shapes. More...
class  CMeshMRMGeom
 An MRM mesh geometry, with no materials information. More...
class  CMeshMRM
 An instanciable MRM mesh. More...
class  CMeshMRMInstance
 An instance of CMeshMRM. More...
class  CMeshMRMSkinnedGeom
 An MRM mesh geometry, with no materials information. More...
class  CMeshMRMSkinned
 An instanciable MRM mesh. More...
class  CMeshMRMSkinnedInstance
 An instance of CMeshMRMSkinned. More...
class  CMeshMultiLod
 Mesh with several LOD meshes. More...
class  CMeshMultiLodInstance
 An instance of CMeshMulitLod. More...
class  IMeshVertexProgram
 Interface to a CMeshGeom/CMeshMRMGeom Special VertexProgram Effect. More...
class  CMeshVPPerPixelLight
 This vertex program is used to perform perpixel lighting with meshs. More...
class  CMeshVPWindTree
 VertexProgram for an effect of Wind on Tree meshes. More...
class  CMiniCol
 This is a TEMPORARY collision "system". More...
class  CMotionBlur
 This class help perfoming motion blur on a portion of the screen. More...
class  CMRMBuilder
 The class for building MRMs. More...
struct  CLinearEquation
struct  CMRMVertex
 An internal mesh vertex representation for MRM building. More...
struct  CMRMAttribute
 An internal mesh vertex attribute (UV, color, normal. More...
struct  CMRMEdge
 An internal mesh edge Index representation for MRM building. More...
struct  CMRMEdgeFace
 A tuple Edge/Face. More...
struct  CMRMFaceBuild
 An internal mesh extended face representation for MRM building. More...
class  CMRMSewingMesh
 An internal polygon with LOD information for Interface system. More...
class  CMRMLevelDetail
 Degradation Control for MRM. More...
struct  CMRMCorner
 An internal mesh corner Index representation for MRM. More...
struct  CMRMFace
 An internal mesh face representation for MRM. More...
class  CMRMBlendShape
 An internal mesh representation for MRM. More...
class  CMRMMesh
 An internal mesh representation for MRM. More...
class  CMRMMeshGeom
 An internal mesh representation for MRM, with geomoprh information. More...
struct  CMRMWedgeGeom
 A geomoprh information. More...
class  CMRMMeshFinal
 An internal MRM mesh representation for MRM, with All lods information. More...
class  CMRMParameters
 This class is to be used with CMRMBuilder. More...
class  CNELU
 3d Engine Utilities. More...
class  CNoise3d
struct  IOcclusionQuery
 Interface to an occlusion query object. More...
class  COrderingTable
class  CPackedWorld
 A set of packed zones Allows for world scale collision test with a packed format. More...
class  CPackedVertex
class  CPackedTri
class  CPackedTri16
class  CPackedZoneBase
 A packed zone Compact representation of a zone with fixed tesseletion for raytarcing tests. More...
class  CPackedZone32
class  CPackedZone16
class  CParticleSystem
 This class holds a particle system. More...
class  CParticleSystemManager
 This class list all the particle systems that have resources allocated at a given time, so that we can remove the resource of those who are too far from the viewer. More...
class  CParticleSystemModel
 A particle system model : it is built using a CParticleSystemShape. More...
class  CMiniTimer
class  CParticleSystemProcess
 A system particle process; A process is anything that can be called at each update of the system. More...
class  CParticleSystemShape
 This class helps to instanciate a particle system (the shape contains a particle system prototype stored as a memory stream) Use the createInstance method to insert the system in a scene To load the shape from a file, use a shape stream. More...
class  CVector3s
struct  CPatchIdent
 A landscape patch identifier (zone/patch). More...
struct  CTrianglePatch
 A triangle from a patch identifier. More...
class  CPatchBlockIdent
 An descriptor of a group of tiles in a patch. More...
class  CPatchQuadBlock
 A group of tiles faces in a patch. More...
class  CPatch
 A landscape patch. More...
class  CPatchRdrPass
 A render pass for a landscape material (tile or texture far). More...
class  CPatchDLMPointLight
 A PointLight for Dynamic LightMap (DLM) context for a patch. More...
class  CPatchDLMContext
 A Dynamic LightMap (DLM) context for a patch. More...
class  CPatchDLMContextList
 A List of CPatchDLMContext. More...
class  CPatchUVLocator
 From a patch and UV coordinate in [0,OrderS], [0,OrderT], retrieve the appropriate coordinate in neighborhood. More...
class  CPlayListManager
 This class handles a list of pair PlayList/ChannelMixer RefPointer. More...
class  CPlayListManagerUser
 UPlayListManager implementation. More...
class  CPlayListUser
 UPlayList implementation. More...
class  CPointLight
 Description of a light. More...
class  CPointLightInfluence
 A pointLight Influence. More...
class  CPointLightModel
 This model is a dynamic light. More...
class  CPointLightNamed
 A pointLight with a name, and a default color setup. More...
class  CPointLightNamedArray
 A class used bi CInstanceGroup and CZone. More...
class  CPortal
 CPortal. More...
class  CPrimitiveProfile
 A Primitive counter. More...
struct  CPSVector
struct  CPSMultiMap
class  CSnappedVector
 a container that is like a vector, but snapped to (1<<snapPower) byte memory pages More...
class  CPSAttrib
 This class is intended to store an attribute list in a located or in a located bindable such as speed, color and so on. More...
struct  CPSInputType
 this struct only contains an enum that tell what the input of an attribute maker is More...
class  CPSAttribMakerBase
 this is the base for attribute makers. More...
class  CPSAttribMaker
 This is a base class for any attrib maker. More...
struct  CPSBinOp
 this struct has an enumeration of various binary operators available with CPSAttribMakerBinOp More...
class  CPSAttribMakerBinOp
 An attribute maker that compute an attribute in a particle system. More...
class  CPSAttribMakerT
 This template generate an attrib maker by defining the methods of the CPSCAttribMaker class. More...
class  CPSAttribMakerMemoryBase
 this functor More...
class  CPSAttribMakerMemory
 Standard version for attrib maker memory : don't redefine the getMinValue & getMaxValue methods -> meaningful for ordered sets only. More...
class  CPSAttribMakerMemory< uint32 >
 specializations for integral types : they have method getMin & getMax We update the min & max value each time a new element is inserted so it is just a minoration or a majoration of the real value. More...
class  CPSAttribMakerMemory< sint32 >
 specialization for sint32 More...
class  CPSAttribMakerMemory< float >
 specialization for float More...
struct  CPSBaseIterator
 We define a set of iterator object that can advance with a fixed point step in the source container We have 2 version for each iterator : iterators that advance with a step of 1, and iterators that advance with a fixed point (16 : 16). More...
struct  CVectNormIterator
 This special iterator on a vector attributes enables to convert the speed to its norm It is for private use only, and it has not all the functionnalities of an iterator. More...
struct  CRandomIterator
 This special iterator return random values every time it is read It is for private use only, and it has not all the functionnalities of an iterator. More...
struct  CDecalIterator
 this iterator just return the same value More...
struct  CDistIterator
 iterator that use dist to compute the value More...
struct  CFDot3AddIterator
 this iterator perform a dot prod with a vector, add an offset and take the fabs of the result More...
struct  CFSquareDot3AddIterator
 this iterator perform a dot prod with a vector, add an offset and take the square of the result More...
struct  CFClampDot3AddIterator
 this iterator perform a dot prod with a vector, add an offset. If it is negatif it return MaxInputValue, and take the abs of the result More...
struct  CFClampSquareDot3AddIterator
 this iterator perform a dot prod with a vector, add an offset. If it is negatif it return MaxInputValue, and take the square of the result More...
struct  CPSValueBlendFuncBase
 Base struct for blending function (exact or sampled). More...
class  CPSValueBlendFunc
 This temlate functor blend exactly between 2 value (no samples) To accomplish blending, it use the template function PSValueBlend It is used by CPSValueBlend. More...
class  CPSValueBlender
 This is a Value blender class. More...
class  CPSValueBlendSampleFunc
 This temlate functor blend between 2 values by performing n samples (n = template parameter) It may be faster that the CPSValueBlendFunc in some cases. More...
class  CPSValueBlenderSample
 This is a Values blender (sampled version, with n sample) class, that operate on value of type T To use this, just derive a class from a specialization of this template , create a ctor, and declare it to the class registry in the ctor, you should call _F.setValue to init the functor object. More...
class  CPSValueGradientFunc
 This functor blend between several Value. More...
class  CPSValueGradient
 This is a Values gradient class To use this, just derive a class from a specialization of this template , create a ctor, and declare it to the class registry in the ctor, you should call _F.setValue to init the functor object. More...
class  CPSValueBlendFuncRGBA
class  CPSValueBlendSampleFuncRGBA
class  CPSValueGradientFuncRGBA
class  CPSAttribMakerRGBA
class  CPSColorBlenderExact
 This is a int blender class. It just blend between 2 values. The blending is exact, and thus slow... More...
class  CPSColorBlender
class  CPSColorGradient
 This is a color gradient class NB: a non null gradient must be set before use. More...
class  CPSColorMemory
 this memorize value by applying some function on the emitter. More...
class  CPSColorBinOp
 An attribute maker whose output if the result of a binary op on colors. More...
class  CPSDirection
 This class is an interface for object for a particle system that need a direction (forces, emitter. More...
class  CPSDot
 this is just a coloured dot More...
struct  IPSMover
 In this file, we define interfaces to interact more precisely with located in a particle system It allows to manipulate individual elements of a located For example, it allows you to move a collision plane after its creation, or to move a particular particle that you've instancied yourself. More...
class  CPSEmitter
 Base class for all emitters in a particle system. More...
class  CPSModulatedEmitter
 This class helps tuning the emission strenght. More...
class  CPSEmitterDirectionnal
 Emit in one direction. This can be the 0, 0, 0 vector. More...
class  CPSRadialEmitter
 A radial emitter. The direction gives the normal to the plane of emission. More...
class  CPSEmitterOmni
 Emit randomly in all direction. More...
class  CPSEmitterRectangle
 Emit directionnally in a rectangle (useful to produce snow, drop of water ...). More...
class  CPSEmitterConic
 The same as a directionnel emitter, but you can also specify the radius for emission. More...
class  CPSSphericalEmitter
struct  CPlaneBasisPair
class  CPSFace
 A face particle Unlike FaceLookAt, these particle can have an orientation in space. More...
class  CPSFaceLookAt
 A FaceLookAt particle These particles can have 2 different size (width and height) when activated. More...
class  CPSFanLight
 A fan light particle. More...
class  CPSFloatBlender
 these are some attribute makers for float This is a float blender class. More...
class  CPSFloatGradient
 This is a float gradient class. More...
class  CPSFloatMemory
 this memorize float by applying some function on the emitter. More...
class  CPSFloatBinOp
 An attribute maker whose output is the result of a binary op on floats. More...
class  CPSFloatCurveFunctor
 this functor produce float based on a hermite curve NB : must be init before use, or assert occurs More...
class  CPSFloatCurve
class  CPSForce
 All forces in the system derive from this class It has a list with all located on which the force can apply. More...
class  CPSForceIntensity
 this is a class to set force instensity (acceleration for gravity, k coefficient for springs...) More...
class  CPSForceIntensityHelper
 this class defines the newElement, deleteElement, and resize method of a class that derives from CPSForceIntensity And that don't add per paerticle attribute More...
class  CIsotropicForceT
 a helper class to create isotropic force : they are independant of the basis, and have no position (fluid friction for example) To use this class you should provide to it a functor class that define the () operator with 3 parameters param1 = a const reference to the position of the particle param2 = a reference to the position, that must be updated param3 = a float giving the inverse of the mass param4 = the ellapsed time, in second (has the TAnimationTime type). More...
class  CPSDirectionnalForce
 a force that has the same direction everywhere. More...
class  CPSGravity
 a gravity class. Mass isn't taken in account (true with a uniform gravity model, near earth ) More...
class  CPSCentralGravity
 a central gravity class. Mass is taken in account here More...
class  CPSSpring
 a spring class More...
class  CPSFluidFrictionFunctor
 a fluid friction functor, it is used by the fluid friction class More...
class  CPSFluidFriction
 the fluid friction force. More...
class  CPSBrownianForce
 A Brownian motion. More...
struct  CPSTurbulForceFunc
 a turbulence force functor More...
class  CPSTurbul
class  CPSCylindricVortex
 a cylindric vortex. More...
class  CPSMagneticForce
 a magnetic field that has the given direction More...
class  CPSIntBlender
 these are some attribute makers for int More...
class  CPSUIntBlender
class  CPSIntGradient
 This is a int gradient class. More...
class  CPSUIntGradient
class  CPSIntMemory
 this memorize value by applying some function on the emitter. More...
class  CPSUIntMemory
 this memorize value by applying some function on the emitter. More...
class  CPSIntBinOp
 An attribute maker whose output if the result of a binary op on uint32. More...
class  CPSUIntBinOp
 An attribute maker whose output if the result of a binary op on uint32. More...
struct  CAdvance1Iterator
 Class that manage iterator progression with a step of 1 We assume that T::value_type gives the operator* return type T is the type of the iterator. More...
struct  CAdvance1616Iterator
 Class that manage iterator progression with a step of 16:16 in fixed point We assume that T::value_type gives the operator* return type T is the type of the iterator This iterator is READ-ONLY NOTE: this iterator is not intended to serves with STL algo, it doesn't support all the needed features, ++ and * operator are provided as syntaxic sugars. More...
class  CPSLight
 A group of dynamic light created by a particle system. More...
struct  CPSCollisionInfo
 This structure helps to perform the collision step, by telling which collisionner is the nearest if there are several candidate a distance of -1 indicates that no collisions occured. More...
class  CPSLocated
 this class is a located : it belongs to a particle system, and it represents any kind of object that has a position in the world. More...
class  CPSLocatedBindable
 an instance of these class can be bound to a particle system located this include forces, particle, and so on. More...
class  CPSTargetLocatedBindable
 This class is a located bindable that can focus on several target Can be inherited by bindable like forces or collision zones. More...
class  CPSMesh
 This class is for mesh handling. More...
class  CPSConstraintMesh
 This class is for mesh that have very simple geometry. More...
class  CPSParticle
 This is the base class for all particles. More...
class  CPSColoredParticle
 this class adds tunable color to a particle. Can be added using public multiple inheritance More...
class  CPSSizedParticle
 this class adds tunable size to a particle. Can be added using public multiple inheritance More...
class  CPSRotated2DParticle
 this class adds tunable 2D rotation to a particle, it can be used by public multiple inheritance More...
struct  CPSTexturedParticleNoAnim
 this class is an interface for particles that have unanimated textures More...
class  CPSTexturedParticle
 this class adds a texture to a particle. More...
class  CPSMultiTexturedParticle
 This class add multitexturing support to particles. More...
class  CPSRotated3DPlaneParticle
 this class adds tunable 3D rotation to a PLANE particle, it can be used by public multiple inheritance It must just produce 2 vectors that give the x and y vector of the local basis. More...
struct  CPSHintParticleRotateTheSame
 This add a hint to rotated particle : only a few one are rotated, and the other are duplcated. More...
struct  CPSTailParticle
 base struct for particle that have a tail More...
struct  CPSShapeParticle
 base struct for particles that can have a shape (e.g mesh...) More...
class  CPSMaterial
 this contains material of a particle, this doesn't initiliaze anything, this just give the abylity to change the blending mode More...
struct  CPlaneBasis
 A basis for plane object, used by particle by face and shockwaves It's a like a 2x3 matrix, (with only the X and Y vector defined). More...
class  CPSPlaneBasisBlender
 these are some attribute makers for plane_basis This is a plane basis class. More...
class  CPSPlaneBasisGradient
 This is a PlaneBasis gradient class. More...
class  CPSPlaneBasisFollowSpeed
 this is a 'follow direction' plane basis maker It set the plane basis to have its normal in the same direction than speed of the located The cycle param has no effect o the direction More...
class  CPSPlaneBasisMemory
 this memorize value by applying some function based on the emitter. More...
class  CPSPlaneBasisBinOp
 An attribute maker whose output if the result of a binary op on plane basis. More...
class  CSpinnerFunctor
class  CPSBasisSpinner
 this is a spinner : this compute a basis by applying a rotation over the given axis More...
class  CPSQuad
 This abstract class holds what is needed with quad particles (CPSFaceLookAt, CPSFace) e.g Index and vertex buffer and method to setup them Material, and method to setup them. More...
class  CPSRibbon
 'Ribbon' particle : a shape is extruded while it follows the particle. More...
class  CPSRibbonBase
 Base class for ribbons. More...
class  CPSRibbonLookAt
 A ribbon look at particle. More...
class  CPSShockWave
class  CPSSound
 This is a goup of sound instances sound instance. More...
class  CPSEmitterInfo
struct  CPSSpawnInfo
class  CPSTailDot
 These particle are like dot, but a tail is following them. More...
struct  CPSUtil
 This struct contains utility functions used by the particle system. More...
class  CPSZone
 This class hold any entity that has an effect over located : a sink , a bouncing zone etc This is a kind a specialized force, and it has an attached list of the targets Not sharable accross systems. More...
class  CPSZonePlane
 A plane over which particles bounce It has an interface to move each plane individually. More...
struct  CRadiusPair
 a radius and its suare in the same struct More...
class  CPSZoneSphere
 A sphere. More...
class  CPSZoneDisc
 a disc More...
class  CPSZoneCylinder
 a caped cylinder More...
class  CPSZoneRectangle
 The same as a plane, but with a rectangle. More...
class  CPtrSet
 This is a Tool class. More...
class  CQuadEffect
 This class allow to create a sequence of small quads that tesselate a poly. More...
class  CQuadGridBase
class  CQuadGrid
 This container is a simple grid, used to quickly find elements. More...
class  CQuadGridClipClusterListDist
class  CQuadGridClipClusterQTreeNode
class  CQuadGridClipCluster
 A cluster of object for fast BBox clip. More...
class  CQuadGridClipManager
 A quadgrix of QuadGridCluster. More...
class  CQuadTree
 class: CQuadTree. More...
class  CRadixSort
 A class which sort elements T with radix sort algorithm. More...
class  CRawSkinVertex
 A simple Vertex Pos/Normal/Uv. More...
class  CRawVertexNormalSkin1
 Vertices influenced by 1 matrix only. More...
class  CRawVertexNormalSkin2
 Vertices influenced by 2 matrix only. More...
class  CRawVertexNormalSkin3
 Vertices influenced by 3 matrix only. More...
class  CRawVertexNormalSkin4
 Vertices influenced by 4 matrix only. More...
class  CRawSkinNormalCache
 The array per lod. More...
class  CRawVertexNormalSkinned1
 Vertices influenced by 1 matrix only. More...
class  CRawVertexNormalSkinned2
 Vertices influenced by 2 matrix only. More...
class  CRawVertexNormalSkinned3
 Vertices influenced by 3 matrix only. More...
class  CRawVertexNormalSkinned4
 Vertices influenced by 4 matrix only. More...
class  CRawSkinnedNormalCache
 The array per lod. More...
class  CRayMesh
 A tool class. More...
class  CRenderTrav
 The Render traversal. More...
class  CRootModel
 The purpose of this model is to do nothing in traverse*() but traverseSons() for Hrc and Clip. More...
class  CScene
 A CScene, which own a list of Render Traversals, and a render() method. More...
class  CInstanceGroup
 A CInstanceGroup is a group of mesh instance and so composed by

  • A reference to a mesh (refered by the name)
  • The transformations to get it to the world
  • The parent.
More...
class  CSceneUser
 TODO Class description. More...
class  CScissor
 A scissor, used for IDriver rendering. More...
class  CSegRemanence
 A segment (or a more complicated shape) that let a 'trace' when it is moved. More...
class  CSegRemanenceShape
 Shape for the remanence of a segment (sword stroke . More...
class  IShaderDrvInfos
 Interface for shader driver infos. More...
class  CShader
 Shader resource for the driver. More...
class  CShadowMap
 This class encapsulate all Data generated by a Shadow Caster, and read for a Shadow Receiver. More...
class  CShadowMapProjector
 Used to recompute the projection matrix, according to the receiver worldMatrix The problem is material don't support WorldSpace Coordinate Generation, but ObjectSpace ones. More...
class  CShadowMapManager
 A class to manage the render of shadow map. More...
class  CShadowPolyReceiver
 A class used to append/remove triangles that will be rendered for ShadowMap Additionally it can be used also for Camera collision for instance. More...
class  CShadowVertex
 Vertex for CShadowSkin. More...
class  CShadowSkin
 Simple Skinning for shadow map rendering. More...
class  IShape
 The basic interface for shapes. More...
class  CShapeStream
 This class is used to serialize a shape. More...
class  CShapeBank
 A CShapeBank handle all the instance of the shapes and the cache management system. More...
class  CShapeBankUser
 Implementation of the user interface managing shape bank. More...
class  CShapeInfo
class  CShiftedTriangleCache
 This is a cache of indices which are the copy of CMesh/CMeshMRM indices, but shifted according to a value. More...
class  CSkinSpecularRdrPass
 Struct used when SkinGroup is used. More...
class  CSkeletonModel
 A Skeleton model, instance of CSkeletonShape. More...
class  CSkeletonShape
 a definition of a skeleton. More...
class  CSkeletonSpawnScript
 For each skeleton, an animation of script can be assigned to spawn and unspawn models, which are sticked to some bones of the skeleton. More...
class  CSSSModelRequest
 Used by CSkeletonSpawnScript, to delay model creation. More...
class  CSkeletonWeight
 A skeleton template is a set of couple value_name / float. More...
class  CStaticQuadGrid
 This class is builded from a CQuadGrid, and is to be used when:

  • sizeof(T) is small (ie a pointer)
  • no dynamic insertion are made (builded from a CQuadGrid)
  • selection is made with a point, not a BBox.
More...
class  CStripifier
 Wrapper to NVidia(tm) Stripifier. More...
class  CSurfaceLightGrid
 Dynamic objects lighted by IG's Static Lights lookup into this grid. More...
class  CTargetAnimCtrl
 AnimCtrl used to constraint a bone to follow a target, either given by Position or Direction. More...
class  CTessBlock
 A block of 2*2 tiles, for accurate clipping. More...
class  CTessFacePListNode
 A chain link node for PriorityList. More...
class  CTessFacePriorityList
 This class manage a Priority list of elements, inserted with a "distance". More...
class  CTessNodeList
 A basic list node. More...
class  CTessList
 A basic speed list gestion, to add/remove already created Object. More...
class  CParamCoord
 The parametric coordinates of the patch. More...
class  CTessVertex
 A Landscape Vertex. More...
struct  CTessFarVertex
struct  CTessNearVertex
class  CRdrTileId
struct  CTileFace
 A tileface. More...
struct  CTileMaterial
class  CTessFace
 A Landscape Triangle. More...
class  CTextContext
 CTextContext. More...
class  CTextContextUser
 UTextContext implementation. More...
class  TTexDrvInfoPtrMap
class  ITextureDrvInfos
class  CTextureDrvShare
class  ITexture
 Interface for textures. More...
class  CTextureBlank
 This texture does generate nothing, and it is releasable. More...
class  CTextureBlend
 This is a helper texture that helps to blend between 2 others textures. More...
class  CTextureBloom
 This texture does generate nothing, and it is releasable. More...
class  CTextureBump
 This texture is a helper to build a DsDt texture from a height map (provided it is supported by hardware) The height map should be convertible to a RGBA bitmap. More...
class  CTextureCube
 CTextureCube. More...
class  CTextureDLM
 This texture is used by landscape to perform Dynamic LightMap (DLM). More...
class  CTextureEmboss
 This texture is a helper to build a embossed texture from a height map. More...
class  CTextureFar
 A CTextureFar is a set of texture used to map a whole patch when it is in far Mode. More...
class  CTextureFile
 CTextureFile. More...
class  CTextureFont
 CTextureFont. More...
class  CTextureGrouped
 This kind texture is used for grouping several other textures. More...
class  CTextureMem
 CTextureMem. More...
class  CTextureMultiFile
 This kind of texture is like a texture file except that it can encode several texture at once. More...
class  CTextureNear
 A texture container for lot of little lightmap. More...
class  CTextureUser
 UTexture implementation. More...
class  CTextureFileUser
 UTextureFile implementation. More...
class  CTextureMemUser
 UTextureMem implementation. More...
class  CTile
 Tiles. More...
class  CTileLand
 Set of tiles for a land. More...
class  CTileSetTransition
 This class manage a transition tile. More...
class  CTileBorder
 This class is a tile set. More...
class  CTileSet
 This class is a tile set. More...
class  CTileNoise
 This class manage tile noise. More...
class  CTileBank
 This class manage tile texture. More...
class  CTileColor
 A basic color Element for CPatchTexture. More...
class  CTileColorOldPatchVersion6
 Old version of TileColors for correct serialising. More...
class  CTileElement
 An Element for CPatchTexture. More...
class  CTileFarBank
 A bank for the far textures. More...
class  CTileLightInfluence
 For landscape. More...
class  CTileLumel
 This class describe an uncompressed lumel for tiles. More...
class  CTileNoiseMap
 A Noise Map for landscape. More...
class  CTileVegetableDesc
 A descriptor of vegetables for a tile. More...
class  ITrack
 The track store an animation of an animated value. More...
class  ITrackDefault
 ITrack interface for default tracks. More...
class  CTrackDefaultBlendable
 ITrackDefault implementation for blendable values. More...
class  CTrackDefaultNotBlendable
 ITrackDefault implementation for blendable values. More...
class  CTrackDefaultFloat
class  CTrackDefaultVector
class  CTrackDefaultQuat
class  CTrackDefaultInt
class  CTrackDefaultRGBA
class  CTrackDefaultString
class  CTrackDefaultBool
class  ITrackKeyFramer
 ITrack interface for keyframer. More...
class  CTrackKeyFramerConstNotBlendable
 ITrack implementation for Constant keyframer. More...
class  CTrackKeyFramerConstBlendable
 ITrack implementation for Constant keyframer. More...
class  CTrackKeyFramerLinear
 ITrack implementation for linear keyframer. More...
class  CTrackKeyFramerLinear< CKeyQuat, CQuat >
 Quaternions special implementation for linear keyframer. More...
class  CTrackKeyFramerLinear< CKeyRGBA, NLMISC::CRGBA >
 ITrack implementation for linear CRGBA keyframer. More...
class  CTCBTools
 TCB Track tools (for both normal TCB, and quat TCB). More...
class  CTrackKeyFramerTCB
 ITrack implementation for TCB keyframer. More...
class  CTrackKeyFramerTCB< CKeyTCBQuat, NLMISC::CAngleAxis >
 ITrack implementation for CQuat TCB keyframer. More...
class  CTrackKeyFramerBezier
 ITrack implementation for Bezier keyframer. More...
class  CTrackKeyFramerBezier< CKeyBezierQuat, CQuat >
 ITrack implementation for Bezier Quaternion keyframer. More...
class  CTrackKeyFramerConstFloat
class  CTrackKeyFramerConstVector
class  CTrackKeyFramerConstQuat
class  CTrackKeyFramerConstInt
class  CTrackKeyFramerConstRGBA
class  CTrackKeyFramerConstString
class  CTrackKeyFramerConstBool
class  CTrackKeyFramerLinearFloat
class  CTrackKeyFramerLinearVector
class  CTrackKeyFramerLinearQuat
class  CTrackKeyFramerLinearInt
class  CTrackKeyFramerLinearRGBA
class  CTrackKeyFramerTCBFloat
class  CTrackKeyFramerTCBVector
class  CTrackKeyFramerTCBQuat
class  CTrackKeyFramerTCBInt
class  CTrackKeyFramerTCBRGBA
class  CTrackKeyFramerBezierFloat
class  CTrackKeyFramerBezierVector
class  CTrackKeyFramerBezierQuat
class  CTrackKeyFramerBezierInt
class  CTrackKeyFramerBezierRGBA
class  CTrackSampledCommon
 Abstract Base class for CTrackSampledQuat and CTrackSampledVector. More...
class  CQuatPack
 A packed quaternion. More...
class  CTrackSampledQuat
 This track is supposed to be Lighter in memory than CTrackKeyFramerTCBQuat, and also is maybe faster. More...
class  CTrackSampleHeader
 see CTrackSamplePack More...
class  CTrackSampleCounter
 Used to build a CTrackSamplePack from CTrackSampledQuat. More...
class  CTrackSamplePack
 see CTrackSampledQuatSmallHeader usage More...
class  CTrackSampledQuatSmallHeader
 For minimum CTrackSampledQuat Header Overhead (44 bytes here). More...
class  CTrackSampledVector
 This track is supposed to be Lighter in memory than CTrackKeyFramerTCBVector, and also is maybe faster. More...
class  CTransform
 A basic node which provide an animatable matrix (ITransformable). More...
class  CTransformShape
 A transform which "is an instance of"/"point to" a IShape. More...
class  ITransformable
 Something which can be transformed in 3D space / animated. More...
class  CTraversal
 A Traversal which may be renderable in a CScene. More...
class  CTravCameraScene
 A ITravScene traversal, with camera setup (common to CRenderTrav and CClipTrav). More...
class  U3dMouseListener
 3d mouse listener More...
class  UAnimation
 Give manual access to the animation functions. More...
class  UAnimationSet
 An animation Set is a set of animation, loaded from file. More...
class  UBone
 Base interface for manipulating Bones. More...
class  UCamera
 Game interface for manipulating Camera. More...
struct  SCloudScapeSetup
class  UCloudScape
struct  CMonitorColorProperties
 Monitor color properties. More...
class  UDriver
 Game Interface for window Driver, first object to create. More...
class  UInstance
 Game interface for manipulating Objects, animations etc. More...
struct  IIGAddBegin
 Callback to know when an instance group begin to be added. More...
struct  IAddRemoveInstance
 Callback to know when an instance group is added / removed from the scene. More...
class  ITransformName
 Callback class used at instancegroup loading. More...
class  UInstanceGroup
 Game interface for managing group instance. More...
class  UInstanceMaterial
 Base interface for manipulating Material retrieved from UInstance. More...
struct  CTileAddedInfo
struct  ULandscapeTileCallback
 Callback to know when a tile of a landscape has been added/removed. More...
class  ULandscape
 Game Interface for manipulate Landscape. More...
class  ULight
 ULight implementation. More...
class  UMaterial
 Game Interface for Material. More...
class  UParticleSystemInstance
 Interface to manipulate a particle system. More...
class  UParticleSystemSound
 This init the sound for particle systems. More...
class  UPlayList
 A playlist/channelmixer, from which you setup your mix of animations (blend, skeleton template weight. More...
class  UPlayListManager
 A manager of playlist. More...
class  UPointLight
 Game interface for manipulating Dynamic Lights. More...
class  CPSSoundInstanceImpl
 This class implement a sound instance (a sound source). More...
class  CPSSoundServImpl
 This class implements PS sound server. More...
struct  UPSSoundServer
 This class is an interface which allow the particle system to create a sound. More...
struct  UPSSoundInstance
 This is an interface between the particle system and a sound instance. More...
class  IAsyncLoadCallback
class  IWaterSurfaceAddedCallback
class  ILandscapePolyDrawingCallback
class  UScene
 Game Interface for Scene. More...
class  UShape
 Game interface for managing shape. More...
class  UShapeBank
 Game interface for managing shape bank. More...
class  USkeleton
 Game interface for manipulating Skeleton. More...
class  URenderStringBuffer
 Abstract Class to render string into a temporary buffer. More...
class  ULetterColors
class  UTextContext
 A game interface to render string. More...
class  UTexture
 Game interface for manipulating Basic texture. More...
class  UTextureFile
 Game interface for manipulating texture File. More...
class  UTextureMem
 Game interface for manipulating texture RAW. More...
class  UTrack
 A track is a fonction that interpolate a value over the time. More...
class  UTrackKeyframer
 This is a keyframer track interface. More...
class  UTransform
 Base interface for manipulating Movable Objects in the scene: camera, lights, instances etc. More...
class  UTransformable
 Base interface for manipulating Movable Objects: camera, bones, lights, instances etc. More...
struct  CSurfaceInfo
 Surface data information structure. More...
class  UVisualCollisionEntity
 Interface to visual collision entity. More...
class  UVisualCollisionManager
 Interface to visual collision manager. More...
class  UVisualCollisionMesh
 Proxy to a Collision Mesh possibly stored in a UShape. More...
class  UWaterInstance
 Helps to get infos about a water model You can get this interface by using a dynamic_cast on a UInstance that is a water instance. More...
class  UWaterHeightMapManager
 Interface to the water height map manager. More...
class  UWaterHeightMap
 Interface to water height maps. More...
struct  IWaterEnvMapRender
class  UWaterEnvMap
 An environment map that can be rendered by user. More...
class  CWaterEnvMapRenderHelper
 Helper class to render faces of a water env cubemap This helps setting the right camera matrix to compute the cubemap faces. More...
class  CWaterEnvMapRenderFromUScene
 Helper class to render faces of a water env cubemap from a UScene at the given position Deriver may redefine the preRender method for scene animation & framebuffer setup. More...
class  CVegetable
 A vegetable descriptor. More...
class  CVegetableBlendLayerModel
 A CVegetableBlendLayerModel does not have to be created by user. More...
class  CVegetableClipBlock
 A block of vegetable instance groups (via sortBlocks) which are clipped in frustum together Internal to VegetableManager. More...
class  CVegetableInstanceGroup
 A block of vegetable instances. More...
class  CVegetableInstanceGroupReserve
 Mirror struct of CVegetableInstanceGroup, for reserveIg system in CVegetableManager. More...
class  CVegetableLightEx
 Additional information to light Vegetables. More...
class  CVegetableManager
 Manager of vegetable. More...
class  CVegetableQuadrant
 Static Quadrant direction for Vegetable ZSort rdrPass. More...
class  CVegetableShapeBuild
 A vegetable shape. More...
class  CVegetableShape
 A vegetable shape. More...
class  CVegetableSortBlock
 A block of vegetable instance groups. More...
class  CVegetableUV8
 A simple tuple UV in 8 bits, for Dynamic Lightmap encoding in Alpha components of colors. More...
class  CVegetableVBAllocator
 A VB allocator (landscape like). More...
struct  CPaletteSkin
 Describe index for palette skinning. More...
class  CVertexBuffer
 A vertex buffer to work with the driver. More...
class  IVBDrvInfos
class  CVertexBufferReadWrite
 The vertex buffer accessor read / write. More...
class  CVertexBufferRead
 The vertex buffer read accessor. More...
class  CVertexBufferHeap
 A vertex buffer used to group lot of static VB in it. More...
class  IVertexProgramDrvInfos
class  CVertexProgram
 This class is a vertex program. More...
class  CVertexStreamManager
 A class used to fill a virtual Vertexbuffer, while rendering it, avoiding Stalls during Locks. More...
class  CViewport
 CViewport is the description of the viewport used to render with a driver. More...
class  CVisualCollisionEntity
 An entity created by CVisualCollisionManager. More...
class  CVisualCollisionEntityUser
 UVisualCollisionEntity implementation. More...
class  CVisualTileDescNode
 Server to Client collision manager. More...
class  CVisualCollisionManager
 Server to Client collision manager. More...
class  CVisualCollisionManagerUser
 UVisualCollisionManager implementation. More...
class  CVisualCollisionMesh
 Collision mesh used for camera collision for instance Additionally used for ShadowMap receiving. More...
class  CWaterEnvMap
 User computed environment map for water reflection Derivers should define the 'render' method to draw the envmap. More...
class  CWaterEnvMapUser
class  CWaterHeightMap
class  CWaterModel
 A water surface. More...
class  CWaveMakerModel
 This model can create wave where it is located. It has no display... More...
class  CWaterPoolManager
 This class helps managing various waters pools. More...
class  CWaterShape
 A water shape. More...
class  CWaveMakerShape
 A wave maker. It can generate waves where it is located. More...
struct  CBorderVertex
 The struct for connectivity of zone vertices. More...
struct  CPatchInfo
 The struct for building a patch. More...
struct  CZoneInfo
 The struct for building a zone. More...
class  CZone
 A landscape zone. More...
class  CZoneCornerSmoother
 A class used to setup CornerSmoothFlag in CPatch. More...
class  CZoneLighter
class  CZoneManager
 CZoneManager is a class that manage zone loading around of player. More...
class  CZoneLoadingTask
 CZoneLoadingTask implement run methode for loading a zone for TaskManager. More...
class  CZoneSearch
 CZoneSearch is a class that determine which zone cooresponding to a coordinate and zones are around a position. More...
class  CZoneSmoother
 A class used to make Bezier patch of zones G1. More...
class  CZoneSymmetrisation
 Environnement used to symmetrise zones. More...
class  CZoneTgtSmoother
 A class used to make Vertices coplanar IN or/and across zones. More...
struct  CTempTrackInfo
class  CLoadMeshCancel
class  CLoadTextureCancel
struct  CFadeShadowMapSort
class  CInsertedBitmap
class  COcclusionQueryD3D
class  CTextureDrvInfosD3D
class  CVertexProgamDrvInfosD3D
class  CVertexDeclaration
class  CVBDrvInfosD3D
class  CIBDrvInfosD3D
class  CShaderDrvInfosD3D
class  CNormalShaderDesc
class  CStateRecord
class  CFXPassRecord
class  CFXInputValue
class  CFXInputParams
class  CFXCache
class  CFXPassRecorder
struct  CMaterialDrvInfosD3D
class  CVolatileVertexBuffer
class  CVolatileIndexBuffer
class  CDriverD3D
class  CStateRecordLightEnable
class  CStateRecordLight
class  CStateRecordMaterial
class  CStateRecordPixelShader
class  CStateRecordPixelShaderConstantB
class  CStateRecordPixelShaderConstantF
class  CStateRecordPixelShaderConstantI
class  CStateRecordRenderState
class  CStateRecordSamplerState
class  CStateRecordTexture
class  CStateRecordTextureStageState
class  CStateRecordTransform
class  CStateRecordVertexShader
class  CStateRecordVertexShaderConstantB
class  CStateRecordVertexShaderConstantF
class  CStateRecordVertexShaderConstantI
class  COcclusionQueryGL
class  CTextureDrvInfosGL
class  CVBDrvInfosGL
class  CShaderGL
class  CVertexBufferInfo
 Info for the last VertexBuffer setuped (iether normal or hard). More...
class  CIndexBufferInfo
 Info for the last IndexBuffer setuped (iether normal or hard). More...
class  CDriverGL
class  CVertexProgamDrvInfosGL
struct  CGlExtensions
 The extensions used by NL3D. More...
struct  CSpecCubeMapFunctor
class  CDriverGLStates
 Class for optimizing calls to openGL states, by caching old ones. More...
class  IVertexArrayRange
 Interface to a Big block of AGP memory either throurgh NVVertexArrayRange or ATIVertexObject. More...
class  IVertexBufferHardGL
 Common interface for both NVidia and ATI extenstion. More...
class  CVertexArrayRangeNVidia
 Work only if ARRAY_RANGE_NV is enabled. More...
class  CVertexBufferHardGLNVidia
 Work only if ARRAY_RANGE_NV is enabled. More...
class  CVertexArrayRangeATI
 Work only if ATIVertexArrayObject is enabled. More...
class  CVertexBufferHardGLATI
 Work only if ARRAY_RANGE_NV is enabled. More...
class  CVertexArrayRangeMapObjectATI
 TEMP nico : test if better with ATI_map_object_buffer We don't manage a heap there, we just allocate separate objects (can't get a pointer on a portion of the buffer only . More...
class  CVertexBufferHardGLMapObjectATI
 vb hard using the ATI_map_object_buffer extension. More...
class  CVertexArrayRangeARB
class  CVertexBufferHardARB
 vb hard using the ARB_vertex_buffer_object extension. More...
class  CTextureDebugInfo
class  CTextureDebugKey
struct  CModeSorter
struct  CSinWave
struct  CMaskInfo
class  CTextureCross
class  CTextureFarLevelInfo
struct  CVector2i
class  CLVBSqrDistLUT
struct  CSortLight
class  CMatrix3x4SSEArray
 A CMatrix3x4SSE array correctly aligned NB: SSE is no more used (no speed gain, some memory problem), but keep it for possible future usage. More...
struct  CTmpVertexWeight
class  CVectorPacker
struct  CZoneInstance
struct  CToVisitEmitter
 ======================================================================================= More...
class  CPSTextureCategory
struct  CPointLightNamedSort
class  CPSFaceHelper
 Well, we could have put a method template in CPSFace, but some compilers want the definition of the methods in the header, and some compilers don't want friend with function template, so we use a static method template of a friend class instead, which gives us the same result :). More...
struct  CLookAtAlign
 vector giving the orientation of look at More...
class  CPSFaceLookAtHelper
 Well, we could have put a method template in CPSFaceLookAt, but some compilers want the definition of the methods in the header, and some compilers don't want friend with function template, so we use a static method template of a friend class instead, which gives us the same result :). More...
class  CPSFanLightHelper
 ==================================================================================== More...
class  CDummyCollision
class  CPSConstraintMeshHelper
 Well, we could have put a method template in CPSConstraintMesh, but some compilers want the definition of the methods in the header, and some compilers don't want friend with function template, so we use a static method template of a friend class instead, which gives us the same result :). More...
struct  CDummy2DAngle
struct  CVectInfo
class  CPSShockWaveHelper
 Well, we could have put a method template in CPSShockWave, but some compilers want the definition of the methods in the header, and some compilers don't want friend with function template, so we use a static method template of a friend class instead, which gives us the same result :). More...
struct  CEdge
struct  CShadowMapSort
struct  CForceComputeBoneInfo
struct  CVertexCache
struct  COrderFace
struct  CCornerNode
class  CSortVSB
struct  CSortTri
class  CLightRunnable
class  CRenderZBuffer
class  CCalcLightableShapeRunnable
class  CFillStackNode

Typedefs

typedef
CAnimatedValueNotBlendable
< bool
CAnimatedValueBool
typedef
CAnimatedValueBlendable
< sint32
CAnimatedValueInt
typedef
CAnimatedValueBlendable< float
CAnimatedValueFloat
typedef
CAnimatedValueBlendable
< NLMISC::CVector
CAnimatedValueVector
typedef
CAnimatedValueNotBlendable
< std::string > 
CAnimatedValueString
typedef
CAnimatedValueBlendable
< NLMISC::CQuat
CAnimatedValueQuat
typedef
CAnimatedValueBlendable
< NLMISC::CRGBA
CAnimatedValueRGBA
typedef float CAnimationTime
 Animation time in second.
typedef float TAnimationTime
typedef double TGlobalAnimationTime
typedef void(* emptyProc )(void)
typedef std::list< IIBDrvInfos * > TIBDrvInfoPtrList
typedef TIBDrvInfoPtrList::iterator ItIBDrvInfoPtrList
typedef uint16 TIndexType
typedef uint16 TMeshIndexType
typedef uint16 TMeshMRMIndexType
typedef uint16 TSkinnedMeshMRMIndexType
typedef uint32 TLandscapeIndexType
typedef uint16 TLodCharacterIndexType
typedef uint16 TCoarseMeshIndexType
typedef CKey< std::string > CKeyString
typedef CKey< boolCKeyBool
typedef CKey< floatCKeyFloat
typedef CKey< NLMISC::CVectorCKeyVector
typedef CKey< NLMISC::CQuatCKeyQuat
typedef CKey< NLMISC::CRGBACKeyRGBA
typedef CKey< sint32CKeyInt
typedef CKeyTCB< floatCKeyTCBFloat
typedef CKeyTCB< NLMISC::CVectorCKeyTCBVector
typedef CKeyTCB
< NLMISC::CAngleAxis
CKeyTCBQuat
typedef CKeyBezier< floatCKeyBezierFloat
typedef CKeyBezier
< NLMISC::CVector
CKeyBezierVector
typedef CKeyBezier< NLMISC::CQuatCKeyBezierQuat
typedef std::list
< IMaterialDrvInfos * > 
TMatDrvInfoPtrList
typedef
TMatDrvInfoPtrList::iterator 
ItMatDrvInfoPtrList
typedef std::multimap< float,
CMRMEdgeFace
TEdgeMap
 The map of edge collapses.
typedef TEdgeMap::iterator ItEdgeMap
typedef NLMISC::CSmartPtr
< CPackedZoneBase
TPackedZoneBaseSPtr
typedef CPSAttrib
< NLMISC::CVector
TPSAttribVector
typedef CPSAttrib< NLMISC::CRGBATPSAttribRGBA
typedef CPSAttrib< floatTPSAttribFloat
typedef CPSAttrib< uint32TPSAttribUInt
typedef CPSAttrib< uint8TPSAttribUInt8
typedef CPSAttrib< TAnimationTimeTPSAttribTime
typedef CAdvance1Iterator
< TPSAttribFloat::const_iterator,
float
TIteratorFloatStep1
 Some typedefs.
typedef CAdvance1Iterator
< TPSAttribVector::const_iterator,
NLMISC::CVector
TIteratorVectStep1
typedef CAdvance1616Iterator
< TPSAttribFloat::const_iterator,
float
TIteratorFloatStep1616
typedef CAdvance1616Iterator
< TPSAttribFloat::const_iterator,
TAnimationTime
TIteratorTimeStep1616
typedef CAdvance1616Iterator
< TPSAttribVector::const_iterator,
NLMISC::CVector
TIteratorVectStep1616
typedef CPSAttrib< CRadiusPairTPSAttribRadiusPair
typedef std::list
< IShaderDrvInfos * > 
TShaderDrvInfoPtrList
typedef
TShaderDrvInfoPtrList::iterator 
ItShaderDrvInfoPtrList
typedef std::map< std::string,
CShapeInfo
TShapeCache
typedef std::list
< CTextureDrvShare * > 
TTexDrvSharePtrList
typedef TTexDrvInfoPtrMap::iterator ItTexDrvInfoPtrMap
typedef
TTexDrvSharePtrList::iterator 
ItTexDrvSharePtrList
typedef std::list< IVBDrvInfos * > TVBDrvInfoPtrList
typedef TVBDrvInfoPtrList::iterator ItVBDrvInfoPtrList
typedef std::list
< IVertexProgramDrvInfos * > 
TVtxPrgDrvInfoPtrList
typedef
TVtxPrgDrvInfoPtrList::iterator 
ItVtxPrgDrvInfoPtrList
typedef std::map< uint16, CZone * > TZoneMap
typedef std::map< uint16,
CZone * >::iterator 
ItZoneMap
typedef volatile CZoneTVolatileZonePtr
typedef std::list
< COcclusionQueryD3D * > 
TOcclusionQueryList
typedef IDriver *(* IDRV_CREATE_PROC )(void)
typedef uint32(* IDRV_VERSION_PROC )(void)
typedef std::vector< CVectInfoTRibbonVect
typedef std::deque< CEdgeTEdgeList

Enumerations

enum  TPSProcessPass { PSMotion, PSSolidRender, PSBlendRender, PSToolRender }
 

rendering and process passes for a particle system.

More...
enum  TPSMatrixMode { PSFXWorldMatrix = 0, PSIdentityMatrix, PSUserMatrix, PSMatrixModeCount }
 

Objects of particle systems can be local to various matrixs defined by the following enum.

More...
enum  TPSLod { PSLod1n2 = 0, PSLod1, PSLod2 }
 

lod for located bindables. (see ps_located.h)

More...

Functions

CTextureCubeBuildCubeMap (sint mapSize, ICubeMapFunctor &f, bool luminanceOnly=false, const std::string &shareName="")
 Build a cube map by using the given functor.
void nlCheckVertexBuffer (const CVertexBuffer &vb, const uint8 *ptr)
void nlCheckVBA (CVertexBufferRead &vbr, const uint8 *ptr)
void nlCheckVBA (CVertexBufferReadWrite &vbrw, const uint8 *ptr)
void nlCheckVBARange (CVertexBufferRead &vbr, const uint8 *ptStart, uint length)
void nlCheckVBARange (CVertexBufferReadWrite &vbrw, const uint8 *ptStart, uint length)
void nlCheckIBARange (CIndexBufferReadWrite &ibrw, const uint8 *ptStart, uint length)
void nlCheckIBARange (CIndexBufferRead &ibr, const uint8 *ptStart, uint length)
void nlCheckIBA (CIndexBufferReadWrite &ibrw, const uint8 *ptStart)
void nlCheckIBA (CIndexBufferRead &ibrw, const uint8 *ptStart)
void init3d ()
 Startup initialisation.
bool operator== (const CPackedVertex &lhs, const CPackedVertex &rhs)
template<class T >
PSBinOpModulate (T arg1, T arg2)
 Some template functions and some specialization for binary operations We don't override the usual operators, because we may want behaviour such as saturation, and this may be misleading with usual operators.
template<class T >
PSBinOpAdd (T arg1, T arg2)
template<class T >
PSBinOpSubtract (T arg1, T arg2)
template<>
CPlaneBasis PSBinOpModulate (CPlaneBasis p1, CPlaneBasis p2)
template<>
CPlaneBasis PSBinOpAdd (CPlaneBasis p1, CPlaneBasis p2)
template<>
CPlaneBasis PSBinOpSubtract (CPlaneBasis p1, CPlaneBasis p2)
template<>
uint32 PSBinOpSubtract (uint32 lhs, uint32 rhs)
template<>
NLMISC::CRGBA PSBinOpModulate (NLMISC::CRGBA t1, NLMISC::CRGBA t2)
template<>
NLMISC::CRGBA PSBinOpAdd (NLMISC::CRGBA t1, NLMISC::CRGBA t2)
template<>
NLMISC::CRGBA PSBinOpSubtract (NLMISC::CRGBA t1, NLMISC::CRGBA t2)
void MakePrivate (uint8 *dest, const NLMISC::CRGBA *src1, const NLMISC::CRGBA *src2, uint32 stride, uint32 numAttrib, CPSBinOp::BinOp op)
template<class T >
void MakePrivate (uint8 *dest, const T *src1, const T *src2, uint32 stride, uint32 numAttrib, CPSBinOp::BinOp op)
void Make4Private (uint8 *dest, const NLMISC::CRGBA *src1, const NLMISC::CRGBA *src2, uint32 stride, uint32 numAttrib, CPSBinOp::BinOp op)
template<class T >
void Make4Private (uint8 *dest, const T *src1, const T *src2, uint32 stride, uint32 numAttrib, CPSBinOp::BinOp op)
void MakeNPrivate (uint8 *dest, const NLMISC::CRGBA *src1, const NLMISC::CRGBA *src2, uint32 stride, uint32 numAttrib, CPSBinOp::BinOp op, uint nbReplicate)
template<class T >
void MakeNPrivate (uint8 *dest, const T *src1, const T *src2, uint32 stride, uint32 numAttrib, CPSBinOp::BinOp op, uint nbReplicate, uint32=(1<< 16))
template<typename T >
PSValueBlend (const T &t1, const T &t2, float alpha)
 a blending function it blends between t1 and t2 by the alpha amount specializing this function may help with some types of data that don't have the needed operator (NLMISC::CRGBA)
NLMISC::CRGBA PSValueBlend (const NLMISC::CRGBA &t1, const NLMISC::CRGBA &t2, float alpha)
 NLMISC::CRGBA specialization of the PSValueBlend function.
CPlaneBasis PSValueBlend (const CPlaneBasis &t1, const CPlaneBasis &t2, float alpha)
 CPlaneBasis specilization of the PSValueBlend function.
template<typename T >
void computeGradient (const T *valueTab, uint32 numValues, uint32 nbStages, typename CPSVector< T >::V &grad, T &minValue, T &maxValue)
void computeGradient (const NLMISC::CRGBA *valueTab, uint32 numValues, uint32 nbStages, CPSVector< CRGBA >::V &grad, NLMISC::CRGBA &minValue, NLMISC::CRGBA &maxValue)
NLMISC::CRGBA convertVBColor (NLMISC::CRGBA color, CVertexBuffer::TVertexColorType format)
void convertVBColor (NLMISC::CRGBA *array, uint numColor, CVertexBuffer::TVertexColorType format)
bool operator< (const CPSFloatCurveFunctor::CCtrlPoint &lhs, const CPSFloatCurveFunctor::CCtrlPoint &rhs)
bool operator< (const CPSLocatedBindable &lhs, const CPSLocatedBindable &rhs)
 less operator on located bindable.
uint ScaleFloatGE (float f, float deltaT, float clampValue, uint numStep)
 Find a quantity to add to a float f such as f + deltaT * numStep, be >= than a given float (endValue).
NLMISC::CVectorFillBufUsingSubdiv (const NLMISC::CVector &value, float clampValue, float &startValue, float deltaT, uint &maxNumStep, NLMISC::CVector *destPos, uint32 stride)
 Private function used to fill a buffer with the same value by using the given subdivision.
void SetupModulatedStage (CMaterial &m, uint stage, CMaterial::TTexSource src1, CMaterial::TTexSource src2)
 setup a stage as modulate, by specifying the source and destination
bool operator< (const CPlaneBasis &p1, const CPlaneBasis &p2)
void PSRegisterColorAttribs ()
 Register attribute makers based on colors (used in particle systems).
void PSRegisterFloatAttribs ()
 Register attribute makers based on floats (used in particle systems).
void PSRegisterIntAttribs ()
 Register attribute makers based on int (used in particle systems).
void PSRegisterPlaneBasisAttribs ()
 Register attribute makers based on colors (used in particle systems).
template<class T >
CQuadTree< T >::~CQuadTree
NL_TMPL_PARAM_ON_METHOD_1() 
T ()
void registerSerial3d ()
 This global function register all Serialisable Polymorphic 3D classes.
const NLMISC::CClassId SegRemanenceShapeId (0x4ef83d8d, 0x14d018f7)
std::string standardizeShapeName (const std::string &name)
template<class TMatrixArray >
void computeBoneMatrixes3x4 (TMatrixArray &boneMat3x4, const std::vector< uint32 > &matInfs, const CSkeletonModel *skeleton)
template<class TMatrixArray >
void computeBoneMatrixes3x4PreMul (TMatrixArray &boneMat3x4, const CMatrix &preMulMat, const std::vector< uint32 > &matInfs, const CSkeletonModel *skeleton)
 Same as computeBoneMatrixes3x4, but premul by a matrix.
bool BuildTangentSpace (CMesh::CMeshBuild &outMeshBuild, const CMesh::CMeshBuild &inMeshBuild)
 This add tangent space information to a vertex buffer.
template<class T , class TKeyVal >
void copyToValue (T &value, const TKeyVal &keyval)
void copyToValue (NLMISC::CRGBA &col, const CVector &v)
void copyToValue (sint32 &value, const float &f)
void assignSoundServerToPS (UPSSoundServer *soundServer)
 for private use only..
void SpawnedSourceEndedCallback (NLSOUND::USource *source, void *userParam)
 this callback is called when a spawned source has ended, so that we know that the pointer to it is invalid...
CWaterPoolManagerGetWaterPoolManager ()
 NLMISC_SAFE_SINGLETON_IMPL (CAsyncFileManager3D)
static void mulAdd (CVector &tgt, const CVector &src, float f)
static void mulAddD (CVectorD &tgt, const CVector &src, double f)
static uint8BuildCubeMapTex (const NLMISC::CVector &start, const NLMISC::CVector &uDir, const NLMISC::CVector &vDir, uint size, ICubeMapFunctor &f)
static uint8BuildCubeMapTexLuminance (const NLMISC::CVector &start, const NLMISC::CVector &uDir, const NLMISC::CVector &vDir, uint size, ICubeMapFunctor &f)
static void checkRange (const uint8 *min, const uint8 *max, const uint8 *start, uint length, const std::string &msg)
static void computePerturbation (const float x, const float y, float &dx, float &dy)
 compute the UV perturbation at one position of the screen (with screen mapped to 0..1, 0..1)
 __declspec (dllexport) IDriver *NL3D_createIDriverInstance()
static void D3DWndProc (CDriverD3D *driver, HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
static LRESULT CALLBACK WndProc (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
void copyRGBA2BGRA (uint32 *dest, const uint32 *src, uint nbPixels)
void setColor (D3DCOLORVALUE &dest, float r, float g, float b, float a)
void setColor (D3DCOLORVALUE &dest, const D3DCOLOR &src)
void setColor (D3DCOLORVALUE &dest, const NLMISC::CRGBA &src)
void fillQuadIndexes (uint16 *indexes, uint first, uint last)
static DWORD replaceDiffuseWithConstant (DWORD value)
static void setShaderParam (CMaterialDrvInfosD3D *pShader, uint index, INT value)
static void setShaderParam (CMaterialDrvInfosD3D *pShader, uint index, CRGBA color)
static void setShaderParam (CMaterialDrvInfosD3D *pShader, uint index, FLOAT value)
static void setShaderParam (CMaterialDrvInfosD3D *pShader, uint index, float vector[4])
static void add (std::set< uint > &dest, const std::set< uint > &toAdd)
void buildColorOperation (string &dest, const char *prefix, const char *destSizzle, uint stage, CMaterial::TTexOperator &op, CMaterial::TTexSource src0, CMaterial::TTexSource src1, CMaterial::TTexSource src2, CMaterial::TTexOperand &op0, CMaterial::TTexOperand &op1, CMaterial::TTexOperand &op2, bool unlightedNoVertexColor)
void fillQuadIndexes (uint32 *indexes, uint first, uint last)
static void setFX (CShader &s, const char *name, const char *prog, CDriverD3D *drv)
uint getPixelFormatSize (D3DFORMAT destFormat)
void dumpWriteMask (uint mask, std::string &out)
void dumpSwizzle (const CVPSwizzle &swz, std::string &out)
void dumpOperand (const CVPOperand &op, bool destOperand, std::string &out, set< uint > &inputs)
void dumpInstr (const CVPInstruction &instr, std::string &out, set< uint > &inputs)
void dump (const CVPParser::TProgram &prg, std::string &dest)
IDriverNL3D_createIDriverInstance ()
uint32 NL3D_interfaceVersion ()
uint loadARBFragmentProgramStringNative (const char *prog, bool forceNativePrograms)
 Load a ARB_fragment_program_code, and ensure it is loaded natively.
static void fetchPerturbedEnvMapR200 ()
 R200 Fragment Shader : Send fragment shader to fetch a perturbed envmap from the addition of 2 bumpmap The result is in R2 after the 2nd pass.
static bool setupARBMultiTexture (const char *glext)
static bool setupEXTTextureEnvCombine (const char *glext)
static bool setupARBTextureCompression (const char *glext)
static bool setupNVVertexArrayRange (const char *glext)
static bool setupEXTTextureCompressionS3TC (const char *glext)
static bool setupEXTVertexWeighting (const char *glext)
static bool setupEXTSeparateSpecularColor (const char *glext)
static bool setupNVTextureEnvCombine4 (const char *glext)
static bool setupATITextureEnvCombine3 (const char *glext)
static bool setupATIXTextureEnvRoute (const char *)
static bool setupATIEnvMapBumpMap (const char *glext)
static bool setupARBTextureCubeMap (const char *glext)
static bool setupNVVertexProgram (const char *glext)
static bool setupEXTVertexShader (const char *glext)
static bool setupEXTSecondaryColor (const char *glext)
static bool setupWGLARBPBuffer (const char *glext)
static bool setupNVTextureShader (const char *glext)
static bool setupEXTBlendColor (const char *glext)
static bool setupNVVertexArrayRange2 (const char *glext)
static bool setupATIVertexArrayObject (const char *glext)
static bool setupATIMapObjectBuffer (const char *glext)
static bool setupATIFragmentShader (const char *glext)
static bool setupATIVertexAttribArrayObject (const char *glext)
static bool setupARBFragmentProgram (const char *glext)
static bool setupARBVertexBufferObject (const char *glext)
static bool setupARBVertexProgram (const char *glext)
static bool setupNVOcclusionQuery (const char *glext)
static bool setupNVTextureRectangle (const char *glext)
static bool setupFrameBufferObject (const char *glext)
static bool setupPackedDepthStencil (const char *glext)
void registerGlExtensions (CGlExtensions &ext)
 This function test and register the extensions for the current GL context.
static bool setupWGLEXTSwapControl (const char *glext)
static void convBlend (CMaterial::TBlend blend, GLenum &glenum)
static void convZFunction (CMaterial::ZFunc zfunc, GLenum &glenum)
static void convColor (CRGBA col, GLfloat glcol[4])
static void convTexAddr (ITexture *tex, CMaterial::TTexAddressingMode mode, GLenum &glenum)
static CTextureDrvInfosGLgetTextureGl (ITexture &tex)
static GLint getGlSrcTextureFormat (ITexture &tex, GLint glfmt)
static GLenum getGlSrcTextureComponentType (GLint texSrcFormat)
static GLenum translateWrapToGl (ITexture::TWrapMode mode, const CGlExtensions &extensions)
static GLenum translateMagFilterToGl (CTextureDrvInfosGL *glText)
static GLenum translateMinFilterToGl (CTextureDrvInfosGL *glText)
static bool sameDXTCFormat (ITexture &tex, GLint glfmt)
static bool isDXTCFormat (GLint glfmt)
static void forceActivateTexEnvModeEnvCombine4 (const CMaterial::CTexEnv &env)
static GLenum convSwizzleToGLFormat (CVPSwizzle::EComp comp, bool negate)
static GLuint convOutputRegisterToEXTVertexShader (CVPOperand::EOutputRegister r)
 Convert an output register to a EXTVertexShader register.
static uint convInputRegisterToVBFlag (uint index)
 Convert an input register to a vertex buffer flag.
static void doSwizzle (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW)
static void doWriteMask (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW)
static void ARBVertexProgramDumpWriteMask (uint mask, std::string &out)
static void ARBVertexProgramDumpSwizzle (const CVPSwizzle &swz, std::string &out)
static void ARBVertexProgramDumpOperand (const CVPOperand &op, bool destOperand, std::string &out)
static void ARBVertexProgramDumpInstr (const CVPInstruction &instr, std::string &out)
 Dump an instruction in a string.
static void vbWrite (uint8 *&dest, const CVector &v)
static void vbWrite (uint8 *&dest, float uCoord, float vCoord)
static void getBitPack (uint32 *bitPtr, uint32 &bitMask)
static void NEL3DCalcBase (CVector &direction, CMatrix &matrix)
static void initPassTriArray (CPatchRdrPass &, uint32 numIndex)
static void drawPassTriArray (CMaterial &mat)
static uint32 countNumWantedIndex (CRdrTileId *tileToRdr, uint rdrPass)
static uint32 countNumWantedIndexFar0 (CPatch *patch)
static uint32 countNumWantedIndexFar1 (CPatch *patch)
static void computeLodLighting (CRGBA &lightRes, const CVector &lightObjectSpace, const CVector &normalPtr, CRGBA ambient, CRGBA diffuse)
static NLMISC::CAABBoxExt makeBBox (const std::vector< CVector > &Vertices)
static void applyArraySkinNormalT (uint numMatrixes, uint32 *infPtr, CMesh::CSkinWeight *srcSkinPtr, CVector *srcVertexPtr, CVector *srcNormalPtr, uint normalOff, uint8 *destVertexPtr, vector< CMatrix3x4 > &boneMat3x4, uint vertexSize, uint nInf)
 File not compiled.
static void applyArraySkinTangentSpaceT (uint numMatrixes, uint32 *infPtr, CMesh::CSkinWeight *srcSkinPtr, CVector *srcVertexPtr, CVector *srcNormalPtr, CVector *tgSpacePtr, uint normalOff, uint tgSpaceOff, uint8 *destVertexPtr, vector< CMatrix3x4 > &boneMat3x4, uint vertexSize, uint nInf)
static void SetupForMaterial (const CMaterial &mat, CScene *scene)
static bool findElement (vector< sint > &array, sint elt)
static bool deleteElement (vector< sint > &array, sint elt)
void serialPackedVector16 (std::vector< uint16 > &v, NLMISC::IStream &f)
void serialPackedVector12 (std::vector< uint16 > &v, NLMISC::IStream &f)
static void pushVBLine2D (NLMISC::CVector *&dest, const NLMISC::CVector &v0, const NLMISC::CVector &v1)
static void pushVBTri2D (NLMISC::CVector *&dest, const NLMISC::CTriangle &tri)
static void pushVBQuad2D (NLMISC::CVector *&dest, const NLMISC::CQuad &quad)
static void pushVBQuad (NLMISC::CVector *&dest, const NLMISC::CQuad &quad)
static void computeRastersUnion (const CPolygon2D::TRasterVect &inRaster0, CPolygon2D::TRasterVect &inRaster1, sint minY0, sint minY1, CPolygon2D::TRasterVect &outRaster, sint &finalMinY)
static void addQuadToSilhouette (const CVector &v0, const CVector &v1, const CVector &v2, CVector &v3, CPolygon2D::TRasterVect &sil, sint &minY, float cellSize)
template<class T >
bool raytrace (T &packedZone, const NLMISC::CVector &start, const NLMISC::CVector &end, NLMISC::CVector &inter, std::vector< CTriangle > *testedTriangles=NULL, NLMISC::CVector *normal=NULL)
uint8 getUnpackLumelBlock (const uint8 *src, uint pixel)
void bilinearColor (CRGBA corners[4], uint x, uint y, uint &R, uint &G, uint &B)
void bilinearColorAndModulate (CRGBA corners[4], uint x, uint y, CRGBA &res)
void bilinearColorAndModulatex2 (CRGBA corners[4], uint x, uint y, CRGBA &res)
void bilinearColorDiv2AndAdd (CRGBA corners[4], uint x, uint y, CRGBA &res)
void bilinearColorAndAdd (CRGBA corners[4], uint x, uint y, CRGBA &res)
void NL3D_bilinearTileLightMap (CRGBA *tex)
float noiseFloorF (float f)
float noiseCeilF (float f)
sint noiseFloor (float f)
sint noiseCeil (float f)
static void computeDisplaceBilinear (float sTile, float tTile, float &sInc, float &tInc, float &sa, float &ta, float &sa1, float &ta1)
static void renderFaceVector (TLandscapeIndexType *fv)
void fastClamp01 (float &x)
template<class T >
void DrawDot (T it, CVertexBuffer &vb, CPSAttribMaker< NLMISC::CRGBA > *colorScheme, uint leftToDo, CPSLocated *owner, CMaterial &mat, IDriver *driver, uint32 srcStep)
 ===================================================================
static void replaceNullPeriodsByThreshold (float *tab, uint numElem)
 In an arrey of float, all value that are 0.f are replaced by EMIT_PERIOD_THRESHOLD A period of 0 is allowed for emitter and means "emit at each frame" This is deprecated now, and this helps to avoid that behaviour.
static uint GenEmitterPositions (CPSLocated *emitter, CPSLocated *emittee, uint emitterIndex, uint numStep, TAnimationTime deltaT, TAnimationTime step, std::vector< NLMISC::CVector > &dest)
 private : generate the various position of an emitter in the given tab for the given slice of time,
static uint GenEmitterPositionsWithLOD (CPSLocated *emitter, CPSLocated *emittee, uint emitterIndex, uint numStep, TAnimationTime deltaT, TAnimationTime step, float invLODRatio, std::vector< NLMISC::CVector > &dest)
 The same as GenEmitterPositions, but with LOD taken in account.
static CVector MakeRandomUnitVect (void)
 ====================================================================================== this produce a random unit vector
static void BlurBytesTab (const uint8 *src, uint8 *dest, uint size)
 ====================================================================================
static uint32 IDToLittleEndian (uint32 input)
 ***************************************************************************************
static void IntegrateSpeed (uint count, float *src1, const float *src2, float *dest, float ellapsedTime)
 ***************************************************************************************
static void removeParticleFromRemoveList (uint indexToRemove, uint arraySize)
 ***************************************************************************************
void checkRemoveArray (uint size)
const std::string DummyShapeName ("dummy mesh shape")
static CMeshCreateDummyMesh (void)
 a private function that create a dummy mesh :a cube with dummy textures
static uint getMeshNumTri (const CMesh &m)
 private : eval the number of triangles in a mesh
static void CheckForOpaqueAndTransparentFacesInMesh (const CMesh &m, bool &hasTransparentFaces, bool &hasOpaqueFaces)
 private use : check if there are transparent and / or opaque faces in a mesh
static bool CheckForLightableFacesInMesh (const CMesh &m)
 private use : check if there are lightable faces in a mesh
static CMeshGetDummyMeshFromBank (CShapeBank &sb)
static void DuplicatePrimitiveBlock (const CIndexBuffer &srcBlock, CIndexBuffer &destBlock, uint nbReplicate, uint vertOffset)
 This duplicate a primitive block n time in the destination primitive block This is used to draw several mesh at once For each duplication, vertices indices are shifted from the given offset (number of vertices in the mesh).
static void ConvertToBumpMap (NLMISC::CSmartPtr< ITexture > &ptr)
static void ConvertFromBumpMap (NLMISC::CSmartPtr< ITexture > &ptr)
static void SetupQuadVBTexCoords (CVertexBuffer &vb, uint texCoordSet)
 ================================================================================== fill textures coordinates for a quad vb
static void FillQuadCoords (uint8 *dest, uint stride, const NLMISC::CVector2f &speed, float time, uint num)
static void FillQuadCoordsLocalTime (uint8 *dest, uint stride, const NLMISC::CVector2f &speed, CPSLocated &srcLoc, uint startIndex, uint num, uint32 srcStep)
static ITextureCreateGradientTexture ()
 private use : this create a gradient texture that goew from black to white
static uint8BuildRibbonFirstSlice (const NLMISC::CVector &pos, uint numVerts, uint8 *dest, uint vertexSize)
 =========================================================================
static uint8ComputeRibbonSliceFollowPath (const NLMISC::CVector &prev, const NLMISC::CVector &next, const NLMISC::CVector *shape, uint numVerts, uint8 *dest, uint vertexSize, float size, NLMISC::CMatrix &basis)
 =========================================================================
static uint8ComputeRibbonSliceIdentity (const NLMISC::CVector &prev, const NLMISC::CVector &next, const NLMISC::CVector *shape, uint numVerts, uint8 *dest, uint vertexSize, float size)
 =========================================================================
static uint8ComputeRibbonSliceFollowPathXY (const NLMISC::CVector &prev, const NLMISC::CVector &next, const NLMISC::CVector *shape, uint numVerts, uint8 *dest, uint vertexSize, float size, NLMISC::CMatrix &basis)
 =========================================================================
static uint8ComputeUntexturedRibbonMesh (uint8 *destVb, uint vertexSize, const NLMISC::CVector *curve, const NLMISC::CVector *shape, uint numSegs, uint numVerticesInShape, float sizeIncrement, float size, CPSRibbon::TOrientation orientation)
 =========================================================================
static uint8ComputeTexturedRibbonMesh (uint8 *destVb, uint vertexSize, const NLMISC::CVector *curve, const NLMISC::CVector *shape, uint numSegs, uint numVerticesInShape, float sizeIncrement, float size, CPSRibbon::TOrientation orientation)
 =========================================================================
static void setTri (CIndexBufferReadWrite &ibrw, const CVertexBuffer &vb, uint32 triIndex, uint32 i0, uint32 i1, uint32 i2)
static void BuildHermiteVector (const NLMISC::CVector &P0, const NLMISC::CVector &P1, const NLMISC::CVector &T0, const NLMISC::CVector &T1, NLMISC::CVector &dest, float lambda)
 build some hermite spline value, with the given points and tangents
static void BuildLinearVector (const NLMISC::CVector &P0, const NLMISC::CVector &P1, NLMISC::CVector &dest, float lambda, float oneMinusLambda)
 for test
static void MakeProj (NLMISC::CVector &dest, const NLMISC::CVector &src)
static void BuildSlice (const NLMISC::CMatrix &mat, CVertexBuffer &vb, uint8 *currVert, uint32 vertexSize, const NLMISC::CVector &I, const NLMISC::CVector &K, TRibbonVect::iterator pos, TRibbonVect::iterator prev, TRibbonVect::iterator next, float ribSize)
 TODO: some optimisation to get a better speed.
bool operator< (const CEdge &e1, const CEdge &e2)
 H_AUTO_DECL (NL3D_QuadClip_ClusterClip)
 H_AUTO_DECL (NL3D_QuadClip_SonsShowNoClip)
template<class TIndex >
static bool getRayIntersectionT (std::vector< NLMISC::CVector > &vertices, const std::vector< TIndex > &tris, float &dist2D, float &distZ, bool computeDist2D)
static void strReplaceAll (string &strInOut, const string &tokenSrc, const string &tokenDst)
static void vbPush (uint8 *&dest, const CVector &v)
static void vbPush (uint8 *&dest, float f)
static float easeInEaseOut (float x)
static uint DuplicateMBAndAddTexCoord (CMesh::CMeshBuild &outMeshBuild, const CMesh::CMeshBuild &inMeshBuild)
 private func : duplicate a mesh build It returns the index of the new texture coordinate or 0 if the conversion couldn't occur.
static void BuildTGSpaceVect (const NLMISC::CVector &normal, const NLMISC::CVector &sGrad, NLMISC::CUVW &result)
static void BuildTriFromMB (const CMesh::CMeshBuild &mb, const uint index[3], NLMISC::CTriangle &tri)
static bool matchEdge (const CVector2f &uv0, const CVector2f &uv1, const CVector2f &uva, const CVector2f &uvb)
static void BuildDsDt (uint32 *src, sint width, sint height, uint16 *dest)
 create a DsDt texture from a height map (red component of a rgba bitmap)
static void BuildDsDtAsRGBA (uint32 *src, sint width, sint height, uint32 *dest)
 create a rgba gradient texture from a height map (red component of a rgba bitmap)
static float NormalizeDsDt (uint16 *src, sint width, sint height)
 Normalize a DsDt texture after it has been built, and return the normalization factor.
static float NormalizeDsDtAsRGBA (uint32 *src, sint width, sint height)
static void GetTextureSize (ITexture *tex, uint &width, uint &height)
 ===================================================================================================== This is used to get the size of a texture, with an optimisation in the case of texture files
static std::string DummyTexName ("CTextureMultiFile:Dummy")
void dummyToAvoidStupidCompilerWarning_texture_user_cpp ()
void TroncFileName (char *sDest, const char *sSrc)
void computeVegetVertexLighting (const CVector &rotNormal, const CVector &sunDir, CRGBA primaryRGBA, CRGBA secondaryRGBA, CVegetableLightEx &vegetLex, CRGBA diffusePL[2], CRGBA *dst)
void computeVegetVertexLightingForceBestSided (const CVector &rotNormal, const CVector &sunDir, CRGBA primaryRGBA, CRGBA secondaryRGBA, CVegetableLightEx &vegetLex, CRGBA diffusePL[2], CRGBA *dst)
static uint32 getFVBVertex (uint section, uint side)
static CVertexProgram testMeshVP ("!!VP1.0\n\ DP4 o[HPOS].x, c[0], v[0]; \n\ DP4 o[HPOS].y, c[1], v[0]; \n\ DP4 o[HPOS].z, c[2], v[0]; \n\ DP4 o[HPOS].w, c[3], v[0]; \n\ MAD o[COL0], v[8], c[4].xxxx, c[4].yyyy; \n\ MOV o[TEX0], v[8]; \n\ END")
static float BilinFilter (float v0, float v1, float v2, float v3, float u, float v)
static void computeWaterVertexSoft (float px, float py, CVector &pos, CVector2f &envMapTexCoord, const CVector &camI, const CVector &camJ, const CVector &camK, float denom, double date, const CVector &camPos)
static void computeWaterVertexHard (float px, float py, CVector &pos, const CVector &camI, const CVector &camJ, const CVector &camK, float denom)
static CVertexProgramBuildWaterVP (bool diffuseMap, bool bumpMap, bool use2BumpMap)
 Build a vertex program for water depending on requirements.
CVector2f st2uv (sint s, sint t, const CPatchInfo &patch)
void uv2st (const CVector2f &in, sint &s, sint &t, const CPatchInfo &patch)

Variables

const NLMISC::CClassId CameraId = NLMISC::CClassId(0x5752634c, 0x6abe76f5)
const NLMISC::CClassId ClusterId = NLMISC::CClassId(0x13f37e46, 0x3e880780)
const NLMISC::CClassId FlareModelClassId = NLMISC::CClassId(0x6d674c32, 0x53b961a0)
const uint MaxFlareNum = 10
const sint NbTilesMax = 65536
const sint TextureNearSize = 512
const sint NbTileLightMapByLine = TextureNearSize/NL_TILE_LIGHTMAP_SIZE
const sint NbTileLightMapByTexture = NbTileLightMapByLine*NbTileLightMapByLine
uint NL3D_LandscapeGlobals_PassNTri = 0
void * NL3D_LandscapeGlobals_PassTriCurPtr = NULL
CIndexBuffer::TFormat NL3D_LandscapeGlobals_PassTriFormat = CIndexBuffer::IndicesUnknownFormat
const NLMISC::CClassId LandscapeModelId = NLMISC::CClassId(0x5a573b55, 0x6b395829)
sint ProfNTessFace = 0
sint ProfNRdrFar0 = 0
sint ProfNRdrFar1 = 0
sint ProfNRdrTile [NL3D_MAX_TILE_PASS]
sint ProfNRefineFaces
sint ProfNRefineComputeFaces
sint ProfNRefineLeaves
sint ProfNSplits
sint ProfNMerges
sint ProfNRefineInTileTransition
sint ProfNRefineWithLowDistance
sint ProfNSplitsPass
sint ProfNTileSetupMaterial = 0
sint ProfNFar0SetupMaterial = 0
sint ProfNFar1SetupMaterial = 0
sint ProfNPatchRdrFar0 = 0
sint ProfNPatchRdrFar1 = 0
const uint32 IDRV_MAT_MAXTEXTURES = 4
const uint32 IDRV_TOUCHED_BLENDFUNC = 0x00000001
const uint32 IDRV_TOUCHED_BLEND = 0x00000002
const uint32 IDRV_TOUCHED_SHADER = 0x00000004
const uint32 IDRV_TOUCHED_ZFUNC = 0x00000008
const uint32 IDRV_TOUCHED_ZBIAS = 0x00000010
const uint32 IDRV_TOUCHED_COLOR = 0x00000020
const uint32 IDRV_TOUCHED_LIGHTING = 0x00000040
const uint32 IDRV_TOUCHED_DEFMAT = 0x00000080
const uint32 IDRV_TOUCHED_ZWRITE = 0x00000100
const uint32 IDRV_TOUCHED_DOUBLE_SIDED = 0x00000200
const uint32 IDRV_TOUCHED_LIGHTMAP = 0x00000400
const uint32 IDRV_TOUCHED_ALPHA_TEST = 0x00000800
const uint32 IDRV_TOUCHED_ALPHA_TEST_THRE = 0x00001000
const uint32 IDRV_TOUCHED_TEXENV = 0x00002000
const uint32 IDRV_TOUCHED_TEXGEN = 0x00004000
const uint32 IDRV_TOUCHED_TEX [IDRV_MAT_MAXTEXTURES]
const uint32 IDRV_TOUCHED_ALLTEX = 0x000F0000
const uint32 IDRV_TOUCHED_ALL = 0xFFFFFFFF
const uint32 IDRV_MAT_HIDE = 0x00000001
const uint32 IDRV_MAT_TSP = 0x00000002
const uint32 IDRV_MAT_ZWRITE = 0x00000004
const uint32 IDRV_MAT_ZLIST = 0x00000008
const uint32 IDRV_MAT_LIGHTING = 0x00000010
const uint32 IDRV_MAT_SPECULAR = 0x00000020
const uint32 IDRV_MAT_DEFMAT = 0x00000040
const uint32 IDRV_MAT_BLEND = 0x00000080
const uint32 IDRV_MAT_DOUBLE_SIDED = 0x00000100
const uint32 IDRV_MAT_ALPHA_TEST = 0x00000200
const uint32 IDRV_MAT_TEX_ADDR = 0x00000400
const uint32 IDRV_MAT_LIGHTED_VERTEX_COLOR = 0x00000800
const uint32 IDRV_MAT_GEN_TEX_0 = 0x00001000
 automatic texture coordinate generation
const uint32 IDRV_MAT_GEN_TEX_1 = 0x00002000
const uint32 IDRV_MAT_GEN_TEX_2 = 0x00004000
const uint32 IDRV_MAT_GEN_TEX_3 = 0x00008000
const uint32 IDRV_MAT_GEN_TEX_4 = 0x00010000
const uint32 IDRV_MAT_GEN_TEX_5 = 0x00020000
const uint32 IDRV_MAT_GEN_TEX_6 = 0x00040000
const uint32 IDRV_MAT_GEN_TEX_7 = 0x00080000
const uint32 IDRV_MAT_USER_TEX_0_MAT = 0x00100000
 user texture matrix
const uint32 IDRV_MAT_USER_TEX_1_MAT = 0x00200000
const uint32 IDRV_MAT_USER_TEX_2_MAT = 0x00400000
const uint32 IDRV_MAT_USER_TEX_3_MAT = 0x00800000
const uint32 IDRV_MAT_USER_TEX_4_MAT = 0x01000000
const uint32 IDRV_MAT_USER_TEX_5_MAT = 0x02000000
const uint32 IDRV_MAT_USER_TEX_6_MAT = 0x04000000
const uint32 IDRV_MAT_USER_TEX_7_MAT = 0x08000000
const uint32 IDRV_MAT_USER_TEX_MAT_ALL = 0x0FF00000
const uint32 IDRV_MAT_USER_TEX_FIRST_BIT = 20
const uint32 IDRV_MAT_TEX_GEN_SHIFT = 2
const uint32 IDRV_MAT_TEX_GEN_MASK = 0x03
const NLMISC::CClassId MeshBaseInstanceId = NLMISC::CClassId(0xef44331, 0x739f6bcf)
const NLMISC::CClassId MeshInstanceId = NLMISC::CClassId(0x6bfe0a34, 0x23b26dc9)
const NLMISC::CClassId MeshMRMInstanceId = NLMISC::CClassId(0xec608f3, 0x1111c33)
const NLMISC::CClassId MeshMRMSkinnedInstanceId = NLMISC::CClassId(0x6cfd2619, 0x2f8f36fc)
const NLMISC::CClassId MeshMultiLodInstanceId = NLMISC::CClassId(0x1ade6ef8, 0x75c5a84)
const uint MaxPSUserParam = 4
 number user params for a particle system
const NLMISC::CClassId ParticleSystemModelId = NLMISC::CClassId(0x3a9b1dc3, 0x49627ff0)
const NLMISC::CClassId PointLightModelId = NLMISC::CClassId(0x7e842eba, 0x140b6c69)
const float MaxInputValue = 1.0f
 Here we define attribute maker, that is object that can produce an attribute following some rule.
const uint PSBinOpBufSize = 1024
 The size of the buffer use for intermediate operations with a binary operator.
const uint RGBA_BLENDER_NUM_VALUES = 64
uint64 PSLookAtRenderTime = 0
const uint32 DefaultMaxLocatedInstance = 1
const uint32 PSForce = 0
const uint32 PSParticle = 1
const uint32 PSEmitter = 2
const uint32 PSLight = 3
const uint32 PSZone = 4
const uint32 PSSound = 5
const uint ConstraintMeshMaxNumVerts = 512
const uint ConstraintMeshBufSize = 64
const uint ConstraintMeshMaxNumPrerotatedModels = 32
const float PSCollideEpsilon = 10E-3f
 This epsilon is in meter and give a thickness to surfaces for tests.
const NLMISC::CClassId QuadGridClipManagerId = NLMISC::CClassId(0x1ffb079a, 0x6c536a96)
const NLMISC::CClassId RootModelId = NLMISC::CClassId(0x25f0505d, 0x75c69f9)
const NLMISC::CClassId SkeletonModelId = NLMISC::CClassId(0x7d4703b4, 0x43ad6ab1)
const float OO32768 = 1.0f/0x8000
const NLMISC::CClassId TransformId = NLMISC::CClassId(0x174750cb, 0xf952024)
const NLMISC::CClassId TransformShapeId = NLMISC::CClassId(0x1e6115e6, 0x63502517)
const NLMISC::CClassId VegetableBlendLayerModelId = NLMISC::CClassId(0x77375163, 0x2fca1003)
const uint NumWaterMap = 3
 This class is a portion of water, it encodes its height, and simulates its propagation.
uint8waterVBEnd
const NLMISC::CClassId WaterModelClassId = NLMISC::CClassId(0x41a0732e, 0x6c664506)
const NLMISC::CClassId WaveMakerModelClassId = NLMISC::CClassId(0x16da3356, 0x7dec65fd)
const uint WATER_VERTEX_HARD_SIZE = sizeof(float[3])
const uint WATER_VERTEX_SOFT_SIZE = sizeof(float[5])
static const char * TextureOffset
static CVertexProgram TextureOffsetVertexProgram (TextureOffset)
static const CVector UnitScale (1, 1, 1)
const float NL3D_CameraSmoothRadiusFactor = 4
const float NL3D_CameraSmoothNumZSample = 20
const float NL3D_CameraSmoothNumAngleSample = 10
static CAnimatedValueBlock TempAnimatedValueBlock
static const double MAX_CLOUDS_ANIM_DELTA_TIME = 0.075
static const double MIN_CLOUDS_ANIM_DELTA_TIME = 0.005
static const double MAX_TIME_FOR_CLOUD_ANIM = 0.02
static const double MAX_FRAME_PERCENT_FOR_CLOUD_RENDERING = 20 / 100
static const
D3DTEXTURESTAGESTATETYPE 
SrcOperators [NL_SRC_OPERATORS_COUNT]
const D3DFORMAT FinalPixelFormat [ITexture::UploadFormatCount][CDriverD3D::FinalPixelFormatChoice]
uint indexCount = 0
uint vertexCount = 0
const uint MAX_NUM_QUADS = 32767
DWORD RemapIndexBufferUsage [CIndexBuffer::LocationCount]
D3DPOOL RemapIndexBufferPool [CIndexBuffer::LocationCount]
const D3DLIGHTTYPE RemapLightTypeNeL2D3D [3]
static const float sqrtFLT_MAX = (float) sqrtf(FLT_MAX)
const D3DBLEND RemapBlendTypeNeL2D3D [CMaterial::blendCount]
const D3DCMPFUNC RemapZFuncTypeNeL2D3D [CMaterial::zfuncCount]
const D3DTEXTUREOP RemapTexOpType0NeL2D3D [CMaterial::TexOperatorCount]
const D3DTEXTUREOP RemapTexOpTypeNeL2D3D [CMaterial::TexOperatorCount]
const uint OpNumArg [CMaterial::TexOperatorCount]
const DWORD RemapTexArg0NeL2D3D [CMaterial::TexSourceCount]
const DWORD RemapTexArgNeL2D3D [CMaterial::TexSourceCount]
const DWORD RemapTexOpArgTypeNeL2D3D [CMaterial::TexOperandCount]
const DWORD RemapTexArg0TypeNeL2D3D [CMaterial::TexOperatorCount]
const DWORD RemapTexGenTypeNeL2D3D [CMaterial::numTexCoordGenMode]
const DWORD RemapTexGenCubeTypeNeL2D3D [CMaterial::numTexCoordGenMode]
const char * RemapPSInstructions [CMaterial::TexOperatorCount]
const char * RemapPSThirdArguments [CMaterial::TexOperatorCount][2]
const char * RemapPSThirdArguments0 [CMaterial::TexOperatorCount][2]
const char * RemapPSSecondRegisterModificator [CMaterial::TexOperatorCount]
const char * RemapPSArguments [CMaterial::TexOperatorCount][2]
const char * RemapPSArguments0 [CMaterial::TexOperatorCount][2]
static const char * CloudFx
static const char * Lightmap0Fx
static const char * Lightmap0blendFx
static const char * Lightmap0blend_x2Fx
static const char * Lightmap0_x2Fx
static const char * Lightmap1Fx
static const char * Lightmap1blendFx
static const char * Lightmap1blend_x2Fx
static const char * Lightmap1_x2Fx
static const char * Lightmap2Fx
static const char * Lightmap2blendFx
static const char * Lightmap2blend_x2Fx
static const char * Lightmap2_x2Fx
static const char * Lightmap3Fx
static const char * Lightmap3blendFx
static const char * Lightmap3blend_x2Fx
static const char * Lightmap3_x2Fx
static const char * Lightmap4Fx
static const char * Lightmap4blendFx
static const char * Lightmap4blend_x2Fx
static const char * Lightmap4_x2Fx
static const char * Water_diffuseFx
static const char * Water_no_diffuseFx
const uint NL_D3D_NUM_RENDER_FOR_FX_CACHING = 4
const D3DTEXTUREADDRESS RemapTextureAdressTypeNeL2D3D [ITexture::WrapModeCount]
const D3DTEXTUREFILTERTYPE RemapMagTextureFilterTypeNeL2D3D [ITexture::MagFilterCount]
const D3DTEXTUREFILTERTYPE RemapMinTextureFilterTypeNeL2D3D [ITexture::MinFilterCount]
const D3DTEXTUREFILTERTYPE RemapMipTextureFilterTypeNeL2D3D [ITexture::MinFilterCount]
const D3DFORMAT RemapTextureFormatTypeNeL2D3D [CBitmap::ModeCount]
const bool RemapTextureFormatCompressedTypeNeL2D3D [CBitmap::ModeCount]
const D3DCUBEMAP_FACES RemapCubeFaceTypeNeL2D3D [6]
const D3DDECLTYPE RemapVertexBufferTypeNeL2D3D [CVertexBuffer::NumType]
const D3DDECLUSAGE RemapVertexBufferUsageNeL2D3D [CVertexBuffer::NumValue]
const uint RemapVertexBufferIndexNeL2D3D [CVertexBuffer::NumValue]
DWORD RemapVertexBufferUsage [CVertexBuffer::LocationCount]
D3DPOOL RemapVertexBufferPool [CVertexBuffer::LocationCount]
static const char * instrToName []
static const char * outputRegisterToName []
static const char * inputToDecl [CVPOperand::InputRegisterCount]
static const char * WaterCodeNoDiffuseForARBFragmentProgram
 Water fragment program with extension ARB_fragment_program.
static const char * WaterCodeNoDiffuseWithFogForARBFragmentProgram
static const char * WaterCodeForARBFragmentProgram
 Water fragment program with extension ARB_fragment_program and a diffuse map applied.
static const char * WaterCodeWithFogForARBFragmentProgram
static const uint8 WaterNoDiffuseTexAddrMode [IDRV_MAT_MAXTEXTURES]
 Presetupped texture shader for water shader on NV20.
static const uint8 WaterTexAddrMode [IDRV_MAT_MAXTEXTURES]
static const float IdentityTexMat [4] = { 1.f, 0.f, 0.f, 1.f }
static const GLenum OperatorLUT [9]
static const GLenum SourceLUT [4] = { GL_TEXTURE, GL_PREVIOUS_EXT, GL_PRIMARY_COLOR_EXT, GL_CONSTANT_EXT }
static const GLenum OperandLUT [4] = { GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA }
static const GLenum InterpolateSrcLUT [8]
static const GLboolean ARBVertexProgramMustNormalizeAttrib []
static const char * ARBVertexProgramInstrToName []
static const char * ARBVertexProgramOutputRegisterToName []
const char * IDRV_CREATE_PROC_NAME = "NL3D_createIDriverInstance"
const char * IDRV_VERSION_PROC_NAME = "NL3D_interfaceVersion"
NL3D::CSinWave _SinWave
CKeyTCBFloat ktoto0
CKeyTCBVector ktoto1
CKeyTCBQuat ktoto2
CKeyBezierFloat ktoto4
CKeyBezierVector ktoto5
CKeyBezierQuat ktoto6
CKeyString ktoto8
CKeyBool ktoto9
CKeyFloat ktoto10
CKeyVector ktoto11
CKeyQuat ktoto12
CLVBSqrDistLUT NL3D_InitSqrDistLUT
const char * NL3D_LandscapeCommonStartProgram
const string NL3D_LandscapeTestSpeedProgram
const char * NL3D_LandscapeFar0EndProgram
const char * NL3D_LandscapeFar1EndProgram
const char * NL3D_LandscapeTileEndProgram
const char * NL3D_LandscapeTileLightMapEndProgram
 Same version but write Tex0 to take uv2, ie v[13], for lightmap pass.
const uint NL_BlockByteL1 = 4096
static const uint VPLightConstantStart = 24
static const char * PPLightingVPCodeBegin
 We store the first tangent vector of the tangent space in v[8].
static const char * PPLightingVPNormalizeCodeBegin
 The same as above, but for skin / MRM : This normalize the tangent basis.
static const char * PPLightingNoSpecVPCodeBegin
static const char * PPLightingVPNormalizeNoSpecCodeBegin
 Omni light with normalization and no specular.
static const char * PPLightingDirectionnalVPCodeBegin
 We store the direction of the light rather than its position The direction must be normalized and expressed in model space.
static const char * PPLightingDirectionnalVPNormalizeCodeBegin
static const char * PPLightingDirectionnalNoSpecVPCodeBegin
static const char * PPLightingDirectionnalNoSpecVPNormalizeCodeBegin
static const char * PPLightingVPCodeEnd
static const char * WindTreeVPCodeWave
static const char * WindTreeVPCodeEnd
static const sint QuadDepth = 10
static const sint GridSize = 512
static const float GridEltSize = 2
static const float PS_MIN_TIMEOUT = 1.f
const float PSDefaultMaxViewDist = 300.f
 the default max distance of view for particle systems
uint64 PSStatsRegisterPSModelObserver = 0
uint64 PSStatsRemovePSModelObserver = 0
uint64 PSStatsUpdateOpacityInfos = 0
uint64 PSStatsUpdateLightingInfos = 0
uint64 PSStatsGetAABBox = 0
uint64 PSStatsReallocRsc = 0
uint64 PSStatsReleasePSPointer = 0
uint64 PSStatsRefreshRscDeletion = 0
uint64 PSStatsReleaseRsc = 0
uint64 PSStatsReleaseRscAndInvalidate = 0
uint64 PSStatsGetNumTriangles = 0
uint64 PSStatsCheckAgainstPyramid = 0
uint64 PSStatsTraverseAnimDetail = 0
uint64 PSStatsDoAnimate = 0
uint64 PSStatsDoAnimatePart1 = 0
uint64 PSStatsDoAnimatePart2 = 0
uint64 PSStatsDoAnimatePart3 = 0
uint64 PSStatsTraverseRender = 0
uint64 PSStatsTraverseClip = 0
uint64 PSStatsClipSystemInstanciated = 0
uint64 PSStatsClipSystemNotInstanciated = 0
uint64 PSStatsClipSystemCheckAgainstPyramid = 0
uint64 PSStatsInsertInVisibleList = 0
uint64 PSStatsCheckDestroyCondition = 0
uint64 PSStatsForceInstanciate = 0
uint64 PSStatsTraverseAnimDetailPart1 = 0
uint64 PSStatsTraverseAnimDetailPart2 = 0
uint64 PSStatsTraverseAnimDetailPart3 = 0
uint64 PSStatsTraverseAnimDetailPart4 = 0
uint64 PSAnim1 = 0
uint64 PSAnim2 = 0
uint64 PSAnim3 = 0
uint64 PSAnim4 = 0
uint64 PSAnim5 = 0
uint64 PSAnim6 = 0
uint64 PSAnim7 = 0
uint64 PSAnim8 = 0
uint64 PSAnim9 = 0
uint64 PSAnim10 = 0
uint64 PSAnim11 = 0
uint PSStatsNumDoAnimateCalls = 0
float PSMaxET = 0.f
uint PSMaxNBPass = 0
uint64 PSStatsZonePlane = 0
uint64 PSStatsZoneSphere = 0
uint64 PSStatsZoneDisc = 0
uint64 PSStatsZoneRectangle = 0
uint64 PSStatsZoneCylinder = 0
uint64 PSMotion1 = 0
uint64 PSMotion2 = 0
uint64 PSMotion3 = 0
uint64 PSMotion4 = 0
uint64 PSStatCollision = 0
uint64 PSStatEmit = 0
uint64 PSStatRender = 0
static const uint NL3DDecompressLumelFactor0Case0 [8]
static const uint NL3DDecompressLumelFactor1Case0 [8]
static const uint NL3DDecompressLumelFactor0Case1 [6]
static const uint NL3DDecompressLumelFactor1Case1 [6]
static uint NL3DPixelStartLumel [4] = {0, 4*3, 3, 0}
static uint NL3DDeltaLumel [4] = {4, 1, 4, 1}
static const uint dotBufSize = 1024
static const uint EMITTER_BUFF_SIZE = 512
static const float EMIT_PERIOD_THRESHOLD = 1.f / 75.f
static const uint FanLightBufSize = 128
static const uint NumVertsInBuffer = 4 * FanLightBufSize
const uint BFNumPredefinedPos = 8192
 Brownian force implementation.
const uint BFPredefinedNumInterp = 256
const uint BFNumPrecomputedImpulsions = 1024
 this should divide BFNumPredefinedPos.
CVertexBuffer RAMVBPos
 tmp : ram
CVertexBuffer RAMVBPosCol
CVertexBuffer RAMVBPosTex1
CVertexBuffer RAMVBPosTex1Col
CVertexBuffer RAMVBPosTex1Anim
CVertexBuffer RAMVBPosTex1AnimCol
CVertexBuffer RAMVBPosTex1Tex2
CVertexBuffer RAMVBPosTex1ColTex2
CVertexBuffer RAMVBPosTex1AnimTex2
CVertexBuffer RAMVBPosTex1AnimColTex2
CVertexBuffer RAMVBPosTex1Tex2Anim
CVertexBuffer RAMVBPosTex1ColTex2Anim
CVertexBuffer RAMVBPosTex1AnimTex2Anim
CVertexBuffer RAMVBPosTex1AnimColTex2Anim
CVertexBuffer *const RAMVbTab []
static NLMISC::CRGBA GradientB2W [] = {NLMISC::CRGBA(0, 0, 0, 0), NLMISC::CRGBA(255, 255, 255, 255) }
const uint EndRibbonStorage = 1
const float ZEpsilon = 10E-3f
const float NormEpsilon = 10E-8f
static const uint ShockWaveBufSize = 128
static const uint SoundBufSize = 1024
static const char * LightingVPFragmentNormalize
static const char * LightingVPFragmentNoSpecular_Begin
static const char * LightingVPFragmentNoSpecular_PL []
static const char * LightingVPFragmentNoSpecular_End
static const char * LightingVPFragmentSpecular_Begin
static const char * LightingVPFragmentSpecular_PL []
static const char * LightingVPFragmentSpecular_End
const uint8 TileUvFmtNormal1 = 0
const uint8 TileUvFmtNormal2 = 1
const uint8 TileUvFmtNormal3 = 2
const uint8 TileUvFmtNormal4 = 3
const uint8 TileUvFmtNormal5 = 4
const float TileSize = 128
const int TextureSizeX = 1024
const int TextureSizeY = 1024
const int Categories [TEXTUREFONT_NBCATEGORY] = { 8, 16, 24, 32, 64 }
const int NbLine [TEXTUREFONT_NBCATEGORY] = { 8, 24, 16, 4, 1 }
static NLMISC::CRGBA WhitePix (255, 255, 255, 255)
static CAnimatedValueBlock AnimatedValueBlock
CTrackKeyFramerTCBFloat ttoto0
CTrackKeyFramerTCBVector ttoto1
CTrackKeyFramerTCBQuat ttoto2
CTrackKeyFramerTCBInt ttoto3
CTrackKeyFramerTCBRGBA ttoto8
CTrackKeyFramerBezierFloat ttoto4
CTrackKeyFramerBezierVector ttoto5
CTrackKeyFramerBezierQuat ttoto6
CTrackKeyFramerBezierInt ttoto7
CTrackKeyFramerBezierRGBA ttoto9
CTrackKeyFramerLinearFloat lattoto10
CTrackKeyFramerLinearVector lattoto11
CTrackKeyFramerLinearQuat lattoto12
CTrackKeyFramerLinearInt lattoto13
CTrackKeyFramerLinearRGBA lattoto14
CTrackKeyFramerConstFloat attoto10
CTrackKeyFramerConstVector attoto11
CTrackKeyFramerConstQuat attoto12
CTrackKeyFramerConstInt attoto13
CTrackKeyFramerConstRGBA attoto16
CTrackKeyFramerConstString attoto14
CTrackKeyFramerConstBool attoto15
const double NL3D_OO32767 = 1.0f/32767
const double NL3D_OO65535 = 1.0f/65535
static NLMISC::CNoiseValue RandomGenerator (0, 1, 7.68f)
const char * NL3D_FastBendProgram
const char * NL3D_BendProgramP0
const char * NL3D_BendProgramP1
const string NL3D_BendProgram = string(NL3D_BendProgramP0) + string(NL3D_BendProgramP1)
const char * NL3D_LightedStartVegetableProgram
const char * NL3D_UnlitVegetableProgram
const char * NL3D_UnlitAlphaBlendVegetableProgram
const char * NL3D_CommonEndVegetableProgram
const char * NL3D_VegetableProgramFog
const char * NL3D_SimpleStartVegetableProgram
static CVegetableQuadrant InitVegetableQuadrant
const uint TileDescNodeAllocatorBlockSize = 40000
const uint PatchQuadBlockAllocatorBlockSize = 160
const uint MeshColQuadGridSize = 64
const float MeshColQuadGridEltSize = 20
static const uint FVB_NUM_SIDES = 32
static const uint FVB_NUM_SECTIONS = 10
static const uint FVB_NUM_VERTS = FVB_NUM_SIDES * (FVB_NUM_SECTIONS + 1)
static const uint FVB_NUM_TRIS = 2 * FVB_NUM_SIDES * FVB_NUM_SECTIONS
static const uint TEST_VB_NUM_SEGMENT = 16
static const uint TEST_VB_NUM_SLICE = 16
static const uint TEST_VB_NUM_TRIS = 2 * TEST_VB_NUM_SEGMENT * TEST_VB_NUM_SLICE
const uint NUM_FACES_TO_RENDER = 5
const uint WATER_MODEL_DEFAULT_NUM_VERTICES = 5000
volatile bool forceWaterSimpleRender = false
static const double WATER_WAVE_SPEED = 1.7
static const double WATER_WAVE_SCALE = 0.05
static const double WATER_WAVE_FREQ = 0.3
static const float WATER_WAVE_ATTEN = 0.2f
static const char * WaterVPNoWave
static const char * WaterVPNoWaveDiffuse
static const char * WaterVPStartCode
 The first part of the program does the following :

  • Compute linear distance to eye
  • Attenuate height with distance
  • Attenuate normal with distance (e.g at max distance, the normal is (0, 0, 1)
  • Transform vertex pos into view space
  • compute fog coordinate At the end of the program we got : R1 = (eye - vertex).normed() R0 = Attenuated normal at vertex R4 = position of point with attenuated height.

static const char * WaterVpBump2LayersCode
 This part of vertex program compute 2 layers of bump (for use with texture shaders).
static const char * WaterVpBump1LayersCode
 Version with one bump map only (Texture shaders support chaining of offset textures, EMBM does not).
static const char * WaterVpDiffuseMapStage3Code
 Optionnal diffuse texture in stage 3.
static const char * WaterVpDiffuseMapStage2Code
 Optionnal diffuse texture in stage 2.
static const char * WaterVpDiffuseMapStage1Code
 Optionnal diffuse texture in stage 1.
static const char * WaterVpNoBumpCode

Detailed Description

This namespace contains all 3D class.


Typedef Documentation

Definition at line 273 of file animated_value.h.

Definition at line 275 of file animated_value.h.

Definition at line 274 of file animated_value.h.

Definition at line 278 of file animated_value.h.

Definition at line 279 of file animated_value.h.

Definition at line 277 of file animated_value.h.

Definition at line 276 of file animated_value.h.

Animation time in second.

Author:
Cyril 'Hulud' Corvazier
Nevrax France
Date:
2001

Definition at line 41 of file animation_time.h.

Definition at line 278 of file key.h.

Definition at line 280 of file key.h.

Definition at line 279 of file key.h.

Definition at line 262 of file key.h.

Definition at line 263 of file key.h.

Definition at line 267 of file key.h.

Definition at line 265 of file key.h.

Definition at line 266 of file key.h.

typedef CKey<std::string> NL3D::CKeyString

Definition at line 261 of file key.h.

Definition at line 272 of file key.h.

Definition at line 274 of file key.h.

Definition at line 273 of file key.h.

Definition at line 264 of file key.h.

typedef void(* NL3D::emptyProc)(void)

Definition at line 113 of file driver.h.

typedef IDriver*(* NL3D::IDRV_CREATE_PROC)(void)

Definition at line 50 of file dru.cpp.

typedef uint32(* NL3D::IDRV_VERSION_PROC)(void)

Definition at line 53 of file dru.cpp.

typedef TEdgeMap::iterator NL3D::ItEdgeMap

Definition at line 205 of file mrm_internal.h.

typedef TIBDrvInfoPtrList::iterator NL3D::ItIBDrvInfoPtrList

Definition at line 48 of file index_buffer.h.

typedef TMatDrvInfoPtrList::iterator NL3D::ItMatDrvInfoPtrList

Definition at line 113 of file material.h.

typedef TShaderDrvInfoPtrList::iterator NL3D::ItShaderDrvInfoPtrList

Definition at line 42 of file shader.h.

typedef TTexDrvInfoPtrMap::iterator NL3D::ItTexDrvInfoPtrMap

Definition at line 56 of file texture.h.

typedef TTexDrvSharePtrList::iterator NL3D::ItTexDrvSharePtrList

Definition at line 57 of file texture.h.

typedef TVBDrvInfoPtrList::iterator NL3D::ItVBDrvInfoPtrList

Definition at line 67 of file vertex_buffer.h.

typedef TVtxPrgDrvInfoPtrList::iterator NL3D::ItVtxPrgDrvInfoPtrList

Definition at line 39 of file vertex_program.h.

typedef std::map<uint16, CZone*>::iterator NL3D::ItZoneMap

Definition at line 56 of file zone.h.

Definition at line 42 of file animation_time.h.

Definition at line 127 of file index_buffer.h.

typedef std::deque<CEdge> NL3D::TEdgeList

Definition at line 56 of file quad_effect.cpp.

typedef std::multimap<float, CMRMEdgeFace> NL3D::TEdgeMap

The map of edge collapses.

Author:
Lionel Berenguier
Nevrax France
Date:
2000

Definition at line 204 of file mrm_internal.h.

Definition at line 43 of file animation_time.h.

typedef std::list<IIBDrvInfos*> NL3D::TIBDrvInfoPtrList

Definition at line 46 of file index_buffer.h.

Definition at line 63 of file index_buffer.h.

Some typedefs.

Definition at line 142 of file ps_iterator.h.

Definition at line 145 of file ps_iterator.h.

Definition at line 146 of file ps_iterator.h.

Definition at line 144 of file ps_iterator.h.

Definition at line 147 of file ps_iterator.h.

Definition at line 112 of file index_buffer.h.

Definition at line 118 of file index_buffer.h.

Definition at line 111 of file material.h.

Definition at line 81 of file index_buffer.h.

Definition at line 90 of file index_buffer.h.

Definition at line 165 of file driver_direct3d.h.

Definition at line 121 of file packed_zone.h.

Definition at line 575 of file ps_attrib.h.

Definition at line 193 of file ps_zone.h.

Definition at line 574 of file ps_attrib.h.

Definition at line 578 of file ps_attrib.h.

Definition at line 576 of file ps_attrib.h.

Definition at line 577 of file ps_attrib.h.

Definition at line 573 of file ps_attrib.h.

typedef std::vector<CVectInfo> NL3D::TRibbonVect

Definition at line 47 of file ps_ribbon_look_at.cpp.

Definition at line 40 of file shader.h.

typedef std::map<std::string, CShapeInfo> NL3D::TShapeCache

Definition at line 57 of file shape_info.h.

Definition at line 99 of file index_buffer.h.

Definition at line 55 of file texture.h.

typedef std::list<IVBDrvInfos*> NL3D::TVBDrvInfoPtrList

Definition at line 65 of file vertex_buffer.h.

typedef volatile CZone* NL3D::TVolatileZonePtr

Definition at line 40 of file zone_manager.h.

Definition at line 37 of file vertex_program.h.

typedef std::map<uint16, CZone*> NL3D::TZoneMap

Definition at line 55 of file zone.h.


Enumeration Type Documentation

lod for located bindables. (see ps_located.h)

Enumerator:
PSLod1n2 
PSLod1 
PSLod2 

Definition at line 34 of file ps_lod.h.

Objects of particle systems can be local to various matrixs defined by the following enum.

Enumerator:
PSFXWorldMatrix 
PSIdentityMatrix 
PSUserMatrix 
PSMatrixModeCount 

Definition at line 83 of file particle_system_process.h.

rendering and process passes for a particle system.

PSMotion : called after each simutlation step PSSolidRender : render particle that can modify z-buffer PSBlendRender : render transparency (no z-buffer write) PSToolRender : for edition purpose, show representations for forces, emitters...

Enumerator:
PSMotion 
PSSolidRender 
PSBlendRender 
PSToolRender 

Definition at line 77 of file particle_system_process.h.


Function Documentation

NL3D::__declspec ( dllexport   ) 

Definition at line 126 of file driver_direct3d.cpp.

References NL3D::IDriver::InterfaceVersion.

static void NL3D::add ( std::set< uint > &  dest,
const std::set< uint > &  toAdd 
) [static]
static void NL3D::addQuadToSilhouette ( const CVector v0,
const CVector v1,
const CVector v2,
CVector v3,
CPolygon2D::TRasterVect sil,
sint minY,
float  cellSize 
) [static]
static void NL3D::applyArraySkinNormalT ( uint  numMatrixes,
uint32 infPtr,
CMesh::CSkinWeight *  srcSkinPtr,
CVector srcVertexPtr,
CVector srcNormalPtr,
uint  normalOff,
uint8 destVertexPtr,
vector< CMatrix3x4 > &  boneMat3x4,
uint  vertexSize,
uint  nInf 
) [static]

File not compiled.

Included from mesh_mrm_skin.cpp. It is a "old school" template.

Definition at line 397 of file mesh_mrm_skin.cpp.

static void NL3D::applyArraySkinTangentSpaceT ( uint  numMatrixes,
uint32 infPtr,
CMesh::CSkinWeight *  srcSkinPtr,
CVector srcVertexPtr,
CVector srcNormalPtr,
CVector tgSpacePtr,
uint  normalOff,
uint  tgSpaceOff,
uint8 destVertexPtr,
vector< CMatrix3x4 > &  boneMat3x4,
uint  vertexSize,
uint  nInf 
) [static]

Definition at line 534 of file mesh_mrm_skin.cpp.

static void NL3D::ARBVertexProgramDumpInstr ( const CVPInstruction instr,
std::string &  out 
) [static]
static void NL3D::ARBVertexProgramDumpOperand ( const CVPOperand op,
bool  destOperand,
std::string &  out 
) [static]
static void NL3D::ARBVertexProgramDumpSwizzle ( const CVPSwizzle swz,
std::string &  out 
) [static]
static void NL3D::ARBVertexProgramDumpWriteMask ( uint  mask,
std::string &  out 
) [static]

Definition at line 1207 of file driver_opengl_vertex_program.cpp.

References H_AUTO_OGL.

Referenced by ARBVertexProgramDumpOperand().

void NL3D::assignSoundServerToPS ( UPSSoundServer *  soundServer  ) 

for private use only..

Definition at line 37 of file particle_system_sound_user.cpp.

References NL3D::CParticleSystem::registerSoundServer().

Referenced by NL3D::UParticleSystemSound::setPSSound().

void NL3D::bilinearColor ( CRGBA  corners[4],
uint  x,
uint  y,
uint R,
uint G,
uint B 
) [inline]
void NL3D::bilinearColorAndAdd ( CRGBA  corners[4],
uint  x,
uint  y,
CRGBA res 
) [inline]
void NL3D::bilinearColorAndModulate ( CRGBA  corners[4],
uint  x,
uint  y,
CRGBA res 
) [inline]
void NL3D::bilinearColorAndModulatex2 ( CRGBA  corners[4],
uint  x,
uint  y,
CRGBA res 
) [inline]
void NL3D::bilinearColorDiv2AndAdd ( CRGBA  corners[4],
uint  x,
uint  y,
CRGBA res 
) [inline]
static float NL3D::BilinFilter ( float  v0,
float  v1,
float  v2,
float  v3,
float  u,
float  v 
) [inline, static]

Definition at line 713 of file water_height_map.cpp.

Referenced by NL3D::CWaterHeightMap::getHeight().

static void NL3D::BlurBytesTab ( const uint8 src,
uint8 dest,
uint  size 
) [static]

====================================================================================

Definition at line 220 of file ps_fan_light.cpp.

References NL_PS_FUNC.

Referenced by NL3D::CPSFanLight::initFanLightPrecalc().

void NL3D::buildColorOperation ( string &  dest,
const char *  prefix,
const char *  destSizzle,
uint  stage,
CMaterial::TTexOperator &  op,
CMaterial::TTexSource  src0,
CMaterial::TTexSource  src1,
CMaterial::TTexSource  src2,
CMaterial::TTexOperand &  op0,
CMaterial::TTexOperand &  op1,
CMaterial::TTexOperand &  op2,
bool  unlightedNoVertexColor 
)
CTextureCube * NL3D::BuildCubeMap ( sint  mapSize,
ICubeMapFunctor &  f,
bool  luminanceOnly = false,
const std::string &  shareName = "" 
)

Build a cube map by using the given functor.

This also avoid headaches :) Each face is encoded in a memory texture

Parameters:
mapSize the size of each tface of the cube map
f a functor that helps to build the cube map.
luminanceOnly When set to true, a luminance cube map is build. The luminance is taken from the alpha component of the color produced by the functor. Warning : this isn't supported anywhere.
shareName a prefix for sharename. If not empty this allow each face of the cube map to be sharable (a number is appended to the given string)

this gives the start (unormalized normal for each face for u,v = 0, 0)

positive_x

negative_x

positive_y

negative_y

positive_z

negative_z

positive_x

negative_x

positive_y

negative_y

positive_z

negative_z

positive_x

negative_x

positive_y

negative_y

positive_z

negative_z

build all faces

assign faces

this gives the start (unormalized normal for each face for u,v = 0, 0)

positive_x

negative_x

positive_y

negative_y

positive_z

negative_z

positive_x

negative_x

positive_y

negative_y

positive_z

negative_z

positive_x

negative_x

positive_y

negative_y

positive_z

negative_z

build all faces

assign faces

Definition at line 97 of file cube_map_builder.cpp.

References BuildCubeMapTex(), BuildCubeMapTexLuminance(), NLMISC::CVector::I, NLMISC::CVector::J, NLMISC::CVector::K, NLMISC::CBitmap::Luminance, NL3D::CTextureCube::negative_x, NL3D::CTextureCube::negative_y, NL3D::CTextureCube::negative_z, NL3D::CTextureCube::positive_x, NL3D::CTextureCube::positive_y, NL3D::CTextureCube::positive_z, and NLMISC::CBitmap::RGBA.

Referenced by NL3D::CDriverGL::getSpecularCubeMap().

static uint8* NL3D::BuildCubeMapTex ( const NLMISC::CVector start,
const NLMISC::CVector uDir,
const NLMISC::CVector vDir,
uint  size,
ICubeMapFunctor &  f 
) [static]

Definition at line 42 of file cube_map_builder.cpp.

References NLMISC::CVector::normed().

Referenced by BuildCubeMap().

static uint8* NL3D::BuildCubeMapTexLuminance ( const NLMISC::CVector start,
const NLMISC::CVector uDir,
const NLMISC::CVector vDir,
uint  size,
ICubeMapFunctor &  f 
) [static]

Definition at line 69 of file cube_map_builder.cpp.

References NLMISC::CVector::normed().

Referenced by BuildCubeMap().

static void NL3D::BuildDsDt ( uint32 src,
sint  width,
sint  height,
uint16 dest 
) [static]

create a DsDt texture from a height map (red component of a rgba bitmap)

Definition at line 39 of file texture_bump.cpp.

References GET_HGT.

Referenced by NL3D::CTextureBump::doGenerate().

static void NL3D::BuildDsDtAsRGBA ( uint32 src,
sint  width,
sint  height,
uint32 dest 
) [static]

create a rgba gradient texture from a height map (red component of a rgba bitmap)

Definition at line 57 of file texture_bump.cpp.

References GET_HGT.

Referenced by NL3D::CTextureBump::doGenerate().

static void NL3D::BuildHermiteVector ( const NLMISC::CVector P0,
const NLMISC::CVector P1,
const NLMISC::CVector T0,
const NLMISC::CVector T1,
NLMISC::CVector dest,
float  lambda 
) [inline, static]

build some hermite spline value, with the given points and tangents

TODO : put this in a header (same code in ps_ribbon_base.cpp ..).

just avoid some ctor calls here...

just avoid some ctor calls here...

Definition at line 49 of file seg_remanence.cpp.

References NLMISC::CVector::set(), NLMISC::CVector::x, NLMISC::CVector::y, and NLMISC::CVector::z.

Referenced by NL3D::CPSRibbonBase::computeHermitteCstSizeRibbon(), NL3D::CPSRibbonBase::computeHermitteRibbon(), and NL3D::CSegRemanence::samplePos().

static void NL3D::BuildLinearVector ( const NLMISC::CVector P0,
const NLMISC::CVector P1,
NLMISC::CVector dest,
float  lambda,
float  oneMinusLambda 
) [inline, static]
static uint8* NL3D::BuildRibbonFirstSlice ( const NLMISC::CVector pos,
uint  numVerts,
uint8 dest,
uint  vertexSize 
) [inline, static]

=========================================================================

Definition at line 398 of file ps_ribbon.cpp.

References NL_PS_FUNC.

Referenced by ComputeTexturedRibbonMesh(), and ComputeUntexturedRibbonMesh().

static void NL3D::BuildSlice ( const NLMISC::CMatrix mat,
CVertexBuffer &  vb,
uint8 currVert,
uint32  vertexSize,
const NLMISC::CVector I,
const NLMISC::CVector K,
TRibbonVect::iterator  pos,
TRibbonVect::iterator  prev,
TRibbonVect::iterator  next,
float  ribSize 
) [inline, static]
bool NL3D::BuildTangentSpace ( CMesh::CMeshBuild &  outMeshBuild,
const CMesh::CMeshBuild &  inMeshBuild 
)

This add tangent space information to a vertex buffer.

The result is an added 3d texture coordinate that contains the T vector of the tangent space basis (T is oriented toward increasing s coordinates). The binormal can be computed in a vertex program by doing B = N ^ T. The input mesh build must provide a normal component. Moreover it must have at least one texture coordinate applied (this is needed to build coherent tangent space basis)

Returns:
true if the conversion was possible

for each face, we must use a previously computed tangent space vector if other vertex datas are similar

for each face, we must use a previously computed tangent space vector if other vertex datas are similar

Definition at line 76 of file tangent_space_build.cpp.

References BuildTGSpaceVect(), BuildTriFromMB(), NLMISC::CTriangle::computeGradient(), NL3D::CMesh::CFace::Corner, DuplicateMBAndAddTexCoord(), NL3D::CMesh::CMeshBuild::Faces, NLMISC::n, nlassert, NLMISC::CVector::normalize(), NLMISC::CTriangle::V0, NLMISC::CTriangle::V1, NLMISC::CTriangle::V2, and NL3D::CMesh::CMeshBuild::Vertices.

static void NL3D::BuildTGSpaceVect ( const NLMISC::CVector normal,
const NLMISC::CVector sGrad,
NLMISC::CUVW result 
) [static]
static void NL3D::BuildTriFromMB ( const CMesh::CMeshBuild &  mb,
const uint  index[3],
NLMISC::CTriangle tri 
) [static]
static CVertexProgram* NL3D::BuildWaterVP ( bool  diffuseMap,
bool  bumpMap,
bool  use2BumpMap 
) [static]

Build a vertex program for water depending on requirements.

Definition at line 211 of file water_shape.cpp.

References WaterVpBump2LayersCode, WaterVpDiffuseMapStage1Code, WaterVpDiffuseMapStage2Code, WaterVpDiffuseMapStage3Code, WaterVpNoBumpCode, and WaterVPStartCode.

Referenced by NL3D::CWaterShape::initVertexProgram().

static bool NL3D::CheckForLightableFacesInMesh ( const CMesh &  m  )  [static]

private use : check if there are lightable faces in a mesh

Definition at line 537 of file ps_mesh.cpp.

References NL3D::CMeshBase::getMaterial(), NL3D::CMesh::getNbRdrPass(), NL3D::CMesh::getRdrPassMaterial(), NL3D::CMaterial::isLighted(), and NL_PS_FUNC.

Referenced by NL3D::CPSConstraintMesh::update().

static void NL3D::CheckForOpaqueAndTransparentFacesInMesh ( const CMesh &  m,
bool hasTransparentFaces,
bool hasOpaqueFaces 
) [static]

private use : check if there are transparent and / or opaque faces in a mesh

Definition at line 515 of file ps_mesh.cpp.

References NL3D::CMeshBase::getMaterial(), NL3D::CMesh::getNbRdrPass(), NL3D::CMesh::getRdrPassMaterial(), NL3D::CMaterial::getZWrite(), and NL_PS_FUNC.

Referenced by NL3D::CPSConstraintMesh::update().

static void NL3D::checkRange ( const uint8 min,
const uint8 max,
const uint8 start,
uint  length,
const std::string &  msg 
) [static]

Definition at line 31 of file debug_vb.cpp.

References nlassert, and nlwarning.

Referenced by nlCheckIBA(), nlCheckIBARange(), nlCheckVBA(), nlCheckVBARange(), and nlCheckVertexBuffer().

void NL3D::checkRemoveArray ( uint  size  ) 
template<class TMatrixArray >
void NL3D::computeBoneMatrixes3x4 ( TMatrixArray &  boneMat3x4,
const std::vector< uint32 > &  matInfs,
const CSkeletonModel *  skeleton 
) [inline]
template<class TMatrixArray >
void NL3D::computeBoneMatrixes3x4PreMul ( TMatrixArray &  boneMat3x4,
const CMatrix &  preMulMat,
const std::vector< uint32 > &  matInfs,
const CSkeletonModel *  skeleton 
) [inline]

Same as computeBoneMatrixes3x4, but premul by a matrix.

Definition at line 632 of file skeleton_model.h.

References NL3D::CSkeletonModel::getActiveBoneSkinMatrix(), and NLMISC::CMatrix::setMulMatrixNoProj().

Referenced by NL3D::CShadowSkin::getRayIntersection().

static void NL3D::computeDisplaceBilinear ( float  sTile,
float  tTile,
float sInc,
float tInc,
float sa,
float ta,
float sa1,
float ta1 
) [inline, static]
void NL3D::computeGradient ( const NLMISC::CRGBA valueTab,
uint32  numValues,
uint32  nbStages,
CPSVector< CRGBA >::V &  grad,
NLMISC::CRGBA minValue,
NLMISC::CRGBA maxValue 
)
template<typename T >
void NL3D::computeGradient ( const T valueTab,
uint32  numValues,
uint32  nbStages,
typename CPSVector< T >::V &  grad,
T minValue,
T maxValue 
) [inline]

Definition at line 434 of file ps_attrib_maker_template.h.

References min, PSValueBlend(), and T().

Referenced by NL3D::CPSValueGradientFunc< T >::setValues().

static void NL3D::computeLodLighting ( CRGBA lightRes,
const CVector lightObjectSpace,
const CVector normalPtr,
CRGBA  ambient,
CRGBA  diffuse 
) [inline, static]
static void NL3D::computePerturbation ( const float  x,
const float  y,
float dx,
float dy 
) [inline, static]

compute the UV perturbation at one position of the screen (with screen mapped to 0..1, 0..1)

Definition at line 72 of file deform_2d.cpp.

static void NL3D::computeRastersUnion ( const CPolygon2D::TRasterVect inRaster0,
CPolygon2D::TRasterVect inRaster1,
sint  minY0,
sint  minY1,
CPolygon2D::TRasterVect outRaster,
sint finalMinY 
) [static]

Definition at line 490 of file packed_zone.cpp.

References min, and nlassert.

Referenced by addQuadToSilhouette().

static uint8* NL3D::ComputeRibbonSliceFollowPath ( const NLMISC::CVector prev,
const NLMISC::CVector next,
const NLMISC::CVector shape,
uint  numVerts,
uint8 dest,
uint  vertexSize,
float  size,
NLMISC::CMatrix basis 
) [inline, static]

=========================================================================

Definition at line 417 of file ps_ribbon.cpp.

References NL3D::CPSUtil::buildSchmidtBasis(), NL_PS_FUNC, NLMISC::CMatrix::setPos(), NLMISC::CVector::x, NLMISC::CVector::y, and NLMISC::CVector::z.

Referenced by ComputeTexturedRibbonMesh(), and ComputeUntexturedRibbonMesh().

static uint8* NL3D::ComputeRibbonSliceFollowPathXY ( const NLMISC::CVector prev,
const NLMISC::CVector next,
const NLMISC::CVector shape,
uint  numVerts,
uint8 dest,
uint  vertexSize,
float  size,
NLMISC::CMatrix basis 
) [inline, static]

=========================================================================

Definition at line 477 of file ps_ribbon.cpp.

References I, NLMISC::CVector::K, NL_PS_FUNC, NLMISC::CVector::set(), NLMISC::CMatrix::setPos(), NLMISC::CMatrix::setRot(), NLMISC::sqr(), NLMISC::CVector::x, and NLMISC::CVector::y.

Referenced by ComputeTexturedRibbonMesh(), and ComputeUntexturedRibbonMesh().

static uint8* NL3D::ComputeRibbonSliceIdentity ( const NLMISC::CVector prev,
const NLMISC::CVector next,
const NLMISC::CVector shape,
uint  numVerts,
uint8 dest,
uint  vertexSize,
float  size 
) [inline, static]

=========================================================================

Definition at line 453 of file ps_ribbon.cpp.

References NL_PS_FUNC, NLMISC::CVector::set(), NLMISC::CVector::x, NLMISC::CVector::y, and NLMISC::CVector::z.

Referenced by ComputeTexturedRibbonMesh(), and ComputeUntexturedRibbonMesh().

static uint8* NL3D::ComputeTexturedRibbonMesh ( uint8 destVb,
uint  vertexSize,
const NLMISC::CVector curve,
const NLMISC::CVector shape,
uint  numSegs,
uint  numVerticesInShape,
float  sizeIncrement,
float  size,
CPSRibbon::TOrientation  orientation 
) [inline, static]
static uint8* NL3D::ComputeUntexturedRibbonMesh ( uint8 destVb,
uint  vertexSize,
const NLMISC::CVector curve,
const NLMISC::CVector shape,
uint  numSegs,
uint  numVerticesInShape,
float  sizeIncrement,
float  size,
CPSRibbon::TOrientation  orientation 
) [inline, static]
void NL3D::computeVegetVertexLighting ( const CVector rotNormal,
const CVector sunDir,
CRGBA  primaryRGBA,
CRGBA  secondaryRGBA,
CVegetableLightEx &  vegetLex,
CRGBA  diffusePL[2],
CRGBA dst 
) [inline]
void NL3D::computeVegetVertexLightingForceBestSided ( const CVector rotNormal,
const CVector sunDir,
CRGBA  primaryRGBA,
CRGBA  secondaryRGBA,
CVegetableLightEx &  vegetLex,
CRGBA  diffusePL[2],
CRGBA dst 
) [inline]
static void NL3D::computeWaterVertexHard ( float  px,
float  py,
CVector &  pos,
const CVector &  camI,
const CVector &  camJ,
const CVector &  camK,
float  denom 
) [inline, static]
static void NL3D::computeWaterVertexSoft ( float  px,
float  py,
CVector &  pos,
CVector2f envMapTexCoord,
const CVector &  camI,
const CVector &  camJ,
const CVector &  camK,
float  denom,
double  date,
const CVector &  camPos 
) [inline, static]
static void NL3D::convBlend ( CMaterial::TBlend  blend,
GLenum &  glenum 
) [static]
static void NL3D::convColor ( CRGBA  col,
GLfloat  glcol[4] 
) [static]
static void NL3D::ConvertFromBumpMap ( NLMISC::CSmartPtr< ITexture > &  ptr  )  [static]
static void NL3D::ConvertToBumpMap ( NLMISC::CSmartPtr< ITexture > &  ptr  )  [static]
void NL3D::convertVBColor ( NLMISC::CRGBA array,
uint  numColor,
CVertexBuffer::TVertexColorType  format 
)

Definition at line 128 of file ps_color.cpp.

References NL3D::CVertexBuffer::TRGBA.

NLMISC::CRGBA NL3D::convertVBColor ( NLMISC::CRGBA  color,
CVertexBuffer::TVertexColorType  format 
) [inline]
static uint NL3D::convInputRegisterToVBFlag ( uint  index  )  [static]
static GLuint NL3D::convOutputRegisterToEXTVertexShader ( CVPOperand::EOutputRegister  r  )  [static]
static GLenum NL3D::convSwizzleToGLFormat ( CVPSwizzle::EComp  comp,
bool  negate 
) [inline, static]
static void NL3D::convTexAddr ( ITexture *  tex,
CMaterial::TTexAddressingMode  mode,
GLenum &  glenum 
) [inline, static]
static void NL3D::convZFunction ( CMaterial::ZFunc  zfunc,
GLenum &  glenum 
) [static]
void NL3D::copyRGBA2BGRA ( uint32 dest,
const uint32 src,
uint  nbPixels 
) [inline]
void NL3D::copyToValue ( sint32 value,
const float f 
) [inline]

Definition at line 422 of file track_keyframer.h.

void NL3D::copyToValue ( NLMISC::CRGBA col,
const CVector &  v 
) [inline]
template<class T , class TKeyVal >
void NL3D::copyToValue ( T value,
const TKeyVal &  keyval 
) [inline]
static uint32 NL3D::countNumWantedIndex ( CRdrTileId *  tileToRdr,
uint  rdrPass 
) [inline, static]
static uint32 NL3D::countNumWantedIndexFar0 ( CPatch *  patch  )  [inline, static]
static uint32 NL3D::countNumWantedIndexFar1 ( CPatch *  patch  )  [inline, static]
static CMesh* NL3D::CreateDummyMesh ( void   )  [static]
static ITexture * NL3D::CreateGradientTexture (  )  [static]

private use : this create a gradient texture that goew from black to white

Definition at line 40 of file ps_tail_dot.cpp.

References NL3D::ITexture::Clamp, GradientB2W, and NL_PS_FUNC.

Referenced by NL3D::CPSTailDot::updateMaterial(), NL3D::CPSRibbon::updateTexturedMaterial(), and NL3D::CPSRibbon::updateUntexturedMaterial().

static void NL3D::D3DWndProc ( CDriverD3D *  driver,
HWND  hWnd,
UINT  message,
WPARAM  wParam,
LPARAM  lParam 
) [static]
static bool NL3D::deleteElement ( vector< sint > &  array,
sint  elt 
) [static]

Definition at line 49 of file mrm_builder.cpp.

Referenced by NL3D::CMRMBuilder::collapseEdge().

static void NL3D::doSwizzle ( GLuint  res,
GLuint  in,
GLenum  outX,
GLenum  outY,
GLenum  outZ,
GLenum  outW 
) [static]
static void NL3D::doWriteMask ( GLuint  res,
GLuint  in,
GLenum  outX,
GLenum  outY,
GLenum  outZ,
GLenum  outW 
) [static]
template<class T >
void NL3D::DrawDot ( T  it,
CVertexBuffer &  vb,
CPSAttribMaker< NLMISC::CRGBA > *  colorScheme,
uint  leftToDo,
CPSLocated *  owner,
CMaterial &  mat,
IDriver *  driver,
uint32  srcStep 
) [inline]
static void NL3D::drawPassTriArray ( CMaterial &  mat  )  [inline, static]
const std::string NL3D::DummyShapeName ( "dummy mesh shape"   ) 
static std::string NL3D::DummyTexName ( "CTextureMultiFile:Dummy"   )  [static]
void NL3D::dummyToAvoidStupidCompilerWarning_texture_user_cpp (  ) 

Definition at line 33 of file texture_user.cpp.

void NL3D::dump ( const CVPParser::TProgram prg,
std::string &  dest 
)
void NL3D::dumpInstr ( const CVPInstruction instr,
std::string &  out,
set< uint > &  inputs 
)
void NL3D::dumpOperand ( const CVPOperand op,
bool  destOperand,
std::string &  out,
set< uint > &  inputs 
)
void NL3D::dumpSwizzle ( const CVPSwizzle swz,
std::string &  out 
)
void NL3D::dumpWriteMask ( uint  mask,
std::string &  out 
)

Definition at line 115 of file driver_direct3d_vertex_program.cpp.

References H_AUTO_D3D.

Referenced by dumpOperand().

static uint NL3D::DuplicateMBAndAddTexCoord ( CMesh::CMeshBuild &  outMeshBuild,
const CMesh::CMeshBuild &  inMeshBuild 
) [static]

private func : duplicate a mesh build It returns the index of the new texture coordinate or 0 if the conversion couldn't occur.

Definition at line 42 of file tangent_space_build.cpp.

References NL3D::CVertexBuffer::FirstTexCoordValue, NL3D::CVertexBuffer::MaxStage, NL3D::CMesh::CMeshBuild::NumCoords, and NL3D::CMesh::CMeshBuild::VertexFlags.

Referenced by BuildTangentSpace().

static void NL3D::DuplicatePrimitiveBlock ( const CIndexBuffer &  srcBlock,
CIndexBuffer &  destBlock,
uint  nbReplicate,
uint  vertOffset 
) [static]

This duplicate a primitive block n time in the destination primitive block This is used to draw several mesh at once For each duplication, vertices indices are shifted from the given offset (number of vertices in the mesh).

Definition at line 2069 of file ps_mesh.cpp.

References NL3D::CIndexBufferRead::getFormat(), NL3D::CIndexBuffer::getFormat(), NL3D::CIndexBuffer::getNumIndexes(), NL3D::CIndexBufferRead::getPtr(), NL3D::CIndexBuffer::Indices16, NL3D::CIndexBuffer::lock(), NL_DEFAULT_INDEX_BUFFER_FORMAT, NL_PS_FUNC, nlassert, PARTICLES_CHECK_MEM, NL3D::CIndexBuffer::setFormat(), NL3D::CIndexBuffer::setNumIndexes(), and NL3D::CIndexBufferReadWrite::setTri().

Referenced by NL3D::CPSConstraintMesh::CMeshDisplayShare::buildRdrPassSet().

static float NL3D::easeInEaseOut ( float  x  )  [inline, static]

Definition at line 46 of file shadow_map_manager.cpp.

Referenced by NL3D::CShadowMapManager::CShadowMapManager().

void NL3D::fastClamp01 ( float x  )  [inline]

Definition at line 639 of file patchdlm_context.cpp.

References NLMISC::clamp().

Referenced by NL3D::CPatchDLMContext::addPointLightInfluence().

static void NL3D::fetchPerturbedEnvMapR200 (  )  [static]

R200 Fragment Shader : Send fragment shader to fetch a perturbed envmap from the addition of 2 bumpmap The result is in R2 after the 2nd pass.

Definition at line 3468 of file driver_opengl.cpp.

References GL_2X_BIT_ATI, GL_BIAS_BIT_ATI, GL_CON_0_ATI, GL_CON_1_ATI, GL_MAD_ATI, GL_REG_0_ATI, GL_REG_1_ATI, GL_REG_2_ATI, GL_SWIZZLE_STR_ATI, H_AUTO_OGL, nglColorFragmentOp3ATI, nglPassTexCoordATI, and nglSampleMapATI.

Referenced by NL3D::CDriverGL::initFragmentShaders().

NLMISC::CVector* NL3D::FillBufUsingSubdiv ( const NLMISC::CVector value,
float  clampValue,
float startValue,
float  deltaT,
uint maxNumStep,
NLMISC::CVector destPos,
uint32  stride 
) [inline]

Private function used to fill a buffer with the same value by using the given subdivision.

NumStep and startValue are modified to give the steps that are above or equal to clampValue.

Parameters:
value The value to fill the buffer with.
clampValue A float such as startValue + n * deltaT < clampValue, where n is the number of value to fill.
startValue The start value, used to get the number of steps, see clampValue.
deltaT The step between values
maxNumStep The max number of steps that can be filled. It is modified to
destPos The destination, that will be filled with the given value
stride Number of byte between each value to be copied

Definition at line 61 of file ps_misc.h.

References NL_PS_FUNC, nlassert, and ScaleFloatGE().

Referenced by NL3D::CPSLocated::integrateSingle(), NL3D::CPSBrownianForce::integrateSingle(), and NL3D::CPSGravity::integrateSingle().

static void NL3D::FillQuadCoords ( uint8 dest,
uint  stride,
const NLMISC::CVector2f speed,
float  time,
uint  num 
) [static]
static void NL3D::FillQuadCoordsLocalTime ( uint8 dest,
uint  stride,
const NLMISC::CVector2f speed,
CPSLocated &  srcLoc,
uint  startIndex,
uint  num,
uint32  srcStep 
) [static]
void NL3D::fillQuadIndexes ( uint32 indexes,
uint  first,
uint  last 
)

Definition at line 297 of file driver_direct3d_render.cpp.

References fillQuadIndexes(), and H_AUTO_D3D.

void NL3D::fillQuadIndexes ( uint16 indexes,
uint  first,
uint  last 
)
static bool NL3D::findElement ( vector< sint > &  array,
sint  elt 
) [static]

Definition at line 44 of file mrm_builder.cpp.

Referenced by NL3D::CMRMBuilder::collapseEdge().

static void NL3D::forceActivateTexEnvModeEnvCombine4 ( const CMaterial::CTexEnv &  env  )  [static]
static uint NL3D::GenEmitterPositions ( CPSLocated *  emitter,
CPSLocated *  emittee,
uint  emitterIndex,
uint  numStep,
TAnimationTime  deltaT,
TAnimationTime  step,
std::vector< NLMISC::CVector > &  dest 
) [inline, static]
static uint NL3D::GenEmitterPositionsWithLOD ( CPSLocated *  emitter,
CPSLocated *  emittee,
uint  emitterIndex,
uint  numStep,
TAnimationTime  deltaT,
TAnimationTime  step,
float  invLODRatio,
std::vector< NLMISC::CVector > &  dest 
) [inline, static]
static void NL3D::getBitPack ( uint32 bitPtr,
uint32 bitMask 
) [inline, static]

Definition at line 322 of file hls_color_texture.cpp.

Referenced by NL3D::CHLSColorTexture::buildColorVersion().

static CMesh* NL3D::GetDummyMeshFromBank ( CShapeBank &  sb  )  [static]
static uint32 NL3D::getFVBVertex ( uint  section,
uint  side 
) [inline, static]

Definition at line 58 of file water_env_map.cpp.

References FVB_NUM_SECTIONS, FVB_NUM_SIDES, and nlassert.

Referenced by NL3D::CWaterEnvMap::initFlattenVB().

static GLenum NL3D::getGlSrcTextureComponentType ( GLint  texSrcFormat  )  [static]
static GLint NL3D::getGlSrcTextureFormat ( ITexture &  tex,
GLint  glfmt 
) [static]
static uint NL3D::getMeshNumTri ( const CMesh &  m  )  [static]
uint NL3D::getPixelFormatSize ( D3DFORMAT  destFormat  ) 
template<class TIndex >
static bool NL3D::getRayIntersectionT ( std::vector< NLMISC::CVector > &  vertices,
const std::vector< TIndex > &  tris,
float dist2D,
float distZ,
bool  computeDist2D 
) [inline, static]
static CTextureDrvInfosGL* NL3D::getTextureGl ( ITexture &  tex  )  [inline, static]
static void NL3D::GetTextureSize ( ITexture *  tex,
uint width,
uint height 
) [inline, static]

===================================================================================================== This is used to get the size of a texture, with an optimisation in the case of texture files

Definition at line 40 of file texture_grouped.cpp.

References NL3D::ITexture::generate(), NLMISC::IClassable::getClassName(), NL3D::CTextureFile::getFileName(), NLMISC::CBitmap::getHeight(), NL3D::ITexture::getReleasable(), NLMISC::CBitmap::getWidth(), NLMISC::CBitmap::loadSize(), NLMISC::CPath::lookup(), nlinfo, NL3D::ITexture::release(), and NLMISC::Exception::what().

uint8 NL3D::getUnpackLumelBlock ( const uint8 src,
uint  pixel 
) [inline]
CWaterPoolManager & NL3D::GetWaterPoolManager (  ) 
NL3D::H_AUTO_DECL ( NL3D_QuadClip_SonsShowNoClip   ) 
NL3D::H_AUTO_DECL ( NL3D_QuadClip_ClusterClip   ) 
static uint32 NL3D::IDToLittleEndian ( uint32  input  )  [inline, static]

***************************************************************************************

Definition at line 99 of file u_particle_system_instance.cpp.

Referenced by NL3D::CPSLocated::deleteElementBase(), NL3D::UParticleSystemInstance::emit(), NL3D::UParticleSystemInstance::removeByID(), and NL3D::UParticleSystemInstance::setActive().

void NL3D::init3d (  ) 

Startup initialisation.

Author:
Cyril Corvazier
Nevrax France
Date:
2000

Definition at line 33 of file init_3d.cpp.

static void NL3D::initPassTriArray ( CPatchRdrPass &  ,
uint32  numIndex 
) [inline, static]
static void NL3D::IntegrateSpeed ( uint  count,
float src1,
const float src2,
float dest,
float  ellapsedTime 
) [static]

***************************************************************************************

Definition at line 1648 of file ps_located.cpp.

References NL_PS_FUNC.

Referenced by NL3D::CPSLocated::computeMotion().

static bool NL3D::isDXTCFormat ( GLint  glfmt  )  [inline, static]

Definition at line 501 of file driver_opengl_texture.cpp.

References H_AUTO_OGL.

uint NL3D::loadARBFragmentProgramStringNative ( const char *  prog,
bool  forceNativePrograms 
)
template<class T >
void NL3D::Make4Private ( uint8 dest,
const T src1,
const T src2,
uint32  stride,
uint32  numAttrib,
CPSBinOp::BinOp  op 
) [inline]
void NL3D::Make4Private ( uint8 dest,
const NLMISC::CRGBA src1,
const NLMISC::CRGBA src2,
uint32  stride,
uint32  numAttrib,
CPSBinOp::BinOp  op 
)
static NLMISC::CAABBoxExt NL3D::makeBBox ( const std::vector< CVector > &  Vertices  )  [static]
template<class T >
void NL3D::MakeNPrivate ( uint8 dest,
const T src1,
const T src2,
uint32  stride,
uint32  numAttrib,
CPSBinOp::BinOp  op,
uint  nbReplicate,
uint32  = (1 << 16) 
) [inline]
void NL3D::MakeNPrivate ( uint8 dest,
const NLMISC::CRGBA src1,
const NLMISC::CRGBA src2,
uint32  stride,
uint32  numAttrib,
CPSBinOp::BinOp  op,
uint  nbReplicate 
)
template<class T >
void NL3D::MakePrivate ( uint8 dest,
const T src1,
const T src2,
uint32  stride,
uint32  numAttrib,
CPSBinOp::BinOp  op 
) [inline]
void NL3D::MakePrivate ( uint8 dest,
const NLMISC::CRGBA src1,
const NLMISC::CRGBA src2,
uint32  stride,
uint32  numAttrib,
CPSBinOp::BinOp  op 
)
static void NL3D::MakeProj ( NLMISC::CVector dest,
const NLMISC::CVector src 
) [inline, static]
static CVector NL3D::MakeRandomUnitVect ( void   )  [static]

====================================================================================== this produce a random unit vector

Definition at line 66 of file ps_mesh.cpp.

References NL_PS_FUNC, and NLMISC::CVector::normalize().

Referenced by NL3D::CPSConstraintMesh::hintRotateTheSame(), and NL3D::CPSFace::hintRotateTheSame().

static bool NL3D::matchEdge ( const CVector2f uv0,
const CVector2f uv1,
const CVector2f uva,
const CVector2f uvb 
) [inline, static]

Definition at line 2889 of file tessellation.cpp.

Referenced by NL3D::CTessFace::linkTessFaceWithEdge().

static void NL3D::mulAdd ( CVector tgt,
const CVector src,
float  f 
) [inline, static]
static void NL3D::mulAddD ( CVectorD tgt,
const CVector src,
double  f 
) [inline, static]
static void NL3D::NEL3DCalcBase ( CVector direction,
CMatrix matrix 
) [static]
void NL3D::NL3D_bilinearTileLightMap ( CRGBA tex  ) 

Definition at line 1446 of file patch_lightmap.cpp.

References a00, a01, a02, a03, a04, a10, a11, a12, a13, a14, a20, a21, a22, a23, a24, a30, a31, a32, a33, a34, a40, a41, a42, a43, and a44.

IDriver* NL3D::NL3D_createIDriverInstance (  ) 

Definition at line 227 of file driver_opengl.cpp.

uint32 NL3D::NL3D_interfaceVersion (  ) 

Definition at line 232 of file driver_opengl.cpp.

References NL3D::IDriver::InterfaceVersion.

void NL3D::nlCheckIBA ( CIndexBufferRead &  ibrw,
const uint8 ptStart 
)
void NL3D::nlCheckIBA ( CIndexBufferReadWrite &  ibrw,
const uint8 ptStart 
)
void NL3D::nlCheckIBARange ( CIndexBufferRead &  ibr,
const uint8 ptStart,
uint  length 
)
void NL3D::nlCheckIBARange ( CIndexBufferReadWrite &  ibrw,
const uint8 ptStart,
uint  length 
)
void NL3D::nlCheckVBA ( CVertexBufferReadWrite &  vbrw,
const uint8 ptr 
)
void NL3D::nlCheckVBA ( CVertexBufferRead &  vbr,
const uint8 ptr 
)
void NL3D::nlCheckVBARange ( CVertexBufferReadWrite &  vbrw,
const uint8 ptStart,
uint  length 
)
void NL3D::nlCheckVBARange ( CVertexBufferRead &  vbr,
const uint8 ptStart,
uint  length 
)
void NL3D::nlCheckVertexBuffer ( const CVertexBuffer &  vb,
const uint8 ptr 
)
NL3D::NLMISC_SAFE_SINGLETON_IMPL ( CAsyncFileManager3D   ) 
sint NL3D::noiseCeil ( float  f  )  [inline]

Definition at line 124 of file patch_noise.cpp.

float NL3D::noiseCeilF ( float  f  )  [inline]
sint NL3D::noiseFloor ( float  f  )  [inline]
float NL3D::noiseFloorF ( float  f  )  [inline]
static float NL3D::NormalizeDsDt ( uint16 src,
sint  width,
sint  height 
) [static]

Normalize a DsDt texture after it has been built, and return the normalization factor.

Definition at line 74 of file texture_bump.cpp.

References NLMISC::clamp().

Referenced by NL3D::CTextureBump::doGenerate().

static float NL3D::NormalizeDsDtAsRGBA ( uint32 src,
sint  width,
sint  height 
) [static]

first, get the highest delta

Definition at line 104 of file texture_bump.cpp.

References NLMISC::clamp().

Referenced by NL3D::CTextureBump::doGenerate().

bool NL3D::operator< ( const CEdge &  e1,
const CEdge &  e2 
)

Definition at line 54 of file quad_effect.cpp.

References NL3D::CEdge::P1, and NLMISC::CVector2f::y.

bool NL3D::operator< ( const CPlaneBasis &  p1,
const CPlaneBasis &  p2 
) [inline]

Definition at line 85 of file ps_plane_basis.h.

References NL3D::CPlaneBasis::X, and NL3D::CPlaneBasis::Y.

bool NL3D::operator< ( const CPSLocatedBindable &  lhs,
const CPSLocatedBindable &  rhs 
) [inline]

less operator on located bindable.

They're sorted in decreasing priority order

Definition at line 956 of file ps_located.h.

References NL3D::CPSLocatedBindable::getPriority().

bool NL3D::operator< ( const CPSFloatCurveFunctor::CCtrlPoint &  lhs,
const CPSFloatCurveFunctor::CCtrlPoint &  rhs 
) [inline]

Definition at line 197 of file ps_float.h.

References NL3D::CPSFloatCurveFunctor::CCtrlPoint::Date.

bool NL3D::operator== ( const CPackedVertex &  lhs,
const CPackedVertex &  rhs 
) [inline]
template<>
NLMISC::CRGBA NL3D::PSBinOpAdd ( NLMISC::CRGBA  t1,
NLMISC::CRGBA  t2 
) [inline]
template<>
CPlaneBasis NL3D::PSBinOpAdd ( CPlaneBasis  p1,
CPlaneBasis  p2 
) [inline]

Definition at line 67 of file ps_attrib_maker_bin_op_inline.h.

References nlassert, and NLMISC::CVector::Null.

template<class T >
T NL3D::PSBinOpAdd ( T  arg1,
T  arg2 
) [inline]
template<>
NLMISC::CRGBA NL3D::PSBinOpModulate ( NLMISC::CRGBA  t1,
NLMISC::CRGBA  t2 
) [inline]
template<>
CPlaneBasis NL3D::PSBinOpModulate ( CPlaneBasis  p1,
CPlaneBasis  p2 
) [inline]
template<class T >
T NL3D::PSBinOpModulate ( T  arg1,
T  arg2 
) [inline]

Some template functions and some specialization for binary operations We don't override the usual operators, because we may want behaviour such as saturation, and this may be misleading with usual operators.

Definition at line 43 of file ps_attrib_maker_bin_op_inline.h.

Referenced by NL3D::CPSAttribMakerBinOp< T >::get(), Make4Private(), MakeNPrivate(), and MakePrivate().

template<>
NLMISC::CRGBA NL3D::PSBinOpSubtract ( NLMISC::CRGBA  t1,
NLMISC::CRGBA  t2 
) [inline]
template<>
uint32 NL3D::PSBinOpSubtract ( uint32  lhs,
uint32  rhs 
) [inline]

Definition at line 81 of file ps_attrib_maker_bin_op_inline.h.

template<>
CPlaneBasis NL3D::PSBinOpSubtract ( CPlaneBasis  p1,
CPlaneBasis  p2 
) [inline]

Definition at line 73 of file ps_attrib_maker_bin_op_inline.h.

References nlassert, and NLMISC::CVector::Null.

template<class T >
T NL3D::PSBinOpSubtract ( T  arg1,
T  arg2 
) [inline]
void NL3D::PSRegisterColorAttribs (  ) 

Register attribute makers based on colors (used in particle systems).

======================================================================================

Definition at line 170 of file ps_color.cpp.

References NLMISC_REGISTER_CLASS.

Referenced by NL3D::CPSUtil::registerAttribs().

void NL3D::PSRegisterFloatAttribs (  ) 

Register attribute makers based on floats (used in particle systems).

=======================================================================================

Definition at line 201 of file ps_float.cpp.

References NLMISC_REGISTER_CLASS.

Referenced by NL3D::CPSUtil::registerAttribs().

void NL3D::PSRegisterIntAttribs (  ) 

Register attribute makers based on int (used in particle systems).

Definition at line 52 of file ps_int.cpp.

References NLMISC_REGISTER_CLASS.

Referenced by NL3D::CPSUtil::registerAttribs().

void NL3D::PSRegisterPlaneBasisAttribs (  ) 

Register attribute makers based on colors (used in particle systems).

============================================================================

Definition at line 360 of file ps_plane_basis_maker.cpp.

References NLMISC_REGISTER_CLASS.

Referenced by NL3D::CPSUtil::registerAttribs().

CPlaneBasis NL3D::PSValueBlend ( const CPlaneBasis &  t1,
const CPlaneBasis &  t2,
float  alpha 
) [inline]

CPlaneBasis specilization of the PSValueBlend function.

Definition at line 67 of file ps_attrib_maker_template.h.

References NL3D::CPlaneBasis::getNormal(), and PSValueBlend().

NLMISC::CRGBA NL3D::PSValueBlend ( const NLMISC::CRGBA t1,
const NLMISC::CRGBA t2,
</