Advanced D3D10 Rendering.ppt
《Advanced D3D10 Rendering.ppt》由会员分享,可在线阅读,更多相关《Advanced D3D10 Rendering.ppt(27页珍藏版)》请在麦多课文档分享上搜索。
1、Advanced D3D10 Rendering,Emil PerssonMay 24, 2007,Advanced D3D10 Rendering,2,May 24, 2007,Overview,Introduction to D3D10 Rendering techniques in D3D10 Optimizations,Advanced D3D10 Rendering,3,May 24, 2007,Introduction,Best D3D revision yet! Clean and powerful API Lots of new features SM 4.0 New geom
2、etry shader Stream Out Texture arrays Render to volume texture MSAA individual sample access Constant buffers Sampler state decoupled from texture unit Dual-source blending Etc,Advanced D3D10 Rendering,4,May 24, 2007,Clean API,Vista only Everything is mandatory (almost) No legacy hardware support Cl
3、ean starting point for future evolution of the API Limited market short-term Some old features deprecated Fixed function Assembly shaders Alpha test Triangle fans Point sprites Clip planes,Advanced D3D10 Rendering,5,May 24, 2007,Dealing with deprecated features,Fixed function Write a few ber-shaders
4、 Assembly shaders Convert to HLSL Alpha test Use discard or clip() in pixel shader Use alpha-to-coverage Triangle fans Seldom used anyway, usually just for a quad Convert to triangle list or strip Point sprites Expand point to 2 triangles in GS Clip planes Use clip distance and/or cull distance,Adva
5、nced D3D10 Rendering,6,May 24, 2007,SM 4.0,Geometry shader Processes a full primitive (point, line, triangle) Has access to adjacency information (optional) Useful for silhouette detection, shadow volume extrusion etc. May output multiple primitives Output limitation is 1024 floats May output nothin
6、g (to kill primitive),Advanced D3D10 Rendering,7,May 24, 2007,SM 4.0,Infinite instruction count Very long shaders may have lower throughput though Integer and bitwise instruction Indexable temporaries Allows for local arrays May be used to emulate a stack Useful system generated values SV_VertexID S
7、V_PrimitiveID SV_InstanceID SV_Position (Like VPOS, but now .zw are defined too) SV_IsFrontFace (Like VFACE) SV_RenderTargetArrayIndex SV_ViewportArrayIndex SV_ClipDistance SV_CullDistance,Advanced D3D10 Rendering,8,May 24, 2007,SM 4.0,Integer ,Advanced D3D10 Rendering,9,May 24, 2007,Pixel center,Ha
8、lf pixel offset is gone! Affects SV_Position as well Now matches OpenGLDX10 DX9,Advanced D3D10 Rendering,10,May 24, 2007,Pixel center,Pixels and texels align TexCoord = SV_Position.xy / float2(width, height)Texel center Screenspace,Advanced D3D10 Rendering,11,May 24, 2007,The small batch problem,D3D
9、10 designed to minimize batch overhead Pulls work from draw time to creation time Validation Shader input/output configuration Immutable State Objects Input layout Rasterizer state Sampler state Depth stencil state Blend state,Advanced D3D10 Rendering,12,May 24, 2007,The small batch problem,D3D10 al
10、so provides tools to reduce draw calls Improved instancing interface Geometry shader More shader resources Constant indexing in PS Render target arrays Texture arrays,Advanced D3D10 Rendering,13,May 24, 2007,Rendering techniques in D3D10,Advanced D3D10 Rendering,14,May 24, 2007,Global Illumination,A
11、dvanced D3D10 Rendering,15,May 24, 2007,Global Illumination,Probes on a volume grid across the sceneEach probe captures light environment into a tiny “cubemap” Probes are converted to Spherical Harmonics coefficients Indirect lighting is computed using interpolated SH coefficients Do the same in pro
12、be passes to get multiple light bounces,Advanced D3D10 Rendering,16,May 24, 2007,Global Illumination,Awful lot of work Each probe is 6 slices. We need loads of probes. Sample scene has over 300 probes Solution Use geometry shader to reduce work Distribute work across multiple frames Sample updates 4
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ADVANCEDD3D10RENDERINGPPT
