Demo tecnologiche per nVidia
di
nVidia ha pubblicato una nuova demo tecnologica denominata Terrain che metterà a dura prova la potenza di elaborazione dei chip video prodotti dalla compagnia californiana.
Sfruttando le capacità T&L (Trasformazione & Illuminazione) hardware del GeForce, la demo presenterà anche multitexturing, cubemapping ed altri effetti che, vi assicuro, valgono i 3 MB necessari al download.
Per il prelevamento cliccate semplicemente qui oppure visitate questa pagina per conoscere altri particolari.
Tratto dal file "readme" contenuto nel package:
- Rendering
- OpenGL, the vertex buffers suck but it is easy and fast on nVidia HW
- Landscape is rendered as a CVA with a single DrawElements() call
- Fully T&L optimized
- Octree is used for HSR, see "Subdivision" and CFrustrum
- See CVertexArray, CLandscape, CTriangleIndexBuffer and CGL for more
OpenGL and rendering specific stuff
- Some extensions like multitexturing, cubemapping, compiled vertex arrays
and BGR required !
- Subdivision
- Octree used to access landscape geometrie (intersection tests, redering)
- CFrustum is used for visibility checks of the nodes
- Octree only contains pointers, no real data
- Rendering is performed by collecting all visible triangles in a
CTriangleIndexBuffer class
- Octree code in COctreeNode and CBoundingVolume
- Collision Detection
- Octree handles intersection testing
- Math code and basic Octree based collision detection code integrated,
but not used
- See COctree and CTriangle for more informations
- Anti-Planes, normals and plane equation precalculated
- Texturing
- Truecolor RGB / BGR textures
- Landscape texture is procedurally generated out of various source
textures
- Source textures and target texture can be of any size
- Second TMU is used for detail texturing (CTexture::DetailTexturing())
- Two texture coordinate generation algorithms supported
- See CLandscape for the texture generation code
- CTexture, CCubeMap contains most OpenGL specific texture code
- Water
- Rendered as triangle strips
- Realtime animated mesh
- Textured using Cubic Environment Mapping (CCubeMap)
- Texture coordinates generated by reflection mapping extension
- Octree is used to ensure that only visible water is processes & rendered
- CWater encapsulates the related code
- Lighting
- Standard OpenGL hardware lighting
- Directional lights, with infinite viewer and one-sided lighting used for
- maximum performance (See CSun and OpenGL Performance FAQ on nVidia.com)
- Sky
- Cube based skybox
- Static sun base texture
- Implemnted in CSkyBox
- Sun
- Sun flare rendered without Z-Buffer
- Uses Octree to check visibility
- Code in CSun
- Camera
- Quaternion based camera system
- See CQuat, CCamera and CMotion for the code
- Holds pointer to the Octree to perform collision detection
- Timing
- Win32 multimedia timer set to maximum precision
- See CTimer for detail
- Data Loading
- Texture loading handled by CTexture
- Acces to raw image data trough CImage and derived classes
- Terrain data loaded from TGA heightmap
- Image format can be changed without much trouble
- CProgressWindow shows the status during the loading
- Statistics
- FPS counter (CFrameCounter)
- Traingle counter (See CTriangleIndexBuffer)
- Output displayed with Nate Miller's font library (glTexFont.h)
- Math
- Global used and assembly optimized math code to ensure maximum performance
- CTriangle class to encapsulate most of the triangle math
- Code in "fastlib.h" and CTriangle
- Crosshair
- See CCrosshair
Sfruttando le capacità T&L (Trasformazione & Illuminazione) hardware del GeForce, la demo presenterà anche multitexturing, cubemapping ed altri effetti che, vi assicuro, valgono i 3 MB necessari al download.
Per il prelevamento cliccate semplicemente qui oppure visitate questa pagina per conoscere altri particolari.
Tratto dal file "readme" contenuto nel package:
- Rendering
- OpenGL, the vertex buffers suck but it is easy and fast on nVidia HW
- Landscape is rendered as a CVA with a single DrawElements() call
- Fully T&L optimized
- Octree is used for HSR, see "Subdivision" and CFrustrum
- See CVertexArray, CLandscape, CTriangleIndexBuffer and CGL for more
OpenGL and rendering specific stuff
- Some extensions like multitexturing, cubemapping, compiled vertex arrays
and BGR required !
- Subdivision
- Octree used to access landscape geometrie (intersection tests, redering)
- CFrustum is used for visibility checks of the nodes
- Octree only contains pointers, no real data
- Rendering is performed by collecting all visible triangles in a
CTriangleIndexBuffer class
- Octree code in COctreeNode and CBoundingVolume
- Collision Detection
- Octree handles intersection testing
- Math code and basic Octree based collision detection code integrated,
but not used
- See COctree and CTriangle for more informations
- Anti-Planes, normals and plane equation precalculated
- Texturing
- Truecolor RGB / BGR textures
- Landscape texture is procedurally generated out of various source
textures
- Source textures and target texture can be of any size
- Second TMU is used for detail texturing (CTexture::DetailTexturing())
- Two texture coordinate generation algorithms supported
- See CLandscape for the texture generation code
- CTexture, CCubeMap contains most OpenGL specific texture code
- Water
- Rendered as triangle strips
- Realtime animated mesh
- Textured using Cubic Environment Mapping (CCubeMap)
- Texture coordinates generated by reflection mapping extension
- Octree is used to ensure that only visible water is processes & rendered
- CWater encapsulates the related code
- Lighting
- Standard OpenGL hardware lighting
- Directional lights, with infinite viewer and one-sided lighting used for
- maximum performance (See CSun and OpenGL Performance FAQ on nVidia.com)
- Sky
- Cube based skybox
- Static sun base texture
- Implemnted in CSkyBox
- Sun
- Sun flare rendered without Z-Buffer
- Uses Octree to check visibility
- Code in CSun
- Camera
- Quaternion based camera system
- See CQuat, CCamera and CMotion for the code
- Holds pointer to the Octree to perform collision detection
- Timing
- Win32 multimedia timer set to maximum precision
- See CTimer for detail
- Data Loading
- Texture loading handled by CTexture
- Acces to raw image data trough CImage and derived classes
- Terrain data loaded from TGA heightmap
- Image format can be changed without much trouble
- CProgressWindow shows the status during the loading
- Statistics
- FPS counter (CFrameCounter)
- Traingle counter (See CTriangleIndexBuffer)
- Output displayed with Nate Miller's font library (glTexFont.h)
- Math
- Global used and assembly optimized math code to ensure maximum performance
- CTriangle class to encapsulate most of the triangle math
- Code in "fastlib.h" and CTriangle
- Crosshair
- See CCrosshair