【问题标题】:OpenGL simplest way to colour polygon surfaces?OpenGL为多边形表面着色的最简单方法?
【发布时间】:2026-01-21 05:00:02
【问题描述】:

我需要用一些花哨的图案填充我刚刚绘制的多边形的表面(类似于模糊的螺旋线就足够了,但图案本身不是问题)。形状在旋转时应保持固定在每个多边形的表面上。

我的问题是我不知道正确的方法来告诉着色器根据它们的位置以不同的方式为表面的每个点着色。

P.S.:贴图看起来有点过头了。

【问题讨论】:

  • 这怎么不是纹理?
  • 我不知道这就是我问的原因
  • 任何好的tutorial 都会为您提供所需的信息。

标签: c++ opengl fragment-shader vertex-shader


【解决方案1】:

您可以逐点绘制,并将“uniform vec4 RGBA”放入片段着色器中,然后使用这些值输出

【讨论】:

  • 您的意思是逐点绘制多边形吗?我应该把它们画成三角形的网格!
  • @RobiNoob:你知道片段着色器是什么吗?
【解决方案2】:

你可以这样做: 0-1 是纹理大小的最大值; make (1/vTextureCoords.x + 1/vTextureCoords.y)/2 你得到一个数字,这个数字和 gl_FragColor.xyz 相加(不和 alpha 通道相加);

【讨论】:

    最近更新 更多