pbrt读书笔记

pbrt读书笔记_第1张图片

这是物理渲染的几个基本特征,其中最重要的就是线性和能量守恒。

pbrt读书笔记_第2张图片

 pbrt读书笔记_第3张图片

 pbrt读书笔记_第4张图片

w表示的点集合,而fai表示的是通量,把通量除以面积,就是光强,也就是通量密度。

pbrt读书笔记_第5张图片

最后的辐射度,还要考虑dA,因为是斜射,所以还要考虑投影,才是准确的。pbrt读书笔记_第6张图片

这里插入一个小的笔记,对于两个坐标系,其中一个坐标系的三个轴用另一个坐标系去表示,那么由这三个轴组成的列详细就是那个转化矩阵,而它肯定是个正交矩阵,所以他的逆矩阵就是它的装置矩阵。

v2f vert (appdata v)

{

v2f o; //这里相当于取列向量

float3 right = UNITY_MATRIX_IT_MV[0].xyz;

float3 up = UNITY_MATRIX_IT_MV[1].xyz;

v.vertex.xyz += v.vertexOffset.x * right + v.vertexOffset.y * up;

o.vertex = mul(UNITY_MATRIX_VP, float4(v.vertex.xyz, 1.0));

o.uv = v.uv; return o;

}

 

根据线代基础,矩阵的M03, M13决定了xy轴的位置,M00,M11则决定了xy轴的Scale,而这里为了偷懒,果断省略了雨滴大小的随机,直接用同样大小的面片。

0是x轴,1是y轴,所以01,02,03是x轴坐标,为什么说M03,M13决定xy轴位置呢,那是因为:

pbrt读书笔记_第7张图片

具体更多查看:https://blog.csdn.net/robert_chen1988/article/details/80498805

这里用你逆矩阵的原因就是取行向量方便,另外,模型坐标到世界坐标并没有任何旋转,所以坐标轴的三个方向是没有变化的。



pbrt读书笔记_第8张图片

你可能感兴趣的:(u3d)