cocos2d-x OpenGL ES 坐标系总结】的更多相关文章

很多教程都说cocos2d-x OpenGL ES世界坐标系原点在左下角,但至于为什么在左下角却从来没有人提过,这导致大部分人觉得这是OpenGL ES的规定,事实上这是错的.OpenGL ES的坐标原点在左下角还是在屏幕中心跟投影矩阵有关.假设我们把cocos2d-x的投影矩阵设置为单位矩阵那么坐标原点会在屏幕中心.而cocos2d-x他的投影矩阵是(这里仅显示平移x,y的值:x = -size.width/2,  y = -size.height/2),由此可知它的投影矩阵是把它从屏幕中心移…
前言 1:常用类: 1:纹理的作用 正文 一:常用类 上下文 顶点数据缓存 着色器 baseEffect 一:纹理 1.1:   纹理可以控制渲染的每个像素的颜色. 1.2: 纹素:与像素一样,保存每个像素的颜色数据.纹素是一个没有尺寸的坐标系.    纹素坐标系有1D.2D.3D坐标系.目前最常见的是2D坐标系. 1.3: 视口(viewPort)坐标 GPU会把纯数学OpenGL ES坐标系中的每个顶点的X.Y.Z坐标转化成帧缓存中所对应的真实像素位置.帧缓存中的像素位置就叫        …
OpenGL ES图形库最终的结果是在二维平面上显示3D物体(常称作模型Model)这是因为目前的打部分显示器还只能显示二维图形.但我们在构造3D模型时必须要有空间现象能力,所有对模型的描述还是使用三维坐标.也就是使用3D建模,而有OpenGL ES库来完成从3D模型到二维屏幕上的显示. 这个过程可以分成三个部分: 坐标变换,坐标变换通过使用变换矩阵来描述,因此学习3D绘图需要了解一些空间几何,矩阵运算的知识.三维坐标通常使用齐次坐标来定义.变换矩阵操作可以分为视角(Viewing),模型(Mo…
OpenGL版本 iOS系统默认支持OpenGl ES1.0.ES2.0以及ES3.0 3个版本,三者之间并不是简单的版本升级,设计理念甚至完全不同,在开发OpenGL项目前,需要根据业务需求选择合适的版本.这方面的介绍不少,不再展开.在学习OpenGL代码的时候也需要知道它对应着哪个版本,在ES1中执行ES2代码是看不到任何效果的,你可以在初始化EAGLContext时指定ES版本号 _eaglContext = [[EAGLContext alloc] initWithAPI:kEAGLRe…
感谢,摘自:http://blog.csdn.net/mapdigit/article/details/7526556 Android OpenGL ES 简明开发教程 Android OpenGL ES 简明开发教程一:概述 Android OpenGL ES 简明开发教程二:构造OpenGL ES View Android OpenGL ES 简明开发教程三:3D绘图基本概念 Android OpenGL ES 简明开发教程四:3D 坐标变换 Android OpenGL ES 简明开发教程…
<OpenGL ES应用开发实践指南:iOS卷> 基本信息 原书名:Learning OpenGL ES for iOS:A Hands-On Guide to Modern 3D Graphics Programming 作者: (美)Erik M.Buck 译者: 徐学磊 丛书名: 华章程序员书库 出版社:机械工业出版社 ISBN:9787111428671 上架时间:2013-6-19 出版日期:2013 年6月 开本:16开 页码:1 版次:1-1 所属分类:计算机 > 软件与程…
在OpenGL ES中,Shader是着色器,包括两种:顶点着色器(Vertex Shader)和片元着色器(Fragment Shader).每个program对象有且仅有一个Vertex Shader对象和一个Fragment Shader对象连接到它. Shader和Program编程步骤: 1. 创建Shader       1)编写Vertex Shader和Fragment Shader源码. 2)创建两个shader 实例:GLuint   glCreateShader(GLenu…
基本变换都是通过将表示点坐标的向量与特定的变换矩阵相乘完成的. 进行基于矩阵的变换时,三位空间中点的位置需要表示成齐次坐标形式. 齐次坐标形式:在X.Y.Z3个坐标值后面增加第四个量W,未变换时W值一般为1,如P=(Px,Py,Pz,1)T P与变换矩阵M相乘即可以完成一次基本变换,得到变换后点Q的齐次坐标向量. 1.平移变换 Matrix.translateM(currMatrix, 0, x, y, z); 2.旋转变换 右手螺旋定则是:右手握住旋转轴,使大拇指指向旋转轴的正方向,4指环绕的…
在OpenGL ES 中,仅有一种表面网格表示方式,那就是三角形. 三角形的三个顶点,可以组几个面?有答 1 的没有?有!那就是还不懂OpenGL ES 的我. 事实上,一张纸是有正反面的,那么一个三角形也应该有两个面,那么在空间中,如何区分呢?那就是正反面. 那具体哪个是正面,哪个是反面呢,据说是默认逆时针是正面,顺时针是反面,不过到现在还没搞清楚,这个顺和逆是个怎么看法,我们只知道在两个轴组成的二维平面坐标系中的顺和逆. 有知道的朋友不妨给予指出,谢谢. 不过,从下面的官方资料中,不难看出,…
引自:http://www.2cto.com/kf/201506/404366.html Android的媒体效果框架允许开发者可以很容易的应用多种令人印象深刻的视觉效果到照片或视频之上.作为这个媒体效果的框架,它使用GPU来处理图片处理的过程,它仅仅接收OpenGL的纹理(texture)作为输入.在本次教程中,你将会学习到如何使用OpenGL ES2.0将图片资源转化为纹理,以及如何使用框架为图片应用不同的处理效果. 准备 为了开始本次的教程,你必须具备:1.一款支持Android开发的ID…