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

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

?? jogldrawingarea.java

?? 基于java的3d開發庫。對坐java3d的朋友有很大的幫助。
?? JAVA
?? 第 1 頁 / 共 5 頁
字號:
                framedBody.setMaterial(theScene.defaultMaterial());                bodySet.getBodies().add(framedBody);            }            //-----------------------------------------------------------------            Matrix4x4 Mset = bodySet.getTransformationMatrix(), R, Ri, Mbody, S, M;            SimpleBody copiedBody;            Quaternion q;            for ( i = 0; i < referenceBodies.getBodies().size(); i++ ) {                referenceBody = referenceBodies.getBodies().get(i);                if ( cam == 1 ) {                    copiedBody = theScene.addThing(referenceBody.getGeometry());                    Mbody = referenceBody.getTransformationMatrix();                    M = Mset.multiply(Mbody);                    p = new Vector3D(M.M[0][3], M.M[1][3], M.M[2][3]);                    M.M[0][3] = M.M[1][3] = M.M[2][3] = 0.0;                    q = M.exportToQuaternion();                    q.normalize();                    R = new Matrix4x4();                    R.importFromQuaternion(q);                    Ri = R.inverse();                    S = Ri.multiply(M);                    s = new Vector3D(M.M[0][0], M.M[1][1], M.M[2][2]);                    copiedBody.setPosition(p);                    copiedBody.setScale(s);                    copiedBody.setRotation(R);                }            }            //-----------------------------------------------------------------        }        //- Render will proceed in a PBuffer ------------------------------        IndexedColorImage distanceFieldIndexed;        projectedViewRenderer.configureScene(bodySet, cam);        projectedViewRenderer.draw(gl);        //canvas.swapBuffers();        //-----------------------------------------------------------------        Image finalImage;        if ( !doDistanceField ) {            finalImage = projectedViewRenderer.image;        }        else {            System.out.print("Processing maps for view " + cam + "... ");            distanceFieldIndexed = new IndexedColorImage();            distanceFieldIndexed.init(distanceFieldSide, distanceFieldSide);            ImageProcessing.processDistanceFieldWithArray(projectedViewRenderer.image, distanceFieldIndexed, 1);            ImageProcessing.gammaCorrection(distanceFieldIndexed, 2.0);            RGBAImage distanceFieldRgba;            distanceFieldRgba = distanceFieldIndexed.exportToRgbaImage();            int x, y;            for ( x = 0; x < distanceFieldRgba.getXSize(); x++ ) {                for ( y = 0; y < distanceFieldRgba.getYSize(); y++ ) {                    if ( distanceFieldIndexed.getPixel(x, y) < 1 ) {                        distanceFieldRgba.putPixel(x, y,                                                   (byte)255, (byte)0, (byte)0, (byte)128);                    }                }            }            finalImage = distanceFieldRgba;            System.out.println("Ok!");        }        //vsdk.toolkit.io.image.ImagePersistence.exportPPM(new java.io.File("./test" + cam + ".ppm"), finalImage);        //- Obtain Pbuffer's rendered image -------------------------------        return finalImage;    }    private SimpleBodyGroup    addDebugProjectedView(GL gl, SimpleBodyGroup referenceBodies)    {        SimpleBody boxBody;        Image texture;        SimpleBodyGroup group;        Vector3D position = new Vector3D(0, 0, 0);        Vector3D scale = new Vector3D(1, 1, 1);        Matrix4x4 R = new Matrix4x4();        Matrix4x4 R1 = new Matrix4x4();        Matrix4x4 R2 = new Matrix4x4();        int i;        double delta = 0.01/2.0;        TriangleMesh mesh;        Vertex[] vertexArray;        Triangle[] triangleArray;        Vector3D n;        Image textureArray[];        Material materialArray[];        int materialRanges[][];        int textureRanges[][];        group = new SimpleBodyGroup();        for ( i = 1; i <= 13; i++ ) {            R = new Matrix4x4();            switch ( i ) {              case 1:                position = new Vector3D(0, -2, 0);                R.axisRotation(Math.toRadians(90), new Vector3D(1, 0, 0));                break;              case 2:                position = new Vector3D(-2, 0, 0);                R1.axisRotation(Math.toRadians(90), new Vector3D(0, 0, -1));                R2.axisRotation(Math.toRadians(90), new Vector3D(0, -1, 0));                R = R2.multiply(R1);                break;              case 3:                position = new Vector3D(0, 0, -2);                R.axisRotation(Math.toRadians(180), new Vector3D(0, 1, 0));                break;              case 4:                position = new Vector3D(-1, -1, 1);                position.normalize();                position = position.multiply(1.5);                scale = new Vector3D(0.5, 0.5, 0.5);                R1.axisRotation(Math.toRadians(45), new Vector3D(0, 0, -1));                R2.axisRotation(Math.toRadians(35), new Vector3D(1, -1, 0));                R = R2.multiply(R1);                break;              case 5:                position = new Vector3D(1, -1, 1);                position.normalize();                position = position.multiply(1.5);                scale = new Vector3D(0.5, 0.5, 0.5);                R1.axisRotation(Math.toRadians(45), new Vector3D(0, 0, 1));                R2.axisRotation(Math.toRadians(35), new Vector3D(1, 1, 0));                R = R2.multiply(R1);                break;              case 6:                position = new Vector3D(1, 1, 1);                position.normalize();                position = position.multiply(1.5);                scale = new Vector3D(0.5, 0.5, 0.5);                R1.axisRotation(Math.toRadians(135), new Vector3D(0, 0, 1));                R2.axisRotation(Math.toRadians(35), new Vector3D(-1, 1, 0));                R = R2.multiply(R1);                break;              case 7:                position = new Vector3D(-1, 1, 1);                position.normalize();                position = position.multiply(1.5);                scale = new Vector3D(0.5, 0.5, 0.5);                R1.axisRotation(Math.toRadians(135), new Vector3D(0, 0, -1));                R2.axisRotation(Math.toRadians(35), new Vector3D(-1, -1, 0));                R = R2.multiply(R1);                break;              case 8:                position = new Vector3D(0, 1, -1);                position.normalize();                position = position.multiply(1.5);                scale = new Vector3D(0.5, 0.5, 0.5);                R1.axisRotation(Math.toRadians(180), new Vector3D(0, 0, 1));                R2.axisRotation(Math.toRadians(135), new Vector3D(-1, 0, 0));                R = R2.multiply(R1);                break;              case 9:                position = new Vector3D(-1, 0, -1);                position.normalize();                position = position.multiply(1.5);                scale = new Vector3D(0.5, 0.5, 0.5);                R1.axisRotation(Math.toRadians(90), new Vector3D(0, 0, -1));                R2.axisRotation(Math.toRadians(135), new Vector3D(0, -1, 0));                R = R2.multiply(R1);                break;              case 10:                position = new Vector3D(0, -1, -1);                position.normalize();                position = position.multiply(1.5);                scale = new Vector3D(0.5, 0.5, 0.5);                R.axisRotation(Math.toRadians(135), new Vector3D(1, 0, 0));                break;              case 11:                position = new Vector3D(1, 0, -1);                position.normalize();                position = position.multiply(1.5);                scale = new Vector3D(0.5, 0.5, 0.5);                R1.axisRotation(Math.toRadians(90), new Vector3D(0, 0, 1));                R2.axisRotation(Math.toRadians(135), new Vector3D(0, 1, 0));                R = R2.multiply(R1);                break;              case 12:                position = new Vector3D(1, -1, 0);                position.normalize();                position = position.multiply(1.5);                scale = new Vector3D(0.5, 0.5, 0.5);                R1.axisRotation(Math.toRadians(90), new Vector3D(1, 0, 0));                R2.axisRotation(Math.toRadians(45), new Vector3D(0, 0, 1));                R = R2.multiply(R1);                break;              case 13:                position = new Vector3D(1, 1, 0);                position.normalize();                position = position.multiply(1.5);                scale = new Vector3D(0.5, 0.5, 0.5);                R1.axisRotation(Math.toRadians(90), new Vector3D(1, 0, 0));                R2.axisRotation(Math.toRadians(135), new Vector3D(0, 0, 1));                R = R2.multiply(R1);                break;            }            //-----------------------------------------------------------------            texture = createProjectedView(gl, referenceBodies, i);            if ( texture == null ) {                return null;            }            //-----------------------------------------------------------------            n = new Vector3D(0, 0, 1);            vertexArray = new Vertex[4];            vertexArray[0] = new Vertex(new Vector3D(-1, -1, 0), n, 0.0, 0.0);            vertexArray[1] = new Vertex(new Vector3D(1, -1, 0), n, 1.0, 0.0);            vertexArray[2] = new Vertex(new Vector3D(1, 1, 0), n, 1.0, 1.0);            vertexArray[3] = new Vertex(new Vector3D(-1, 1, 0), n, 0.0, 1.0);            triangleArray = new Triangle[2];            triangleArray[0] = new Triangle(0, 1, 2);            triangleArray[1] = new Triangle(2, 3, 0);            textureArray = new Image[1];            textureArray[0] = texture;            textureRanges = new int[1][2];            textureRanges[0][0] = 2;            textureRanges[0][1] = 1;            materialArray = new Material[1];            materialArray[0] = theScene.defaultMaterial();            materialArray[0].setDoubleSided(true);            materialArray[0].setAmbient(new ColorRgb(1, 1, 1));            materialArray[0].setDiffuse(new ColorRgb(1, 1, 1));            materialArray[0].setSpecular(new ColorRgb(1, 1, 1));            materialRanges = new int[1][2];            materialRanges[0][0] = 2;            materialRanges[0][1] = 0;            mesh = new TriangleMesh();            mesh.setVertexes(vertexArray);            mesh.setTriangles(triangleArray);            mesh.setTextures(textureArray);            mesh.setTextureRanges(textureRanges);            mesh.setMaterials(materialArray);            mesh.setMaterialRanges(materialRanges);            //-----------------------------------------------------------------            boxBody = new SimpleBody();            boxBody.setGeometry(mesh);            boxBody.setPosition(position);            boxBody.setScale(scale);            boxBody.setRotation(R);            boxBody.setRotationInverse(R.inverse());            boxBody.setMaterial(theScene.defaultMaterial());            boxBody.getMaterial().setDoubleSided(true);            boxBody.getMaterial().setAmbient(new ColorRgb(1, 1, 1));            boxBody.getMaterial().setDiffuse(new ColorRgb(1, 1, 1));            boxBody.getMaterial().setSpecular(new ColorRgb(1, 1, 1));            boxBody.setName("Proyected view box");            boxBody.setTexture(texture);            //-----------------------------------------------------------------            group.getBodies().add(boxBody);        }        return group;    }    private void debugProjectedViewsIfNeeded(GL glAppContext)    {        //-----------------------------------------------------------------        if ( wantToDebugProjectedViews == false ) {            return;        }        wantToDebugProjectedViews = false;        //-----------------------------------------------------------------        int selectedThing = theScene.selectedThings.firstSelected();        SimpleBody referenceBody = null;        int i;        if ( selectedThing >= 0 ) {            referenceBody = theScene.scene.getSimpleBodies().get(selectedThing);        }        if ( referenceBody == null ) {            parent.statusMessage.setText("ERROR: An object must be selected for projected views debugging to be created");        }        else {            SimpleBodyGroup group;            SimpleBodyGroup bodySet;            bodySet = new SimpleBodyGroup();            for ( i = 0; i < theScene.selectedThings.size(); i++ ) {                if ( theScene.selectedThings.isSelected(i) ) {                    referenceBody = theScene.scene.getSimpleBodies().get(i);                    bodySet.getBodies().add(referenceBody);                }            }            group = addDebugProjectedView(glAppContext, bodySet);            if ( group != null ) {                theScene.debugThingGroups.add(group);            }            else {                parent.statusMessage.setText("ERROR: cannot create Pbuffer, you need recent 3D hardware acceleration for this function");            }        }    }    private void copyColorBufferIfNeeded(GL gl)    {        if ( wantToGetColor ) {            parent.zbufferImage = JoglRGBImageRenderer.getImageJOGL(gl);            if ( parent.imageControlWindow == null ) {                parent.imageControlWindow = new SwingImageControlWindow(parent.zbufferImage, parent.gui, parent.executorPanel);            }            else {                parent.imageControlWindow.setImage(parent.zbufferImage);            }            parent.imageControlWindow.redrawImage();            parent.statusMessage.setText("ZBuffer Color Image obtained!");            wantToGetColor = false;        }    }    private void copyZBufferIfNeeded(GL gl)    {        if ( wantToGetDepth ) {            if ( wantToGetContourns ) {                IndexedColorImage zbuffer;                NormalMap nm;                zbuffer = JoglZBufferRenderer.importJOGLZBuffer(gl).exportIndexedColorImage();                nm = new NormalMap();                nm.importBumpMap(zbuffer, new Vector3D(1, 1, 0.1));                parent.zbufferImage = nm.exportToRgbImageGradient();            }            else {                parent.zbufferImage =                    JoglZBufferRenderer.importJOGLZBuffer(gl).exportRGBImage(                        parent.palette);            }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av不卡一区二区三区| 亚洲黄色小说网站| 亚洲精品国产a久久久久久| 免费欧美日韩国产三级电影| proumb性欧美在线观看| 欧美一区二区三区白人| 一区二区欧美视频| 成人性生交大片免费看中文| 日韩欧美国产1| 五月激情综合色| 91在线国产观看| 日本一区二区久久| 精东粉嫩av免费一区二区三区| 欧美日韩久久久久久| 18欧美亚洲精品| 成人av在线电影| 国产亚洲一区二区在线观看| 免费成人美女在线观看.| 欧美亚洲禁片免费| 一区二区三区在线视频播放| 成人av影院在线| 国产精品乱码妇女bbbb| 国产一区二区剧情av在线| 日韩免费一区二区三区在线播放| 亚洲电影一级黄| 欧美日韩三级在线| 亚洲一区二区三区四区在线| 97se亚洲国产综合自在线观| 国产精品久久毛片av大全日韩| 国产一区二区三区四区五区美女| 日韩欧美成人激情| 国产一区视频导航| 久久久久久一二三区| 国产精品综合一区二区三区| 精品国产乱码久久久久久久久| 日本不卡中文字幕| 日韩精品资源二区在线| 国产精品亚洲第一| 中文字幕中文字幕在线一区 | 久久精品一区二区三区不卡牛牛| 久久99久久99精品免视看婷婷 | 蜜桃精品在线观看| 日韩女优电影在线观看| 国产真实乱对白精彩久久| 久久精品在线免费观看| 91玉足脚交白嫩脚丫在线播放| 亚洲男人的天堂av| 欧美日韩在线精品一区二区三区激情| 亚洲精选在线视频| 9191成人精品久久| 狠狠网亚洲精品| 中文字幕中文乱码欧美一区二区| 91黄视频在线| 奇米色777欧美一区二区| 久久久亚洲国产美女国产盗摄| 国产成人亚洲综合a∨猫咪| 亚洲人123区| 欧美福利视频导航| 韩国av一区二区| 亚洲人成网站色在线观看| 欧美精品第一页| 国产乱人伦精品一区二区在线观看| 国产亚洲一本大道中文在线| 99久久精品免费看| 日一区二区三区| 欧美激情在线看| 欧亚洲嫩模精品一区三区| 久草这里只有精品视频| 日韩一区欧美一区| 欧美一级夜夜爽| 成人黄色国产精品网站大全在线免费观看| 亚洲男女毛片无遮挡| 日韩欧美资源站| 91麻豆文化传媒在线观看| 捆绑调教一区二区三区| 亚洲免费观看视频| 久久久久久久一区| 在线不卡一区二区| 不卡的看片网站| 久久99九九99精品| 图片区小说区区亚洲影院| 国产精品久久久久影院亚瑟| 精品日韩99亚洲| 欧美性xxxxxxxx| 丰满少妇久久久久久久| 日韩电影一区二区三区四区| 亚洲色图清纯唯美| 久久青草国产手机看片福利盒子| 欧美中文字幕不卡| 成人免费不卡视频| 国内精品写真在线观看| 午夜欧美电影在线观看| 亚洲欧洲日本在线| 国产三级精品三级| 日韩你懂的电影在线观看| 欧美日韩一级片网站| 91免费国产在线观看| 丁香婷婷综合色啪| 狠狠色伊人亚洲综合成人| 视频在线在亚洲| 亚洲国产欧美日韩另类综合| 国产精品久久久久7777按摩| 久久久久99精品国产片| 精品乱人伦小说| 日韩欧美一区二区视频| 欧美肥妇毛茸茸| 欧美电影在哪看比较好| 在线观看国产91| 在线日韩一区二区| 色一情一乱一乱一91av| 91网页版在线| 日本丶国产丶欧美色综合| www.成人在线| 91猫先生在线| 欧美系列日韩一区| 欧美视频日韩视频| 欧美日韩免费观看一区二区三区| 欧美偷拍一区二区| 欧美日韩五月天| 在线电影院国产精品| 欧美一区二区久久| 精品久久久久久久久久久久久久久久久 | 国产日韩欧美精品在线| 国产调教视频一区| 国产精品久久久爽爽爽麻豆色哟哟| |精品福利一区二区三区| 亚洲日本在线观看| 亚洲h在线观看| 美女网站视频久久| 国产成人精品aa毛片| 99久久精品国产网站| 欧美色网一区二区| 精品久久五月天| 中文字幕av一区二区三区高| 亚洲人成网站在线| 日韩国产精品久久久久久亚洲| 久久精品国产一区二区三| 成人涩涩免费视频| 欧美日韩国产电影| 26uuu久久综合| 亚洲欧美日韩国产综合| 日日欢夜夜爽一区| 国产精品18久久久久久久网站| jizz一区二区| 日韩一级高清毛片| 国产精品无码永久免费888| 亚洲国产精品天堂| 国产一区二区三区在线观看精品| 一本色道久久综合亚洲91| 日韩欧美你懂的| 亚洲欧美日韩一区| 麻豆免费精品视频| 一本大道久久a久久精二百| 日韩欧美国产综合在线一区二区三区 | 欧美日韩一二三区| 久久精品夜色噜噜亚洲aⅴ| 日韩久久一区二区| 久久成人羞羞网站| 欧日韩精品视频| 欧美国产精品一区二区| 日韩影视精彩在线| 91原创在线视频| 久久九九全国免费| 日韩av网站免费在线| 色噜噜狠狠一区二区三区果冻| 精品女同一区二区| 一区二区三区久久久| 国产99久久久国产精品免费看| 在线一区二区三区做爰视频网站| 26uuu精品一区二区三区四区在线| 一区二区三区色| 丁香六月久久综合狠狠色| 欧美日本在线一区| 亚洲视频小说图片| 成人一区二区三区在线观看| 日韩精品影音先锋| 午夜精品一区在线观看| 日本电影欧美片| 亚洲日穴在线视频| 菠萝蜜视频在线观看一区| 精品久久一区二区| 久久国产三级精品| 欧美高清一级片在线| 亚洲欧美福利一区二区| 成人高清免费观看| 亚洲国产精品国自产拍av| 激情综合色综合久久| 欧美成人乱码一区二区三区| 天天色天天操综合| 欧美三电影在线| 亚洲香肠在线观看| 欧美色电影在线| 亚洲成人午夜电影| 欧美视频中文一区二区三区在线观看| 国产精品国产三级国产普通话三级 | 久久精品国产色蜜蜜麻豆| 欧美高清视频一二三区 | 丁香婷婷深情五月亚洲| 欧美国产一区二区| 成人免费观看男女羞羞视频|