任何问题请联系WX:uu16853

买模板送网站采集器 让你轻松放开双手运营网站!

购买更多有优惠!

使用OpenGL开发一个指南针 Android开发技术

  在Android设备中具备了很多新的特性,比如各种感应器,GL图形库支持。在大部分Android设备中都有磁力感应器,相对于重力感应而言它可以感应出方向,今天Android123就以Google的Samples的指南针例子和大家说下OpenGL的指南针的实现。  public class CompassActivity extends Activity implements Renderer, SensorEventListener {    private GLSurfaceView mGLSurfaceView; //GL View    private SensorManager mSensorManager;     private float[] mGData = new float[3];    private float[] mMData = new float[3];    private float[] mR = new float[16];    private float[] mI = new float[16];    private FloatBuffer mVertexBuffer;    private FloatBuffer mColorBuffer;    private ByteBuffer mIndexBuffer;    private float[] mOrientation […]

Android OpenGL下截图代码 Android开发技术

   Android平台如何在OpenGL下截图呢? 如果是一个FPS类的游戏可能常规的方式截图,由于Android系统底层读取framebuffer的效率不是很高,尝尝截图出来的游戏可能由于刷新问题,产生上半部分和下半部分不匹配的问题,在GL中我们可以使用下面这个代码来解决。      public static Bitmap SavePixels(int x, int y, int w, int h, GL10 gl)    {           int b[]=new int[w*h];         int bt[]=new int[w*h];         IntBuffer ib=IntBuffer.wrap(b);         ib.position(0);         gl.glReadPixels(x, y, w, h, GL10.GL_RGBA, GL10.GL_UNSIGNED_BYTE, ib);         for(int i=0; i<h; i++)         {               for(int j=0; j<w; j++)              {                   int pix=b[i*w+j];                   int pb=(pix>>16)&0xff;                   int pr=(pix<<16)&0x00ff0000;                   int pix1=(pix&0xff00ff00) | pr […]

OpenGL ES API介绍,Android游戏开发必备 Android开发技术

  Android平台中底层包含了OpenGL ES库,这里我们直接在工程中导入import javax.microedition.khronos.opengles.GL10; 库,直接实例化OpenGLContext的对象mOpenGLContext就创建了一个3D的支持接口,通常我们需要自己构造一个场景类重写下面三个方法protected void onAttachedToWindow() 、protected void onDetachedFromWindow() 、 protected void onDraw(Canvas canvas)。   通过创建OpenGLContext对象,直接实例化GL10,这里10代表1.0版本,GL10 gl = (GL10)(mOpenGLContext.getGL()); 即可完成。在onDraw中处理canvas需要在开始和结束分别调用canvas绘制的mOpenGLContext.waitNative和waitGL(); 作为开始和结束,和DirectX相比OpenGL在轻量级的处理性能还是很不错的。

100% Secure Checkout

PayPal / MasterCard / Visa