[HP Top] |
Open GL †縲GL繧偵せ繝シ繝代シ繧ッ繝ゥ繧ケ縺ィ縺励※縲^penGL ES 1.0繧貞ョ溯」縺励◆GL10縲 縲Android NDK縺薫penGL縺ォ蟇セ蠢 繧ケ繝繝繝暦シ托シ夊レ譎ッ繧堤ー濶イ縺ァ蝪励j貎ー縺儖penGL繝励Ο繧ー繝ゥ繝 †逕サ髱「 †繧オ繝ウ繝励Ν 繝励Ο繧ー繝ゥ繝 †package com.chinsanSoft; import android.app.Activity; import android.opengl.GLSurfaceView; import android.os.Bundle; import android.opengl.GLSurfaceView; import javax.microedition.khronos.egl.EGLConfig; import javax.microedition.khronos.opengles.GL10; public class test02 extends Activity { private GLSurfaceView mChinSurfaceView; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mChinSurfaceView = new GLSurfaceView(this); mChinSurfaceView.setRenderer(new ChinTutorial()); setContentView(mChinSurfaceView); } } class ChinTutorial implements GLSurfaceView.Renderer { public ChinTutorial( ) { } public void onDrawFrame(GL10 gl){ //protected void drawFrame(GL10 gl) { //閭梧勹蝪励j貎ー縺 gl.glClear(GL10.GL_COLOR_BUFFER_BIT|GL10.GL_DEPTH_BUFFER_BIT); } public void onSurfaceChanged(GL10 gl, int width, int height) { } public void onSurfaceCreated(GL10 gl, EGLConfig config) { //閭梧勹蝪励j貎ー縺苓牡縺ョ謖螳 gl.glClearColor(0.5f,0.5f,0.5f,1); //繧ォ繝ゥ繝シ縺ィ繝繧ッ繧ケ繝√Ε蠎ァ讓吶ョ陬憺俣邊セ蠎ヲ 鬮倬 gl.glHint(GL10.GL_PERSPECTIVE_CORRECTION_HINT,GL10.GL_FASTEST); } }
繧ケ繝繝繝暦シ抵シ壼屁隗貞ス「縺ァ蝪励j貎ー縺儖penGL繝励Ο繧ー繝ゥ繝 †逕サ髱「 †繧オ繝ウ繝励Ν 繝励Ο繧ー繝ゥ繝 †package com.chinsanSoft; // 蝗幄ァ貞ス「繧抵シ抵シ、縺ァ陦ィ遉コ縺吶k繝励Ο繧ー繝ゥ繝 import android.app.Activity; import android.opengl.GLSurfaceView; import android.os.Bundle; import android.opengl.*; import java.nio.*; import javax.microedition.khronos.egl.EGLConfig; import javax.microedition.khronos.opengles.GL10; public class test03_3d extends Activity { private GLSurfaceView mChinSurfaceView; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mChinSurfaceView = new GLSurfaceView(this); mChinSurfaceView.setRenderer(new ChinTutorialOne()); setContentView(mChinSurfaceView); } } class ChinTutorialOne implements GLSurfaceView.Renderer { float[] square=new float[] {//鬆らせ -0.25f,-0.25f,0.0f, 0.25f,-0.25f,0.0f, -0.25f, 0.25f,0.0f, 0.25f, 0.25f,0.0f}; FloatBuffer squareBuff ;//鬆らせ繝舌ャ繝輔ぃ public ChinTutorialOne(/*Context c*/) { squareBuff=getFloatBuffer(square);//鬆らせ繝舌ャ繝輔ぃ //super(c); } private FloatBuffer getFloatBuffer(float [] array){ FloatBuffer floatBuffer; ByteBuffer bb = ByteBuffer.allocateDirect(array.length * 4); bb.order(ByteOrder.nativeOrder()); floatBuffer = bb.asFloatBuffer(); floatBuffer.put(array); floatBuffer.position(0); return floatBuffer; } public void onDrawFrame(GL10 gl){ //protected void drawFrame(GL10 gl) { //閭梧勹蝪励j貎ー縺 gl.glClear(GL10.GL_COLOR_BUFFER_BIT|GL10.GL_DEPTH_BUFFER_BIT); //繝「繝繝ォ繝薙Η繝シ陦悟励ョ謖螳 gl.glMatrixMode(GL10.GL_MODELVIEW); gl.glLoadIdentity(); gl.glTranslatef(0,0,-1);//蟷ウ陦檎ァサ蜍 //濶イ縺ョ謖螳 gl.glColor4f(1,0,0,0.5f); //鬆らせ驟榊励ョ謖螳 gl.glVertexPointer(3,GL10.GL_FLOAT,0,squareBuff); gl.glEnableClientState(GL10.GL_VERTEX_ARRAY); //繝励Μ繝溘ユ繧」繝悶ョ謠冗判 gl.glDrawArrays(GL10.GL_TRIANGLE_STRIP,0,4); } public void onSurfaceChanged(GL10 gl, int width, int height) { } public void onSurfaceCreated(GL10 gl, EGLConfig config) { //閭梧勹蝪励j貎ー縺苓牡縺ョ謖螳 gl.glClearColor(0.5f,0.5f,0.5f,1); //繧ォ繝ゥ繝シ縺ィ繝繧ッ繧ケ繝√Ε蠎ァ讓吶ョ陬憺俣邊セ蠎ヲ-鬮倬 //gl.glHint(GL10.GL_PERSPECTIVE_CORRECTION_HINT,GL10.GL_FASTEST); //蟆蠖ア陦悟励ョ謖螳 gl.glMatrixMode(GL10.GL_PROJECTION); gl.glLoadIdentity(); GLU.gluOrtho2D(gl,0.0f,1.2f,0.0f,1.0f);//蟷ウ陦梧兜蠖ア }
繧ケ繝繝繝暦シ難シ夂ォ区婿菴薙r陦ィ遉コ縺吶k OpenGL繝励Ο繧ー繝ゥ繝 †逕サ髱「 †繧オ繝ウ繝励Ν 繝励Ο繧ー繝ゥ繝 †
繝「繝繝ェ繝ウ繧ー †縲縲繝昴Μ繧エ繝ウ陦ィ遉コ縺ィ繝繧ッ繧ケ繝√Ε陦ィ遉コ縺後〒縺阪◆繧峨∵ャ。縺ォ繧繧翫◆縺上↑繧九ョ縺ッ閾ェ蛻縺ァ繝「繝繝ェ繝ウ繧ー縺励◆繧ェ繝悶ず繧ァ繧ッ繝医r陦ィ遉コ縺輔○繧九%縺ィ 蜿り †縲縲http://code.google.com/p/rokon/downloads/list
|