易截截图软件、单文件、免安装、纯绿色、仅160KB

OpenGL + C++ + Java


OpenGL + C++ + Java
这个组合有一点奇怪,因为要实现在
opengl
中播放视频,所以不得不有这样奇怪的组合。上层的
MediaPlayer
封装的基本上是针对
android UI
的框架,如果想在
opengl
中显示,估计难度很大。另外,很多开源的
opengl
的游戏基本上都是
C++
编写,所以这个体系的作用还是很大的,之所以需要
java
,因为上层的很多例如触摸、重力感应,这样的东西,
android
是以
java
实现的,底层的根本看不到,这样的组合起来,充分的利用每一个层次的优点,最大效率提高用户体验。
 
我们首先会简单的测试一下
opengl
立方体例子,然后我们实现在
native
层上面的绘制,如何使用
jni
来传递。最后我们简单的说一下使用自带的
android
封装的
opengl
接口
api
有什么样的限制。
 
Google
提供的
api

java

api
,对于
java
开发者来说,这是好消息,对于
C++
开发者来说,就会有很大的麻烦。现在主流的游戏引擎、游戏算法基本上都是
C/C++
实现。
 
我们纯粹利用
C/C++
来写
OpenGL
的应用程序的时候,基本流程如下,初始化
EGL
,选择配置,然后选择
Display
,然后创建
Surface
,之后就是
DrawFram

Swap
了。
Google
很聪明的给这个流程进行了一次封装,封装成这样的几个类,大致的代码如下:
首先是
EGL
的相关操作:
public

class
EglHelper {
       
public
EglHelper() {
 
       
}
       
/**
        
*

Initialize

EGL

for

a

given

configuration

spec.
        
*

@param

configSpec
        
*/
       
public

void
start(
int
[] configSpec){
           
/*
            
* Get an EGL instance
            
*/
       &


相关文档:

C/C++位操作

C/C++位操作
一、传统的C方式位操作:
1.基本操作:
  使用一个unsigned int变量来作为位容器。
2.操作符:
|  按位或操作符:result=exp1|exp2;当exp1和exp2中对应位中至少有一个为1时,result中对应位为1,否则为0。
&  按位与操作符::result=exp1&exp2;当exp1和exp2中对应位全为1时 ......

C/C++中重复定义的问题


用#include可以包含其他头文件中变量、函数的声明,为什么还要extern关键字,如果我想引用一个全局变量或
函数a,我只要直接在源文件中包含#include<xxx.h>
(xxx.h包含了a的声明)不就可以了么,为什么还要用extern呢??这个问题一直也是似是而非的困扰着我许多年了,今天上网狠狠查了一下总算小有
所获了:
头 ......

C/C++编译器 cl.exe的命令选项

和在IDE中编译相比,命令行模式编译速度更快,并可以避免被IDE产生的一些附加信息所干扰。本文将介绍微软C/C++编译器命令行模式设定和用法。 1、设置环境变量: PATH=C:\Program Files\Microsoft Visual Studio 8\VC\bin INCLUDE=C:\Program Files\Microsoft Visual Studio 8\VC\include LIB=C:\Program Files\Microsof ......

解决C和C++中生成的EXE文件执行后窗口就消失了!

用此法前确保你的C源代码是无错的~~
解决办法:
C:
在主函数后加getch()或ch=getch();    (让程序等待你按下任意键,再继续执行下面的语句)
C++:
1.包含头文件时: #include   <stdlib.h>/*header file,因为在stdlib.h头文件中定义了system()函数*/
2.在最后一句加上:system("PAUSE ......

C/C++文件的操作(fread() fwrite())

fread函数和fwrite函数
1.函数功能
  用来读写一个数据块。
2.一般调用形式
  fread(buffer,size,count,fp);
  fwrite(buffer,size,count,fp);
3.说明
  (1)buffer:是一个指针,对fread来说,它是读入数据的存放地址。对fwrite来说,是要输出数据的地址。
  (2)size:要读写的字节数 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号