Android调用OpenGL绘制曲线入门手册

 

Android调用OpenGL绘制曲线入门手册

 

 

Android  OpenGL ES2.0 JNI  Cmake

简介:该手册内容仅作为Android调用OpenGL实现绘制曲线图的入门手册,深入学习请参考手册推荐书籍。本手册针对采用jni接口实现java调用C++代码完成OpenGL在Android中的曲线绘制做了详细流程介绍,最终实现效果为在Android平台绘制正弦曲线。

 

撰写人:武斌(1595451722@qq.com)周星宇

时间:2017年10月11日

CopyRight :东南大学电子科学与工程学院601实验室

版本:1.0

 

 

OpenGL简介:

OpenGL为跨编程语言、跨平台的编程接口标准,被当做客户端-服务端系统实现,客户端为应用程序,服务端为硬件厂商提供的OpenGL实现,OpenGL ES为其嵌入式版本。OpenGL ES目前共有三个版本发布,版本一提供不灵活的固定功能管道;版本二引入可编程管道;版本三在原有基础上新增部分API,目前主流使用为版本二OpenGL ES2.0,手册如下内容均用OpenGL代指OpenGL ES2.0。其渲染流程为:OpenGL命令和数据会缓存在RAM中,在一定条件下,会将这些命令和数据通过CPU时钟发送到VRAM,在GPU的控制下,使用VRAM中的数据和命令,完成图形的渲染,并将结果存入帧缓冲区中,帧缓冲区中的帧最终会被发送到显示器上,显示出结果。在现代的图形硬件系统中,还支持不通过CPU时钟直接将数据由RAM发送至顶点缓存区,再由顶点缓存区将数据传递到VRAM或直接将数据由像素帧缓冲区发送至显存(例如OpenGL中的VBO,PBO)。

Android调用OpenGL ES方案

在android应用程序中使用OpenGL ES共有四种方案:

1.     使用GLSurfaceView作为绘图的窗口,利用GLSurfaceView.Renderer接口实现OpenGL渲染上下文,并通过调用android.OpenGL.GLES20中的API函数实现对图像的渲染。

2.     使用GLSurfaceView作为绘图的窗口,使用GLSurfaceView.Renderer实现OpenGL渲染上下文,和1不一样的是通过JNI接口调用#include <GLES2/gl2.h>中的API函数来实现图形渲染。

3.     使用NativeActivity实现OpenGL渲染上下文,并通过JNI接口调用#include <GLES2/gl2.h>中的API函数来实现图形渲染。使用这种方案就意味着整个APP全部用C++语言编写,不能实现android基本控件的绘制,如Button/TextView。

4.     最后一种方法,就是使用SurfaceView作为绘图的窗口,并使用n

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值