1 / 110

实时渲染

实时渲染. 什么是实时渲染 ?. 即在计算机上快速绘制图形图像 实时渲染通常意味着3 D 渲染 较高的帧频( FPS,Frame Per Second) FPS>6: 具有交互性 FPS>15: 具有实时性 FPS>72: 肉眼难以辨别 高质量的渲染效果. 应用领域. 虚拟现实 医学:断层成像技术( CT) 娱乐:电影制作、广告设计 军事和航空 电子商务 CAD 等领域 3 D 游戏 实时图形渲染是未来所有3 D 应用程序的核心技术. CT 成像. 电影3 D 制作. 飞行模拟器. 3 D 游戏制作. 3 D 游戏制作. 实时渲染的主要技术.

rea
Download Presentation

实时渲染

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 实时渲染

  2. 什么是实时渲染 ? • 即在计算机上快速绘制图形图像 • 实时渲染通常意味着3D渲染 • 较高的帧频(FPS,Frame Per Second) • FPS>6:具有交互性 • FPS>15:具有实时性 • FPS>72:肉眼难以辨别 • 高质量的渲染效果

  3. 应用领域 • 虚拟现实 • 医学:断层成像技术(CT) • 娱乐:电影制作、广告设计 • 军事和航空 • 电子商务 • CAD等领域 • 3D游戏 • 实时图形渲染是未来所有3D应用程序的核心技术

  4. CT成像

  5. 电影3D制作

  6. 飞行模拟器

  7. 3D游戏制作

  8. 3D游戏制作

  9. 实时渲染的主要技术 • 简化场景复杂度 • 空间数据结构 • 多分辨率模型 • 层次细节模型(Level-of-Detail, LOD) • 再划分(Remeshing) • 剔除(Culling) • 背面剔除(Back-face culling) • 可视体剔除(View-volume culling) • 遮挡剔除(Occlusion culling) • 混合绘制(Hybrid rendering) • 点绘制(Point-based rendering)

  10. 实时渲染的主要技术 • 提高图像质量 • 光照技术 • 纹理映射(texture mapping) • 阴影(shading) • 多通路绘制(Multi-pass rendering) • 基于图像的绘制 • 混合绘制 • 非真实感渲染(Non-photorealistic rendering)

  11. 实时渲染的主要技术 • 硬件加速 • 缓存技术 • 深度缓存(Z-buffer)、帧缓存(frame buffer)、累积缓存(accumulation buffer)、模板(stencil buffer) • 纹理映射 • 可编程着色器 • 顶点着色器(Vertex shader) • 象素着色器(Pixel shader) • 目标是影院级的效果 • 场景管理 • 动态处理:如碰撞检测

  12. 光照明模型 • 局部光照 • 如Lambert、Phone、Blin模型等 • 仅考虑光源直接照射在物体表面产生的影响 • 能够产生高质量效果,基本满足需求 • 全局光照 • 如光线跟踪、辐射度算法等 • 除了光源,还要考虑间接光照如反射 • 追求照片级的真实感效果 • 计算量大,实现比较困难

  13. 漫反射分量 • 捕捉不光滑表面的反射 • 基于Lambert定律 I为光强度,C为系数,说明光强度和cosф成正比

  14. r l 2(n•l)n (n•l)n 镜面反射分量 • 产生高光效果 • Phong光照方程 n Mshi越大,光线越聚集,高光越强

  15. 环境分量 • 捕捉来自其他物体表面的光照 • 增加一个常量: • 也能够看见没有直接光照的物体,如果关闭光照,环境分量自动设为零

  16. + + = 光照方程 • i=iamb+idiff+ispec

  17. 全局光照模型 • 局部光照模型 • 硬件支持,在实时绘制中广泛采用 • 不能处理透明、反射以及阴影等效果 • 无法产生相片级真实感效果 • 全局光照模型 • 除了光源,还要考虑间接光照如反射 • 追求照片级的真实感效果 • 主要有光线跟踪和辐射度等算法

  18. 光线跟踪

  19. 光线跟踪 • 物理上描述了光线的镜面反射和折射过程 • 能够产生照片级真实感效果 • 忽略了物体表面的漫反射,阴影稍显尖锐,物体看上去太光泽 • 计算量大,需要计算光线和所有物体的求交,与场景的几何复杂度相关 • 与视点相关 • 可以通过可编程图形处理器进行加速

  20. 光线跟踪

  21. 光线跟踪场景

  22. 光线跟踪场景

  23. 辐射度算法 • 能够捕捉来自漫反射表面间接光线 • 视点独立 • 不能很好的绘制光滑表面和镜面高光效果 • 计算速度慢 • 借助目前的可编程图形处理器可以进行加速

  24. 辐射度场景

  25. 辐射度场景 游戏Dead or Alive中使用辐射度产生的人物光照效果

  26. 纹理贴图 • 纹理贴图通过修改光照方程中参数,从而改变物体的表面属性 • 凹凸纹理贴图(Bump Mapping) • 改变表面的法线方向 • 光泽贴图(Gloss Mapping) • 改变镜面反射分量分布 • 光照贴图(Light Mapping) • 环境贴图 • Alpha贴图

  27. 凹凸贴图 Nvidia公司的狼人皮肤(凹凸效果采用法线图)

  28. × + = 镜面反射分量 光泽图 漫反射分量 最后结果 • 并非所有的物体表面都有均匀的光泽。如地板破损、钢板上的文字等,可以由光泽贴图(Gloss Mapping)技术来实现 光泽贴图

  29. 光照贴图 • 预先计算光照效果并存在纹理中 • 可得到类似Phong光照的效果。 • 通常用来模拟漫反射表面的光照效果(镜面反射和视点相关,比较难以模拟) 漫反射分量 光照纹理 最后结果

  30. 光照贴图 没有使用光照贴图

  31. 光照贴图 使用光照贴图

  32. 光照贴图场景 Wolfenstein 3D(德军司令部) 中的光照贴图

  33. 多通路绘制 • 可以生成运动模糊、景深、反走样、软阴影、平面反射等效果 • 基本思想:每个通路计算一段光照方程,使用Frame buffer存储中间结果,最后合成图像。 • Quake III的早期设计就用了10个通道 • 通路1~4:累积凹凸纹理图 • 通路5:漫反射光照 • 通路6:基纹理(具有镜面反射分量) • 通路7:镜面光照 • 通路8:放射光照(emissive lighting) • 通路9:体/大气效果 • 通路10:屏幕Flash

  34. 多通路绘制

  35. 4个通路 运动模糊 16个通路

  36. 无景深效果 景深效果 有景深效果

  37. 多通路绘制 水效果像素着色器(对于不支持像素着色器的显卡,采用支持多通路绘制达到同样的效果,但速度更慢)

  38. 砖头纹理 光照纹理 多重纹理贴图 • 目前大部分硬件支持在一个绘制通路中使用多个纹理 • 多通路绘制和多重纹理结合可以产生非常复杂的光照效果

  39. 阴影 暗黑之刃( Blade of Darkness )中的阴影

  40. 阴影 • 阴影效果在真实感图像的生成、物体形状和位置的判断方面是一个非常重要的元素 判断物体间相对位置

  41. 阴影 • 可以判断物体的几何形状 判断遮挡物的几何形状 判断接收物的几何形状

  42. 硬阴影 阴影分类 软阴影

  43. 阴影分类 • 硬阴影 • 由点光源或者无穷光源产生; • 会被误认为是物体的一个部分,如曲面上的皱褶。 • 软阴影 • 面光源产生 • 分为本影区(全部遮挡)和半影区(部分遮挡) • 一般来说更为可取 • 遮挡物和接收物之间距离越大越“软”

  44. 阴影绘制方法 • 阴影绘制的方法主要有投影阴影(ProjectedShadow)、阴影图(Shadow Map)、阴影体(Shadow Volume)等 平面上的投影阴影

  45. 投影阴影的扩展 • 可以通过对光源进行多采样将投影阴影变为软阴影 • 可以使用阴影纹理(Shadow Texture),将平面阴影扩展到曲面阴影。

  46. 阴影图

  47. 阴影图

  48. 阴影图 • 制作电影“玩具总动员”的RenderMan中(Pixar的产品)使用了阴影图技术。 • 两遍渲染: • 第一遍:从光源位置绘制整个场景,深度值存入Z缓冲器(即为阴影图) • 第二遍:从视点绘制整个场景,绘制过程中其深度值与阴影图的Z值进行比较,“大于”则在阴影中。 • 光源位置没有变化时,阴影图不必重新绘制,因此可以进行预处理。 • 存在走样问题(图像空间) • 通过双线性插值来产生伪-软阴影

  49. 阴影体 Doom 3(来自ID Software)中的阴影, 使用Shadow Volume技术

  50. 阴影体 • 1991年由Heidmann提出; • 可以使用模板缓冲器将阴影投影到任意形状的物体上 • OpenGL在1.0版本就支持(1991年) • DirectX在DX6中支持(1998年) • 基于窗口空间计算阴影 • 不存在反走样问题,可以在任何地方产生清晰的阴影(包括自阴影) • 主要性能问题:损耗填充率(阴影图没有这个问题)

More Related