Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.clcbio.api.structure.viewer.experimental;
- import java.awt.event.WindowAdapter;
- import java.awt.event.WindowEvent;
- import javax.media.opengl.GL;
- import javax.media.opengl.GL2;
- import javax.media.opengl.GLAutoDrawable;
- import javax.media.opengl.GLCapabilities;
- import javax.media.opengl.GLEventListener;
- import javax.media.opengl.GLProfile;
- import javax.media.opengl.awt.GLJPanel;
- import javax.swing.JFrame;
- import com.jogamp.opengl.util.FPSAnimator;
- public class SimpleJoglTest implements GLEventListener {
- private float theta;
- private float s;
- private float c;
- public static void main(String[] args) {
- GLCapabilities caps = new GLCapabilities(GLProfile.getDefault());
- caps.setNumSamples(2);
- caps.setSampleBuffers(true);
- SimpleJoglTest test = new SimpleJoglTest();
- GLJPanel canvas = new GLJPanel(caps);
- // GLCanvas canvas = new GLCanvas(caps); <-- this works.
- JFrame frame = new JFrame("GLJPanel Window Test");
- frame.setSize(300, 300);
- frame.add(canvas);
- frame.setVisible(true);
- frame.addWindowListener(new WindowAdapter() {
- @Override
- public void windowClosing(WindowEvent e) {
- System.exit(0);
- }
- });
- canvas.addGLEventListener(test);
- FPSAnimator anim = new FPSAnimator(canvas, 1);
- anim.start();
- }
- @Override
- public void dispose(GLAutoDrawable drawable) {
- System.out.println("Dispose");
- }
- @Override
- public void init(GLAutoDrawable drawable) {
- System.out.println("Init");
- }
- @Override
- public void reshape(GLAutoDrawable drawable, int x, int y, int w, int h) {
- System.out.println("Reshape");
- }
- public void drawSomething(GL2 gl) {
- gl.glBegin(GL.GL_TRIANGLES);
- gl.glColor3f(1, 0, 0);
- gl.glVertex3f(-c, -c, 0);
- gl.glColor3f(0, 1, 0);
- gl.glVertex3f(0, c, 0);
- gl.glColor3f(0, 0, 1);
- gl.glVertex3f(s, -s, 0);
- gl.glEnd();
- }
- @Override
- public void display(GLAutoDrawable drawable) {
- theta += 0.1;
- s = (float) Math.sin(theta);
- c = (float) Math.cos(theta);
- GL2 gl = drawable.getGL().getGL2();
- gl.glClearColor(1.0f, 0.0f, 1.0f, 1.0f);
- gl.glClear(GL.GL_COLOR_BUFFER_BIT);
- drawSomething(gl);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement