使用哪个着色器来渲染网格?

时间:2014-04-05 14:49:12

标签: libgdx rendering mesh

我正在使用GL 2.0(为了显示不是2的幂的图片),我试图简单地渲染一个网格(显示一些三角形)。

使用GL 1.0时,我没有任何问题,但现在,我必须将ShaderProgram对象作为参数传递。

如何让它像GL 1.0一样工作?

我应该制作一个什么都不做的着色器?

2 个答案:

答案 0 :(得分:1)

您必须使用顶点着色器将世界空间坐标转换为屏幕空间坐标。您需要一个像素着色器来查找四边形的每个渲染像素的纹理坐标。

查看Libgdx uses for its SpriteBatch的着色器,它们是非常小的纹理 - 四边形着色器。您可以使用SpriteBatch.createDefaultShader()来获取它们,或者只是将它们用作自己着色器的灵感。

答案 1 :(得分:0)

着色器上的libgdx wiki页面已经包含一个简单着色器的示例代码:

https://github.com/libgdx/libgdx/wiki/Shaders

我认为它与createDefaultShader()基本相同,与P.T。的答案相同......

希望它有所帮助...