我正在基于细胞自动机方法生成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。
答案 0 :(得分:0)
好吧,我可能有一个解决方案,但速度很慢。 从缓冲区中取出您的图像并将其存储到阵列中。在遍历阵列中的每个像素并且像素应该是黑色的情况下,在屏幕上放置黑点。拍摄图像的速度很慢,点放也很慢但我在1.1中看不到另一种方法。
答案 1 :(得分:0)
也许有些使用Stencil缓冲区?
我尝试渲染图像两次,在X和Y中有轻微(1px)偏移。在渲染过程中为每种颜色指定不同的模板值。然后,如果在模板缓冲区上使用'add'操作渲染第一个传递,并使用'subtract'传递第二个传递,则应在模板缓冲区中进行简单的边缘检测。然后你只需要在启用模板测试的情况下渲染黑色四边形。
我意识到这种方法可能不是像素完美的并且会给出一些文物,但这是我脑海中最好的ATM:)。