赞
踩
绘制从专业程度来说是最难的一部分。
有游戏没有引擎–文字游戏。
辐射度算法
GPU的硬件的架构;
材质,shader,光照
特殊渲染
pipeline:延迟渲染。。。
该门课程不讲以下部分:
堵在像素之后的事情;
投影和光栅化
然后开始着色;
数据运算,常数的访问,纹理的访问就可以得到你想要的结果。
采纹理其实是很费资源的。
其中一个像素点 颜色,我要做7次插值
SMIT:同一条指令,同时执行很多次。
用同样的代码,大家一起跑。
结构是重复的。
一个显卡是放了很多个内核。
SMT架构
数据在计算机中流动是很耗费资源的。数据在不同的单元中搬来搬去也是非常慢的。
数据是单向运输,从cpu到GPU,尽量不要从GPU中读取数据。
缓冲,对现代计算的影响是非常大的。
a在我的内存上,cpu发现不在自己的缓冲中,需要在内存中去找,需要等待个100多个时钟周期。
数据一定要放在一起。
数据都在我的缓冲中,cash hit。如果不在缓冲中,cash gap.
纹理没做好,如果老是让计算机做cash gap的时候,效率就会下降。
GPU Bounds and Perfomrmance
计算机就是一个流水线,有一个卡主就卡住
学渲染之前,要了解显卡到底是如何工作的?
做游戏开发的,懂点概念挺好。
Meah render component 是render的核心
存索引值,定点的数量只有三角形的一半;可以节省内存。
每个定点都有一个法向:每个顶点都要定义一个normal。
材质系统和物理材质容易混淆;
强调的是摩擦系数,相近都不一样。
物理材质会单独的去定义。
纹理是材质中非常重要的表达形式。
是源码,但是在游戏中会当做数据来处理。
submesh,按照每个对象,每个物体,每个mesh根据材质进行切分,然后相同的材质归类到一起,用大库去管理。
很多shader都是一样的。
instance一定要牢记:这个数据是我的定义,这个数据是我的实例。
GPU Batch Rendering:优化
很多物体是一模一样的,
是基础的
包围球
AABB:轴对称包围盒,计算效率是最高的
OBB:轴向包围盒
包围盒是计算的基础。
BVH:
BVH用的很多,适合用动态场景的加速!
PVS: 思想很有用
先存储深度,渲染的时候先看深度。
遮挡物的深度图,很复杂的场景用得着。
非常重要的模块。
压缩算法不支持访问。
采取的思想是切成小块,然后去压缩。
块压缩
BC7,DXTC
ASTC/ETC/PVRTC
blender越来越好了。
扫描,基于实体的扫描
模型表达的管线
非常精细的模型–分成非常小的部分。
非常高效的处理
三角形无数的细化,
Meshshader–可以用一个算法,代码写起来不太好理解。
非常需要关注的前沿方向。
(1)工程科学:依赖于硬件,知道性能卡点在哪里、
(2)mesh ,模型,材质这些数据之间的关系,mesh和submesh之间的关系就是非常好的解决方案。
(3)优化的时候让计算机do nothing
(4)使用GPU计算。
单独来学习
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。