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

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

?? cube.java

?? 一些J2ME開發(fā)相關(guān)的例子,涉及WMA,3D
?? JAVA
字號:
/* * * Copyright ? 2007 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */package com.sun.jsr239.wtksamples.cube;import java.nio.*;import javax.microedition.khronos.egl.*;import javax.microedition.khronos.opengles.*;import javax.microedition.lcdui.Command;import javax.microedition.lcdui.CommandListener;import javax.microedition.lcdui.Display;import javax.microedition.lcdui.Displayable;import javax.microedition.lcdui.Graphics;import javax.microedition.lcdui.game.GameCanvas;import javax.microedition.midlet.MIDlet;class CubeCanvas extends GameCanvas implements Runnable {    private static final byte[] s_cubeVertices =        {            -10, 10, 10, 10, -10, 10, 10, 10, 10, -10, -10, 10,                        -10, 10, -10, 10, -10, -10, 10, 10, -10, -10, -10, -10,                        -10, -10, 10, 10, -10, -10, 10, -10, 10, -10, -10, -10,                        -10, 10, 10, 10, 10, -10, 10, 10, 10, -10, 10, -10,                        10, -10, 10, 10, 10, -10, 10, 10, 10, 10, -10, -10,                        -10, -10, 10, -10, 10, -10, -10, 10, 10, -10, -10, -10        };    private static final byte[] s_cubeColors =        {            (byte)40, (byte)80, (byte)160, (byte)255, (byte)40, (byte)80, (byte)160, (byte)255,            (byte)40, (byte)80, (byte)160, (byte)255, (byte)40, (byte)80, (byte)160, (byte)255,                        (byte)40, (byte)80, (byte)160, (byte)255, (byte)40, (byte)80, (byte)160, (byte)255,            (byte)40, (byte)80, (byte)160, (byte)255, (byte)40, (byte)80, (byte)160, (byte)255,                        (byte)128, (byte)128, (byte)128, (byte)255, (byte)128, (byte)128, (byte)128, (byte)255,            (byte)128, (byte)128, (byte)128, (byte)255, (byte)128, (byte)128, (byte)128, (byte)255,                        (byte)128, (byte)128, (byte)128, (byte)255, (byte)128, (byte)128, (byte)128, (byte)255,            (byte)128, (byte)128, (byte)128, (byte)255, (byte)128, (byte)128, (byte)128, (byte)255,                        (byte)255, (byte)110, (byte)10, (byte)255, (byte)255, (byte)110, (byte)10, (byte)255,            (byte)255, (byte)110, (byte)10, (byte)255, (byte)255, (byte)110, (byte)10, (byte)255,                        (byte)255, (byte)70, (byte)60, (byte)255, (byte)255, (byte)70, (byte)60, (byte)255,            (byte)255, (byte)70, (byte)60, (byte)255, (byte)255, (byte)70, (byte)60, (byte)255        };    private static final byte[] s_cubeIndices =        {            0, 3, 1, 2, 0, 1, /* front  */            6, 5, 4, 5, 7, 4, /* back   */            8, 11, 9, 10, 8, 9, /* top    */            15, 12, 13, 12, 14, 13, /* bottom */            16, 19, 17, 18, 16, 17, /* right  */            23, 20, 21, 20, 22, 21 /* left   */        };    private static final byte[] s_cubeNormals =        {            0, 0, 127, 0, 0, 127, 0, 0, 127, 0, 0, 127,                        0, 0, -128, 0, 0, -128, 0, 0, -128, 0, 0, -128,                        0, -128, 0, 0, -128, 0, 0, -128, 0, 0, -128, 0,                        0, 127, 0, 0, 127, 0, 0, 127, 0, 0, 127, 0,                        127, 0, 0, 127, 0, 0, 127, 0, 0, 127, 0, 0,                        -128, 0, 0, -128, 0, 0, -128, 0, 0, -128, 0, 0        };    boolean initialized = false;    int frame = 0;    float time = 0.0f;    Graphics g;    int width;    int height;    Cube cube;    EGL10 egl;    GL10 gl;    EGLConfig eglConfig;    EGLDisplay eglDisplay;    EGLSurface eglWindowSurface;    EGLContext eglContext;    ByteBuffer cubeVertices;    ByteBuffer cubeColors;    ByteBuffer cubeNormals;    ByteBuffer cubeIndices;    public CubeCanvas(Cube cube) {        super(true);        this.cube = cube;        this.g = this.getGraphics();        this.width = getWidth();        this.height = getHeight();    }    private int getProperty(String propName, int def) {        String s = cube.getAppProperty(propName);        int val = (s == null) ? def : Integer.parseInt(s);        return val;    }    public void init() {        this.egl = (EGL10)EGLContext.getEGL();        this.eglDisplay = egl.eglGetDisplay(egl.EGL_DEFAULT_DISPLAY);        int[] major_minor = new int[2];        egl.eglInitialize(eglDisplay, major_minor);        int[] num_config = new int[1];        egl.eglGetConfigs(eglDisplay, null, 0, num_config);        int redSize = getProperty("jsr239.redSize", 8);        int greenSize = getProperty("jsr239.greenSize", 8);        int blueSize = getProperty("jsr239.blueSize", 8);        int alphaSize = getProperty("jsr239.alphaSize", 0);        int depthSize = getProperty("jsr239.depthSize", 32);        int stencilSize = getProperty("jsr239.stencilSize", EGL10.EGL_DONT_CARE);        int[] s_configAttribs =            {                EGL10.EGL_RED_SIZE, redSize, EGL10.EGL_GREEN_SIZE, greenSize, EGL10.EGL_BLUE_SIZE,                blueSize, EGL10.EGL_ALPHA_SIZE, alphaSize, EGL10.EGL_DEPTH_SIZE, depthSize,                EGL10.EGL_STENCIL_SIZE, stencilSize, EGL10.EGL_NONE            };        EGLConfig[] eglConfigs = new EGLConfig[num_config[0]];        egl.eglChooseConfig(eglDisplay, s_configAttribs, eglConfigs, eglConfigs.length, num_config);        this.eglConfig = eglConfigs[0];        this.eglContext = egl.eglCreateContext(eglDisplay, eglConfig, EGL10.EGL_NO_CONTEXT, null);        this.gl = (GL10)eglContext.getGL();        this.eglWindowSurface = egl.eglCreateWindowSurface(eglDisplay, eglConfig, g, null);        // Initialize data Buffers        this.cubeVertices = ByteBuffer.allocateDirect(s_cubeVertices.length);        cubeVertices.put(s_cubeVertices);        cubeVertices.rewind();        this.cubeColors = ByteBuffer.allocateDirect(s_cubeColors.length);        cubeColors.put(s_cubeColors);        cubeColors.rewind();        this.cubeNormals = ByteBuffer.allocateDirect(s_cubeNormals.length);        cubeNormals.put(s_cubeNormals);        cubeNormals.rewind();        this.cubeIndices = ByteBuffer.allocateDirect(s_cubeIndices.length);        cubeIndices.put(s_cubeIndices);        cubeIndices.rewind();        this.initialized = true;    }    private void perspective(float fovy, float aspect, float zNear, float zFar) {        float xmin;        float xmax;        float ymin;        float ymax;        ymax = zNear * (float)Math.tan((fovy * Math.PI) / 360.0);        ymin = -ymax;        xmin = ymin * aspect;        xmax = ymax * aspect;        gl.glFrustumf(xmin, xmax, ymin, ymax, zNear, zFar);    }    private void updateState(int width, int height) {        float[] light_position = { -50.f, 50.f, 50.f, 0.f };        float[] light_ambient = { 0.125f, 0.125f, 0.125f, 1.f };        float[] light_diffuse = { 1.0f, 1.0f, 1.0f, 1.f };        float[] material_spec = { 1.0f, 1.0f, 1.0f, 0.f };        float[] zero_vec4 = { 0.0f, 0.0f, 0.0f, 0.f };        float aspect = (height != 0) ? ((float)width / (float)height) : 1.0f;        gl.glViewport(0, 0, width, height);        gl.glScissor(0, 0, width, height);        gl.glMatrixMode(GL10.GL_MODELVIEW);        gl.glLoadIdentity();        gl.glLightfv(GL10.GL_LIGHT0, GL10.GL_POSITION, light_position, 0);        gl.glLightfv(GL10.GL_LIGHT0, GL10.GL_AMBIENT, light_ambient, 0);        gl.glLightfv(GL10.GL_LIGHT0, GL10.GL_DIFFUSE, light_diffuse, 0);        gl.glLightfv(GL10.GL_LIGHT0, GL10.GL_SPECULAR, zero_vec4, 0);        gl.glMaterialfv(GL10.GL_FRONT_AND_BACK, GL10.GL_SPECULAR, material_spec, 0);        gl.glEnable(GL10.GL_NORMALIZE);        gl.glEnable(GL10.GL_LIGHTING);        gl.glEnable(GL10.GL_LIGHT0);        gl.glEnable(GL10.GL_COLOR_MATERIAL);        gl.glEnable(GL10.GL_CULL_FACE);        gl.glHint(GL10.GL_PERSPECTIVE_CORRECTION_HINT, GL10.GL_FASTEST);        gl.glShadeModel(GL10.GL_SMOOTH);        gl.glDisable(GL10.GL_DITHER);        // Clear background to blue        gl.glClearColor(0.0f, 0.0f, 1.0f, 1.0f);        gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);        gl.glEnableClientState(GL10.GL_NORMAL_ARRAY);        gl.glEnableClientState(GL10.GL_COLOR_ARRAY);        gl.glMatrixMode(GL10.GL_PROJECTION);        gl.glLoadIdentity();        perspective(90.f, aspect, 0.1f, 100.f);        gl.glFinish();    }    private void drawScene() {        // Make the context current on this thread        egl.eglMakeCurrent(eglDisplay, eglWindowSurface, eglWindowSurface, eglContext);        // Perform setup and clear background using GL        egl.eglWaitNative(EGL10.EGL_CORE_NATIVE_ENGINE, g);        updateState(width, height);        gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);        gl.glFinish();        // Wait for GL to complete        egl.eglWaitGL();        // Draw a green square using MIDP        g.setColor(0, 255, 0);        g.fillRect(20, 20, width - 40, height - 40);        // Draw the scene using GL        egl.eglWaitNative(EGL10.EGL_CORE_NATIVE_ENGINE, g);        gl.glMatrixMode(GL10.GL_MODELVIEW);        gl.glLoadIdentity();        gl.glTranslatef(0.f, 0.f, -30.f);        gl.glRotatef((float)(time * 29.77f), 1.0f, 2.0f, 0.0f);        gl.glRotatef((float)(time * 22.311f), -0.1f, 0.0f, -5.0f);        gl.glVertexPointer(3, GL10.GL_BYTE, 0, cubeVertices);        gl.glColorPointer(4, GL10.GL_UNSIGNED_BYTE, 0, cubeColors);        gl.glNormalPointer(GL10.GL_BYTE, 0, cubeNormals);        gl.glDrawElements(GL10.GL_TRIANGLES, 6 * 6, GL10.GL_UNSIGNED_BYTE, cubeIndices);        gl.glFinish();        time += 0.1f;        egl.eglWaitGL();        // Release the context        egl.eglMakeCurrent(eglDisplay, EGL10.EGL_NO_SURFACE, EGL10.EGL_NO_SURFACE,            EGL10.EGL_NO_CONTEXT);        // Draw a red square using MIDP        g.setColor(255, 0, 0);        g.fillRect((width / 2) - 25, (height / 2) - 25, 50, 50);    }    public void shutdown() {        egl.eglMakeCurrent(eglDisplay, EGL10.EGL_NO_SURFACE, EGL10.EGL_NO_SURFACE,            EGL10.EGL_NO_CONTEXT);        egl.eglDestroyContext(eglDisplay, eglContext);        egl.eglDestroySurface(eglDisplay, eglWindowSurface);        egl.eglTerminate(eglDisplay);    }    public void run() {        if (!initialized) {            init();        }        try {            while (!cube.isFinished()) {                if (!cube.paused) {                    Thread.sleep(2);                    drawScene();                    flushGraphics();                }            }        } catch (InterruptedException e) {            e.printStackTrace();        }        shutdown();    }}public class Cube extends MIDlet implements CommandListener {    private final Command exitCommand = new Command("Exit", Command.EXIT, 1);    Display display;    CubeCanvas canvas;    boolean started = false;    boolean paused = false;    boolean finished = false;    Thread drawThread;    public Cube() {        this.display = Display.getDisplay(this);        this.canvas = new CubeCanvas(this);        this.canvas.setCommandListener(this);        this.canvas.addCommand(exitCommand);    }    public void startApp() {        if (!started) {            started = true;            display.setCurrent(canvas);            drawThread = new Thread(canvas);            drawThread.start();        }        paused = finished = false;    }    public void pauseApp() {        paused = true;    }    public void destroyApp(boolean unconditional) {        // Wait for draw thread to die        setFinished();        try {            drawThread.join();        } catch (InterruptedException e) {            e.printStackTrace();        }    }    public void paint(Graphics g) {    }    public void commandAction(Command cmd, Displayable disp) {        if (cmd == exitCommand) {            destroyApp(false);            notifyDestroyed();        }    }    public synchronized boolean isFinished() {        return finished;    }    public synchronized void setFinished() {        finished = true;    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人午夜高潮毛片| 国产综合色视频| 久久青草国产手机看片福利盒子 | 久久精品欧美一区二区三区不卡| 波波电影院一区二区三区| 日日摸夜夜添夜夜添精品视频 | 91精品国产乱码久久蜜臀| 成人免费黄色在线| 久久精品二区亚洲w码| 一区二区三区在线免费观看 | 国产日韩精品一区二区三区| 欧美日韩中文字幕一区二区| av在线一区二区三区| 国内久久精品视频| 日本伊人午夜精品| 亚洲国产精品久久久男人的天堂 | 性做久久久久久| 国产精品久线观看视频| 久久午夜免费电影| 日韩欧美一二三区| 欧美一区二区三区在线观看| 91福利视频网站| 成人黄色在线看| 国产a精品视频| 国产一区二区三区在线看麻豆| 视频一区视频二区中文字幕| 一区二区三区日韩精品视频| 国产精品久久久久久亚洲毛片 | 亚洲综合色网站| 国产精品毛片无遮挡高清| 久久久久久久精| 亚洲精品在线电影| 日韩欧美一级精品久久| 欧美一区二区视频在线观看2020| 精品视频在线免费观看| 在线精品视频免费播放| 欧美性videosxxxxx| 在线日韩一区二区| 在线视频你懂得一区| 色94色欧美sute亚洲13| 欧美在线免费播放| 欧美丝袜自拍制服另类| 欧美性色aⅴ视频一区日韩精品| 欧洲日韩一区二区三区| 欧美色男人天堂| 亚洲女子a中天字幕| 亚洲视频在线观看一区| 一区二区三区日韩精品| 亚洲国产人成综合网站| 婷婷开心激情综合| 美女视频黄频大全不卡视频在线播放| 奇米综合一区二区三区精品视频 | 美女网站一区二区| 精品一区二区三区在线观看| 激情成人综合网| 国产麻豆9l精品三级站| 成人性色生活片免费看爆迷你毛片| 成年人网站91| 91福利在线免费观看| 欧美日韩精品一区二区| 日韩一级视频免费观看在线| 久久嫩草精品久久久久| 一区二区中文字幕在线| 夜夜嗨av一区二区三区| 天天操天天干天天综合网| 久久国产精品无码网站| 不卡一区中文字幕| 欧美亚日韩国产aⅴ精品中极品| 日韩一级黄色片| 欧美国产日本视频| 亚洲成人在线观看视频| 国产久卡久卡久卡久卡视频精品| 成人福利电影精品一区二区在线观看| 在线观看欧美日本| 日韩精品一区二区三区视频在线观看| 中文字幕欧美国产| 亚洲成av人片在www色猫咪| 精品亚洲免费视频| 91久久一区二区| 日韩欧美国产小视频| 国产精品国产精品国产专区不蜜| 午夜不卡av免费| www.欧美亚洲| 日韩免费高清av| 亚洲欧美日本韩国| 国产在线视视频有精品| 日本高清视频一区二区| 日韩美一区二区三区| 一区二区国产盗摄色噜噜| 激情偷乱视频一区二区三区| 91福利视频久久久久| 久久久国产精品午夜一区ai换脸| 亚洲成人精品影院| 国产91精品露脸国语对白| 欧美精品在欧美一区二区少妇| 欧美激情一区二区| 久久精品av麻豆的观看方式| 色94色欧美sute亚洲线路二| 国产偷国产偷精品高清尤物| 天天操天天干天天综合网| 96av麻豆蜜桃一区二区| 免费在线观看视频一区| 在线观看成人小视频| 中日韩av电影| 国产一区二区精品久久| 在线综合视频播放| 一二三区精品福利视频| 国产成人精品一区二| 日韩精品自拍偷拍| 日产精品久久久久久久性色| 色一情一乱一乱一91av| 国产精品乱码人人做人人爱| 国产中文一区二区三区| 欧美成人伊人久久综合网| 午夜伦欧美伦电影理论片| 色诱视频网站一区| 亚洲少妇30p| 成人激情午夜影院| 国产色婷婷亚洲99精品小说| 久久精品理论片| 日韩视频一区在线观看| 日本欧美一区二区| 欧美老年两性高潮| 亚洲狠狠爱一区二区三区| 色悠悠亚洲一区二区| 亚洲男人的天堂在线观看| 91视频免费观看| 亚洲欧美一区二区视频| kk眼镜猥琐国模调教系列一区二区| 国产亚洲精品7777| 国产精品一区免费视频| 久久久电影一区二区三区| 国产一区二区免费在线| 久久青草国产手机看片福利盒子 | 欧美三级电影在线观看| 亚洲第四色夜色| 欧美理论在线播放| 免费精品99久久国产综合精品| 欧美一区2区视频在线观看| 视频一区二区不卡| 日韩精品综合一本久道在线视频| 久久精品国产秦先生| 精品美女在线观看| 国产成人午夜精品5599 | 欧美激情综合在线| av在线一区二区三区| 一区二区三区四区亚洲| 欧美日韩激情一区二区| 欧美aaa在线| 久久免费精品国产久精品久久久久| 国产成人精品综合在线观看| 亚洲图片你懂的| 在线看日韩精品电影| 日本亚洲最大的色成网站www| 911国产精品| 国产精品影视在线观看| 亚洲视频免费看| 欧美久久久久免费| 精品一区二区成人精品| 中文字幕五月欧美| 欧美日韩情趣电影| 久久99在线观看| 综合中文字幕亚洲| 欧美精选在线播放| 精品三级在线看| 成人av资源在线| 日韩成人一区二区三区在线观看| 久久精品夜色噜噜亚洲aⅴ| proumb性欧美在线观看| 日韩黄色在线观看| 久久久不卡网国产精品二区| 成人激情小说乱人伦| 亚洲成a人v欧美综合天堂 | 久久综合av免费| 99久久精品国产毛片| 日本中文字幕一区二区有限公司| 国产日韩欧美麻豆| 欧美美女bb生活片| 国产成人精品三级| 视频一区二区不卡| **网站欧美大片在线观看| 欧美一区二区在线看| av亚洲产国偷v产偷v自拍| 毛片基地黄久久久久久天堂| 亚洲欧美一区二区三区极速播放| 日韩色视频在线观看| 91尤物视频在线观看| 裸体歌舞表演一区二区| 亚洲精品v日韩精品| 久久婷婷综合激情| 欧美日韩精品一区二区三区四区| 国产成人h网站| 日韩av网站免费在线| 亚洲色图在线播放| 国产亚洲va综合人人澡精品| 欧美日韩成人综合| 色哟哟一区二区三区| 成人影视亚洲图片在线| 久久精工是国产品牌吗| 亚洲成人精品一区|