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

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

?? mesh.java

?? JAKE2用JAVA寫的queck2的3D游戲開發(fā)引擎
?? JAVA
?? 第 1 頁 / 共 2 頁
字號(hào):
        float[] maxs = Vec3Cache.get();        if (pframe == poldframe) {            for (int i = 0; i < 3; i++) {                mins[i] = pframe.translate[i];                maxs[i] = mins[i] + pframe.scale[i] * 255;            }        } else {            float thismaxs, oldmaxs;            for (int i = 0; i < 3; i++) {                thismaxs = pframe.translate[i] + pframe.scale[i] * 255;                oldmaxs = poldframe.translate[i] + poldframe.scale[i] * 255;                if (pframe.translate[i] < poldframe.translate[i])                    mins[i] = pframe.translate[i];                else                    mins[i] = poldframe.translate[i];                if (thismaxs > oldmaxs)                    maxs[i] = thismaxs;                else                    maxs[i] = oldmaxs;            }        }        /*         * * compute a full bounding box         */        float[] tmp;        for (int i = 0; i < 8; i++) {            tmp = bbox[i];            if ((i & 1) != 0)                tmp[0] = mins[0];            else                tmp[0] = maxs[0];            if ((i & 2) != 0)                tmp[1] = mins[1];            else                tmp[1] = maxs[1];            if ((i & 4) != 0)                tmp[2] = mins[2];            else                tmp[2] = maxs[2];        }        /*         * * rotate the bounding box         */        tmp = mins;        Math3D.VectorCopy(e.angles, tmp);        tmp[YAW] = -tmp[YAW];        Math3D.AngleVectors(tmp, vectors[0], vectors[1], vectors[2]);        for (int i = 0; i < 8; i++) {            Math3D.VectorCopy(bbox[i], tmp);            bbox[i][0] = Math3D.DotProduct(vectors[0], tmp);            bbox[i][1] = -Math3D.DotProduct(vectors[1], tmp);            bbox[i][2] = Math3D.DotProduct(vectors[2], tmp);            Math3D.VectorAdd(e.origin, bbox[i], bbox[i]);        }                Vec3Cache.release(2); // mins, maxs        int f, mask;        int aggregatemask = ~0; // 0xFFFFFFFF        for (int p = 0; p < 8; p++) {            mask = 0;            for (f = 0; f < 4; f++) {                float dp = Math3D.DotProduct(frustum[f].normal, bbox[p]);                if ((dp - frustum[f].dist) < 0) {                    mask |= (1 << f);                }            }            aggregatemask &= mask;        }        if (aggregatemask != 0) {            return true;        }        return false;    }    // bounding box    float[][] bbox = { { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 },            { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } };    /*     * ================= R_DrawAliasModel     *      * =================     */    //	TODO sync with jogl renderer. hoz    void R_DrawAliasModel(entity_t e) {        int i;        //qfiles.dmdl_t paliashdr;        //float an;        image_t skin;        if ((e.flags & Defines.RF_WEAPONMODEL) == 0) {            if (R_CullAliasModel(e))                return;        }        if ((e.flags & Defines.RF_WEAPONMODEL) != 0) {            if (r_lefthand.value == 2.0f)                return;        }        qfiles.dmdl_t paliashdr = (qfiles.dmdl_t) currentmodel.extradata;        //        // get lighting information        //        // PMM - rewrote, reordered to handle new shells & mixing        // PMM - 3.20 code .. replaced with original way of doing it to keep mod        // authors happy        //        if ((currententity.flags & (Defines.RF_SHELL_HALF_DAM                | Defines.RF_SHELL_GREEN | Defines.RF_SHELL_RED                | Defines.RF_SHELL_BLUE | Defines.RF_SHELL_DOUBLE)) != 0) {            Math3D.VectorClear(shadelight);            if ((currententity.flags & Defines.RF_SHELL_HALF_DAM) != 0) {                shadelight[0] = 0.56f;                shadelight[1] = 0.59f;                shadelight[2] = 0.45f;            }            if ((currententity.flags & Defines.RF_SHELL_DOUBLE) != 0) {                shadelight[0] = 0.9f;                shadelight[1] = 0.7f;            }            if ((currententity.flags & Defines.RF_SHELL_RED) != 0)                shadelight[0] = 1.0f;            if ((currententity.flags & Defines.RF_SHELL_GREEN) != 0)                shadelight[1] = 1.0f;            if ((currententity.flags & Defines.RF_SHELL_BLUE) != 0)                shadelight[2] = 1.0f;        }        else if ((currententity.flags & Defines.RF_FULLBRIGHT) != 0) {            for (i = 0; i < 3; i++)                shadelight[i] = 1.0f;        } else {            R_LightPoint(currententity.origin, shadelight);            // player lighting hack for communication back to server            // big hack!            if ((currententity.flags & Defines.RF_WEAPONMODEL) != 0) {                // pick the greatest component, which should be the same                // as the mono value returned by software                if (shadelight[0] > shadelight[1]) {                    if (shadelight[0] > shadelight[2])                        r_lightlevel.value = 150 * shadelight[0];                    else                        r_lightlevel.value = 150 * shadelight[2];                } else {                    if (shadelight[1] > shadelight[2])                        r_lightlevel.value = 150 * shadelight[1];                    else                        r_lightlevel.value = 150 * shadelight[2];                }            }            if (gl_monolightmap.string.charAt(0) != '0') {                float s = shadelight[0];                if (s < shadelight[1])                    s = shadelight[1];                if (s < shadelight[2])                    s = shadelight[2];                shadelight[0] = s;                shadelight[1] = s;                shadelight[2] = s;            }        }        if ((currententity.flags & Defines.RF_MINLIGHT) != 0) {            for (i = 0; i < 3; i++)                if (shadelight[i] > 0.1f)                    break;            if (i == 3) {                shadelight[0] = 0.1f;                shadelight[1] = 0.1f;                shadelight[2] = 0.1f;            }        }        if ((currententity.flags & Defines.RF_GLOW) != 0) { // bonus items will                                                            // pulse with time            float scale;            float min;            scale = (float) (0.1f * Math.sin(r_newrefdef.time * 7));            for (i = 0; i < 3; i++) {                min = shadelight[i] * 0.8f;                shadelight[i] += scale;                if (shadelight[i] < min)                    shadelight[i] = min;            }        }        // =================        // PGM ir goggles color override        if ((r_newrefdef.rdflags & Defines.RDF_IRGOGGLES) != 0                && (currententity.flags & Defines.RF_IR_VISIBLE) != 0) {            shadelight[0] = 1.0f;            shadelight[1] = 0.0f;            shadelight[2] = 0.0f;        }        // PGM        // =================        shadedots = r_avertexnormal_dots[((int) (currententity.angles[1] * (SHADEDOT_QUANT / 360.0)))                & (SHADEDOT_QUANT - 1)];        float an = (float) (currententity.angles[1] / 180 * Math.PI);        shadevector[0] = (float) Math.cos(-an);        shadevector[1] = (float) Math.sin(-an);        shadevector[2] = 1;        Math3D.VectorNormalize(shadevector);        //        // locate the proper data        //        c_alias_polys += paliashdr.num_tris;        //        // draw all the triangles        //        if ((currententity.flags & Defines.RF_DEPTHHACK) != 0)            // hack the depth range to prevent view model from poking into walls            gl.glDepthRange(gldepthmin, gldepthmin + 0.3                    * (gldepthmax - gldepthmin));        if ((currententity.flags & Defines.RF_WEAPONMODEL) != 0                && (r_lefthand.value == 1.0f)) {            gl.glMatrixMode(GL.GL_PROJECTION);            gl.glPushMatrix();            gl.glLoadIdentity();            gl.glScalef(-1, 1, 1);            MYgluPerspective(r_newrefdef.fov_y, (float) r_newrefdef.width                    / r_newrefdef.height, 4, 4096);            gl.glMatrixMode(GL.GL_MODELVIEW);            gl.glCullFace(GL.GL_BACK);        }        gl.glPushMatrix();        e.angles[PITCH] = -e.angles[PITCH]; // sigh.        R_RotateForEntity(e);        e.angles[PITCH] = -e.angles[PITCH]; // sigh.        // select skin        if (currententity.skin != null)            skin = currententity.skin; // custom player skin        else {            if (currententity.skinnum >= qfiles.MAX_MD2SKINS)                skin = currentmodel.skins[0];            else {                skin = currentmodel.skins[currententity.skinnum];                if (skin == null)                    skin = currentmodel.skins[0];            }        }        if (skin == null)            skin = r_notexture; // fallback...        GL_Bind(skin.texnum);        // draw it        gl.glShadeModel(GL.GL_SMOOTH);        GL_TexEnv(GL.GL_MODULATE);        if ((currententity.flags & Defines.RF_TRANSLUCENT) != 0) {            gl.glEnable(GL.GL_BLEND);        }        if ((currententity.frame >= paliashdr.num_frames)                || (currententity.frame < 0)) {            VID.Printf(Defines.PRINT_ALL, "R_DrawAliasModel "                    + currentmodel.name + ": no such frame "                    + currententity.frame + '\n');            currententity.frame = 0;            currententity.oldframe = 0;        }        if ((currententity.oldframe >= paliashdr.num_frames)                || (currententity.oldframe < 0)) {            VID.Printf(Defines.PRINT_ALL, "R_DrawAliasModel "                    + currentmodel.name + ": no such oldframe "                    + currententity.oldframe + '\n');            currententity.frame = 0;            currententity.oldframe = 0;        }        if (r_lerpmodels.value == 0.0f)            currententity.backlerp = 0;        GL_DrawAliasFrameLerp(paliashdr, currententity.backlerp);        GL_TexEnv(GL.GL_REPLACE);        gl.glShadeModel(GL.GL_FLAT);        gl.glPopMatrix();        if ((currententity.flags & Defines.RF_WEAPONMODEL) != 0                && (r_lefthand.value == 1.0F)) {            gl.glMatrixMode(GL.GL_PROJECTION);            gl.glPopMatrix();            gl.glMatrixMode(GL.GL_MODELVIEW);            gl.glCullFace(GL.GL_FRONT);        }        if ((currententity.flags & Defines.RF_TRANSLUCENT) != 0) {            gl.glDisable(GL.GL_BLEND);        }        if ((currententity.flags & Defines.RF_DEPTHHACK) != 0)            gl.glDepthRange(gldepthmin, gldepthmax);        if (gl_shadows.value != 0.0f                && (currententity.flags & (Defines.RF_TRANSLUCENT | Defines.RF_WEAPONMODEL)) == 0) {            gl.glPushMatrix();            R_RotateForEntity(e);            gl.glDisable(GL.GL_TEXTURE_2D);            gl.glEnable(GL.GL_BLEND);            gl.glColor4f(0, 0, 0, 0.5f);            GL_DrawAliasShadow(paliashdr, currententity.frame);            gl.glEnable(GL.GL_TEXTURE_2D);            gl.glDisable(GL.GL_BLEND);            gl.glPopMatrix();        }        gl.glColor4f(1, 1, 1, 1);    }}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
美美哒免费高清在线观看视频一区二区 | 色偷偷成人一区二区三区91| 亚洲一区二区在线免费看| 精品国产乱码久久久久久蜜臀| 91啪亚洲精品| 国内国产精品久久| 一区二区在线观看视频| 久久久午夜电影| 欧美日韩视频在线第一区 | 一区二区三区视频在线观看| 久久综合av免费| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 偷窥少妇高潮呻吟av久久免费| 欧美韩国日本综合| 精品久久久久久最新网址| 欧美午夜在线观看| 成人app在线| 国产成人综合视频| 韩国成人在线视频| 青青青爽久久午夜综合久久午夜| 一区二区免费视频| 亚洲黄色片在线观看| 国产精品传媒入口麻豆| 国产亚洲欧美色| 久久综合狠狠综合| 欧美刺激脚交jootjob| 欧美三日本三级三级在线播放| 99久久精品久久久久久清纯| 国产成人午夜精品5599| 久久av老司机精品网站导航| 天天色 色综合| 亚洲综合一二区| 亚洲黄色免费电影| 中文字幕日韩欧美一区二区三区| 久久精品欧美日韩精品| 日韩欧美三级在线| 在线成人小视频| 欧美精品国产精品| 欧美电影在哪看比较好| 51精品秘密在线观看| 在线成人高清不卡| 欧美三级韩国三级日本一级| 91黄视频在线观看| 欧美日韩精品一区二区三区| 欧美日韩国产美女| 日韩区在线观看| 精品99999| 久久亚洲精品小早川怜子| 精品国产乱码久久久久久久久| 日韩欧美国产综合| 精品国产百合女同互慰| 国产网站一区二区| 国产精品久线在线观看| 中文字幕亚洲综合久久菠萝蜜| 国产精品久久久久久久久免费樱桃 | 色久优优欧美色久优优| 国产成人av影院| 99国产精品久久久久久久久久久| 色综合天天狠狠| 欧美麻豆精品久久久久久| 欧美另类变人与禽xxxxx| 日韩一区二区在线观看视频| 精品免费视频.| 国产欧美精品一区二区色综合| 国产精品理论片| 亚洲综合在线电影| 免费看日韩精品| 国产福利电影一区二区三区| av高清久久久| 欧美日本免费一区二区三区| 精品国产露脸精彩对白| 国产精品视频在线看| 亚洲一区免费在线观看| 日本美女一区二区三区| 国产成人在线色| 欧美日韩中文国产| 久久精品亚洲精品国产欧美 | 欧美精品一区二区在线观看| 久久久99精品免费观看不卡| 一区二区三国产精华液| 精品一区二区免费视频| 国产1区2区3区精品美女| 欧美亚一区二区| www欧美成人18+| 亚洲综合一区在线| 高清在线成人网| 69久久99精品久久久久婷婷| 日本一区二区免费在线观看视频 | 国产欧美日产一区| 亚洲国产人成综合网站| 国产露脸91国语对白| 在线视频中文字幕一区二区| 精品国产乱码久久久久久老虎| 亚洲柠檬福利资源导航| aaa欧美色吧激情视频| 亚洲最快最全在线视频| 国产成人精品在线看| 欧美日韩免费视频| 国产欧美一区二区三区在线看蜜臀 | 91免费视频网址| 久久久www成人免费毛片麻豆| 午夜av一区二区| 91久久精品一区二区三区| 久久九九久精品国产免费直播| 婷婷久久综合九色综合绿巨人| av色综合久久天堂av综合| 26uuuu精品一区二区| 日韩电影免费在线| 欧美色综合影院| 亚洲日本一区二区| 成人免费看的视频| 26uuu久久天堂性欧美| 天天av天天翘天天综合网 | 欧美日韩在线观看一区二区| 国产精品伦理一区二区| 美腿丝袜亚洲一区| 欧美日韩一区精品| 夜夜嗨av一区二区三区网页 | 免费成人美女在线观看.| 在线观看欧美日本| 亚洲免费色视频| av毛片久久久久**hd| 国产精品高潮呻吟| 成人app在线| 17c精品麻豆一区二区免费| 国产伦精品一区二区三区免费| 欧美一区二区三区视频在线| 在线亚洲一区观看| 亚洲精品亚洲人成人网在线播放| 粉嫩av亚洲一区二区图片| 久久先锋影音av| 国产制服丝袜一区| 久久久久久99精品| 国产99一区视频免费| 亚洲国产精品成人久久综合一区| 国产精品亚洲一区二区三区妖精| 久久久亚洲高清| 成人在线一区二区三区| 欧美国产97人人爽人人喊| 成人一区二区在线观看| 国产精品乱人伦一区二区| 99久久er热在这里只有精品66| 亚洲欧美乱综合| 欧美日韩精品一区二区三区 | 国产精品一二一区| 国产午夜一区二区三区| 成人精品国产免费网站| 国产精品美女久久久久久久| 91亚洲男人天堂| 亚洲午夜三级在线| 日韩一区二区三区免费观看| 经典一区二区三区| 国产精品毛片a∨一区二区三区| 91偷拍与自偷拍精品| 亚洲成人av一区二区三区| 日韩午夜激情av| 国产精品88av| 亚洲日本电影在线| 欧美日本不卡视频| 韩国精品免费视频| 亚洲色图第一区| 欧美一区二区黄| 成人午夜免费av| 亚洲制服丝袜一区| av爱爱亚洲一区| 国产欧美日韩久久| 在线亚洲一区二区| 日韩成人免费电影| 国产欧美精品在线观看| 色88888久久久久久影院按摩 | 久久精品日韩一区二区三区| 99riav久久精品riav| 美女脱光内衣内裤视频久久影院| 国产日韩三级在线| 欧美性极品少妇| 国产成人精品一区二区三区四区 | 亚洲欧美一区二区视频| 欧美日产在线观看| 成人精品视频一区二区三区尤物| 亚洲va欧美va天堂v国产综合| 久久色在线观看| 在线视频亚洲一区| 国产精品影视在线| 亚洲视频一区二区在线| 日韩欧美国产小视频| 91浏览器打开| 国产黄人亚洲片| 亚洲大片在线观看| 国产精品三级视频| 日韩欧美一二三区| 欧美三级中文字幕在线观看| 国产成人精品综合在线观看 | 最新国产成人在线观看| 日韩无一区二区| 欧美在线观看一二区| 成人h动漫精品一区二| 美女视频黄频大全不卡视频在线播放| 中文字幕日韩欧美一区二区三区| 精品国产欧美一区二区| 欧美丰满高潮xxxx喷水动漫|