GPU加速全局光照技术探索

需积分: 14 15 下载量 84 浏览量 更新于2024-07-30 1 收藏 21.82MB PDF 举报
《GPU-Based Techniques for Global Illumination Effects》是一本深入探讨利用图形处理器(GPU)技术实现全局光照效果的专业书籍,它在计算机图形学与动画领域中占据重要地位。全局照明(Global Illumination, GI)是渲染场景时的一种关键技术,它模拟了光线在空间中的传播和反射,使图像更加真实和逼真。书中内容涵盖了2008年的研究,如High Dynamic Range Imaging Reconstruction,该部分可能讨论了如何通过GPU优化高动态范围成像(HDR)处理,提高图像的动态范围和视觉细节。 2007年,Asla Sa、Paulo Carvalho和Luiz Velho的研究展示了GPU在实现高保真度的触觉渲染(High Fidelity Haptic Rendering)方面的应用,这涉及到如何通过GPU加速交互式三维环境中的触觉反馈,增强虚拟体验的真实感。 Stephen Mann在2006年的论文中分享了关于Blossoming Development of Splines的知识点,虽然这可能与全局光照直接关联不明显,但可能是书中算法或数据结构的基础,为全局照明算法的优化提供了数学模型的支持。 版权方面,该书由Morgan & Claypool出版,强调所有内容未经许可不得复制、存储或传输。书中提供了不同的版本,包括纸质版(ISBN:1598295594, 9781598295597)和电子版(ISBN:1598295608, 9781598295603),并且每个版本都对应着独特的数字对象标识符(DOI:10.2200/S00107ED1V01Y200),便于学术界和读者获取最新的研究成果。 《GPU-Based Techniques for Global Illumination Effects》是一本详细阐述如何利用GPU技术来提升全局光照效果的教程,对于游戏开发、影视特效制作以及虚拟现实等领域开发者来说,具有很高的参考价值,深入理解并掌握其中的算法和优化策略,能显著提升渲染质量和性能。
2010-08-16 上传
1. GlobalIlluminationRendering.................................................1 1.1 Materials................................................................6 1.2 Rendering Equation......................................................8 1.3 Local Illumination ......................................................10 1.4 Global Illumination .....................................................13 1.5 Random Walk Solution of the Rendering Equation.........................14 1.5.1 MonteCarloIntegration.........................................17 1.5.2 ImportanceSampling............................................19 1.6 Iteration Solution of the Rendering Equation..............................20 1.7 ApplicationofFormerGIResearchResultsinGPUGI.....................22 2. LocalIlluminationRenderingPipelineofGPUS...............................23 2.1 Evolution of the Fixed-function Rendering Pipeline........................26 2.1.1 RasterOperations................................................27 2.1.2 RasterizationWithLinearInterpolation...........................27 2.1.3 Texturing.......................................................29 2.1.4 Transformation..................................................31 2.1.5 Per-vertexLighting..............................................34 2.2 ProgrammableGPUs....................................................34 2.2.1 Render-to-texture and Multiple Render Targets....................36 2.2.2 TheGeometryShader............................................36 2.3 ArchitectureofProgrammableGPUs.....................................38 2.3.1 Resources.......................................................38 2.3.2 Pipeline Stages and Their Control by Render States.................38 3. ProgrammingandControllingGPUS .........................................42 3.1 IntroductiontoHLSLProgramming.....................................44 3.1.1 VertexShaderProgramming......................................46 3.1.2 GeometryShaderProgramming...................................49 3.1.3 FragmentShaderProgramming...................................49 MOCL002-FM MOBKXXX-Sample.cls April 24, 2008 21:8 viii CONTENTS 3.2 ControllingtheGPUfromtheCPU......................................50 3.2.1 ControllingtheDirect3D9Pipeline...............................51 3.2.2 ControllingthePipelineUsingEffectFiles.........................56 3.2.2.1 ControllingthePipelineFromDirect3D10...............59 3.3 ShadersBeyondtheStandardPipelineOperation..........................60 3.3.1 Are GPUs Good for Global Illumination?..........................60 3.3.2 Basic Techniques for GPU Global Illumination.....................62 4. SimpleImprovementsoftheLocalIlluminationModel.........................66 4.1 ShadowMapping.......................................................68 4.1.1 Shadow Map Generation.........................................70 4.1.2 Rendering With the Shadow Map.................................71 4.1.3 ShadowMapAnti-aliasing.......................................74 4.2 Image-basedLighting...................................................77 4.2.1 MirroredReflectionsandRefractions..............................80 4.2.2 Diffuse and Glossy Reflections Without Self-shadowing.............82 4.2.3 Diffuse and Glossy Reflections With Shadowing....................85 5. RayCastingontheGPU......................................................90 5.1 Ray–TriangleIntersectioninaShader.....................................91 5.2 TheRayEngine........................................................95 5.3 Acceleration Hierarchy Built on Rays .....................................97 5.3.1 ImplementationofRecursiveRay-tracingUsingtheRayEngine.....98 5.3.2 RayCasting....................................................100 5.4 FullRay-TracersontheGPUUsingSpacePartitioning....................102 5.4.1 UniformGrid..................................................102 5.4.2 Octree.........................................................103 5.4.3 HierarchicalBoundingBoxes....................................103 5.4.4 Kd-Tree.......................................................104 5.5 Loosekd-TreeTraversalinaSingleShader...............................107 5.5.1 GPURepresentationoftheLoosekd-tree........................109 5.5.2 GPUTraversaloftheLoosekd-tree..............................111 5.5.3 Performance...................................................115 6. SpecularEffectswithRasterization...........................................116 6.1 Ray-TracingofDistanceMaps..........................................120 6.1.1 ParallaxCorrection.............................................121 6.1.2 LinearSearch..................................................122 6.1.3 RefinementbySecantSearch....................................124 MOCL002-FM MOBKXXX-Sample.cls April 24, 2008 21:8 CONTENTS ix 6.2 SingleLocalizedReflectionsandRefractions..............................126 6.3 Inter-ObjectReflectionsandRefractions.................................130 6.4 SpecularReflectionswithSearchingontheReflector......................130 6.5 SpecularReflectionswithGeometryorImageTransformation..............131 6.6 SelfReflectionsandRefractions.........................................132 6.6.1 Simplified Methods for Multiple Reflections and Refractions .......136 6.7 Caustics...............................................................136 6.7.1 LightPass.....................................................137 6.7.2 PhotonHitFilteringandLightProjection........................139 6.8 CombiningDifferentSpecularEffects...................................144 7. DiffuseandGlossyIndirectIllumination.....................................146 7.1 RadiosityontheGPU..................................................148 7.1.1 RandomTexelSelection........................................151 7.1.2 UpdateoftheRadianceTexture..................................153 7.2 Pre-ComputedRadiosity...............................................157 7.3 DiffuseandGlossyFinalGatheringwithDistanceMaps...................159 8. Pre-computationAidedGlobalIllumination..................................169 8.1 Sampling..............................................................171 8.2 Finite-element Method.................................................171 8.2.1 CompressionofTransferCoefficients.............................173 8.3 Pre-computedRadianceTransfer........................................175 8.3.1 Direct3D Support of the Diffuse Pre-computed Radiance Transfer..179 8.4 LightPathMap.......................................................182 8.4.1 Implementation................................................184 9. ParticipatingMediaRendering ..............................................195 9.1 PhaseFunctions.......................................................197 9.2 ParticleSystemModel..................................................197 9.3 Billboard Rendering....................................................198 9.3.1 Spherical Billboards.............................................199 9.3.1.1 GouraudShadingofParticles...........................201 9.3.1.2 GPU Implementation of Spherical Billboards.............202 9.4 Illuminating Participating Media........................................204 9.5 Rendering Explosions and Fire..........................................205 9.5.1 DustandSmoke................................................205 9.5.2 Fire...........................................................206 9.5.3 LayerComposition.............................................209 MOCL002-FM MOBKXXX-Sample.cls April 24, 2008 21:8 xCONTENTS 9.6 Participating Media Illumination Networks...............................210 9.6.1 Iteration Solution of the Volumetric Rendering Equation...........211 9.6.2 Building the Illumination Network...............................212 9.6.3 Iterating the Illumination Network...............................213 10. FakeGlobalIllumination....................................................218 10.1 TheScalarObscurancesMethod........................................220 10.2 TheSpectralObscurancesMethod.......................................221 10.3 ConstructionoftheObscurancesMap...................................223 10.4 Depth Peeling.........................................................225 11. PostprocessingEffects.......................................................229 11.1 ImageFiltering........................................................229 11.1.1 SeparationofDimensions.......................................231 11.1.2 ExploitationoftheBi-linearFilteringHardware...................232 11.1.3 ImportanceSampling...........................................234 11.2 Glow.................................................................236 11.3 ToneMapping.........................................................236 11.3.1 LocalToneMapping...........................................238 11.3.2 GlowIntegrationIntoToneMapping............................239 11.3.3 TemporalLuminanceAdaptation................................239 11.3.4 ScotopicVision.................................................240 11.3.5 Implementation................................................241 11.4 DepthofField.........................................................242 11.4.1 CameraModelsandDepthofField..............................243 11.4.2 DepthofFieldWiththeSimulationofCircleofConfusion.........244 12. IntegratingGIEffectsinGamesandVirtualRealitySystems...................248 12.1 GameEnginesandSceneGraphManagers...............................249 12.2 Combining Different Rendering Algorithms..............................253 12.3 CaseStudies...........................................................256 12.3.1 Moria.........................................................257 12.3.2 RTCar........................................................259 12.3.3 SpaceStation...................................................263 Bibliography................................................................265
2018-08-31 上传
This book presents techniques to render photo-realistic images by programming the Graphics Processing Unit (GPU). We discuss effects such as mirror reflections, refractions, caustics, diffuse or glossy indirect illumination, radiosity, single or multiple scattering in participating media, tone reproduction, glow, and depth of field. The book targets game developers, graphics programmers, and also students with some basic understanding of computer graphics algo- rithms, rendering APIs like Direct3D or OpenGL, and shader programming. In order to make the book self-contained, the most important concepts of local illumination and global illumi- nation rendering, graphics hardware, and Direct3D/HLSL programming are reviewed in the first chapters. After these introductory chapters we warm up with simple methods including shadow and environment mapping, then we move on toward advanced concepts aiming at global illumination rendering. Since it would have been impossible to give a rigorous review of all approaches proposed in this field, we go into the details of just a few methods solving each particular global illumination effect. However, a short discussion of the state of the art and links to the bibliography are also provided to refer the interested reader to techniques that are not detailed in this book. The implementation of the selected methods is also presented in HLSL, and we discuss their observed performance, merits, and disadvantages. In the last chapter, we also review how these techniques can be integrated in an advanced game engine and present case studies of their exploitation in games. Having gone through this book, the reader will have an overview of the state of the art, will be able to apply and improve these techniques, and most importantly, will be capable of developing brand new GPU algorithms.