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

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

?? renderer.java

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

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

import java.io.IOException;

class Renderer implements GLEventListener {
    private float spin;													// Spin Variable
    private Texture[] texture = new Texture[2];												// Storage For 2 Textures ( NEW )
    private GLU glu = new GLU();

    public Renderer() {
    }

    private void loadGLTextures(GL gl) throws IOException											// Load Bitmaps And Convert To Textures
    {
        texture[0] = new Texture();
        texture[1] = new Texture();
        // Load The Bitmap, Check For Errors.
        TGALoader.loadTGA(texture[0], "demos/data/images/uncompressed.tga");
        TGALoader.loadTGA(texture[1], "demos/data/images/compressed.tga");
        for (int loop = 0; loop < 2; loop++)						// Loop Through Both Textures
        {
            // Typical Texture Generation Using Data From The TGA ( CHANGE )
            gl.glGenTextures(1, texture[loop].texID, 0);				// Create The Texture ( CHANGE )
            gl.glBindTexture(GL.GL_TEXTURE_2D, texture[loop].texID[0]);
            gl.glTexImage2D(GL.GL_TEXTURE_2D, 0, texture[loop].bpp / 8, texture[loop].width, texture[loop].height, 0, texture[loop].type, GL.GL_UNSIGNED_BYTE, texture[loop].imageData);
            gl.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MIN_FILTER, GL.GL_LINEAR);
            gl.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MAG_FILTER, GL.GL_LINEAR);
        }
    }

    public void init(GLAutoDrawable glDrawable) {
        GL gl = glDrawable.getGL();
        try {
            loadGLTextures(gl);										// Jump To Texture Loading Routine ( NEW )
        } catch (IOException e) {
            throw new RuntimeException(e);
        }

        gl.glEnable(GL.GL_TEXTURE_2D);									// Enable Texture Mapping ( NEW )
        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
    }

    public void display(GLAutoDrawable glDrawable) {
        GL gl = glDrawable.getGL();
        gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);			// Clear The Screen And The Depth Buffer
        gl.glLoadIdentity();											// Reset The Modelview Matrix
        gl.glTranslatef(0.0f, 0.0f, -10.0f);								// Translate 20 Units Into The Screen

        spin += 0.05f;												// Increase Spin

        for (int loop = 0; loop < 20; loop++)							// Loop Of 20
        {
            gl.glPushMatrix();											// Push The Matrix
            gl.glRotatef(spin + loop * 18.0f, 1.0f, 0.0f, 0.0f);				// Rotate On The X-Axis (Up - Down)
            gl.glTranslatef(-2.0f, 2.0f, 0.0f);							// Translate 2 Units Left And 2 Up

            gl.glBindTexture(GL.GL_TEXTURE_2D, texture[0].texID[0]);			// ( CHANGE )
            gl.glBegin(GL.GL_QUADS);										// Draw Our Quad
            gl.glTexCoord2f(0.0f, 1.0f);
            gl.glVertex3f(-1.0f, 1.0f, 0.0f);
            gl.glTexCoord2f(1.0f, 1.0f);
            gl.glVertex3f(1.0f, 1.0f, 0.0f);
            gl.glTexCoord2f(1.0f, 0.0f);
            gl.glVertex3f(1.0f, -1.0f, 0.0f);
            gl.glTexCoord2f(0.0f, 0.0f);
            gl.glVertex3f(-1.0f, -1.0f, 0.0f);
            gl.glEnd();												// Done Drawing The Quad
            gl.glPopMatrix();											// Pop The Matrix

            gl.glPushMatrix();											// Push The Matrix
            gl.glTranslatef(2.0f, 0.0f, 0.0f);							// Translate 2 Units To The Right
            gl.glRotatef(spin + loop * 36.0f, 0.0f, 1.0f, 0.0f);				// Rotate On The Y-Axis (Left - Right)
            gl.glTranslatef(1.0f, 0.0f, 0.0f);							// Move One Unit Right

            gl.glBindTexture(GL.GL_TEXTURE_2D, texture[1].texID[0]);			// ( CHANGE )
            gl.glBegin(GL.GL_QUADS);										// Draw Our Quad
            gl.glTexCoord2f(0.0f, 0.0f);
            gl.glVertex3f(-1.0f, 1.0f, 0.0f);
            gl.glTexCoord2f(1.0f, 0.0f);
            gl.glVertex3f(1.0f, 1.0f, 0.0f);
            gl.glTexCoord2f(1.0f, 1.0f);
            gl.glVertex3f(1.0f, -1.0f, 0.0f);
            gl.glTexCoord2f(0.0f, 1.0f);
            gl.glVertex3f(-1.0f, -1.0f, 0.0f);
            gl.glEnd();												// Done Drawing The Quad
            gl.glPopMatrix();											// Pop The Matrix
        }
    }

    public void reshape(GLAutoDrawable glDrawable, int x, int y, int w, int h) {
        if (h == 0) h = 1;
        GL gl = glDrawable.getGL();

        gl.glViewport(0, 0, w, h);                       // Reset The Current Viewport And Perspective Transformation
        gl.glMatrixMode(GL.GL_PROJECTION);                           // Select The Projection Matrix
        gl.glLoadIdentity();                                      // Reset The Projection Matrix
        glu.gluPerspective(45.0f, (float) w / (float) h, 0.1f, 100.0f);  // Calculate The Aspect Ratio Of The Window
        gl.glMatrixMode(GL.GL_MODELVIEW);                            // Select The Modelview Matrix
        gl.glLoadIdentity();                                      // Reset The ModalView Matrix
    }

    public void displayChanged(GLAutoDrawable glDrawable, boolean b, boolean b1) {
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美国产一区二区在线播放| 国产精品久久久久久久久搜平片| 国产欧美一区二区精品婷婷| 午夜精品久久久久久久99水蜜桃| 国产主播一区二区| 欧美三级日韩在线| 中文字幕国产一区| 九九视频精品免费| 欧美日韩视频第一区| 亚洲免费av在线| 成人免费三级在线| 久久久电影一区二区三区| 日韩avvvv在线播放| 欧美中文字幕不卡| 成人欧美一区二区三区小说| 国产一区二区三区精品欧美日韩一区二区三区| 色综合网站在线| 国产精品久久久久桃色tv| 韩国欧美国产1区| 欧美一区二区三区四区高清| 亚洲福利国产精品| 欧美午夜影院一区| 亚洲一区二区影院| 91久久精品一区二区三| 中文字幕亚洲一区二区av在线| 国产制服丝袜一区| 久久久99免费| 国产精品99久久久久久似苏梦涵| 日韩视频免费直播| 美美哒免费高清在线观看视频一区二区| 日本精品视频一区二区三区| 亚洲另类一区二区| 欧美亚洲一区二区在线| 亚洲综合成人网| 在线免费观看日本欧美| 亚洲午夜免费电影| 欧美精品一卡二卡| 日韩影院在线观看| 日韩一级片网址| 精品综合久久久久久8888| 精品国产乱码久久| 国产成人综合在线观看| 国产精品天美传媒| 99国产精品久久久久久久久久| 亚洲天堂a在线| 欧美这里有精品| 日韩黄色一级片| 精品国产青草久久久久福利| 九九国产精品视频| 国产精品欧美精品| 色老汉一区二区三区| 日韩一区精品视频| 精品国产精品网麻豆系列| 国产成人综合网站| 亚洲综合在线免费观看| 欧美另类高清zo欧美| 精品一区二区在线视频| 日本一区二区电影| 欧美亚洲日本一区| 狠狠色2019综合网| 亚洲视频在线一区观看| 欧美日韩亚洲不卡| 国产99久久久精品| 午夜视频一区在线观看| 2欧美一区二区三区在线观看视频| 高清成人在线观看| 午夜精品一区二区三区电影天堂| 精品区一区二区| 色系网站成人免费| 美腿丝袜亚洲综合| 日韩久久一区二区| 久久伊99综合婷婷久久伊| 99久久婷婷国产| 久久精品国产一区二区三区免费看| 国产视频一区二区在线| 欧美妇女性影城| 成人18视频在线播放| 日韩av午夜在线观看| 亚洲欧美日韩电影| 久久精品一二三| 91精品在线一区二区| 一本色道**综合亚洲精品蜜桃冫| 麻豆久久一区二区| 亚洲第一成年网| 中文字幕欧美一区| 精品处破学生在线二十三| 欧美午夜精品免费| 99久免费精品视频在线观看| 极品少妇xxxx精品少妇| 亚洲chinese男男1069| 中文字幕一区二区三区乱码在线| 精品美女在线播放| 欧美精品乱码久久久久久| thepron国产精品| 国产精品123| 韩日av一区二区| 蜜桃久久av一区| 日韩中文字幕一区二区三区| 亚洲国产精品麻豆| 亚洲最快最全在线视频| 亚洲精品乱码久久久久久久久 | 99久久国产免费看| 国产成人亚洲综合a∨婷婷图片| 美女www一区二区| 蜜桃av一区二区三区| 日产精品久久久久久久性色| 亚洲成av人影院| 亚洲一二三四久久| 亚洲精品菠萝久久久久久久| 自拍偷拍亚洲激情| 亚洲婷婷综合久久一本伊一区 | av电影一区二区| 国产成人av资源| 国产伦精品一区二区三区在线观看 | 欧美色偷偷大香| 在线观看网站黄不卡| 欧美怡红院视频| 欧美日韩国产综合视频在线观看| 欧美系列一区二区| 91精品国产综合久久久久久久久久 | av毛片久久久久**hd| 91视频观看视频| 色94色欧美sute亚洲线路一ni| 91麻豆免费在线观看| 色婷婷国产精品综合在线观看| 色综合久久久网| 欧美性受极品xxxx喷水| 欧美丝袜丝nylons| 91精品蜜臀在线一区尤物| 欧美成人一区二区三区在线观看| 久久看人人爽人人| 日韩毛片高清在线播放| 五月综合激情网| 久久99精品国产.久久久久久| 国产老肥熟一区二区三区| www.欧美.com| 欧美精品久久天天躁| xvideos.蜜桃一区二区| 中文字幕一区二区在线播放| 亚洲最大的成人av| 久久99国产精品尤物| 99精品视频一区| 777xxx欧美| 日本一区二区高清| 偷窥少妇高潮呻吟av久久免费| 久久精品免费观看| 99久久久久免费精品国产 | 国产欧美日韩视频在线观看| 中文字幕一区二区不卡| 天堂一区二区在线| 国产激情精品久久久第一区二区 | 亚洲高清不卡在线观看| 韩国av一区二区三区| 色婷婷久久久综合中文字幕| 在线综合亚洲欧美在线视频| 国产精品全国免费观看高清| 亚洲成人精品影院| 大尺度一区二区| 欧美一区日本一区韩国一区| 欧美激情中文字幕| 天堂av在线一区| 不卡欧美aaaaa| 精品欧美久久久| 一区二区三区国产精品| 国产精品18久久久久久vr| 欧美三级日韩在线| 亚洲欧美欧美一区二区三区| 国模无码大尺度一区二区三区| 欧美视频在线不卡| 国产精品区一区二区三| 久久99精品久久久| 欧美在线观看视频在线| 1024亚洲合集| 国产91丝袜在线播放| 欧美v亚洲v综合ⅴ国产v| 亚洲一区二区黄色| 色综合久久久网| 中文字幕制服丝袜成人av| 国产在线看一区| 精品国内二区三区| 日韩1区2区3区| 欧美福利视频一区| 亚洲午夜影视影院在线观看| 一本色道a无线码一区v| 国产精品视频九色porn| 国产成人av福利| 久久综合色婷婷| 国产原创一区二区三区| 日韩午夜激情视频| 日本vs亚洲vs韩国一区三区二区| 欧美亚洲禁片免费| 亚洲亚洲精品在线观看| 欧美性欧美巨大黑白大战| 亚洲欧美日韩国产另类专区| 色婷婷av一区二区三区gif| 亚洲欧洲精品成人久久奇米网| 成人精品视频一区二区三区尤物| 国产亚洲一区二区三区| 国产成人自拍网| 亚洲少妇30p|