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

📄 joglcubemapbackgroundrenderer.java

📁 基于java的3d开发库。对坐java3d的朋友有很大的帮助。
💻 JAVA
字号:
//===========================================================================//=-------------------------------------------------------------------------=//= Module history:                                                         =//= - November 28 2005 - Oscar Chavarro: Original base version              =//===========================================================================package vsdk.toolkit.render.jogl;import javax.media.opengl.GL;import vsdk.toolkit.media.RGBAImage;import vsdk.toolkit.environment.CubemapBackground;import vsdk.toolkit.render.jogl.JoglCameraRenderer;public class JoglCubemapBackgroundRenderer extends JoglRenderer {    public static void draw(GL gl, CubemapBackground background)    {        //-----------------------------------------------------------------        gl.glMatrixMode(gl.GL_PROJECTION);        gl.glLoadIdentity();        gl.glMatrixMode(gl.GL_TEXTURE);        gl.glPushMatrix();        gl.glLoadIdentity();        gl.glMatrixMode(gl.GL_MODELVIEW);        gl.glPushMatrix();        gl.glLoadIdentity();        //- Clear background ----------------------------------------------        gl.glClear(gl.GL_DEPTH_BUFFER_BIT);        gl.glShadeModel(gl.GL_FLAT);        gl.glDisable(gl.GL_BLEND);        gl.glDisable(gl.GL_LIGHTING);        gl.glDisable(gl.GL_DEPTH_TEST);        gl.glDisable(gl.GL_TEXTURE_2D);        gl.glFrontFace(gl.GL_CCW);        gl.glPolygonMode(gl.GL_FRONT_AND_BACK, gl.GL_FILL);        //- Put image background ------------------------------------------        RGBAImage images[] = background.getImages();        JoglCameraRenderer.activateCenter(gl, background.getCamera());                gl.glColor3d(1, 1, 1);        gl.glEnable(gl.GL_TEXTURE_2D);        // Front        JoglRGBAImageRenderer.activate(gl, images[0]);        gl.glTexParameteri(gl.GL_TEXTURE_2D,                            gl.GL_TEXTURE_MAG_FILTER, gl.GL_NEAREST);        gl.glTexParameteri(gl.GL_TEXTURE_2D, gl.GL_TEXTURE_MIN_FILTER,                            gl.GL_NEAREST);        gl.glLoadIdentity();        gl.glBegin(gl.GL_QUADS);            gl.glNormal3d(0, -1, 0);            gl.glTexCoord2f(1, 1);            gl.glVertex3d( 1,  1,  1);            gl.glTexCoord2f(0, 1);            gl.glVertex3d(-1,  1,  1);            gl.glTexCoord2f(0, 0);            gl.glVertex3d(-1,  1, -1);            gl.glTexCoord2f(1, 0);            gl.glVertex3d( 1,  1, -1);        gl.glEnd();        // Right        JoglRGBAImageRenderer.activate(gl, images[1]);        gl.glTexParameteri(gl.GL_TEXTURE_2D,                            gl.GL_TEXTURE_MAG_FILTER, gl.GL_NEAREST);        gl.glTexParameteri(gl.GL_TEXTURE_2D, gl.GL_TEXTURE_MIN_FILTER,                            gl.GL_NEAREST);        gl.glLoadIdentity();        gl.glRotated(-90, 0, 0, 1);        gl.glBegin(gl.GL_QUADS);            gl.glNormal3d(0, -1, 0);            gl.glTexCoord2f(1, 1);            gl.glVertex3d( 1,  1,  1);            gl.glTexCoord2f(0, 1);            gl.glVertex3d(-1,  1,  1);            gl.glTexCoord2f(0, 0);            gl.glVertex3d(-1,  1, -1);            gl.glTexCoord2f(1, 0);            gl.glVertex3d( 1,  1, -1);        gl.glEnd();        // Left        JoglRGBAImageRenderer.activate(gl, images[3]);        gl.glTexParameteri(gl.GL_TEXTURE_2D,                            gl.GL_TEXTURE_MAG_FILTER, gl.GL_NEAREST);        gl.glTexParameteri(gl.GL_TEXTURE_2D, gl.GL_TEXTURE_MIN_FILTER,                            gl.GL_NEAREST);        gl.glLoadIdentity();        gl.glRotated(90, 0, 0, 1);        gl.glBegin(gl.GL_QUADS);            gl.glNormal3d(0, -1, 0);            gl.glTexCoord2f(1, 1);            gl.glVertex3d( 1,  1,  1);            gl.glTexCoord2f(0, 1);            gl.glVertex3d(-1,  1,  1);            gl.glTexCoord2f(0, 0);            gl.glVertex3d(-1,  1, -1);            gl.glTexCoord2f(1, 0);            gl.glVertex3d( 1,  1, -1);        gl.glEnd();        // Back        JoglRGBAImageRenderer.activate(gl, images[2]);        gl.glTexParameteri(gl.GL_TEXTURE_2D,                            gl.GL_TEXTURE_MAG_FILTER, gl.GL_NEAREST);        gl.glTexParameteri(gl.GL_TEXTURE_2D, gl.GL_TEXTURE_MIN_FILTER,                            gl.GL_NEAREST);        gl.glLoadIdentity();        gl.glRotated(180, 0, 0, 1);        gl.glBegin(gl.GL_QUADS);            gl.glNormal3d(0, -1, 0);            gl.glTexCoord2f(1, 1);            gl.glVertex3d( 1,  1,  1);            gl.glTexCoord2f(0, 1);            gl.glVertex3d(-1,  1,  1);            gl.glTexCoord2f(0, 0);            gl.glVertex3d(-1,  1, -1);            gl.glTexCoord2f(1, 0);            gl.glVertex3d( 1,  1, -1);        gl.glEnd();        // Down        JoglRGBAImageRenderer.activate(gl, images[4]);        gl.glTexParameteri(gl.GL_TEXTURE_2D,                            gl.GL_TEXTURE_MAG_FILTER, gl.GL_NEAREST);        gl.glTexParameteri(gl.GL_TEXTURE_2D, gl.GL_TEXTURE_MIN_FILTER,                            gl.GL_NEAREST);        gl.glLoadIdentity();        gl.glRotated(-90, 1, 0, 0);        gl.glBegin(gl.GL_QUADS);            gl.glNormal3d(0, -1, 0);            gl.glTexCoord2f(1, 1);            gl.glVertex3d( 1,  1,  1);            gl.glTexCoord2f(0, 1);            gl.glVertex3d(-1,  1,  1);            gl.glTexCoord2f(0, 0);            gl.glVertex3d(-1,  1, -1);            gl.glTexCoord2f(1, 0);            gl.glVertex3d( 1,  1, -1);        gl.glEnd();        // Up        JoglRGBAImageRenderer.activate(gl, images[5]);        gl.glTexParameteri(gl.GL_TEXTURE_2D,                            gl.GL_TEXTURE_MAG_FILTER, gl.GL_NEAREST);        gl.glTexParameteri(gl.GL_TEXTURE_2D, gl.GL_TEXTURE_MIN_FILTER,                            gl.GL_NEAREST);        gl.glLoadIdentity();        gl.glRotated(90, 1, 0, 0);        gl.glBegin(gl.GL_QUADS);            gl.glNormal3d(0, -1, 0);            gl.glTexCoord2f(1, 1);            gl.glVertex3d( 1,  1,  1);            gl.glTexCoord2f(0, 1);            gl.glVertex3d(-1,  1,  1);            gl.glTexCoord2f(0, 0);            gl.glVertex3d(-1,  1, -1);            gl.glTexCoord2f(1, 0);            gl.glVertex3d( 1,  1, -1);        gl.glEnd();        //-----------------------------------------------------------------        gl.glPopMatrix();        gl.glMatrixMode(gl.GL_TEXTURE);        gl.glPopMatrix();        gl.glMatrixMode(gl.GL_PROJECTION);        gl.glPopMatrix();        gl.glMatrixMode(gl.GL_MODELVIEW);        gl.glEnable(gl.GL_DEPTH_TEST);        gl.glDisable(gl.GL_TEXTURE_2D);    }}//===========================================================================//= EOF                                                                     =//===========================================================================

⌨️ 快捷键说明

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