⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pbufferexample.java

📁 基于java的3d开发库。对坐java3d的朋友有很大的帮助。
💻 JAVA
字号:
import javax.media.opengl.GL;import javax.media.opengl.GLCapabilities;import javax.media.opengl.GLAutoDrawable;import javax.media.opengl.GLEventListener;import javax.media.opengl.GLPbuffer;import javax.media.opengl.GLDrawableFactory;import vsdk.toolkit.io.image.ImagePersistence;/*import com.sun.opengl.utils.BufferUtils;import java.nio.ByteBuffer;*/import java.io.File;import vsdk.toolkit.media.RGBImage;import vsdk.toolkit.render.jogl.JoglRGBImageRenderer;public class PbufferExample implements GLEventListener {    private static int imageWidth = 320;    private static int imageHeight = 240;    private GLPbuffer  pbuffer;    private RGBImage  image;    public PbufferExample() {        // Create a GLCapabilities object for the pbuffer        GLCapabilities pbCaps = new GLCapabilities();        pbCaps.setDoubleBuffered(false);        try {            pbuffer = GLDrawableFactory.getFactory().createGLPbuffer(pbCaps, null, imageWidth, imageHeight, null);          }          catch ( Exception e ) {              System.err.println("Error creating OpenGL Pbuffer. This program requires a 3D accelerator card.");              System.exit(1);        }        pbuffer.addGLEventListener(this);        pbuffer.display();    }    public void display(GLAutoDrawable drawable) {        GL gl = drawable.getGL();        gl.glClearColor(0, 0, 0, 1);        gl.glClear(GL.GL_COLOR_BUFFER_BIT);        gl.glColor3d(1, 1, 1);         gl.glMatrixMode(GL.GL_PROJECTION);        gl.glLoadIdentity();        gl.glMatrixMode(GL.GL_MODELVIEW);        gl.glLoadIdentity();        gl.glBegin(GL.GL_LINES);            gl.glVertex3d(0, 0, 0);            gl.glVertex3d(0.5, 0.5, 0);        gl.glEnd();        gl.glFlush();                image=JoglRGBImageRenderer.getImageJOGL(gl);        ImagePersistence.exportJPG(new File("./output.jpg"), image);    }    public void displayChanged(GLAutoDrawable gLDrawable, boolean modeChanged, boolean deviceChanged) {    }    public void init( GLAutoDrawable drawable ) {    }      public void reshape( GLAutoDrawable drawable, int x, int y, int width, int height )     {        GL gl = drawable.getGL();        gl.glViewport(0, 0, width, height);    }      public static void main( String[] args ) {        PbufferExample demo = new PbufferExample();    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -