Advertisement
Guest User

Untitled

a guest
Aug 26th, 2016
195
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.52 KB | None | 0 0
  1. public void renderObstacleMap() {
  2.     m_obstaclesFrameBuffer.begin();
  3.     Gdx.gl20.glClearColor(0, 0, 0, 1);
  4.     Gdx.gl20.glClear(Gdx.gl20.GL_COLOR_BUFFER_BIT);
  5.  
  6.     ByteBuffer buffer = ByteBuffer.allocateDirect(8 * 4);
  7.     buffer.order(ByteOrder.nativeOrder());
  8.     FloatBuffer vertices = buffer.asFloatBuffer();
  9.  
  10.     m_obstaclesProgram.begin();
  11.     m_obstaclesProgram.setUniformMatrix("u_transform", transform);
  12.     Gdx.gl20.glBindBuffer(GL20.GL_ARRAY_BUFFER, m_vbo);
  13.     Gdx.gl20.glEnableVertexAttribArray(m_genericPositionAttribute);
  14.     Gdx.gl20.glVertexAttribPointer(m_genericPositionAttribute, 2, GL20.GL_FLOAT, false, 8, 0);
  15.  
  16.     Iterator<GameObject> iterator = controller.getObjectIterator();
  17.     while (iterator.hasNext()) {
  18.         GameObject o = iterator.next();
  19.         if (!o.transparentForLight) {
  20.             // набиваем вершины в буфер
  21.             vertices.position(0);
  22.             vertices.put(o.x); vertices.put(o.y);
  23.             vertices.put(o.x); vertices.put(o.y + o.height);
  24.             vertices.put(o.x + o.width); vertices.put(o.y + o.height);
  25.             vertices.put(o.x + o.width); vertices.put(o.y);
  26.  
  27.             Gdx.gl20.glBufferData(GL20.GL_ARRAY_BUFFER, buffer.capacity(), buffer, GL20.GL_DYNAMIC_DRAW);
  28.             Gdx.gl20.glDrawArrays(GL20.GL_TRIANGLE_FAN, 0, 4);
  29.         }
  30.     }
  31.  
  32.     Gdx.gl20.glDisableVertexAttribArray(m_genericPositionAttribute);
  33.     Gdx.gl20.glBindBuffer(GL20.GL_ARRAY_BUFFER, 0);
  34.     m_obstaclesProgram.end();
  35.     m_obstaclesFrameBuffer.end();
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement