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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? renderer.java

?? NeHe用java與OpenGL結(jié)合教程源碼
?? JAVA
字號(hào):
package demos.nehe.lesson11;

import demos.common.TextureReader;
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 {
    float[][][] points = new float[45][45][3];    // The Array For The Points On The Grid Of Our "Wave"
    int wiggle_count = 0;		// Counter Used To Control How Fast Flag Waves
    float xrot;				// X Rotation ( NEW )
    float yrot;				// Y Rotation ( NEW )
    float zrot;				// Z Rotation ( NEW )
    float hold;
    int[] textures = new int[1]; //Storage for one texture ( NEW )

    private GLU glu = new GLU();

    private void loadGLTextures(GLAutoDrawable gldrawable) throws IOException {
        TextureReader.Texture texture = null;
        texture = TextureReader.readTexture("demos/data/images/tim.png");

        GL gl = gldrawable.getGL();

        //Create Nearest Filtered Texture
        gl.glGenTextures(1, textures, 0);
        gl.glBindTexture(GL.GL_TEXTURE_2D, textures[0]);

        gl.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MAG_FILTER, GL.GL_LINEAR);
        gl.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MIN_FILTER, GL.GL_LINEAR);

        gl.glTexImage2D(GL.GL_TEXTURE_2D,
                0,
                3,
                texture.getWidth(),
                texture.getHeight(),
                0,
                GL.GL_RGB,
                GL.GL_UNSIGNED_BYTE,
                texture.getPixels());
    }

    public void init(GLAutoDrawable glDrawable) {
        try {
            loadGLTextures(glDrawable);
        } catch (IOException e) {
            System.out.println("Failed to load Textures,Bailing!");
            throw new RuntimeException(e);
        }

        GL gl = glDrawable.getGL();
        gl.glEnable(GL.GL_TEXTURE_2D);						          // Enable Texture Mapping ( NEW )
        gl.glShadeModel(GL.GL_SMOOTH);                            //Enables Smooth Color Shading
        gl.glClearColor(0.0f, 0.0f, 0.0f, 0.0f);               //This Will Clear The Background Color To Black
        gl.glClearDepth(1.0);                                  //Enables Clearing Of The Depth Buffer
        gl.glEnable(GL.GL_DEPTH_TEST);                            //Enables Depth Testing
        gl.glDepthFunc(GL.GL_LEQUAL);                             //The Type Of Depth Test To Do
        gl.glHint(GL.GL_PERSPECTIVE_CORRECTION_HINT, GL.GL_NICEST);  // Really Nice Perspective Calculations

        for (int x = 0; x < 45; x++) {
            for (int y = 0; y < 45; y++) {
                points[x][y][0] = ((x / 5.0f) - 4.5f);
                points[x][y][1] = ((y / 5.0f) - 4.5f);
                points[x][y][2] = (float) (Math.sin((((x / 5.0f) * 40.0f) / 360.0f) * 3.141592654 * 2.0f));
            }
        }
    }

    public void display(GLAutoDrawable glDrawable) {
        GL gl = glDrawable.getGL();
        int x, y;
        float float_x, float_y, float_xb, float_yb;

        gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);	// Clear The Screen And The Depth Buffer
        gl.glLoadIdentity();									// Reset The View

        gl.glTranslatef(0.0f, 0.0f, -12.0f);

        gl.glRotatef(xrot, 1.0f, 0.0f, 0.0f);
        gl.glRotatef(yrot, 0.0f, 1.0f, 0.0f);
        gl.glRotatef(zrot, 0.0f, 0.0f, 1.0f);

        gl.glBindTexture(GL.GL_TEXTURE_2D, textures[0]);

        gl.glBegin(GL.GL_QUADS);
        for (x = 0; x < 44; x++) {
            for (y = 0; y < 44; y++) {
                float_x = (float) (x) / 44.0f;
                float_y = (float) (y) / 44.0f;
                float_xb = (float) (x + 1) / 44.0f;
                float_yb = (float) (y + 1) / 44.0f;

                gl.glTexCoord2f(float_x, float_y);
                gl.glVertex3f(points[x][y][0], points[x][y][1], points[x][y][2]);

                gl.glTexCoord2f(float_x, float_yb);
                gl.glVertex3f(points[x][y + 1][0], points[x][y + 1][1], points[x][y + 1][2]);

                gl.glTexCoord2f(float_xb, float_yb);
                gl.glVertex3f(points[x + 1][y + 1][0], points[x + 1][y + 1][1], points[x + 1][y + 1][2]);

                gl.glTexCoord2f(float_xb, float_y);
                gl.glVertex3f(points[x + 1][y][0], points[x + 1][y][1], points[x + 1][y][2]);
            }
        }
        gl.glEnd();

        if (wiggle_count == 2) {
            for (y = 0; y < 45; y++) {
                hold = points[0][y][2];
                for (x = 0; x < 44; x++) {
                    points[x][y][2] = points[x + 1][y][2];
                }
                points[44][y][2] = hold;
            }
            wiggle_count = 0;
        }

        wiggle_count++;

        xrot += 0.3f;
        yrot += 0.2f;
        zrot += 0.4f;
    }

    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) {
    }
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美美女网站色| www.成人在线| 欧美一级黄色大片| 午夜久久久久久电影| 欧美丰满少妇xxxxx高潮对白| 亚洲国产毛片aaaaa无费看 | 亚洲视频每日更新| 一本色道久久综合亚洲91| 亚洲精品高清在线观看| 在线观看日韩高清av| 日韩av在线播放中文字幕| 日韩精品影音先锋| 粉嫩av亚洲一区二区图片| 亚洲另类春色国产| 欧美一级专区免费大片| 国产成人av电影在线观看| 国产精品福利av| 欧美日韩国产成人在线免费| 蜜桃视频在线观看一区二区| 国产三级精品视频| 在线视频欧美精品| 免费美女久久99| 亚洲国产成人一区二区三区| 欧美又粗又大又爽| 婷婷丁香久久五月婷婷| 2021国产精品久久精品| 成人成人成人在线视频| 三级不卡在线观看| 久久久久久久性| 欧美在线视频不卡| 激情综合一区二区三区| 亚洲女人的天堂| 日韩精品专区在线影院观看| 9久草视频在线视频精品| 视频一区二区三区中文字幕| 国产精品第一页第二页第三页| 欧美另类久久久品| 成人av影视在线观看| 丝袜诱惑制服诱惑色一区在线观看 | 中文字幕中文字幕在线一区| 欧美日韩精品一区二区三区| 成人永久aaa| 日韩经典一区二区| 亚洲欧美日韩中文播放 | 美女免费视频一区| 亚洲一区二区三区四区五区中文 | 久久亚洲一区二区三区明星换脸| 91传媒视频在线播放| 国产黄人亚洲片| 日本中文字幕不卡| 一区二区三区四区视频精品免费| 久久久精品tv| 日韩精品一区二区三区在线| 91国偷自产一区二区开放时间 | 老司机精品视频在线| 一区二区三区四区激情| 国产欧美日韩综合精品一区二区 | 日韩欧美一卡二卡| 欧美午夜宅男影院| 99国产精品99久久久久久| 精品在线一区二区三区| 日韩福利电影在线| 亚洲一本大道在线| 亚洲综合成人网| 日韩理论片中文av| 国产精品国产三级国产aⅴ入口 | 欧美视频一区在线观看| 97精品久久久午夜一区二区三区| 国产麻豆成人精品| 蜜桃av一区二区在线观看| 视频一区视频二区中文字幕| 亚洲国产精品嫩草影院| 亚洲美女视频一区| 亚洲精选一二三| 一区二区三区四区av| 亚洲精品乱码久久久久久黑人| 中文字幕电影一区| 久久综合久久99| 国产亚洲va综合人人澡精品| 精品国产乱码久久久久久老虎 | 91首页免费视频| 99视频超级精品| 99国产精品久久久| 91色在线porny| 欧美影院一区二区三区| 在线一区二区三区四区五区| 一本到高清视频免费精品| 色欧美片视频在线观看| 在线免费观看成人短视频| 欧美日韩中文字幕精品| 欧美日韩精品福利| 日韩精品专区在线影院观看| 久久久亚洲精品一区二区三区| 国产人妖乱国产精品人妖| 中文一区二区在线观看| 亚洲精品网站在线观看| 天天综合天天综合色| 久久99国产精品久久| 国产美女精品一区二区三区| 成人综合婷婷国产精品久久蜜臀 | www精品美女久久久tv| 亚洲国产高清在线| 一区二区高清免费观看影视大全 | 视频一区二区三区在线| 精品一区二区三区蜜桃| 成人午夜碰碰视频| 欧美性感一区二区三区| 日韩欧美一二三区| 国产午夜精品一区二区三区四区| 自拍偷拍亚洲激情| 丝袜诱惑制服诱惑色一区在线观看| 精品一区二区日韩| gogo大胆日本视频一区| 欧美日韩国产高清一区二区三区 | 欧美激情艳妇裸体舞| 亚洲欧美日本韩国| 蜜臀av性久久久久av蜜臀妖精| 国产91丝袜在线播放| 色欧美88888久久久久久影院| 日韩一区二区电影在线| 国产精品成人免费精品自在线观看 | 亚洲视频一区在线| 美女网站色91| 色悠悠久久综合| 久久久久亚洲蜜桃| 图片区日韩欧美亚洲| 99视频一区二区| 日韩欧美一区在线观看| 一区二区三区四区在线免费观看| 久久电影国产免费久久电影| 日本电影亚洲天堂一区| 国产亚洲综合性久久久影院| 亚洲国产视频a| jizz一区二区| 久久奇米777| 秋霞国产午夜精品免费视频| 99re这里只有精品首页| 久久久精品免费观看| 天天操天天色综合| 色婷婷综合久久久| 国产日韩欧美a| 奇米色777欧美一区二区| 91黄色激情网站| 国产精品欧美综合在线| 国产一区二区福利| 欧美一级视频精品观看| 亚洲愉拍自拍另类高清精品| 成人av网在线| 国产色爱av资源综合区| 精品一区二区久久| 欧美一区二区三区播放老司机| 亚洲精品日韩一| 99久久精品免费精品国产| 久久影院电视剧免费观看| 免费高清在线视频一区·| 欧美在线不卡一区| 伊人夜夜躁av伊人久久| av电影在线观看完整版一区二区| 国产午夜亚洲精品理论片色戒| 久久成人羞羞网站| 精品国产麻豆免费人成网站| 奇米一区二区三区| 日韩精品中文字幕一区| 裸体歌舞表演一区二区| 欧美xfplay| 麻豆91在线播放| 精品久久久久一区| 狠狠色丁香婷婷综合| 日韩写真欧美这视频| 久久超碰97中文字幕| 欧美成人猛片aaaaaaa| 免费观看30秒视频久久| 欧美成人一区二区三区片免费| 精品一区二区三区不卡| 欧美精品一区二区在线观看| 国产精品亚洲第一| 中国色在线观看另类| 99精品桃花视频在线观看| 亚洲精品国产a| 欧美午夜影院一区| 日韩av电影免费观看高清完整版在线观看| 欧美日韩国产精品成人| 看电视剧不卡顿的网站| 久久夜色精品国产欧美乱极品| 国产剧情一区二区三区| 亚洲欧洲精品一区二区精品久久久| 国产精品白丝av| 亚洲视频小说图片| 欧美日韩一区三区四区| 日欧美一区二区| 欧美成人三级在线| 99免费精品视频| 亚洲国产成人av网| 精品久久久久99| av网站免费线看精品| 亚洲国产裸拍裸体视频在线观看乱了 | 日本一区二区三区高清不卡| av午夜一区麻豆| 丝袜亚洲精品中文字幕一区| 精品国产成人在线影院|