草庐IT

android - 使用 OpenGL 更快的相机预览?

编写一个从相机获取预览帧的应用程序对其进行一些转换,然后将其显示在屏幕上。在publicvoidonPreviewFrame(byte[]data,Cameracamera){}我在另一个线程中对数据进行yuv2rgb和JNI中的一些像素操作。然后我从RGBint数组创建位图并使用绘制它canvas.drawBitmap(bmp,0,0,null);我在640x480的HTCNexusOne上获得大约15-20FPS,在SamsungGalaxySII上获得30+FPS我想知道我是否可以通过使用AndroidOpenGLES进行绘图来加快速度?我会遵循本指南:http://obviam

android - 在 Android 上制作全屏动画?我应该使用 OPENGL 吗?

假设我需要制作多个全屏动画,每个动画包含大约500帧。动画应该以合理的速度播放-据说不少于20fps-图片应该具有合理的质量,而不是过度压缩。你觉得我应该用什么方法?到目前为止我试过:1.storingeachframeasacompressedJPEG2.beforeanimationstarts,loadingeachframeintoabyteArray3.astheanimationplays,decodecorrespondingbyteArrayintoabitmapanddrawitonasurfaceview.问题-速度太低,通常约为5-10FPS。我想到了另外两个选择

Android OpenGL ES --- 是否支持所有扩展?

我真的很困惑OpenGLES扩展在Android上的工作方式,无论是在JavaAPI中还是在NDK的API中。首先,我来自桌面上的普通OpenGL世界。在那个世界里,扩展加载和使用起来非常直观。首先检查GL_EXTENSIONS以查看系统是否公布了您需要的扩展,然后通过wglGetProcAddress、glXGetProcAddress或dlsym动态加载扩展的入口点(分别取决于您使用的是WinAPI、X11还是OSX).但是现在,今天我第一次看到了Android上的GL11Ext界面,位于此处:http://developer.android.com/reference/javax

java - 具有 OpenGL ES 3.1 上下文的 GLSurfaceView

我正在使用OpenGL开发Android。我知道如何使用GLSurfaceView及其自定义派生类通过GLSurfaceView的方法创建OpenGLES2.0上下文:setEGLContextClientVersion(2);和OpenGLES3.0上下文:setEGLContextClientVersion(3);如何为OpenGLES3.1创建上下文? 最佳答案 您不能在创建上下文时显式请求3.1。根据我的理解,3.1不作为与3.0分开的上下文类型处理。本质上,支持3.1的上下文只是一个还支持额外的3.1功能的3.0上下文。这

android - 为什么opengl shader mix函数让两张透明png图片变黑了?

照片1是:照片2是:当然,照片2是部分透明的。但是当我将它们混合在着色器中时:vec4add(vec4one,vec4two){returnmix(one,two,two.a);}它们像下面这样变成了部分黑色:我很困惑为什么它会生成黑色。我知道mix函数基本实现如下:A*(1-alpha)+B*alpha 最佳答案 黑色不会生成,它是您的背景颜色。它出现是因为您正在混合两种颜色及其alpha。当生成的alpha小于1时,您可以看到黑色背景。您应该只根据第二张图像的alpha混合RGB颜色值,如下所示:vec4add(vec4one,

android - 如何在 opengl es 2.0 中禁用颜色插值?

由于在opengles中没有平面着色选项,当不同的颜色被传递到每个顶点时,是否有一种解决方法来禁用颜色插值? 最佳答案 基本上,唯一的方法是使用三角形绘制,而不是三角形带或扇形。并且对于每组三个顶点来构成单个三角形使用相同的颜色。这将消除阴影效果,因为相同颜色之间的插值是相同的颜色。更复杂的解释:http://ruh.li/GraphicsShading.html 关于android-如何在opengles2.0中禁用颜色插值?,我们在StackOverflow上找到一个类似的问题:

OpenGL ES 版本介绍

目录一.OpenGLES版本二.嵌入式设备的OpenGLES版本三.不同OpenGLESGLSL脚本区别1.OpenGLES1.0不支持脚本2.OpenGLES2.0GLSL脚本3.OpenGLES3.0GLSL脚本四.OpenGLES和OpenGL五.猜你喜欢零基础OpenGLES学习路线推荐:OpenGLES学习目录>>OpenGLES基础零基础OpenGLES学习路线推荐:OpenGLES学习目录>>OpenGLES特效零基础OpenGLES学习路线推荐:OpenGLES学习目录>>OpenGLES转场零基础OpenGLES学习路线推荐:OpenGLES学习目录>>OpenGLES函数零

android - Android 游戏开发者使用哪个 OpenGL/3d 框架?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭7年前。Improvethisquestion这只是一个好奇的问题。我已经开始使用AndEngine开发一个2dopenGL游戏引擎,我想知道大型软件公司正在使用哪些引擎来开发游戏。非常感谢。

android - OpenGL ES 顶点/索引

我刚刚开始学习OpenGLES,但在理解顶点和索引的工作原理时遇到了一些困难。我目前的理解是顶点是形状本身上的一个点,索引代表顶点内的“三角形”。我正在按照教程定义顶点和索引点,如下所示...顶点数据-1.0f,-1.0f1.0f,-1.0f-1.0f,1.0f1.0f,1.0f指数数据0,3,1,0,2,3我知道定义索引应该总是从一个顶点开始,但对我来说这些数字只是不相加。当我在纸上画这个时,看起来实际绘制的图像应该是两个三角形在一起,形成一个“皇冠”形状。有人可以解释为什么这实际上是在绘制正方形而不是我期望的“皇冠”吗?Square类的源代码:publicclassSquare{p

android - 从 Activity onStart() 调用 Google Play 服务 GoogleApiClient.connect() 导致间歇性 OpenGL 崩溃(NvRmChannelSubmit 错误等)

我将我们的应用程序更新为GooglePlayServicesrev17,这需要将我们应用程序的3DActivity从Activity更改为FragmentActivity。我们现在也比以前更早地调用GoogleApiClient.connect(),因为谷歌建议从Activity的onStart()调用GoogleApiClient.connect()。这导致了严重的倒退:现在,在Nexus7上,全新安装大约有30%的时间在启动时崩溃。崩溃记录NvRmChannelSubmit:NvError_IoctlFailed之后是无穷无尽的其他NvRmChannelSubmit错误,我认为这只