JayceLi  
上一页 1 2 3 4 5 6 7 ··· 13 下一页

2012年6月26日

摘要: 前面实现了Android有关OpenGL ES 2.0的一些例子,现在,把它改成用JNI实现。以立方体为例。代码主要变化发生在Renderer里,以前直接用JAVA的,现在都移到C++里了。代码和JAVA的实质上是一样的。下面来看看主要的代码。先看看工程结构:上代码。OpenGLJniActivity.java: 1 package com.jayce.eopengljni; 2 3 import android.app.Activity; 4 import android.app.ActivityManager; 5 import android.content.Context; 6 im. 阅读全文
posted @ 2012-06-26 18:13 JayceLi 阅读(6479) 评论(5) 推荐(0) 编辑
 
摘要: 编译:gcc -Wall main.cpp file1.c -o main执行:./main 阅读全文
posted @ 2012-06-26 14:55 JayceLi 阅读(377) 评论(0) 推荐(0) 编辑

2012年6月13日

摘要: 编译环境为linux,系统是Ubuntu 11.10.1,下载和安装freeglut我下的是freeglut-2.8.0.tar.gz。然后解压.Terminal进入解压后的目录freeglut-2.8.0.执行如下命令:./configuremakemake install2,编译源代码下载红宝书的源代码,解压,终端进入解压后的目录,我是的opengl7_source。Makefile就别管了,我执行了,有错。按如下方法来编译,直接用g++了,单个例子来编译,比如cube.c:g++ cube.c -lGL -lGLU -lglut -o cube最后那个cube是编译完的可执行程序的名字, 阅读全文
posted @ 2012-06-13 18:07 JayceLi 阅读(397) 评论(0) 推荐(0) 编辑

2012年6月7日

摘要: 概览:------------Android.mk文件是用来描述build system(编译系统)的,更准确的说:--该文件是一个微型的GNU Makefile片段,将由build system解析一次或者多次。这样,您就可以尽量减少您声明的变量,并且不要以为在解析过程中没有任何定义。--这个文件但语法是用来允许你将源文件组织成模块,这个模块中含有:-一个静态库(.a文件)-一个动态库(.so文件)只有动态库才会被安装/复制到你的应用程序包,尽管静态库可以被用来生成动态库。你可以在每个模块中都定义一个Android.mk文件,你也可以让多个模块共用一个Android.mk文件。--build 阅读全文
posted @ 2012-06-07 10:23 JayceLi 阅读(389) 评论(0) 推荐(0) 编辑

2012年5月24日

摘要: Android解析xml的三种方式。分别有Sax,Pull,Dom。来看他们各是怎么实现的。这是项目结构:解析文件为Person.xml: 1 <?xml version="1.0" encoding="UTF-8"?> 2 <persons> 3 <person id="1"> 4 <name>cxa</name> 5 <age>30</age> 6 </person> 7 <person id="2"> 阅读全文
posted @ 2012-05-24 12:35 JayceLi 阅读(402) 评论(0) 推荐(0) 编辑

2012年5月16日

摘要: 首先在res/anim中定义一个动画的xml, shake.xml:1 <translate xmlns:android="http://schemas.android.com/apk/res/android" 2 android:fromXDelta="0" 3 android:toXDelta="10" 4 android:duration="300" 5 android:interpolator="@anim/cycle" />然后在res/anim中定义一个cycle.xml 阅读全文
posted @ 2012-05-16 14:32 JayceLi 阅读(2615) 评论(1) 推荐(1) 编辑

2012年5月7日

摘要: 查看进程命令:ps -ef然后会看到进程的信息,找到要杀死的进程ID,输入命令:kill pid其中,pid是进程的ID,如 kill 1907 阅读全文
posted @ 2012-05-07 10:01 JayceLi 阅读(190) 评论(0) 推荐(0) 编辑

2012年5月3日

摘要: 现在来看看的blending效果。blending分为Additive blending,Multiplicative blending和Interpolative blending。 对应的方法分别为glBlendFunc(GL_ONE, GL_ONE),glBlendFunc(GL_DST_COLOR, GL_ZERO)和glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)。现在就用Additive blending来写个例子。这里的GLSurfaceView要处理点击消息来开启和关闭blending效果,所以单独提取一个类。Test6Surf 阅读全文
posted @ 2012-05-03 11:31 JayceLi 阅读(4111) 评论(3) 推荐(0) 编辑

2012年4月28日

摘要: 还是一个旋转的立方体,现在给它加上材质。载入一个图片,立方体的每一面都贴上此图片。现在相较第二篇画的立方体,又多了个参数材质。先看看载入图片的方法。这是个辅助方法。单独写了个类。ToolsUtil.java 1 package com.android.jayce.test; 2 3 import android.content.Context; 4 import android.graphics.Bitmap; 5 import android.graphics.BitmapFactory; 6 import android.opengl.GLES20; 7 import android.o. 阅读全文
posted @ 2012-04-28 18:04 JayceLi 阅读(2198) 评论(0) 推荐(0) 编辑
 
摘要: 这一篇跟上一篇差不多,只是改成了per-fragment lighting.把对光的计算从vertex shader移到了fragment shader.可以看到效果,在光移动到立方体顶点时,立方体面的顶点周围扇形比较亮,接近真实世界的效果。因改动较小,只修改了shader source部分,所以只给出这部分的代码吧。 1 private String getVertexShader() 2 { 3 final String vertexShader = 4 "uniform mat4 u_MVPMatrix; \n" ... 阅读全文
posted @ 2012-04-28 15:04 JayceLi 阅读(1562) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 13 下一页