我正在基于元胞自动机方法生成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。
,我可能有一个解决方案,但它很慢。从缓冲区中取出您的当前图像并将其存储到数组中。在检查数组中的每个像素以及像素应该为黑色的位置后,在屏幕上放置一个黑点。拍摄图像很慢,放置点也很慢,但我在 1.1 中看不到另一种方法。
模板缓冲区?
我会尝试渲染图像两次,在 X 和 Y 中略有 (1px) 偏移。在渲染过程中,为每种颜色分配不同的模具值。然后,如果在模板缓冲区上使用"添加"操作渲染第一遍,并使用"减法"渲染第二遍,则应在模具缓冲区中获得简单的边缘检测。然后,您只需要在启用模板测试的情况下渲染黑色四边形。
我意识到这种方法可能不是像素完美的,并给出了一些伪影,但它是我想到的最好的ATM:)。