我已经正确设置了鼠标点击处理程序。我有一些图形。有什么方法可以让我填充点的周围部分,直到它碰到多边形边界。类似于Microsoft Paint的“填充”命令。OpenGL/C++ - 如何填充鼠标单击点周围的区域?
谢谢!
我已经正确设置了鼠标点击处理程序。我有一些图形。有什么方法可以让我填充点的周围部分,直到它碰到多边形边界。类似于Microsoft Paint的“填充”命令。OpenGL/C++ - 如何填充鼠标单击点周围的区域?
谢谢!
考虑使用OpenGL选择功能与glSelectBuffer。
请参阅红色书的this chapter进行说明。
你在找什么叫做Flood Fill,它是一个像素算法;这意味着你要用着色器查看Frame缓冲区对象或使用(非常慢)glDrawPixels。
使用glSelectBuffer的建议很不错。然而,一旦你阅读了这一章,找到“现在你知道”一章,并找到一个名为“使用后台缓冲区选择对象”的小节 - 它简单得多,而且通常完全足够。
您的形状如何定义?三角形?线段?他们是否填充了多边形,或者只是绘制了内部为空的线段?如果它们被填充,它是一个常量的颜色,渐变或纹理? 屏幕截图会很有帮助。 – 2009-10-01 12:48:12