OpenGL 2D纹理的厚度

时间:2014-09-03 15:06:32

标签: java opengl textures rendering lwjgl

在OpenGL(lwjgl)中为2D纹理提供某种“厚度”的最简单方法是什么。当然,我可以以某种方式获得纹理的边界,并添加四边形,或者以相邻纹理像素的颜色绘制纹理的四边形的法线方向。但必须有一种更简单的方法。 Minecraft也在使用lwigl,并且有(新的)3D项目,它们在地面上旋转并且不会造成太多的性能问题,就像它们被绘制多边形的多边形一样。同样,当你拿着一个项目时,有一种深度的“拉伸”纹理,这也适用于高分辨率纹理。 有谁知道这是怎么做的?

1 个答案:

答案 0 :(得分:0)

2D纹理总是无限薄。如果你想要实际厚度(当你看到边缘时),你需要几何。在Minecraft中,事物看起来很块,因为它们已经被模仿了。

如果你看一些角度并忽略边缘,你可以使用视差映射到"假"纹理中的一些深度。或者,您可以使用深度贴图并使用tesselation着色器和顶点着色器的组合来实现置换贴图,从而从纹理生成几何体。