normal mapping中TBN矩阵的思考
来源:互联网 发布:校园二手交易网站源码 编辑:程序博客网 时间:2024/05/02 13:49
学习法线贴图(normal mapping)的过程中,最关键的一个矩阵就是TBN矩阵,该矩阵用于将存储在纹理空间中的法向量转换到模型空间中(实际使用相反,为了减少计算量,是将光线从模型空间转换到了纹理空间,然后计算反射光线,因为光线条数远远少于法向量数目)。
下图展示法线贴图的含义,图中的蓝色部分为一块法线纹理,上面的黑色小木棒(纯手工绘图)是每个像素的rgb代表的法线向量。就像一块海绵上插了无数歪歪扭扭的针一样……这样当计算反射光线时,这些法向量模拟凹凸不平的表面,最后产生真实的感觉。
首先考虑向量空间中坐标表示的问题,给定一个三维坐标系的一组基,
如上图所示,假定
然后解出
但是开头说过了,实际我们使用的变换是将光线从模型空间变换到纹理空间,因此要求的实际是逆过程的转换矩阵,好在TBN矩阵是正交阵,转置一下就得到了
0 0
- normal mapping中TBN矩阵的思考
- Normal Mapping
- Normal Mapping
- Normal Mapping
- 三角形网格的TBN矩阵中的Tangent计算。
- 关于Normal的矩阵变换
- ffmpeg中tbc tbr tbn代表的含义
- 动态贝叶斯网络中TBN与DBN的区别
- ffmpeg中tbr tbc tbn的含义解释
- Normal Mapping整理资料
- Cg normal mapping
- Normal Mapping 法线贴图
- 法线贴图(Normal Mapping)
- 【Unity Shaders】法线纹理(Normal Mapping)的实现细节
- 【Unity Shaders】法线纹理(Normal Mapping)的实现细节
- 【Unity Shaders】法线纹理(Normal Mapping)的实现细节
- 【Unity Shaders】法线纹理(Normal Mapping)的实现细节
- tbr tbn tbc 的意思
- 路径最短问题
- 梳理spring-面试题
- Linux常用命令
- android TextView 文本内容收起,展开的效果实现
- c++的编译和运行
- normal mapping中TBN矩阵的思考
- 使用简单字符驱动来做Kernel Hacking
- 九大算法
- zygote启动流程
- 【SQL】With as 与row number()实现分页查询的sql语句
- a标签跳转到指定div,jquery添加和移除class属性
- 使用docker容器学习 Nginx 反向代理
- Lightoj 1008
- 实现点击view并隐藏与显示指定view