低多边形表面的glsl效应

低多边形表面的glsl效应,glsl,Glsl,我有一个顶点/碎片着色器,点光和衰减,我需要将这种着色器应用到立方体面上,如果我使用高多边形网格,我需要看到颜色渐变的变化 一切都很好,效果很好,我的目标是在这个低多边形网格上有一个梯度 我试着这样做gl_FragColor=vec4(n,1)n=normal,但我得到了每个表面的纯色 这就是为什么我看不到渐变的原因 干杯你观察到的是正确的行为。立方体是完全平坦的,因此每个面顶点的法线是相同的 但是请注意,在计算Phong照明时,还应使用片段的位置,该位置在给定(子)面的3个(或4个)顶点之间插

我有一个顶点/碎片着色器,点光和衰减,我需要将这种着色器应用到立方体面上,如果我使用高多边形网格,我需要看到颜色渐变的变化 一切都很好,效果很好,我的目标是在这个低多边形网格上有一个梯度

我试着这样做gl_FragColor=vec4(n,1)n=normal,但我得到了每个表面的纯色 这就是为什么我看不到渐变的原因


干杯

你观察到的是正确的行为。立方体是完全平坦的,因此每个面顶点的法线是相同的

但是请注意,在计算Phong照明时,还应使用片段的位置,该位置在给定(子)面的3个(或4个)顶点之间插值。它可以用来计算给定碎片位置的光位置和眼向量之间的角度


我最近也遇到过类似的问题,我发现如果你想看到一些非平面的东西,你的立方体真的需要发光;我是说字面意思。将光泽度设置为合理的高值(250-500)。你应该在脸上看到一个聚焦的、移动的光点,它直接反射给你。如果不是,您的lightning着色器可能是错误的。

您观察到的是正确的行为。立方体是完全平坦的,因此每个面顶点的法线是相同的

但是请注意,在计算Phong照明时,还应使用片段的位置,该位置在给定(子)面的3个(或4个)顶点之间插值。它可以用来计算给定碎片位置的光位置和眼向量之间的角度


我最近也遇到过类似的问题,我发现如果你想看到一些非平面的东西,你的立方体真的需要发光;我是说字面意思。将光泽度设置为合理的高值(250-500)。你应该在脸上看到一个聚焦的、移动的光点,它直接反射给你。如果不是,您的lightning着色器可能是错误的。

欢迎使用SO!低多边形网格有什么问题?效果有什么不同?你试过什么?请阅读SO教程并尝试改进您的问题,因为它不太可能以当前形式得到回答。嗨,巴特克,您能告诉我常见问题在哪里吗?我没有很好的使用经验,所以我很抱歉:)我试着为照明、phong、blinn编写一些着色器,添加衰减,但我的立方体面上有纯色,而我需要获得渐变。我无法轻松调试glsl着色器,这没有帮助。页面顶部有一个链接。此外,你应该编辑你的答案,并把你的附加信息放在那里。很可能,你的正常状态不好。95%肯定。欢迎来到SO!低多边形网格有什么问题?效果有什么不同?你试过什么?请阅读SO教程并尝试改进您的问题,因为它不太可能以当前形式得到回答。嗨,巴特克,您能告诉我常见问题在哪里吗?我没有很好的使用经验,所以我很抱歉:)我试着为照明、phong、blinn编写一些着色器,添加衰减,但我的立方体面上有纯色,而我需要获得渐变。我无法轻松调试glsl着色器,这没有帮助。页面顶部有一个链接。此外,你应该编辑你的答案,并把你的附加信息放在那里。很可能,你的正常状态不好。95%的人肯定。