最近研究的是从已知顶点和法线的模型中,用代码生成法线贴图,这里记录一下资料。

1.贴图的制作过程,仅需知道两种方式

<1>用颜色贴图转法线贴图,灰度图。unity,ps中可以转

<2>先制作一个高模一个低模,通过高模的烘焙到低模上就可以生成法线贴图。3dmax中这样操作

2.顶点数据里的顶点坐标与纹理坐标

顶点坐标应该是模型空间下的坐标,纹理坐标应该是uv坐标

https://www.cnblogs.com/jenry/p/4083415.html

3.矩阵中左乘与右乘区别

线性变换分坐标变换与基变换。坐标变换采用左乘——将变换矩阵左乘坐标 (向量);基变换采用右乘——即变换矩阵右乘基矩阵

https://zhidao.baidu.com/question/432939478849685364.html

4.渲染管线

固定渲染管线流程,1.几何阶段 : 几何阶段的工作比較简单明晰。就是顶点变换和光照。

                                2.光栅化 : 光栅化就是决定哪些像素被几何图元覆盖的过程

5.提取灰度值生成法线贴图

https://www.gameres.com/831865.html

https://www.cnblogs.com/lancidie/p/7827434.html

6.3dmax 高低模烘焙 生成法线贴图的 过程,把高模的细节映射到低模的uv贴图上 ,

   映射过程 :

          比如一个矩形低模,把他展uv成6个平面,一个平面只有一个法线。

          然后一个矩形高模,把他展uv成6个大平面,但是他的每个大平面里又有无数个小平面,

          关键在于高模与低模的6个大平面相似,然后就把高模大平面里的小平面这些法线映射到低模贴图里去。

<1>把一个模型进行展uv操作,修改器里uvw展开,展uv操作https://blog.csdn.net/yangxuan0261/article/details/80879459

展开成条例清楚的各个部分,

这个就是uv贴图,然后导出为jpg格式,放入ps进行上色,再导回3dmax作为着色器贴图。

法线贴图就是把这里面的像素,替换为法线。

7.切线空间

https://blog.csdn.net/jxw167/article/details/58671953

https://blog.csdn.net/u010385624/article/details/91994006

 

8.通过高度图求解法线

看Cg教程第七章讲凹凸映射
其中在给定点由高度图转换为法线图的方法是,找两个向量(1, 0, Hr – Hg ),(0, 1, Ha – Hg ),其中Hg是该点高度,Hr是该点右边点的高度,Ha是该点上面点的高度。最后两个向量叉乘出的向量再单位化即为该点的法线向量。

曲面方程,切平面,切线,法线,参数方程,u,v,h

https://blog.csdn.net/u010107248/article/details/102998760

 

9.顶点法线