Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package slim.test.example;
- import static org.lwjgl.opengl.GL11.GL_BLEND;
- import static org.lwjgl.opengl.GL11.GL_COLOR_BUFFER_BIT;
- import static org.lwjgl.opengl.GL11.GL_DEPTH_TEST;
- import static org.lwjgl.opengl.GL11.GL_MODELVIEW;
- import static org.lwjgl.opengl.GL11.GL_ONE_MINUS_SRC_ALPHA;
- import static org.lwjgl.opengl.GL11.GL_PROJECTION;
- import static org.lwjgl.opengl.GL11.GL_QUADS;
- import static org.lwjgl.opengl.GL11.GL_SRC_ALPHA;
- import static org.lwjgl.opengl.GL11.GL_TEXTURE_2D;
- import static org.lwjgl.opengl.GL11.glBegin;
- import static org.lwjgl.opengl.GL11.glBlendFunc;
- import static org.lwjgl.opengl.GL11.glClear;
- import static org.lwjgl.opengl.GL11.glClearColor;
- import static org.lwjgl.opengl.GL11.glDisable;
- import static org.lwjgl.opengl.GL11.glEnable;
- import static org.lwjgl.opengl.GL11.glEnd;
- import static org.lwjgl.opengl.GL11.glLoadIdentity;
- import static org.lwjgl.opengl.GL11.glMatrixMode;
- import static org.lwjgl.opengl.GL11.glOrtho;
- import static org.lwjgl.opengl.GL11.glTexCoord2f;
- import static org.lwjgl.opengl.GL11.glVertex2f;
- import static org.lwjgl.opengl.GL11.glViewport;
- import java.io.IOException;
- import org.lwjgl.LWJGLException;
- import org.lwjgl.opengl.Display;
- import org.lwjgl.opengl.DisplayMode;
- public class VertexArrayExample {
- public static void main(String[] args) throws LWJGLException {
- new VertexArrayExample().start();
- }
- public void start() throws LWJGLException {
- Display.setTitle("Vertex Array Example");
- Display.setResizable(false);
- Display.setDisplayMode(new DisplayMode(800, 600));
- Display.setVSyncEnabled(true);
- Display.create();
- create();
- while (!Display.isCloseRequested()) {
- render();
- Display.update();
- Display.sync(60);
- }
- Display.destroy();
- }
- Texture tex;
- ShaderProgram shader;
- protected void create() {
- glEnable(GL_TEXTURE_2D);
- glDisable(GL_DEPTH_TEST);
- glEnable(GL_BLEND);
- glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
- glClearColor(0f, 0f, 0f, 0f);
- glViewport(0, 0, Display.getWidth(), Display.getHeight());
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(0, Display.getWidth(), Display.getHeight(), 0, -1, 1);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- // Load some textures
- try {
- tex = new Texture(VertexArrayExample.class.getResource("/res/small.png"));
- } catch (IOException e) {
- throw new RuntimeException("couldn't load texture");
- }
- }
- protected void render() {
- glClear(GL_COLOR_BUFFER_BIT);
- draw(tex, 20, 20);
- }
- public void draw(Texture tex, int x, int y) {
- tex.bind();
- glBegin(GL_QUADS);
- glTexCoord2f(0, 0);
- glVertex2f(x, y);
- glTexCoord2f(1, 0);
- glVertex2f(x+tex.width, y);
- glTexCoord2f(1, 1);
- glVertex2f(x+tex.width, y+tex.height);
- glTexCoord2f(0, 1);
- glVertex2f(x, y+tex.height);
- glEnd();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement