Games104现代游戏引擎入门-lecture6游戏中的大气和云的渲染(上)

Games104现代游戏引擎入门-lecture6游戏中的大气和云的渲染上

  • 1 地形渲染
    • 1 Triangle-based subdivison
    • 2 QuadTree-Based Subdivision
    • 3 Triangulated Irregular network(TIN)
    • 4 GPU-based tessellation
      • Mesh Shder
      • 动态地形
    • 5 Non-Heightfield Terrain
    • 6 体素-Marching Cubes
    • 7 给地形上色
      • 视差贴图-只能是视觉的,几何边界还是光滑的。
      • virtual Texture
    • 8 硬件发展
    • 9 浮点数的溢出
  • 2 树的渲染
  • 3 Decorator Rendering
  • 4 道路渲染

Games104现代游戏引擎入门-lecture6游戏中的大气和云的渲染(上)_第1张图片
Games104现代游戏引擎入门-lecture6游戏中的大气和云的渲染(上)_第2张图片
Games104现代游戏引擎入门-lecture6游戏中的大气和云的渲染(上)_第3张图片

1 地形渲染

Games104现代游戏引擎入门-lecture6游戏中的大气和云的渲染(上)_第4张图片
Games104现代游戏引擎入门-lecture6游戏中的大气和云的渲染(上)_第5张图片
Games104现代游戏引擎入门-lecture6游戏中的大气和云的渲染(上)_第6张图片

Games104现代游戏引擎入门-lecture6游戏中的大气和云的渲染(上)_第7张图片
Games104现代游戏引擎入门-lecture6游戏中的大气和云的渲染(上)_第8张图片
Games104现代游戏引擎入门-lecture6游戏中的大气和云的渲染(上)_第9张图片
LOD:
地形是连续的,和GO是不一样的。
Games104现代游戏引擎入门-lecture6游戏中的大气和云的渲染(上)_第10张图片
和FOV是相关的,
屏幕是同等像素量的话,每一个三角形在小的fov下占的像素量会增加。

Games104现代游戏引擎入门-lecture6游戏中的大气和云的渲染(上)_第11张图片
原则1:和FOV相关
原则2:Error compare to ground truth(pre-computation)

Games104现代游戏引擎入门-lecture6游戏中的大气和云的渲染(上)_第12张图片
如何把三角形变的稀疏?

1 Triangle-based subdivison

永远把等腰三角形的底切一刀,分成两个三角形

高亮的是fov下的。135°。游戏中一般是70-80左右。
Games104现代游戏引擎入门-lecture6游戏中的大气和云的渲染(上)_第13张图片
Games104现代游戏引擎入门-lecture6游戏中的大气和云的渲染(上)_第14张图片

这个方法效率很好,但是不符合直觉。
Games104现代游戏引擎入门-lecture6游戏中的大气和云的渲染(上)_第15张图片

2 QuadTree-Based Subdivision

目前用的都是四叉树
结果规整,符合数据的规范,符合人的感觉。
Games104现代游戏引擎入门-lecture6游戏中的大气和云的渲染(上)_第16张图片
暗含了资源管理。
Games104现代游戏引擎入门-lecture6游戏中的大气和云的渲染(上)_第17张图片
退化三角形,吸附,

Games104现代游戏引擎入门-lecture6游戏中的大气和云的渲染(上)_第18张图片
Games104现代游戏引擎入门-lecture6游戏中的大气和云的渲染(上)_第19张图片

3 Triangulated Irregular network(TIN)

Games104现代游戏引擎入门-lecture6游戏中的大气和云的渲染(上)_第20张图片
Games104现代游戏引擎入门-lecture6游戏中的大气和云的渲染(上)_第21张图片三角形数量会很少。沙漠啥的用,其他用的很少。
Games104现代游戏引擎入门-lecture6游戏中的大气和云的渲染(上)_第22张图片

4 GPU-based tessellation

Games104现代游戏引擎入门-lecture6游戏中的大气和云的渲染(上)_第23张图片
Games104现代游戏引擎入门-lecture6游戏中的大气和云的渲染(上)_第24张图片
Games104现代游戏引擎入门-lecture6游戏中的大气和云的渲染(上)_第25张图片

Mesh Shder

Games104现代游戏引擎入门-lecture6游戏中的大气和云的渲染(上)_第26张图片

动态地形

Games104现代游戏引擎入门-lecture6游戏中的大气和云的渲染(上)_第27张图片
Games104现代游戏引擎入门-lecture6游戏中的大气和云的渲染(上)_第28张图片

5 Non-Heightfield Terrain


Games104现代游戏引擎入门-lecture6游戏中的大气和云的渲染(上)_第29张图片

6 体素-Marching Cubes

Games104现代游戏引擎入门-lecture6游戏中的大气和云的渲染(上)_第30张图片
Games104现代游戏引擎入门-lecture6游戏中的大气和云的渲染(上)_第31张图片
Games104现代游戏引擎入门-lecture6游戏中的大气和云的渲染(上)_第32张图片
Games104现代游戏引擎入门-lecture6游戏中的大气和云的渲染(上)_第33张图片

7 给地形上色



Games104现代游戏引擎入门-lecture6游戏中的大气和云的渲染(上)_第34张图片
Splatting:但是还是有个问题,在相机移动,从上往下看的时候,会有明显的缝隙
Games104现代游戏引擎入门-lecture6游戏中的大气和云的渲染(上)_第35张图片

解决办法:加了个bias,0.2

Games104现代游戏引擎入门-lecture6游戏中的大气和云的渲染(上)_第36张图片
Games104现代游戏引擎入门-lecture6游戏中的大气和云的渲染(上)_第37张图片
3D texture:texuter之间会做插值,是有关系的
texture arrya:层和层之间的texture是没有关系的。

Games104现代游戏引擎入门-lecture6游戏中的大气和云的渲染(上)_第38张图片

视差贴图-只能是视觉的,几何边界还是光滑的。

Games104现代游戏引擎入门-lecture6游戏中的大气和云的渲染(上)_第39张图片

virtual Texture

Games104现代游戏引擎入门-lecture6游戏中的大气和云的渲染(上)_第40张图片
核心 思想:用的东西加载到内存,不用的都扔在硬盘上。基本都用这个。
Games104现代游戏引擎入门-lecture6游戏中的大气和云的渲染(上)_第41张图片

8 硬件发展

传的都是压缩的,在显卡里解压。
DMA:显卡直接在磁盘中读,不往内存写。

Games104现代游戏引擎入门-lecture6游戏中的大气和云的渲染(上)_第42张图片

9 浮点数的溢出

Games104现代游戏引擎入门-lecture6游戏中的大气和云的渲染(上)_第43张图片
Games104现代游戏引擎入门-lecture6游戏中的大气和云的渲染(上)_第44张图片
Games104现代游戏引擎入门-lecture6游戏中的大气和云的渲染(上)_第45张图片
解决办法:
Games104现代游戏引擎入门-lecture6游戏中的大气和云的渲染(上)_第46张图片

2 树的渲染

Games104现代游戏引擎入门-lecture6游戏中的大气和云的渲染(上)_第47张图片

3 Decorator Rendering

用简单的mesh表示,

4 道路渲染


Decals:

virtual texture:

你可能感兴趣的:(游戏引擎,游戏引擎)