Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package nl.sonware.opengltest;
- import static org.lwjgl.opengl.ARBBufferObject.*;
- import static org.lwjgl.opengl.ARBVertexBufferObject.*;
- import static org.lwjgl.opengl.GL11.*;
- public class Block {
- int vertexBuffer, texCoordBuffer;
- float[] vertexArray, texCoordArray;
- float xSize,ySize,zSize;
- Block(float xSize, float ySize, float zSize) {
- this.xSize = xSize;
- this.ySize = ySize;
- this.zSize = zSize;
- vertexArray = new float[] {
- -1, 1, -1,
- -1,-1, -1,
- 1, -1, -1,
- 1, -1, -1,
- 1, 1, -1,
- -1, 1, -1,
- };
- texCoordArray = new float[] {
- 0,1,
- 0,0,
- 1,0,
- 1,0,
- 1,1,
- 0,1,
- };
- vertexBuffer = glGenBuffersARB();
- texCoordBuffer = glGenBuffersARB();
- glBindBufferARB(GL_ARRAY_BUFFER_ARB, vertexBuffer);
- glBufferDataARB(GL_ARRAY_BUFFER_ARB, BufferUtils.wrapDirect(vertexArray), GL_STATIC_DRAW_ARB);
- glBindBufferARB(GL_ARRAY_BUFFER_ARB, texCoordBuffer);
- glBufferDataARB(GL_ARRAY_BUFFER_ARB, BufferUtils.wrapDirect(texCoordArray), GL_STATIC_DRAW_ARB);
- glBindBufferARB(GL_ARRAY_BUFFER_ARB, 0);
- }
- public void render() {
- Textures.bindTexture(Textures.textureWood);
- glBindBufferARB(GL_ARRAY_BUFFER_ARB, vertexBuffer);
- glTexCoordPointer(3, GL_FLOAT, 0, 0);
- glBindBufferARB(GL_ARRAY_BUFFER_ARB, texCoordBuffer);
- glTexCoordPointer(2, GL_FLOAT, 0, 0);
- glEnableClientState(GL_VERTEX_ARRAY);
- glEnableClientState(GL_TEXTURE_COORD_ARRAY);
- glDrawArrays(GL_TRIANGLES, 0, vertexArray.length); // Draw the VBO
- glDisableClientState(GL_TEXTURE_COORD_ARRAY);
- glDisableClientState(GL_VERTEX_ARRAY);
- glBindBufferARB(GL_ARRAY_BUFFER_ARB, 0); // end VBO mode
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement