亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? renderer.java

?? NeHe用java與OpenGL結合教程源碼
?? JAVA
字號:
package demos.nehe.lesson05;

/*
 * Lesson05.java
 *
 * Created on July 15, 2003, 11:30 AM
 */

import javax.media.opengl.GL;
import javax.media.opengl.GLAutoDrawable;
import javax.media.opengl.GLEventListener;
import javax.media.opengl.glu.GLU;

/** Port of the NeHe OpenGL Tutorial (Lesson 5)
 * to Java using the Jogl interface to OpenGL.  Jogl can be obtained
 * at http://jogl.dev.java.net/
 *
 * @author Kevin Duling (jattier@hotmail.com)
 */
class Renderer implements GLEventListener {
    private float rquad = 0.0f;
    private float rtri = 0.0f;

    private GLU glu = new GLU();

    /** Called by the drawable to initiate OpenGL rendering by the client.
     * After all GLEventListeners have been notified of a display event, the
     * drawable will swap its buffers if necessary.
     * @param gLDrawable The GLAutoDrawable object.
     */
    public void display(GLAutoDrawable gLDrawable) {
        final GL gl = gLDrawable.getGL();
        gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
        gl.glLoadIdentity();
        gl.glTranslatef(-1.5f, 0.0f, -6.0f);
        gl.glRotatef(rtri, 0.0f, 1.0f, 0.0f);
        gl.glBegin(GL.GL_TRIANGLES);		    // Drawing Using Triangles
        gl.glColor3f(1.0f, 0.0f, 0.0f);			// Red
        gl.glVertex3f(0.0f, 1.0f, 0.0f);			// Top Of Triangle (Front)
        gl.glColor3f(0.0f, 1.0f, 0.0f);			// Green
        gl.glVertex3f(-1.0f, -1.0f, 1.0f);			// Left Of Triangle (Front)
        gl.glColor3f(0.0f, 0.0f, 1.0f);			// Blue
        gl.glVertex3f(1.0f, -1.0f, 1.0f);			// Right Of Triangle (Front)
        gl.glColor3f(1.0f, 0.0f, 0.0f);			// Red
        gl.glVertex3f(0.0f, 1.0f, 0.0f);			// Top Of Triangle (Right)
        gl.glColor3f(0.0f, 0.0f, 1.0f);			// Blue
        gl.glVertex3f(1.0f, -1.0f, 1.0f);			// Left Of Triangle (Right)
        gl.glColor3f(0.0f, 1.0f, 0.0f);			// Green
        gl.glVertex3f(1.0f, -1.0f, -1.0f);			// Right Of Triangle (Right)
        gl.glColor3f(1.0f, 0.0f, 0.0f);			// Red
        gl.glVertex3f(0.0f, 1.0f, 0.0f);			// Top Of Triangle (Back)
        gl.glColor3f(0.0f, 1.0f, 0.0f);			// Green
        gl.glVertex3f(1.0f, -1.0f, -1.0f);			// Left Of Triangle (Back)
        gl.glColor3f(0.0f, 0.0f, 1.0f);			// Blue
        gl.glVertex3f(-1.0f, -1.0f, -1.0f);			// Right Of Triangle (Back)
        gl.glColor3f(1.0f, 0.0f, 0.0f);			// Red
        gl.glVertex3f(0.0f, 1.0f, 0.0f);			// Top Of Triangle (Left)
        gl.glColor3f(0.0f, 0.0f, 1.0f);			// Blue
        gl.glVertex3f(-1.0f, -1.0f, -1.0f);			// Left Of Triangle (Left)
        gl.glColor3f(0.0f, 1.0f, 0.0f);			// Green
        gl.glVertex3f(-1.0f, -1.0f, 1.0f);			// Right Of Triangle (Left)
        gl.glEnd();				// Finished Drawing The Triangle
        gl.glLoadIdentity();
        gl.glTranslatef(1.5f, 0.0f, -6.0f);
        gl.glRotatef(rquad, 1.0f, 1.0f, 1.0f);
        gl.glBegin(GL.GL_QUADS);           	// Draw A Quad
        gl.glColor3f(0.0f, 1.0f, 0.0f);			// Set The Color To Green
        gl.glVertex3f(1.0f, 1.0f, -1.0f);			// Top Right Of The Quad (Top)
        gl.glVertex3f(-1.0f, 1.0f, -1.0f);			// Top Left Of The Quad (Top)
        gl.glVertex3f(-1.0f, 1.0f, 1.0f);			// Bottom Left Of The Quad (Top)
        gl.glVertex3f(1.0f, 1.0f, 1.0f);			// Bottom Right Of The Quad (Top)

        gl.glColor3f(1.0f, 0.5f, 0.0f);			// Set The Color To Orange
        gl.glVertex3f(1.0f, -1.0f, 1.0f);			// Top Right Of The Quad (Bottom)
        gl.glVertex3f(-1.0f, -1.0f, 1.0f);			// Top Left Of The Quad (Bottom)
        gl.glVertex3f(-1.0f, -1.0f, -1.0f);			// Bottom Left Of The Quad (Bottom)
        gl.glVertex3f(1.0f, -1.0f, -1.0f);			// Bottom Right Of The Quad (Bottom)

        gl.glColor3f(1.0f, 0.0f, 0.0f);			// Set The Color To Red
        gl.glVertex3f(1.0f, 1.0f, 1.0f);			// Top Right Of The Quad (Front)
        gl.glVertex3f(-1.0f, 1.0f, 1.0f);			// Top Left Of The Quad (Front)
        gl.glVertex3f(-1.0f, -1.0f, 1.0f);			// Bottom Left Of The Quad (Front)
        gl.glVertex3f(1.0f, -1.0f, 1.0f);			// Bottom Right Of The Quad (Front)

        gl.glColor3f(1.0f, 1.0f, 0.0f);			// Set The Color To Yellow
        gl.glVertex3f(1.0f, -1.0f, -1.0f);			// Bottom Left Of The Quad (Back)
        gl.glVertex3f(-1.0f, -1.0f, -1.0f);			// Bottom Right Of The Quad (Back)
        gl.glVertex3f(-1.0f, 1.0f, -1.0f);			// Top Right Of The Quad (Back)
        gl.glVertex3f(1.0f, 1.0f, -1.0f);			// Top Left Of The Quad (Back)

        gl.glColor3f(0.0f, 0.0f, 1.0f);			// Set The Color To Blue
        gl.glVertex3f(-1.0f, 1.0f, 1.0f);			// Top Right Of The Quad (Left)
        gl.glVertex3f(-1.0f, 1.0f, -1.0f);			// Top Left Of The Quad (Left)
        gl.glVertex3f(-1.0f, -1.0f, -1.0f);			// Bottom Left Of The Quad (Left)
        gl.glVertex3f(-1.0f, -1.0f, 1.0f);			// Bottom Right Of The Quad (Left)

        gl.glColor3f(1.0f, 0.0f, 1.0f);			// Set The Color To Violet
        gl.glVertex3f(1.0f, 1.0f, -1.0f);			// Top Right Of The Quad (Right)
        gl.glVertex3f(1.0f, 1.0f, 1.0f);			// Top Left Of The Quad (Right)
        gl.glVertex3f(1.0f, -1.0f, 1.0f);			// Bottom Left Of The Quad (Right)
        gl.glVertex3f(1.0f, -1.0f, -1.0f);			// Bottom Right Of The Quad (Right)
        gl.glEnd();				// Done Drawing The Quad
        gl.glFlush();
        rtri += 0.2f;
        rquad += 0.15f;
    }


    /** Called when the display mode has been changed.  <B>!! CURRENTLY UNIMPLEMENTED IN JOGL !!</B>
     * @param gLDrawable The GLAutoDrawable object.
     * @param modeChanged Indicates if the video mode has changed.
     * @param deviceChanged Indicates if the video device has changed.
     */
    public void displayChanged(GLAutoDrawable gLDrawable, boolean modeChanged, boolean deviceChanged) {
    }

    /** Called by the drawable immediately after the OpenGL context is
     * initialized for the first time. Can be used to perform one-time OpenGL
     * initialization such as setup of lights and display lists.
     * @param gLDrawable The GLAutoDrawable object.
     */
    public void init(GLAutoDrawable gLDrawable) {
        GL gl = gLDrawable.getGL();
        gl.glShadeModel(GL.GL_SMOOTH);              // Enable Smooth Shading
        gl.glClearColor(0.0f, 0.0f, 0.0f, 0.5f);    // Black Background
        gl.glClearDepth(1.0f);                      // Depth Buffer Setup
        gl.glEnable(GL.GL_DEPTH_TEST);							// Enables Depth Testing
        gl.glDepthFunc(GL.GL_LEQUAL);								// The Type Of Depth Testing To Do
        gl.glHint(GL.GL_PERSPECTIVE_CORRECTION_HINT, GL.GL_NICEST);	// Really Nice Perspective Calculations
    }


    /** Called by the drawable during the first repaint after the component has
     * been resized. The client can update the viewport and view volume of the
     * window appropriately, for example by a call to
     * GL.glViewport(int, int, int, int); note that for convenience the component
     * has already called GL.glViewport(int, int, int, int)(x, y, width, height)
     * when this method is called, so the client may not have to do anything in
     * this method.
     * @param gLDrawable The GLAutoDrawable object.
     * @param x The X Coordinate of the viewport rectangle.
     * @param y The Y coordinate of the viewport rectanble.
     * @param width The new width of the window.
     * @param height The new height of the window.
     */
    public void reshape(GLAutoDrawable gLDrawable, int x, int y, int width, int height) {
        final GL gl = gLDrawable.getGL();

        if (height <= 0) // avoid a divide by zero error!
            height = 1;
        final float h = (float) width / (float) height;
        gl.glViewport(0, 0, width, height);
        gl.glMatrixMode(GL.GL_PROJECTION);
        gl.glLoadIdentity();
        glu.gluPerspective(45.0f, h, 1.0, 20.0);
        gl.glMatrixMode(GL.GL_MODELVIEW);
        gl.glLoadIdentity();
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲免费资源在线播放| 91一区在线观看| 亚洲综合丝袜美腿| 亚洲桃色在线一区| 亚洲欧美色图小说| 亚洲丝袜精品丝袜在线| 亚洲欧洲成人精品av97| 中文字幕一区二区三区av| 国产欧美日韩另类视频免费观看| 日韩欧美资源站| 精品国产1区二区| 国产日韩欧美制服另类| 国产精品你懂的| 亚洲精品中文在线影院| 一区二区三区影院| 日日夜夜免费精品| 久久99精品一区二区三区| 国产一区二区精品在线观看| 国内精品久久久久影院一蜜桃| 国产精品一区久久久久| 成人综合婷婷国产精品久久| aaa欧美大片| 欧美日韩一区成人| 久久亚洲精品国产精品紫薇| 亚洲欧洲国产专区| 日韩av在线免费观看不卡| 精品午夜久久福利影院| 国产大陆a不卡| 欧美日韩在线播放三区四区| 精品久久久久久久久久久久久久久久久| 亚洲精品在线一区二区| 亚洲精品免费播放| 日韩成人dvd| 91亚洲国产成人精品一区二区三| 欧美三级在线视频| 欧美激情在线看| 亚洲成人1区2区| 福利91精品一区二区三区| 在线免费观看不卡av| 精品国产乱码久久久久久闺蜜| 亚洲欧美aⅴ...| 国产精品99久久久久久有的能看 | av亚洲精华国产精华精华| 欧美视频在线一区| 久久久久久麻豆| 亚洲国产精品影院| 成人高清在线视频| 日韩精品一区二区三区四区| 18欧美亚洲精品| 国产99久久久精品| 欧美大肚乱孕交hd孕妇| 亚洲免费观看高清完整版在线观看熊 | 欧美日韩在线精品一区二区三区激情| 欧美顶级少妇做爰| 国产精品久久久久久福利一牛影视| 亚洲国产另类精品专区| 波多野结衣91| 国产日韩精品一区二区三区在线| 香蕉久久夜色精品国产使用方法| www.欧美.com| 国产精品欧美一区喷水| 国产一区激情在线| 日韩欧美在线一区二区三区| 日韩美女精品在线| 国产91在线看| 国产网红主播福利一区二区| 麻豆免费看一区二区三区| 精品视频色一区| 亚洲综合av网| 91久久精品国产91性色tv | 洋洋av久久久久久久一区| 福利电影一区二区| 中文字幕不卡在线播放| 国产综合色视频| 久久蜜桃一区二区| 国内欧美视频一区二区 | 成人一级黄色片| 日本一区二区三区四区| 国产99精品在线观看| 国产精品美女久久福利网站| 成人免费视频国产在线观看| 欧美激情一区三区| 成人av电影在线| 椎名由奈av一区二区三区| 99久久国产综合精品色伊| 亚洲天堂成人网| 欧美三级在线视频| 美女高潮久久久| 国产欧美日韩另类一区| 91麻豆国产在线观看| 亚洲高清免费一级二级三级| 欧美一区二区在线不卡| 狠狠色丁香婷婷综合| 国产欧美精品一区| 91免费版在线| 日韩精品电影一区亚洲| 久久综合99re88久久爱| 99精品视频在线观看| 亚洲成人自拍偷拍| 精品日韩一区二区三区| 成人国产免费视频| 亚洲国产精品久久不卡毛片| 精品国产一区二区在线观看| 成人精品电影在线观看| 亚洲一区免费在线观看| 日韩欧美国产一区在线观看| 国产成人免费高清| 亚洲二区在线观看| 久久综合久色欧美综合狠狠| 成人免费看视频| 麻豆一区二区99久久久久| 国产精品国产三级国产aⅴ中文| 欧美日韩色一区| 国产aⅴ综合色| 日韩av高清在线观看| 中日韩av电影| 日韩欧美综合一区| 一本久道久久综合中文字幕| 久久激情五月激情| 亚洲男同性视频| 中文天堂在线一区| 精品日韩在线一区| 欧美男同性恋视频网站| 成人午夜免费视频| 另类小说一区二区三区| 亚洲男人天堂av网| 国产精品色噜噜| 久久久亚洲欧洲日产国码αv| 欧美性xxxxxxxx| 91免费在线播放| 成人激情午夜影院| 国产制服丝袜一区| 日本成人在线电影网| 亚洲精品乱码久久久久久久久 | 粉嫩av一区二区三区粉嫩| 天堂久久一区二区三区| 综合久久久久久| 中文字幕中文在线不卡住| 久久亚洲影视婷婷| 欧美xxxxx牲另类人与| 4438亚洲最大| 欧美性xxxxxx少妇| 欧美色爱综合网| 精品视频一区三区九区| 日本精品裸体写真集在线观看| 成人涩涩免费视频| 风间由美性色一区二区三区| 国产激情视频一区二区在线观看| 麻豆精品视频在线观看免费| 日精品一区二区| 日韩黄色免费网站| 蜜桃一区二区三区四区| 欧美aa在线视频| 紧缚捆绑精品一区二区| 精品一区在线看| 国产酒店精品激情| 成人一区在线看| 99精品欧美一区二区三区综合在线| 不卡的看片网站| 91丨九色丨黑人外教| 色8久久人人97超碰香蕉987| 91福利国产精品| 欧美日韩卡一卡二| 7878成人国产在线观看| 欧美一区二区三区四区高清| 日韩亚洲欧美一区| 久久精品日韩一区二区三区| 中文字幕乱码久久午夜不卡| 综合中文字幕亚洲| 亚洲国产综合在线| 九九国产精品视频| 成人激情开心网| 欧美性xxxxxx少妇| 精品国产乱码久久久久久老虎| 国产目拍亚洲精品99久久精品| 国产精品美女久久福利网站 | 精品蜜桃在线看| 中文字幕不卡一区| 亚洲国产精品久久一线不卡| 久久97超碰色| 91麻豆国产福利在线观看| 91麻豆精品国产自产在线观看一区| 精品日韩在线一区| 亚洲男人的天堂在线aⅴ视频| 秋霞av亚洲一区二区三| 久久99国内精品| 在线日韩国产精品| 亚洲精品一区二区三区影院| 亚洲情趣在线观看| 国产自产高清不卡| 欧美三级电影在线观看| 久久久777精品电影网影网| 亚洲综合色噜噜狠狠| 久久精品国产网站| 在线视频观看一区| 国产精品美女久久久久久| 日韩精品欧美成人高清一区二区| 狠狠色综合日日| 欧美高清视频不卡网| 日韩理论片在线|