文档章节

GLSurfaceView

来来叔叔
 来来叔叔
发布于 2017/08/04 23:57
字数 307
阅读 4
收藏 0

Android中用OpenGL开发图形应用,一般是使用GLSurfaceVIew来呈现。

自己需要做的工作主要有两个:

(1)从GLSurfaceView派生一个自己的类,在其中处理键盘、触摸等事件;

(2)实现Renderer接口,在GLSurfaceView通过setRenderer使它们关联起来。

Render接口如下:

public void onDrawFrame(GL10 gl) 
{
}
public void onSurfaceChanged(GL10 gl, int width, int height)
{}
public void onSurfaceCreated(GL10 gl, EGLConfig config)
{}

如何通过OpenGL绘制场景就需要在这里面实现了。

自己在pc上用c++写了一个OpenGL程序,想移植到android上,最快的办法当然就是NDK了。但移植完后发现,在android上用OpenGL开发游戏有一些不便之处,就是每次按home键后,再次打开游戏,会重新调用onSurfaceCreated,因为按home键时已经把surfaceview destory了。此时所有的OpenGL资源都没了,需要重新load。

另外,在NDK中使用OpenGL时,绘制文字比较麻烦。可以通过在c++中调用java端功能生成一个文字的纹理来完成,比较烦琐,性能应该也不高吧;简单的数字和字母也可以存在一个纹理图像中,使用时取特定部分显示就可以了。

© 著作权归作者所有

上一篇: OpenVG学习
来来叔叔
粉丝 0
博文 100
码字总数 55732
作品 0
广州
高级程序员
私信 提问
Android videoview glsurfaceview 冲突

在videoview加上glsurfaceview videoview'是用于播放视频 glsurfaceview是现实摄像头实时传输的画面 刚进去glsurfaceview显示视频了没有显示glsurfaceview 把手机手动失去焦点 在获得焦点 gl...

potential
2015/03/04
1K
0
OpenGL ES之GLSurfaceView学习一:介绍

from: http://blog.csdn.net/chenjie19891104/article/details/6311209 GLSurfaceView是一个视图,继承至SurfaceView,它内嵌的surface专门负责OpenGL渲染。 GLSurfaceView提供了下列特性: ......

aspirs
2016/02/02
75
0
图片和图形之构建一个OpenGL ES环境(10)

原文 概要 构建一个OpenGL ES环境 为了在Android应用程序中使用OpenGL ES绘制图形,您必须为它们创建一个视图容器。其中一种更直接的方法是实现a GLSurfaceView和a GLSurfaceView.Renderer。...

lichong951
2018/05/26
0
0
手把手教你使用OpenGL ES

>话不多说,拿起键盘就是干。OpenGL ES可以实现3D效果,而且在性能要求比较高的情况,或者一般的自定义View难以达到的效果可以考虑一下。就像官方说的,OpenGL ES直接通过GPU进行图形加速,唯...

C6C
2018/01/03
0
0
在android中使用OpenGL

在android中使用OpenGL ES需要三个步骤: 1. 创建GLSurfaceView组件,使用Activity来显示GLSurfaceView组建。 2. 为GLSurfaceView组建创建GLSurfaceView.Renderer实例,实现GLSurfaceView.R...

WolfCS
2013/02/26
6.4K
0

没有更多内容

加载失败,请刷新页面

加载更多

带你了解 Java内存模型

Java内存模型的规定: 1、所有变量存储在主内存中; 2、每个线程都有自己的工作内存,且对变量的操作都是在工作内存中进行; 3、不同线程之间无法直接访问彼此工作内存中的变量,要想访问只能...

linux-tao
11分钟前
2
0
.net c# datetime转string 时间转字符串

.net c# datetime转string 时间转字符串 .net c# datetime转string 时间转字符串 刚开始接触net 时间转换字符串 一搜索出来的全是 字符串转时间,要么就是系统当前时间转字符串 就没有一个指...

青峰Jun19er
12分钟前
2
0
hbase demo

HbaseDao public class HbaseDao {@Testpublic void insertTest() throws Exception {Configuration conf = HBaseConfiguration.create();conf.set("hbase.zookeeper.qu......

Garphy
21分钟前
2
0
IT兄弟连 HTML5教程 HTML5表单 多样的输入类型2

4 range range类型用于包含一定范围内数字值的输入域,跟number一样,我们还可以对数值设置限定,range类型显示为滑动条用法如下: 上述代码使用了range类型输入框,为该类型设置了数值范围为...

老码农的一亩三分地
22分钟前
2
0
对比不同的数据库连接的异同

博主在学习和使用数据库连接时,遇到的问题, 这个几个数据库连接究竟有什么不同? 到底什么时候该使用哪个会更好一点? 带着这个问题我们先去了解常见的数据库连接 1. 常见的数据库连接有哪些?...

理性思考
24分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部