摘要: 游戏开发中经常使用到OpenGL,当然很多人都喜欢直接用现有的游戏引擎,但相信了解的更多对你没有坏处安卓开发中,采用的OpenGL ex2的规范,前几天看了下这个规范,整体上难度比1.0规范难度加大了很多。全面采用shader进行开发,不在是以前的固定管线方式了。是个很大的提升,估计在速度上也会有很大的提升。(本人还没有亲自做这个实验,到底快多少)但是难度却是比之前大了很多,你至少要自己编写shader代码,对数学有很大的要求了,废话不多说,进入正题。 首先建立一个andriod的项目,这个过程在前两篇中都有介绍,不知道了,可以看下(安卓环境搭建)或者图解安卓-c++开发-通过java 调用c 阅读全文
posted @ 2013-11-28 22:11 zlt 阅读(2991) 评论(1) 推荐(3) 编辑
摘要: 接着上一节 ,很多事情用java做,效率要差一点(尤其是游戏),所以要用c++来实现,那么java如何调用c++首先建议一个工程 HelloJni如下图:按照默认的配置下一步,直到完成 。如下图操作,点击windows菜单-》Prefrence菜单:弹出如下图:选择Andriod ->NDK:配置完成以后,点击工程属性菜单:做这一步的目的是,增加对c++代码的支持,他会自动生成一些东西,你会看到多一个jni的文件夹。这个名字可以默认,就用工程的名字,实际上就是产生的c++代码生成.so文件的名称(windows上的dll文件).完成以后。可以看代码,生成一个HelloJni的.cpp文件 阅读全文
posted @ 2013-11-25 08:11 zlt 阅读(2188) 评论(1) 推荐(4) 编辑
摘要: 搭建安卓开发环境 andriod setup 阅读全文
posted @ 2013-11-23 20:07 zlt 阅读(1967) 评论(5) 推荐(5) 编辑
摘要: 视频教程请关注http://edu.csdn.net/lecturer/lecturer_detail?lecturer_id=440网络通讯,一个不朽的话题,今天和一个做游戏的朋友(以前的同事聊天),他向我诉说了他的痛苦他之前是做客户端的,无奈人力资源紧张,也开始搞服务器,他说自己的服务器总是不稳... 阅读全文
posted @ 2013-08-18 23:10 zlt 阅读(3509) 评论(18) 推荐(8) 编辑
摘要: 视频教程请关注http://edu.csdn.net/lecturer/lecturer_detail?lecturer_id=440一个朋友在问(我也曾经遇到过这样的事情),尤其是在地理信息上面,地图上的一些矢量数据,以及影像数据,在地图没有变化(比如,缩放,平移,编辑)都是不需要绘制的,只有需要... 阅读全文
posted @ 2013-08-06 20:47 zlt 阅读(3937) 评论(0) 推荐(1) 编辑
摘要: 视频教程请关注http://edu.csdn.net/lecturer/lecturer_detail?lecturer_id=440学习shader之前必须知道的事情,shader(着色语言)到底发生在那个阶段, OpenGL的渲染管线有哪些阶段对开发人员来说很重要,也许你刚刚接触,或者你在使用已... 阅读全文
posted @ 2013-08-05 19:29 zlt 阅读(22084) 评论(6) 推荐(2) 编辑
摘要: 之前有一个项目用到,今天看到有人问,突然得这个问题还是很简单,其实项目中使用是比较简单的就是做一个编辑软件,鼠标可以选中直线。当时的做法是:在鼠标点下的位置产生一个小矩形,然后使用射线与矩形相交的方式完成的(项目中有这个代码,就没有去想),现在想来,还有一个更加简单的方式,看下图:当点在直线上的时候,我们得出一个结论 AP的距离 + PB的距离 == AB之间的距离。当然你也可以使用数学的方式,个人觉得这个方式更加能让人理解,现在本人还没有实际的使用这个理论在项目上,还处于理论阶段。不知使用上是否可以适应项目需求。 阅读全文
posted @ 2013-07-28 14:44 zlt 阅读(1822) 评论(8) 推荐(2) 编辑
摘要: 之前介绍了vertex shader的基本原理,现在我们来做一个简单的实践,在游戏中广告版(布告版)随处可见,而且效率很高,现在我们就使用shader来实现这一过程,首先我们要知道布告版的原理实际上就是一直对着摄像机,与摄像机的方向上是垂直的。如下图所示:不管摄像机如何去动,那么广告版也跟随一起动(即旋转),那么在摄像机动的时候,就要重新计算布告版的位置,为了做到这一点,我么要对摄像机的原理有所了解,看摄像机的几个重要的参数,观看的方向:dir向上的方向:up向右的方向:right及组成如下的坐标系(就是摄像机的局部坐标系了)黑色的表示的是世界坐标系,蓝色的是摄像机的坐标系。为了让布告版与摄像 阅读全文
posted @ 2013-07-28 08:47 zlt 阅读(1764) 评论(1) 推荐(2) 编辑
摘要: 上一个例程中,使用了uniform 类型的变量,uniform可以理解为全局变量,这一节中使用的是attribute类型的变量,翻译过来就是属性,他是与顶点绑定的,就意味着一个顶点可以有很多个属性(当然也可以没有),提出这个概念的原因是啥呢?我们先看下最早期的OpenGL早己的OpenGL定义的数据比较少,有顶点,法线,颜色,纹理(1.0版本),也就是说一个顶点可以传递给显卡的数据是有限的,没有办法在像显卡传递更多的数据参与计算,例如,现在游戏中比较流线的法线贴图(或者叫凹凸纹理)是做不到,为了满足这样的应用场合,提出了顶点属性这样一个概念,目的就是,传递更多的数据给显卡,参与计算,显示更好的 阅读全文
posted @ 2013-07-25 23:13 zlt 阅读(1652) 评论(0) 推荐(2) 编辑
摘要: 上一篇中介绍了如何使用shader,用来一个最简单的shader,计算顶点的位置,调用了OpenGL 顶点着色语言中的内置变量对顶点进行操作,这一例程中,将展示如何将应用层的数据传递到shader中,在shader中完成相应的计算。 先说下在这一节中,我们要完成的任务,不调用OpenGL的旋转函数(即glRotate××)系列函数,不使用矩阵完成对模型的旋转。要完成这样的功能,那么我们就只能借住shader来进行计算,编写shader更多的情况要求我们对数学知识了解到更多,掌握的更多,写shader就是写一些列的算法,这些算法多数数与数学相关的。今天我们要掌握的知识是:un 阅读全文
posted @ 2013-07-24 21:21 zlt 阅读(3148) 评论(1) 推荐(3) 编辑