Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void renderObstacleMap() {
- m_obstaclesFrameBuffer.begin();
- Gdx.gl20.glClearColor(0, 0, 0, 1);
- Gdx.gl20.glClear(Gdx.gl20.GL_COLOR_BUFFER_BIT);
- ByteBuffer buffer = ByteBuffer.allocateDirect(8 * 4);
- buffer.order(ByteOrder.nativeOrder());
- FloatBuffer vertices = buffer.asFloatBuffer();
- m_obstaclesProgram.begin();
- m_obstaclesProgram.setUniformMatrix("u_transform", transform);
- Gdx.gl20.glBindBuffer(GL20.GL_ARRAY_BUFFER, m_vbo);
- Gdx.gl20.glEnableVertexAttribArray(m_genericPositionAttribute);
- Gdx.gl20.glVertexAttribPointer(m_genericPositionAttribute, 2, GL20.GL_FLOAT, false, 8, 0);
- Iterator<GameObject> iterator = controller.getObjectIterator();
- while (iterator.hasNext()) {
- GameObject o = iterator.next();
- if (!o.transparentForLight) {
- // набиваем вершины в буфер
- vertices.position(0);
- vertices.put(o.x); vertices.put(o.y);
- vertices.put(o.x); vertices.put(o.y + o.height);
- vertices.put(o.x + o.width); vertices.put(o.y + o.height);
- vertices.put(o.x + o.width); vertices.put(o.y);
- Gdx.gl20.glBufferData(GL20.GL_ARRAY_BUFFER, buffer.capacity(), buffer, GL20.GL_DYNAMIC_DRAW);
- Gdx.gl20.glDrawArrays(GL20.GL_TRIANGLE_FAN, 0, 4);
- }
- }
- Gdx.gl20.glDisableVertexAttribArray(m_genericPositionAttribute);
- Gdx.gl20.glBindBuffer(GL20.GL_ARRAY_BUFFER, 0);
- m_obstaclesProgram.end();
- m_obstaclesFrameBuffer.end();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement