Title: Direct3D Retained Mode Steve Lacey Development Lead Team Direct Microsoft
1(No Transcript)
2Direct3D Retained ModeSteve LaceyDevelopment
LeadTeam DirectMicrosoft
3Direct3D Retained ModeAgenda
- New features
- New APIs
- Progressive Mesh
- Tips and tricks
4Direct3D Retained ModeNew features
- Interpolator interface
- Allows animation of applicable APIs
- Check out morph sample
- Progressive Mesh object
- Real time continuous level of detail control
- Progressive download
- New load support
- Asynchronous
- From a URL
5Direct3D Retained ModeNew features
- Mostly on IDirect3DRMFrame2
- Bounding box support
- Modify origin axis
- Crease angle
- Ray picking
- Others
- Right-handed support
- MIP map generation
- True alpha transparency
6Direct3D Retained ModeProgressive Mesh
- Provide continuous level of detail support
- Mesh stored as a base mesh and series of vertex
splits
- Mesh is renderable after the base mesh has been
loaded
7Direct3D Retained ModeProgressive Mesh
- Base mesh contains
- all face and vertex information for the lowest
level of detail
- information about materials and textures
- Vertex splits introduce a new vertex and 1 or 2
new faces
8Direct3D Retained ModeProgressive Mesh
- Vertex splits are invertable
- Edge collapse
- Highest level of detail is geometrically
identical to source mesh
- Lossless representation
9Direct3D Retained ModeProgressive Mesh
10Direct3D Retained ModeProgressive Mesh and
Direct3DRM
- New visual object and interface
- IDirect3DRMProgressiveMesh
- Same behavior as other visuals
- Added to frames in the hierarchy
- Adhere to overrides
- Can create a normal mesh object from any level of
detail
- Concise representation in DirectX Files
11Direct3D Retained ModeProgressive Mesh and
Direct3DRM
- Feature set of the interface
- Ability to get/set level of detail
- Face, vertex or normalized basis
- Asynchronous loading with new load flag
- D3DRMLOAD_ASYNCHRONOUS
- Can be progressively rendered as it is loaded
- Can be combined with D3DRMLOAD_FROMURL
12Direct3D Retained ModeProgressive Mesh and
Direct3DRM
- Conversion
- convpm on SDK
- Preserves geometric shape
- Preserves material boundaries
- Will get better...
- More information
- Siggraph 96 proceedings
- http//www.research.microsoft.com
13Direct3D Retained ModeProgressive Mesh and
Direct3DRM
14Direct3D Retained ModeTips and tricks
- Various things can be done to speed up your
application
- Many of them not specific the Retained Mode
- Scale the application
15Direct3D Retained ModeTips and tricks
- Culling
- Retained Mode culls on a mesh basis
- Bounding box/sphere
- Z visibility
- Dont have one huge mesh
- Caveat - dont have one polygon meshes
16Direct3D Retained ModeTips and tricks
- Mesh Usage
- MeshBuilders are convenient
- File access, face paradigm
- Have overhead
- MeshBuilders built on top of Meshes
- Changing the MeshBuilder requires reconstruction
of underlying Mesh
- If you dont need the MeshBuilder again, throw it
away
17Direct3D Retained ModeTips and tricks
- Mesh Usage
- Meshes are fast
- Built directly on ExecuteBuffers
- Changing the Meshes modifies ExecuteBuffer
directly
18Direct3D Retained ModeTips and tricks
- Screen update
- Dont update what you dont need to
- Either
- Let Retained Mode handle the update (in
CreateFromClipper case)
- Use an update callback
- Pay attention to region information
- Always call IDirect3DRMDeviceUpdate()
19Direct3D Retained ModeTips and tricks
- Scale the application
- Applicable to any application
- Keep a track of the frame rate
- Keep motion steady using
- IDirect3DRMFrameMove(dvDelta)
- If you can, use Progressive Mesh
- If you cant provide geometry at various levels
of detail
- Profile the application on start-up
- Hardware may change on you
20(No Transcript)