Android上使用OpenglES2.0遇到的一点问题

按照教程开发OpenglES2.0应用,遇到Logcat报错“Called unimplemented OpenGL ES API”

在论坛和stackoverflow上找到了答案。

1.manifest里面加上 <uses-feature android:glEsVersion="0x00020000" android:required="true" />

2.surfaceView要设置 mGLSurfaceView.setEGLContextClientVersion(2);

就酱紫

时间: 2024-08-06 04:11:05

Android上使用OpenglES2.0遇到的一点问题的相关文章

Android上使用OpenGLES2.0显示YUV数据

在Android上用OpenGLES来显示YUV图像,之所以这样做,是因为: 1.Android本身也不能直接显示YUV图像,YUV转成RGB还是必要的: 2.YUV手动转RGB会占用大量的CPU资源,如果以这样的形式播放视频,手机会很热,所以我们尽量让GPU来做这件事: 3.OpenGLES是Android集成到自身框架里的第三方库,它有很多的可取之处. 博主的C/C++不是很好,所以整个过程是在Java层实现的,大家见笑,我主要参考(但不限于)以下文章,十分感谢这些朋友的分享: 1. htt

在Android下使用openGLES2.0的初步过程

参考文章:http://mobile.51cto.com/aprogram-402020.htm 1.首先确定设备支持opengl es(一般是android2.2以上) 2.在manifest中声明如下: 2.创建视图 实现MyGLSurfaceView 3.实现渲染器MyGL20Renderer() 4.当然要将新建的视图加在在主界面上 这样运行之后应该就有一个灰色的窗口了. 以上内容仅供入门环境搭建的参看,具体细节还是请找一些书籍查看.

OpenglES2.0 for Android:再谈纹理映射

OpenglES2.0 for Android:再谈纹理映射 前言 上一节我们实现了一个简单的纹理映射的例子--一个简单的贴图,这节我们来做一些稍微复杂一点的例子,最后再给我们前面的立方体做一个纹理. 纹理拉伸 重复拉伸方式 这种是经常使用的一张纹理拉伸方式,常用于绘制一些重复的元素,比如我们在游戏绘制一幅方格式的地图时.使用重复拉伸方式使得纹理能够根据目标平 面的大小自动重复,这样既不会失去纹理图的效果,也可以节省内存.如下图所示: 实现起来很简单,我们回到上节的项目,找到我们纹理的工具类Te

OpenglES2.0 for Android:来画个球吧

OpenglES2.0 for Android:来画个球吧 理解球坐标系 首先看下球的坐标系 ,如图 : (图来自百度百科 ) 设球上有一点 A ,球心为O ,OA在 xOy上的投影与X轴夹角为 φ (范围为 0 到360 ,单位 :度), OA在与Z的夹角为 θ (范围为 0 到 180  ,单位:度 ),球的半径为r,则有 ; r * sin θ = y / sin φ    r * sinθ  = x / cos φ   z = r * cos θ 由此可得 X,Y,Z坐标 我们前面已经知

OpenglES2.0 for Android:来画个立方体吧

OpenglES2.0 for Android:来画个立方体吧 前言: 前面一直在说OpenglES2.0二维图形的绘制,接下来我们步入三维的世界 ,三维世界远比二维要有趣的多,与此同时复杂性也要高得多,在unity3D中我们可以很容易的就创建 一个立方体,而在OpenglES2.0中这个过程要复杂得多,但是更加有趣 .先来看下我们的整个流程: 摄像机的设置: 想想你的摄像头,它的位置不同,朝向不同,对同一个事物拍摄得到的画面肯定是不同的,Opengl中的摄像头和我们日常生活中的摄像头是一样的道

OpenglES2.0 for Android:纹理映射

OpenglES2.0 for Android:纹理映射 前言 纹理映射又叫做纹理贴图,是将纹理空间中的纹理像素映射到屏幕空间中的像素的过程.就是把一幅图像贴到三维物体的表面上来增强真实感, 可以和光照计算.图像混合等技术结合起来形成许多非常漂亮的效果 (百度百科).简单来说,纹理就是一个图形或者照片,我们可以将它们 加载到Opengl中用以美化我们绘制的物体. 前期准备 我们现在准备实现这样一个功能:将一张图片贴到一个正方形中 .我们在以前画矩形的那节代码的基础上进行实现纹理贴图.这里我们新建

OpenglES2.0 for Android:各种变换来一波

OpenglES2.0 for Android:各种变换来一波 监听屏幕事件 在进行各种变换之前,我们先来了解一下如何监听屏幕的事件.我们下面的变换都需要用立方体来演示,所以我们继续使用上一节的绘制立方体的内容 首先新建一个项目 OpengESChange ,将上一节中关于绘制立方体的代码复制过来 .在前面我们一直在使用 android.opengl.GLSurfaceView 在第一篇中我们已经知道了这个类的作用,为了监听屏幕事件,我们创建一个类继承自该类,重写其onTouchEvent方法.

OpenglES2.0 for Android:来画个三角形吧

OpenglES2.0 for Android:来画个三角形吧 先看看我们的整个流程: 理解坐标系: 左侧是Opengl默认的坐标系,右边是典型的android设备屏幕的坐标系.左侧的瘦瘦的三角形映射到android屏幕上就变成了胖胖的三角形(屏幕横向的时候),我们可以使用 camera和投影解决这个问题,具体怎么解决这里就先不累述了.这里我们只需要知道屏幕的左上角是(-1.0,1.0)横向向右为X轴正向,纵向向下为Y轴 负向,其范围都是从 -1到 +1. 定义三角形顶点: 我们在第一个andr

OpenglES2.0 for Android:来画个矩形吧

OpenglES2.0 for Android:来画个矩形吧 上一节中我们绘制了一个三角形,我们在上一节的基础上来完成矩形的绘制 . OK,开始动手做吧,首先在上一节的项目中的shape目录下新建一个类--Square (Square.java),然后定义矩形的四个顶点的坐标,此时代码如下(Square.java): <span style="font-size:14px;">package com.cumt.shape; public class Square { //f