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