2016-09-20 97 views
2

我正在使用libgdx库创建一个android侧滚动游戏。我在GL_TRIANGLE_STRIP模式下使用immediateModeRenderer20来渲染无限滚动的2D三角形条。渲染工作正常,我已经想出了如何在条上使用纯色,渐变和交替图案。如何在三角形条纹上渲染纹理?

有没有什么办法渲染三角形条,但覆盖与.png或纹理或类似的东西?

我已经看过texCoord(...)方法immediateModeRenderer20docs但我还没有找到关于如何使用它的任何实例。

如果任何人需要任何代码片段或图像,请告诉我。

回答

0

是的,有可能,我最近尝试过。

渲染它的循环看起来简单:

texture.bind(); 
immediateModeRenderer20.begin(camera().combined, GL20.GL_TRIANGLE_STRIP); 
immediateModeRenderer20.color(new Color(1, 1, 1, 1)); 
immediateModeRenderer20.texCoord(textureCoordinate.x, textureCoordinate.y); 
immediateModeRenderer20.vertex(point.x, point.y, 0f); 
immediateModeRenderer20.end(); 

但重要的是,你建立你的纹理坐标,以配合您的三角形。从直绳的纹理

http://imgur.com/i0ohFoO

:在我来说,我会画一根绳子像这样的。要纹理每个三角形,您需要纹理坐标x和y - 请记住纹理使用不同的坐标:x和y从0.0到1.0。

http://imgur.com/wxQ93KO

所以你的三角形顶点将需要的textureCoord值:

  1. X:0.0,Y:0.0
  2. X:0.0,Y:1.0
  3. X:三角形长度, y:0.0
  4. x:三角形长度,y:1.0

等。