随笔分类 - android openglse 基础
摘要:opengl单一着色和平滑着色,以及图形的旋转 package com.example.zp.myapplication; import java.nio.FloatBuffer; import javax.microedition.khronos.egl.EGLConfig; import jav
阅读全文
摘要:class BufferUtil { public static FloatBuffer mBuffer; public static IntBuffer mBuffer2; public static FloatBuffer floatToBuffer(float[] a) { //先初始化buf
阅读全文
摘要:绘图有很多需要注意的地方,直接提出demo,里面注释部分需要注意: public class MainActivity extends AppCompatActivity { private GLSurfaceView glSurfaceView; @Override protected void
阅读全文
摘要:OpenGL坐标系,如下图: 我们需要将这个坐标系和我们的GLSurfaceView里的Surface做一个映射关系。glMatrixMode(GL10.GL_PROJECTION);gl.glLoadIdentity(); //设置视角大小,注释如下:gl.glFrustumf(-400, 400
阅读全文
摘要:glDrawArrays有3个参数 void glDrawArrays( int mode, int first, int count ); void glDrawArrays( int mode, int first, int count ); void glDrawArrays( int mod
阅读全文
摘要:一、如何让物体绕自身中心旋转和绕过原点的向量旋转。 opengl的gl.glTranslatef确定绘图原点,旋转函数是以经过绘图原点的那条向量轴旋转的,当我们的正方形的坐标如下: private FloatBuffer quaterBuffer1 = BufferUtil.floatToBuffe
阅读全文
摘要:物体旋转都用到了gl.glRotatef,然而我们知道旋转函数是绕此时经过绘图原点的轴旋转的,即 gl.glLoadIdentity(); //右移 1.5 单位,并移入屏幕 4.0 gl.glTranslatef(0f, 0f, -4f); //旋转矩阵 gl.glRotatef(rotateTr
阅读全文
摘要:本文是生成一个半透明的纹理贴图画像,demo如下: package com.example.zp.a3dword; import android.graphics.Bitmap; import android.opengl.GLSurfaceView; import android.opengl.G
阅读全文
摘要:一、由于刚学习opengl,我不知道opengl内是如何定义的,以下定义的坐标系是我个人自己定义的: 视觉坐标:我们从屏幕看到的三维世界,即未旋转的三维绘图的坐标系,屏幕外为z轴,屏幕右为x轴,屏幕上为y轴。这个坐标系不会旋转是固定的(当然可以反着理解,世界坐标系不变,改变的是视觉坐标,后面的都是以
阅读全文
摘要:一、glMatrixMode()函数的参数,这个函数其实就是对接下来要做什么进行一下声明,也就是在要做下一步之前告诉计算机我要对“什么”进行操作了,这个“什么”在glMatrixMode的“()”里的选项(参数)有3种模式: GL_PROJECTION 投影, GL_MODELVIEW 模型视图,
阅读全文
摘要:综述 在使用OpenGL函数加载纹理到图形时,经常遇到纹理上下颠倒的问题。原因是因为OpenGL要求纹理坐标原点在图片最下面,如图: 而图片信息中的原点一般都在最上方,一行行记录下来的,就会导致整个图片上下颠倒了。 如图: 从这个思路触发共有三种办法解决问题: 一.翻转顶点信息中的纹理坐标 原始顶点
阅读全文
摘要:一、雾和流动红旗的形成,Render类如下: package com.example.user.flagdemo; import android.graphics.Bitmap; import android.opengl.GLSurfaceView; import android.opengl.G
阅读全文
摘要:一、本文主要是展示一个demo,实现的是画一个三维的立方体,通过滑动屏幕来旋转方向,上下左右来移动。直接上代码: MainActivity: package com.example.zp.a3dword; import android.graphics.Bitmap; import android.
阅读全文
摘要:android OpenGL ES的书中使用了下面代码: 1)创建三个顶点 private IntBuffer triggerBuffer = IntBuffer.wrap(new int[]{ 0,one,0, -one,-one,0, one,-one,0, }); 2)然后使用triggerB
阅读全文
浙公网安备 33010602011771号