![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android OpenGL
hipeboy
计划赶不上变化,但不计划永远没有变化!
今天不学习,明天变垃圾!
展开
-
Android OpenGL中的变换
OpenGL变换包括计算机图形学中最基本的三维变换,即几何变换、投影变换、裁剪变换、视口变换。实际上,从三维空间到二维平面,就如同用相机拍照一样,通常都要经历以下几个步骤 (括号内表示的是相应的图形学概念): 第一步,将相机置于三角架上,让它对准三维景物(视点变换,Viewing Transformation)。 第二步,将三维物体放在适当的位置(模型变换,Modeling Transformation)。 第三步,选择相机镜头并调焦,使三维物体投影在二维胶片上(投影变换,Projection原创 2020-07-02 16:52:24 · 243 阅读 · 0 评论 -
android openGL 两种投影方式
投影变换是一种很关键的图形变换,OpenGL中只提供了两种投影方式,一种是正射投影,另一种是透视投影。不管是调用哪种投影函数,为了避免不必要的变换,其前面必须加上以下两句:glMAtrixMode(GL_PROJECTION);glLoadIdentity();事实上,投影变换的目的就是定义一个视景体,使得视景体外多余的部分裁剪掉,最终图像只是视景体内的有关部分。本节将详细讲述投影变换的概念以及用法。1 正射投影(Orthographic Projection)正射投影,又叫平行投影。这种投影原创 2020-07-02 13:57:57 · 400 阅读 · 0 评论 -
Android openGL ES2.0 Matrix.frustumM和Matrix.setLookAtM参数详解
先看一段代码,对于学习OpenGL的童鞋来说,下面这段代码还算熟悉,但是可能不知道其中的参数的含义,下面针对这些参数进行说明讲解: @Override public void onSurfaceChanged(GL10 gl, int width, int height) { //计算宽高比 float ratio=(float)width/height; //设置透视投影 Matrix.frustumM(mProjectMatrix原创 2020-06-16 17:35:49 · 1034 阅读 · 0 评论 -
Android OpenGL 坐标系理解
OpenGL 要求输入的顶点坐标都是标准化设备坐标,即每个顶点的 x、y、z 都在 -1 到 1 之间,由标准化设备坐标转换为屏幕坐标的过程中会经历变换多个坐标系统,在这些特定的坐标系中,一些操作和计算可以更加方便。局部坐标顶点坐标起始于局部空间(Local Space),在这里称为局部坐标,是以物体某一点为原点而建立的,该坐标系仅对该物体适用,用来简化对物体各部分坐标的描述。物体放到场景中时,各部分经历的坐标变换相同,相对位置不变。世界坐标局部坐标通过模型矩阵进行位移、缩放、旋转,将物体从局部原创 2020-06-01 15:11:18 · 515 阅读 · 0 评论