caf*_*axo 6 c++ opengl curve smooth polygon
在我的OpenGL项目中,我想动态创建平滑的多边形,类似这样:
问题主要在于平滑过程.到目前为止,我的程序首先是创建一个随机放置顶点的VBO.
然后,在我的片段着色器中,(我正在使用可编程函数管道)应该发生平滑过程,或者换句话说,从顶点之间先前定义的"线"创建曲线.
而这正是问题所在:我对thoose复杂的数学算法并不十分熟悉,如果一个点位于"平滑多边形"内部,它将检查它.
Mic*_*ade 3
首先,你不能在片段着色器中真正做到这一点。片段着色器仅限于在将“像素”写入屏幕之前设置“像素”(基本上但不完全是实际像素)的最终颜色。它无法在曲线上创建新点。
本页很好地概述了创建平滑曲线的不同算法。
一般方法是使用几何着色器将几个点分解为多个点,然后像普通多边形一样渲染它们。但我不知道细节。例如,尝试在谷歌上搜索贝塞尔几何着色器。
等等,我撒谎了。我在这里找到了一个在片段着色器中执行此操作的程序。
归档时间:
13 年,7 月 前
查看次数:
1152 次
最近记录:
13 年,4 月 前