面向初学者的3D游戏着色器————法线贴图

法线贴图法线贴图允许您在不添加任何几何图形的情况下添加曲面细节。通常,在像搅拌机这样的建模程序中,你创建一个高多边形和一个低多边形的网格。从高多边形网格中提取顶点法线,并将其烘焙成纹理。这个纹理是法线贴图。然后在片段着色器中,将低多边形网格的顶点法线替换为烘焙到法线贴图中的高多边形网格的法线。现在,当你照亮你的网格时,它看起来会有比实际更多的多边形。这将保持您的FPS高,同时保留高聚合版本的大部...
摘要由CSDN通过智能技术生成

法线贴图
法线贴图允许您在不添加任何几何图形的情况下添加曲面细节。通常,在像搅拌机这样的建模程序中,你创建一个高多边形和一个低多边形的网格。从高多边形网格中提取顶点法线,并将其烘焙成纹理。这个纹理是法线贴图。然后在片段着色器中,将低多边形网格的顶点法线替换为烘焙到法线贴图中的高多边形网格的法线。现在,当你照亮你的网格时,它看起来会有比实际更多的多边形。这将保持您的FPS高,同时保留高聚合版本的大部分细节。
在这里,您可以看到应用法线贴图从高多边形模型到低多边形模型再到低多边形模型的过程
但是请记住,正常的映射只是一种幻觉。一定角度后,表面将再次看起来平坦。
顶点
// …

uniform mat3 p3d_NormalMatrix;

// …

in vec3 p3d_Normal;

// …

in vec3 p3d_Binormal;
in vec3 p3d_Tangent;

// …

vertexNormal = normalize(p3d_NormalMatrix * p3d_Normal);
binormal = normalize(p3d_NormalMatrix * p3d_Binormal);
tangent = normalize(p3d_NormalMatrix * p3d_Tangent);

// …
从顶点着色器开始,您需要向片段着色器输出法线向量、副法线向量和切线向量。在片段着色器中,这些向量用于将法线贴图从切线空间转换为视图空间。

p3d_NormalMatrix转换顶点法线、副法线和切线向量以查看空间。请记住,在视图空间中,所有坐标都是相对于摄像机的位置。
// …

in ve

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

geescan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值