opengl - 如何获得硬边 - OpenGL

标签 opengl glsl edges

如何在我的地形上获得硬边。我在 GLSL 中有一个简单的环境和漫反射着色器。我认为片段着色器正在对顶点法线进行插值并导致平滑着色。你们需要我的代码吗?或者我可以启用一些设置吗?

当前地形没有硬边: http://twirlbound.com/uploads/terain.png

最佳答案

在你的顶点着色器中,执行如下操作:

flat out vec3 v_normal;

在片段着色器中,如下所示:

flat in vec3 v_normal;

flat 告诉 GL 为三角形的所有光栅化片段赋予相同的值。使用哪个顶点的法线取决于当前的“激发顶点”,通过调用 glProvokingVertex 设置。

关于opengl - 如何获得硬边 - OpenGL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13897244/

相关文章:

c++ - 在运行时加载 OpenGL 扩展

delphi - 结合 Lazarus LCL 和 OpenGL

c++ - 使用 glOrtho 缩放到鼠标位置

opengl - 将 VBO 传递给具有不同布局的着色器

javascript - 我需要隐藏 ThreeJS 框基元上的边缘

opengl - 使用鼠标滚轮缩放不同的对象

opengl - 如何在 GLSL 中渲染无限的 2D 网格?

android - 自定义着色器不适用于 Android 设备(使用 LibGDX)

algorithm - 从连接的节点列表中绘制图形