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

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

?? matrixstack.java

?? Android Source Code. An gallary program.
?? JAVA
字號:
/* * Copyright (C) 2007 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * *      http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package com.example.android.apis.graphics.spritetext;import android.opengl.Matrix;import java.nio.FloatBuffer;import java.nio.IntBuffer;/** * A matrix stack, similar to OpenGL ES's internal matrix stack. */public class MatrixStack {    public MatrixStack() {        commonInit(DEFAULT_MAX_DEPTH);    }    public MatrixStack(int maxDepth) {        commonInit(maxDepth);    }    private void commonInit(int maxDepth) {        mMatrix = new float[maxDepth * MATRIX_SIZE];        mTemp = new float[MATRIX_SIZE * 2];        glLoadIdentity();    }    public void glFrustumf(float left, float right, float bottom, float top,            float near, float far) {        Matrix.frustumM(mMatrix, mTop, left, right, bottom, top, near, far);    }    public void glFrustumx(int left, int right, int bottom, int top, int near,            int far) {        glFrustumf(fixedToFloat(left),fixedToFloat(right),                fixedToFloat(bottom), fixedToFloat(top),                fixedToFloat(near), fixedToFloat(far));    }    public void glLoadIdentity() {        Matrix.setIdentityM(mMatrix, mTop);    }    public void glLoadMatrixf(float[] m, int offset) {        System.arraycopy(m, offset, mMatrix, mTop, MATRIX_SIZE);    }    public void glLoadMatrixf(FloatBuffer m) {        m.get(mMatrix, mTop, MATRIX_SIZE);    }    public void glLoadMatrixx(int[] m, int offset) {        for(int i = 0; i < MATRIX_SIZE; i++) {            mMatrix[mTop + i] = fixedToFloat(m[offset + i]);        }    }    public void glLoadMatrixx(IntBuffer m) {        for(int i = 0; i < MATRIX_SIZE; i++) {            mMatrix[mTop + i] = fixedToFloat(m.get());        }    }    public void glMultMatrixf(float[] m, int offset) {        System.arraycopy(mMatrix, mTop, mTemp, 0, MATRIX_SIZE);        Matrix.multiplyMM(mMatrix, mTop, mTemp, 0, m, offset);    }    public void glMultMatrixf(FloatBuffer m) {        m.get(mTemp, MATRIX_SIZE, MATRIX_SIZE);        glMultMatrixf(mTemp, MATRIX_SIZE);    }    public void glMultMatrixx(int[] m, int offset) {        for(int i = 0; i < MATRIX_SIZE; i++) {            mTemp[MATRIX_SIZE + i] = fixedToFloat(m[offset + i]);        }        glMultMatrixf(mTemp, MATRIX_SIZE);    }    public void glMultMatrixx(IntBuffer m) {        for(int i = 0; i < MATRIX_SIZE; i++) {            mTemp[MATRIX_SIZE + i] = fixedToFloat(m.get());        }        glMultMatrixf(mTemp, MATRIX_SIZE);    }    public void glOrthof(float left, float right, float bottom, float top,            float near, float far) {        Matrix.orthoM(mMatrix, mTop, left, right, bottom, top, near, far);    }    public void glOrthox(int left, int right, int bottom, int top, int near,            int far) {        glOrthof(fixedToFloat(left), fixedToFloat(right),                fixedToFloat(bottom), fixedToFloat(top),                fixedToFloat(near), fixedToFloat(far));    }    public void glPopMatrix() {        preflight_adjust(-1);        adjust(-1);    }    public void glPushMatrix() {        preflight_adjust(1);        System.arraycopy(mMatrix, mTop, mMatrix, mTop + MATRIX_SIZE,                MATRIX_SIZE);        adjust(1);    }    public void glRotatef(float angle, float x, float y, float z) {        Matrix.setRotateM(mTemp, 0, angle, x, y, z);        System.arraycopy(mMatrix, mTop, mTemp, MATRIX_SIZE, MATRIX_SIZE);        Matrix.multiplyMM(mMatrix, mTop, mTemp, MATRIX_SIZE, mTemp, 0);    }    public void glRotatex(int angle, int x, int y, int z) {        glRotatef(angle, fixedToFloat(x), fixedToFloat(y), fixedToFloat(z));    }    public void glScalef(float x, float y, float z) {        Matrix.scaleM(mMatrix, mTop, x, y, z);    }    public void glScalex(int x, int y, int z) {        glScalef(fixedToFloat(x), fixedToFloat(y), fixedToFloat(z));    }    public void glTranslatef(float x, float y, float z) {        Matrix.translateM(mMatrix, mTop, x, y, z);    }    public void glTranslatex(int x, int y, int z) {        glTranslatef(fixedToFloat(x), fixedToFloat(y), fixedToFloat(z));    }    public void getMatrix(float[] dest, int offset) {        System.arraycopy(mMatrix, mTop, dest, offset, MATRIX_SIZE);    }    private float fixedToFloat(int x) {        return x * (1.0f / 65536.0f);    }    private void preflight_adjust(int dir) {        int newTop = mTop + dir * MATRIX_SIZE;        if (newTop < 0) {            throw new IllegalArgumentException("stack underflow");        }        if (newTop + MATRIX_SIZE > mMatrix.length) {            throw new IllegalArgumentException("stack overflow");        }    }    private void adjust(int dir) {        mTop += dir * MATRIX_SIZE;    }    private final static int DEFAULT_MAX_DEPTH = 32;    private final static int MATRIX_SIZE = 16;    private float[] mMatrix;    private int mTop;    private float[] mTemp;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国一区二区三区| 日韩av中文字幕一区二区| 欧美不卡123| 日韩一区二区在线观看视频播放| 99re免费视频精品全部| 99久久亚洲一区二区三区青草| 成人av先锋影音| 成人美女视频在线看| 成人污污视频在线观看| 粉嫩av一区二区三区在线播放| 国产99久久久久久免费看农村| 激情深爱一区二区| 国产乱国产乱300精品| 福利一区福利二区| 色综合天天综合色综合av| 91免费看片在线观看| 欧美综合一区二区| 欧美一区二区在线免费观看| 日韩视频免费观看高清完整版在线观看| 91精品国产色综合久久ai换脸 | 99re热这里只有精品视频| 成人免费观看av| 91美女片黄在线观看| 欧美性大战久久久久久久蜜臀| 欧美三区免费完整视频在线观看| 精品一区二区三区在线播放视频| 成人综合在线观看| 国产婷婷一区二区| 欧美一区二区播放| 日韩一区国产二区欧美三区| 久久久久久久久99精品| 欧美亚洲尤物久久| 国产精品婷婷午夜在线观看| 成人听书哪个软件好| 亚洲一区二区三区不卡国产欧美 | 91丝袜美腿高跟国产极品老师| 欧美午夜片在线看| 精品成人一区二区三区| 亚洲黄色免费网站| 久久黄色级2电影| 91色九色蝌蚪| 日韩精品一区在线| 亚洲精品免费视频| 麻豆一区二区在线| 在线亚洲欧美专区二区| 精品免费日韩av| 亚洲国产日产av| 国产91在线观看丝袜| 欧美日韩国产精品自在自线| 中文一区二区在线观看| 日韩中文字幕1| 在线观看视频一区二区欧美日韩| 精品久久久久久久一区二区蜜臀| 亚洲一区二区三区四区五区中文| 国产精品一区在线| 日韩欧美一区二区在线视频| 丝袜脚交一区二区| 色成年激情久久综合| 国产三级欧美三级| 麻豆一区二区三| 一区二区在线观看av| 91影院在线免费观看| 国产传媒欧美日韩成人| 精品伦理精品一区| 一本一本久久a久久精品综合麻豆| 国产精品丝袜91| 樱花影视一区二区| 成人在线视频一区| 99国产精品久久久久| 亚洲欧美在线另类| 天堂一区二区在线免费观看| 精品一区二区影视| 日韩午夜在线影院| 亚洲在线观看免费| 国产精品国产三级国产| 精品99一区二区| 欧美大胆人体bbbb| 国产一区二区在线电影| 国产一区二区三区四区五区入口 | 激情深爱一区二区| 国产成人免费视频一区| 国产成人在线观看免费网站| 久久爱www久久做| 久久se这里有精品| 日本一区二区三级电影在线观看| 欧美tickling挠脚心丨vk| 亚洲一卡二卡三卡四卡五卡| 99久久久久免费精品国产| 国产午夜亚洲精品不卡| 国内精品久久久久影院色| 欧美一区二区三区公司| 69av一区二区三区| 首页综合国产亚洲丝袜| 精品国产乱子伦一区| 日本欧美大码aⅴ在线播放| 欧美一区二区三区免费| 久久国产乱子精品免费女| 久久日韩粉嫩一区二区三区| 麻豆精品一区二区综合av| 国产日韩三级在线| 国产成人精品免费在线| 依依成人精品视频| 欧美色综合网站| 麻豆高清免费国产一区| 日韩一区二区麻豆国产| 亚洲三级久久久| 欧美成人一级视频| 国产成人久久精品77777最新版本| 精品国产伦理网| 在线免费观看一区| 午夜精品久久久久久久久久久 | www.欧美色图| 一区二区三区产品免费精品久久75| 91行情网站电视在线观看高清版| 亚洲综合丝袜美腿| 欧美日免费三级在线| 青草av.久久免费一区| 国产精品视频在线看| 欧美性大战久久久| 丰满放荡岳乱妇91ww| 一区二区三区中文字幕电影| 久久―日本道色综合久久| 激情国产一区二区| 偷拍日韩校园综合在线| 日韩福利视频导航| 亚洲另类在线视频| 亚洲精品日韩一| 2023国产精品自拍| 视频一区二区国产| 日韩欧美国产一区二区三区 | 成人avav在线| 麻豆91精品视频| 亚洲欧美综合网| 精品国产污网站| 欧美综合色免费| 精品中文字幕一区二区小辣椒| 亚洲一区自拍偷拍| 国产欧美日本一区二区三区| 欧美伊人精品成人久久综合97| 精彩视频一区二区| 亚洲伊人伊色伊影伊综合网| 精品国产成人在线影院 | 成人av免费在线| 国产98色在线|日韩| 激情小说欧美图片| 日本人妖一区二区| 蜜桃在线一区二区三区| 亚洲欧美一区二区三区极速播放| 26uuu国产电影一区二区| 欧美日韩激情在线| 91久久精品网| 在线视频你懂得一区| av在线不卡电影| 99精品国产一区二区三区不卡 | 国产三级精品视频| 日韩午夜电影在线观看| 欧美老人xxxx18| 欧美调教femdomvk| 欧美日本韩国一区二区三区视频| 大桥未久av一区二区三区中文| 国产在线精品一区二区夜色 | 欧美大片拔萝卜| 欧美一区二区三区视频| 欧美一卡2卡三卡4卡5免费| 欧美亚洲综合在线| 91精品久久久久久久久99蜜臂| 色av成人天堂桃色av| 欧美日韩国产小视频在线观看| 91丨porny丨国产入口| 色妹子一区二区| 91久久国产最好的精华液| 欧美日韩国产综合久久| 日韩一区二区三区在线视频| 亚洲国产精品久久久久婷婷884| 国产成人免费在线视频| 欧美日韩国产一级片| 日本一区二区不卡视频| 欧美午夜片在线看| 99re热视频这里只精品| 欧美性生活一区| 欧美精品欧美精品系列| 欧美激情中文不卡| 亚洲精品欧美激情| 同产精品九九九| 国产成人精品一区二| 成人91在线观看| 欧美大片顶级少妇| 亚洲欧美自拍偷拍| 全国精品久久少妇| 成人激情文学综合网| 色综合天天天天做夜夜夜夜做| 制服丝袜一区二区三区| 欧美精品xxxxbbbb| 久久综合狠狠综合久久综合88| 亚洲人成网站在线| 男人的天堂亚洲一区| 欧美在线一区二区三区| 精品少妇一区二区三区日产乱码 | 2021国产精品久久精品| 日韩精品一区第一页|