-1

我正在基于元胞自动机方法生成 3D 多晶结构。我渲染的结构看起来像: http ://www-e.uni-magdeburg.de/dzoellne/simulation/Bilder/3D_structure.gif

有没有办法标记每种颜色的边界?每种颜色都受黑线限制,如下所示: http ://web.boun.edu.tr/jeremy.mason/research/images/monte_carlo.png

不幸的是,我使用的是旧的 1.1 OpenGL。

4

2 回答 2

0

也许使用模板缓冲区?

我会尝试将图像渲染两次,在 X 和 Y 上稍微偏移(1px)。在渲染过程中,为每种颜色分配不同的模板值。然后,如果您在模板缓冲区上使用“添加”操作渲染第一遍,然后使用“减法”渲染第二遍,您应该在模板缓冲区中进行简单的边缘检测。然后你只需要在启用模板测试的情况下渲染黑色四边形。

我意识到这种方法可能不是像素完美的并且会产生一些伪像,但它是我想到的最好的 ATM :)。

于 2014-01-14T15:03:27.300 回答
0

好吧,我可能有一个解决方案,但它很慢。从缓冲区中取出您当前的图像并将其存储到一个数组中。在检查阵列中的每个像素以及像素应该为黑色的位置后,在屏幕上放置一个黑点。拍摄图像很慢,点也很慢,但我在 1.1 中看不到另一种方式。

于 2014-01-12T23:41:26.983 回答