gpt4 book ai didi

c++ - OpenGL:创建复杂且平滑的多边形

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:41:37 28 4
gpt4 key购买 nike

在我的 OpenGL 项目中,我想动态创建平滑的多边形,类似于这个:

enter image description here

问题主要出在平滑过程中。到目前为止,我的程序是首先创建一个具有随机放置顶点的​​ VBO。

然后,在我的片段着色器中(我正在使用可编程函数管道)应该进行平滑处理,或者换句话说,从顶点之间先前定义的“线”创建曲线。

问题就在这里:我不太熟悉那些复杂的数学算法,这些算法会检查一个点是否在“平滑多边形”内。

最佳答案

首先,您无法在片段着色器中真正做到这一点。片段着色器仅限于在“像素”(基本上但不完全是实际像素)写入屏幕之前设置其最终(大概)颜色。它无法在曲线上创建新点。

This page很好地概述了创建平滑曲线的不同算法。

一般方法是使用几何着色器将几个点分解为多个点,然后像普通多边形一样渲染它们。但我不知道细节。尝试用谷歌搜索 bezier geometry shader例如。

等等,我在说谎。我找到了一个程序 here在片段着色器中执行此操作。

关于c++ - OpenGL:创建复杂且平滑的多边形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10363499/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com