Package com.badlogic.jglfw.tests

Source Code of com.badlogic.jglfw.tests.ShaderTest

package com.badlogic.jglfw.tests;

import com.badlogic.jglfw.GlfwCallbackAdapter;
import com.badlogic.jglfw.gl.GL;

import static com.badlogic.jglfw.gl.GL.*;
import static com.badlogic.jglfw.Glfw.*;


public class ShaderTest {
  public static void main (String[] args) {
    glfwInit();
    glfwWindowHint(GLFW_DEPTH_BITS, 16);
    long window = glfwCreateWindow(480, 320, "Shader Test", 0, 0);
    glfwMakeContextCurrent(window);
    glfwSetCallback(new GlfwCallbackAdapter() {
      @Override
      public void windowSize (long window, int width, int height) {
        glViewport(0, 0, width, height);
      }
    });
   
    String vertexShader = "void main() { gl_Position = ftransform(); }";
    String fragmentShader = "void main() { gl_FragColor = vec4(0.4,0.4,0.8,1.0); }";
   
    int vShader = GL.glCreateShader(GL.GL_VERTEX_SHADER);
    GL.glShaderSource(vShader, vertexShader);
    GL.glCompileShader(vShader);
    int fShader = GL.glCreateShader(GL.GL_FRAGMENT_SHADER);
    GL.glShaderSource(fShader, fragmentShader);
    GL.glCompileShader(fShader);
    int program = GL.glCreateProgram();
    GL.glAttachShader(program, vShader);
    GL.glAttachShader(program, fShader);
    GL.glLinkProgram(program);
   
    GL.glUseProgram(program);
   
    while(!glfwWindowShouldClose(window)) {
      glClearColor(1001);
      glClear(GL_COLOR_BUFFER_BIT);
     
      GL.glRotatef(0.01f, 0, 0, 1);
      GL.glBegin(GL.GL_TRIANGLES);
      GL.glVertex2f(-0.5f, -0.5f);
      GL.glVertex2f(0.5f, -0.5f);
      GL.glVertex2f(0, 0.5f);
      GL.glEnd();
     
      glfwPollEvents();
      glfwSwapBuffers(window);
    }
   
    glfwTerminate()
  }
}
TOP

Related Classes of com.badlogic.jglfw.tests.ShaderTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.