




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、OWIN+AspNet.Identity完成用戶注冊(cè)/認(rèn)證/,PHPCURL多線程GET/POST類(lèi),php打開(kāi)瀏覽器下載對(duì)話框,php解析emoji表情支持微信php判斷手機(jī)訪問(wèn)網(wǎng)站跳到手機(jī)網(wǎng)站,PHP+MySql+jQuery實(shí)現(xiàn)頂和踩投票功能,PHP+mysql+jQuery說(shuō)說(shuō)留言板,PHP+socket推送消息到DDpush服務(wù)器,phpcms_v9-表單向?qū)г黾游募蟼?PHP版jQuery插件傳參方式代碼 Java代碼 import android.app.Activity;import android.os.Bundle;public class MyActivity exte
2、nds Activity private MySurfaceView mGLSurfaceView; Override protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); mGLSurfaceView = new MySurfaceView(this); mGLSurfaceView.requestFocus();/獲取焦點(diǎn) mGLSurfaceView.setFocusableInTouchMode(true);/設(shè)置為可觸控 setContentView(mGLSurf
3、aceView); /jQuery實(shí)現(xiàn)的一個(gè)類(lèi)似jGrid的插件/jQuery瀑布流插件 Override protected void onResume() super.onResume(); mGLSurfaceView.onResume(); Override protected void onPause() super.onPause(); mGLSurfaceView.onPause(); 代碼 Java代碼 import javax.microedition.khronos.egl.EGLConfig;import javax.microedition.khronos.opengl
4、es.GL10;import android.content.Context;import android.opengl.GLSurfaceView;import android.opengl.GLU;public class MySurfaceView extends GLSurfaceView private SceneRenderer mRenderer;/聲明渲染器 float cx=0;/攝像機(jī)x位置 float cy=20;/攝像機(jī)y位置 float cz=40;/攝像機(jī)z位置 float tx=0;/目標(biāo)點(diǎn)x位置 float ty=0;/目標(biāo)點(diǎn)y位置 float tz=0;/目標(biāo)
5、點(diǎn)z位置 public MySurfaceView(Context context) super(context); / TODO Auto-generated constructor stub mRenderer = new SceneRenderer(); /創(chuàng)建場(chǎng)景渲染器 setRenderer(mRenderer); /設(shè)置渲染器 setRenderMode(GLSurfaceView.RENDERMODE_CONTINUOUSLY);/設(shè)置渲染模式為主動(dòng)渲染 private class SceneRenderer implements GLSurfaceView.Renderer C
6、ubeVertex cubeVertex;/聲明頂點(diǎn)法立方體 Override public void onDrawFrame(GL10 gl) / TODO Auto-generated method stub /采用平滑著色 gl.glShadeModel(GL10.GL_SMOOTH); /設(shè)置為打開(kāi)背面剪裁 gl.glEnable(GL10.GL_CULL_FACE); /清除顏色緩存于深度緩存 gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT); /設(shè)置當(dāng)前矩陣為模式矩陣 gl.glMatrixMode(GL
7、10.GL_MODELVIEW); /設(shè)置當(dāng)前矩陣為單位矩陣 gl.glLoadIdentity(); /設(shè)置camera位置/ GLU.gluLookAt/ (/ gl, / cx, /人眼位置的X/ cy, /人眼位置的Y/ cz, /人眼位置的Z/ tx, /人眼球看的點(diǎn)X/ ty, /人眼球看的點(diǎn)Y/ tz, /人眼球看的點(diǎn)Z/ 0, / 1, / 0/ ); gl.glPushMatrix();/獲取坐標(biāo)系 gl.glTranslatef(0, 0, -22.0f); gl.glRotatef(45, 0, 1, 0);/繞Y軸旋轉(zhuǎn)45度 gl.glRotatef(45, 1, 0,
8、 0);/繞X軸旋轉(zhuǎn)45度 cubeVertex.drawSelf(gl);/繪制立方體 gl.glLoadIdentity(); gl.glPopMatrix();/恢復(fù)坐標(biāo)系 Override public void onSurfaceChanged(GL10 gl, int width, int height) / TODO Auto-generated method stub /設(shè)置視窗大小及位置 gl.glViewport(0, 0, width, height); /設(shè)置當(dāng)前矩陣為投影矩陣 gl.glMatrixMode(GL10.GL_PROJECTION); /設(shè)置當(dāng)前矩陣為單
9、位矩陣 gl.glLoadIdentity(); /計(jì)算透視投影的比例 float ratio = (float) width / height; /調(diào)用此方法計(jì)算產(chǎn)生透視投影矩陣 gl.glFrustumf(-ratio, ratio, -1.0f, 1.0f, 8, 100); Override public void onSurfaceCreated(GL10 gl, EGLConfig config) / TODO Auto-generated method stub /關(guān)閉抗抖動(dòng) gl.glDisable(GL10.GL_DITHER); /設(shè)置特定Hint項(xiàng)目的模式,這里為設(shè)置為使
10、用快速模式 gl.glHint(GL10.GL_PERSPECTIVE_CORRECTION_HINT,GL10.GL_FASTEST); /設(shè)置屏幕背景色黑色RGBA gl.glClearColor(0,0,0,0); /設(shè)置著色模型為平滑著色 gl.glShadeModel(GL10.GL_SMOOTH); /啟用深度測(cè)試 gl.glEnable(GL10.GL_DEPTH_TEST); /設(shè)置為打開(kāi)背面剪裁 gl.glEnable(GL10.GL_CULL_FACE); /允許使用光照 gl.glEnable(GL10.GL_LIGHTING); /初始化光源 initLight(gl)
11、; /初始化材質(zhì)光源 initMaterial(gl); cubeVertex=new CubeVertex(2.5f,2.5f,2.5f); new Thread() public void run() while(true) try sleep(100);/睡眠0.1秒 catch(Exception e) e.printStackTrace(); cubeVertex.mOffsetY+=2.0f;/每次旋轉(zhuǎn) .start(); public void initLight(GL10 gl) / TODO Auto-generated method stub gl.glEnable(GL1
12、0.GL_LIGHT0);/打開(kāi)0號(hào)光源 /環(huán)境光設(shè)置 float ambientParams=0.46f,0.21f,0.05f,1.0f;/光參數(shù) RGBA gl.glLightfv(GL10.GL_LIGHT0, GL10.GL_AMBIENT, ambientParams,0); /散射光設(shè)置 float diffuseParams=0.46f,0.21f,0.05f,1.0f; gl.glLightfv(GL10.GL_LIGHT0, GL10.GL_DIFFUSE, diffuseParams,0); /鏡面光設(shè)置 float specularParams=0.46f,0.21f,
13、0.05f,1.0f; gl.glLightfv(GL10.GL_LIGHT0, GL10.GL_SPECULAR, specularParams,0); /指定光源位置 float directionParams=-1f,1f,1f,0;/定向光 gl.glLightfv(GL10.GL_LIGHT0, GL10.GL_POSITION, directionParams,0); public void initMaterial(GL10 gl) / TODO Auto-generated method stub /環(huán)境光為白色材質(zhì) float ambientMaterial = 0.6f,
14、0.6f, 0.6f, 1.0f; gl.glMaterialfv(GL10.GL_FRONT_AND_BACK, GL10.GL_AMBIENT, ambientMaterial,0); /散射光為白色材質(zhì) float diffuseMaterial = 1.0f, 1.0f, 1.0f, 1.0f; gl.glMaterialfv(GL10.GL_FRONT_AND_BACK, GL10.GL_DIFFUSE, diffuseMaterial,0); /高光材質(zhì)為白色 float specularMaterial = 1f, 1.0f, 1f, 1.0f; gl.glMaterialfv(
15、GL10.GL_FRONT_AND_BACK, GL10.GL_SPECULAR, specularMaterial,0); 圖片 android.JPG 代碼 Java代碼 import java.io.IOException;import java.io.InputStream;import javax.microedition.khronos.egl.EGLConfig;import javax.microedition.khronos.opengles.GL10;import android.content.Context;import android.graphics.Bitmap;
16、import android.graphics.BitmapFactory;import android.opengl.GLSurfaceView;import android.opengl.GLUtils;import android.view.MotionEvent;public class MySurfaceView extends GLSurfaceView private SceneRenderer mRenderer;/場(chǎng)景渲染器 private float mPreviousY;/上次的觸控位置Y坐標(biāo) private float mPreviousX;/上次的觸控位置X坐標(biāo) pr
17、ivate float TOUCH_SCALE_FACTOR=180.0f/320;/角度縮放比例 public int textureId;/紋理的名稱(chēng)ID public MySurfaceView(Context context) super(context); / TODO Auto-generated constructor stub mRenderer = new SceneRenderer(); /創(chuàng)建場(chǎng)景渲染器 setRenderer(mRenderer); /設(shè)置渲染器 setRenderMode(GLSurfaceView.RENDERMODE_CONTINUOUSLY);/
18、設(shè)置渲染模式為主動(dòng)渲染 Override public boolean onTouchEvent(MotionEvent e) float y = e.getY(); float x = e.getX(); switch (e.getAction() case MotionEvent.ACTION_MOVE: float dy = y - mPreviousY;/計(jì)算觸控筆Y位移 float dx = x - mPreviousX;/計(jì)算觸控筆Y位移 mRenderer.texTri.mAngleY += dy * TOUCH_SCALE_FACTOR;/設(shè)置沿x軸旋轉(zhuǎn)角度 mRenderer
19、.texTri.mAngleZ += dx * TOUCH_SCALE_FACTOR;/設(shè)置沿z軸旋轉(zhuǎn)角度 requestRender();/重繪畫(huà)面 mPreviousY = y;/記錄觸控筆位置 mPreviousX = x;/記錄觸控筆位置 return true; private class SceneRenderer implements GLSurfaceView.Renderer Texture texTri; int textureId; Override public void onDrawFrame(GL10 gl) / TODO Auto-generated method
20、 stub /清除顏色緩存 gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT); /設(shè)置當(dāng)前矩陣為模式矩陣 gl.glMatrixMode(GL10.GL_MODELVIEW); /設(shè)置當(dāng)前矩陣為單位矩陣 gl.glLoadIdentity(); gl.glTranslatef(0, 0f, -2.5f); texTri.drawSelf(gl); Override public void onSurfaceChanged(GL10 gl, int width, int height) / TODO Auto-gene
21、rated method stub /設(shè)置視窗大小及位置 gl.glViewport(0, 0, width, height); /設(shè)置當(dāng)前矩陣為投影矩陣 gl.glMatrixMode(GL10.GL_PROJECTION); /設(shè)置當(dāng)前矩陣為單位矩陣 gl.glLoadIdentity(); /計(jì)算透視投影的比例 float ratio = (float) width / height; /調(diào)用此方法計(jì)算產(chǎn)生透視投影矩陣 gl.glFrustumf(-ratio, ratio, -1, 1, 1, 20); Override public void onSurfaceCreated(GL1
22、0 gl, EGLConfig config) / TODO Auto-generated method stub /關(guān)閉抗抖動(dòng) gl.glDisable(GL10.GL_DITHER); /設(shè)置特定Hint項(xiàng)目的模式,這里為設(shè)置為使用快速模式 gl.glHint(GL10.GL_PERSPECTIVE_CORRECTION_HINT,GL10.GL_FASTEST); /設(shè)置屏幕背景色黑色RGBA gl.glClearColor(0,0,0,0); /打開(kāi)背面剪裁 /gl.glEnable(GL10.GL_CULL_FACE); /設(shè)置著色模型為平滑著色 gl.glShadeModel(GL
23、10.GL_SMOOTH);/GL10.GL_SMOOTH GL10.GL_FLAT /啟用深度測(cè)試 gl.glEnable(GL10.GL_DEPTH_TEST); /初始化紋理 textureId=initTexture(gl,R.drawable.duke); texTri=new Texture(textureId); public int initTexture(GL10 gl,int textureId)/textureId int textures = new int; gl.glGenTextures(1, textures, 0); int currTextureId=tex
24、tures0; gl.glBindTexture(GL10.GL_TEXTURE_2D, currTextureId); gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MIN_FILTER,GL10.GL_NEAREST); gl.glTexParameterf(GL10.GL_TEXTURE_2D,GL10.GL_TEXTURE_MAG_FILTER,GL10.GL_LINEAR); gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_S,GL10.GL_REP
25、EAT); gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_T,GL10.GL_REPEAT); InputStream is = this.getResources().openRawResource(textureId); Bitmap bitmapTmp; try bitmapTmp = BitmapFactory.decodeStream(is); finally try is.close(); catch(IOException e) e.printStackTrace(); GLUtils.texImage2D
26、(GL10.GL_TEXTURE_2D, 0, bitmapTmp, 0); bitmapTrecycle(); return currTextureId; 代碼 Java代碼 import android.app.Activity;import android.os.Bundle;public class Sample6_1 extends Activity /* Called when the activity is first created. */ MySurfaceView mGLSurfaceView; Override public void onCreate(Bundle sa
27、vedInstanceState) super.onCreate(savedInstanceState); mGLSurfaceView = new MySurfaceView(this); setContentView(mGLSurfaceView); mGLSurfaceView.requestFocus();/獲取焦點(diǎn) mGLSurfaceView.setFocusableInTouchMode(true);/設(shè)置為可觸控 Override protected void onResume() super.onResume(); mGLSurfaceView.onResume(); Ove
28、rride protected void onPause() super.onPause(); mGLSurfaceView.onPause(); 代碼 Java代碼 import java.nio.ByteBuffer;import java.nio.ByteOrder;import java.nio.FloatBuffer;import java.nio.IntBuffer;import javax.microedition.khronos.opengles.GL10;public class Texture private IntBuffer mVertexBuffer;/頂點(diǎn)坐標(biāo)數(shù)據(jù)緩
29、沖 private FloatBuffer mTextureBuffer;/頂點(diǎn)紋理數(shù)據(jù)緩沖 public float mAngleY;/沿y軸旋轉(zhuǎn)角度 public float mAngleZ;/沿z軸旋轉(zhuǎn)角度 int vCount=0;/頂點(diǎn)數(shù)量 int textureId; public Texture(int textureId) this.textureId=textureId; /頂點(diǎn)坐標(biāo)數(shù)據(jù)的初始化=begin= final int UNIT_SIZE=30000; vCount=3;/頂點(diǎn)的數(shù)量 int vertices=new int/頂點(diǎn)坐標(biāo)數(shù)據(jù)數(shù)組 2*UNIT_SIZE
30、,0,0, -2*UNIT_SIZE,0,0, 0,4*UNIT_SIZE,0 ; /創(chuàng)建頂點(diǎn)坐標(biāo)數(shù)據(jù)緩沖 /vertices.length*4是因?yàn)橐粋€(gè)整數(shù)四個(gè)字節(jié) ByteBuffer vbb = ByteBuffer.allocateDirect(vertices.length*4); vbb.order(ByteOrder.nativeOrder();/設(shè)置字節(jié)順序 mVertexBuffer = vbb.asIntBuffer();/轉(zhuǎn)換為int型緩沖 mVertexBuffer.put(vertices);/向緩沖區(qū)中放入頂點(diǎn)坐標(biāo)數(shù)據(jù) mVertexBuffer.position(
31、0);/設(shè)置緩沖區(qū)起始位置 /特別提示:由于不同平臺(tái)字節(jié)順序不同數(shù)據(jù)單元不是字節(jié)的一定要經(jīng)過(guò)ByteBuffer /轉(zhuǎn)換,關(guān)鍵是要通過(guò)ByteOrder設(shè)置nativeOrder(),否則有可能會(huì)出問(wèn)題 /頂點(diǎn)坐標(biāo)數(shù)據(jù)的初始化=end= /頂點(diǎn)紋理數(shù)據(jù)的初始化=begin= float textureCoors=new float/頂點(diǎn)紋理S、T坐標(biāo)值數(shù)組 0,1, 1,1, 0.5f,0 ; /創(chuàng)建頂點(diǎn)紋理數(shù)據(jù)緩沖 /textureCoors.length4是因?yàn)橐粋€(gè)float型整數(shù)四個(gè)字節(jié) ByteBuffer cbb = ByteBuffer.allocateDirect(texture
32、Coors.length*4); cbb.order(ByteOrder.nativeOrder();/設(shè)置字節(jié)順序 mTextureBuffer = cbb.asFloatBuffer();/轉(zhuǎn)換為int型緩沖 mTextureBuffer.put(textureCoors);/向緩沖區(qū)中放入頂點(diǎn)著色數(shù)據(jù) mTextureBuffer.position(0);/設(shè)置緩沖區(qū)起始位置 /特別提示:由于不同平臺(tái)字節(jié)順序不同數(shù)據(jù)單元不是字節(jié)的一定要經(jīng)過(guò)ByteBuffer /轉(zhuǎn)換,關(guān)鍵是要通過(guò)ByteOrder設(shè)置nativeOrder(),否則有可能會(huì)出問(wèn)題 /頂點(diǎn)紋理數(shù)據(jù)的初始化=end= pu
33、blic void drawSelf(GL10 gl) gl.glRotatef(mAngleZ, 0, 0, 1);/沿Z軸旋轉(zhuǎn) gl.glRotatef(mAngleY, 0, 1, 0);/沿Y軸旋轉(zhuǎn) /頂點(diǎn)坐標(biāo)=begin= /允許使用頂點(diǎn)數(shù)組 gl.glEnableClientState(GL10.GL_VERTEX_ARRAY); /為畫(huà)筆指定頂點(diǎn)坐標(biāo)數(shù)據(jù) gl.glVertexPointer ( 3, /每個(gè)頂點(diǎn)的坐標(biāo)數(shù)量為3 xyz GL10.GL_FIXED, /頂點(diǎn)坐標(biāo)值的類(lèi)型為 GL_FIXED 0, /連續(xù)頂點(diǎn)坐標(biāo)數(shù)據(jù)之間的間隔 mVertexBuffer /頂點(diǎn)坐標(biāo)數(shù)
34、據(jù) ); /頂點(diǎn)坐標(biāo)=end= /紋理=begin= /開(kāi)啟紋理 gl.glEnable(GL10.GL_TEXTURE_2D); /允許使用紋理數(shù)組 gl.glEnableClientState(GL10.GL_TEXTURE_COORD_ARRAY); /為畫(huà)筆指定紋理uv坐標(biāo)數(shù)據(jù) gl.glTexCoordPointer ( 2, /每個(gè)頂點(diǎn)兩個(gè)紋理坐標(biāo)數(shù)據(jù) S、T GL10.GL_FLOAT, /數(shù)據(jù)類(lèi)型 0, /連續(xù)紋理坐標(biāo)數(shù)據(jù)之間的間隔 mTextureBuffer /紋理坐標(biāo)數(shù)據(jù) ); /為畫(huà)筆綁定指定名稱(chēng)ID紋理 gl.glBindTexture(GL10.GL_TEXTURE
35、_2D,textureId); /紋理=end= /繪制圖形 gl.glDrawArrays ( GL10.GL_TRIANGLES, 0, vCount ); gl.glDisable(GL10.GL_TEXTURE_2D);/關(guān)閉紋理 圖片 android.JPG 代碼 Java代碼 import java.nio.ByteBuffer;import java.nio.ByteOrder;import java.nio.FloatBuffer;import javax.microedition.khronos.opengles.GL10; 68ecshop 侴局侶public class Desert private FloatBuffer myVertixsBuffer; private FloatBuffer myNormalBuffer; private FloatBuffer myTextureBuffer; private int textureId; private int vCount = 0; private
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 淺析新課標(biāo)下高中化學(xué)探究性教學(xué)新思路
- 中西醫(yī)結(jié)合腫瘤病學(xué)知到課后答案智慧樹(shù)章節(jié)測(cè)試答案2025年春湖南中醫(yī)藥大學(xué)
- 注漿小導(dǎo)管施工方案
- 站臺(tái)門(mén)設(shè)備故障現(xiàn)場(chǎng)處置方案演練腳本
- 財(cái)務(wù)會(huì)計(jì):財(cái)務(wù)會(huì)計(jì)的基本理論-習(xí)題與答案
- 財(cái)務(wù)比率分析習(xí)題與答案
- 物理(湖北卷)(參考答案)
- 河北省唐山市豐南區(qū)2024-2025學(xué)年八年級(jí)上學(xué)期期末考試物理試題(原卷版+解析版)
- 稅收籌劃在科技型上市母子公司間的應(yīng)用及風(fēng)險(xiǎn)探究
- 廈門(mén)水務(wù)集團(tuán)自來(lái)水收費(fèi)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 甘肅四年級(jí)信息技術(shù)下冊(cè)教學(xué)設(shè)計(jì)(簡(jiǎn)版)(含核心素養(yǎng))
- 作文復(fù)習(xí):破繭成蝶逆天改命-《哪吒2》現(xiàn)象級(jí)成功的高考寫(xiě)作啟示 課件
- 2025年湖南機(jī)電職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)1套
- 2025中建三局(中原)社會(huì)招聘高頻重點(diǎn)模擬試卷提升(共500題附帶答案詳解)
- 【生 物】光合作用課件-2024-2025學(xué)年人教版生物七年級(jí)下冊(cè)
- 人教版 七年級(jí)英語(yǔ)下冊(cè) UNIT 2 單元綜合測(cè)試卷(2025年春)
- 2024年“新能源汽車(chē)裝調(diào)工”技能及理論知識(shí)考試題與答案
- 【地理】非洲-位置與范圍 高原為主的地形課件-2024-2025學(xué)年湘教版(2024)七下
- 搶救車(chē)的管理
- GB/T 17350-2024專(zhuān)用汽車(chē)和專(zhuān)用掛車(chē)分類(lèi)、名稱(chēng)及型號(hào)編制方法
- 2025年農(nóng)業(yè)發(fā)展集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
評(píng)論
0/150
提交評(píng)論