草庐IT

android - 如何将纹理从一个 OpenGL 上下文传输到另一个

背景:Android原生相机应用使用OpenGL_1.0上下文来显示相机预览和图库图片。现在我想在原生相机预览中添加一个实时滤镜。要在我自己的相机应用程序预览中添加实时滤镜很简单——只需使用OpenGL_2.0进行图像处理和显示。由于OpenGL_1.0不支持图像处理,因此它以某种方式用于在Android原生相机应用程序中显示。*我现在想创建一个新的基于OpenGL_2.0的GL上下文进行图像处理,并将处理后的图像传递给另一个基于OpenGL_1.0的GL上下文进行显示。*问题:问题是如何将处理后的图像从GL-context-process(基于OpenGL_2.0)传输到GL-con

android - 使用扩展的 Android OpenGL ES 2.0 是否支持顶点数组对象?

我正在尝试编写一些在C++中使用VAO的代码,并使用AndroidNDK进行编译。我希望能够使用glDeleteVertexArraysOES、glGenVertexArraysOES和glBindVertexArrayOES。我在我的标题中包含了OpenGLES2的标题和扩展。#defineGL_GLEXT_PROTOTYPES#include#include我还在Android.mk中链接到OpenGLES2。LOCAL_LDLIBS+=-lGLESv2但是由于某种原因,当链接代码时,它失败了。undefinedreferenceto'glDeleteVertexArraysOES

java - Android OpenGL ES 2.0 只限于内存中的 16 个纹理?

基本上,当我在AndroidStudio中使用OpenGLES2.0开发应用程序时,我遇到了一个我无法解决的大问题,它已经困扰了我大约一个星期。因此,每当我在内存中加载超过16个,可能是17个任意大小的纹理,并尝试通过我在Genymotion中的模拟器或我的ASUS平板电脑以2D方式显示它们时,它要么开始显示与我之前不同的图像在该特定索引处绑定(bind),或者根本不显示。然而,如果我通过我的三星GalaxyS6运行它,它运行良好。但是,如果我加载16个或更少的纹理,它可以在我测试它的所有设备上正常工作,包括模拟器。这让我尝试了一个小实验,看看它是否会显示每个字母为16x16png的字

android - Android手机转动时的OpenGL

当翻转/倾斜手机时它叫什么(我应该用谷歌搜索什么术语),以便在运行android时旋转View?当我这样做时,我的(OpenGL)应用程序崩溃了,当发生这种情况时,您在处理OpenGL时是否应该执行某些特定步骤?还有什么我可能要考虑的吗? 最佳答案 如果您不为处理自身旋转的Activity设置AndroidManifest.xml的属性,您的Activity将重新启动,将重新创建GL上下文,并且至少,您使用的任何表面和缓冲区将无效。在我的gles1.1应用程序中,我的AndroidManifest.xml中有以下内容,它指定我的应用

android - 如何用手指移动 OpenGL 正方形?

实际上,我有一个适用于Android1.5的应用程序,其中包含一个GLSurfaceView类,它在屏幕上显示一个简单的方形多边形。我想学习如何添加一个新功能,即移动用手指触摸的方block的功能。我的意思是当用户触摸方block并移动手指时,方block应该粘在手指上,直到手指松开屏幕。我们将不胜感激任何教程/代码示例/帮助。我的代码:publicclassMySurfaceViewextendsGLSurfaceViewimplementsRenderer{privateContextcontext;privateSquaresquare;privatefloatxrot;//XR

android - glClear()需要太长时间 - Android OpenGL ES 2

我正在使用opengles2开发一个android应用程序。我遇到的问题是,glClear()函数处理时间太长,以至于游戏在帧延迟时显得很紧张。使用计时探针运行程序的输出显示,虽然从Atlas设置所有顶点和图像只需不到1毫秒,glClear()需要10到20毫秒。事实上,清除通常占用总渲染时间的95%。我的代码基于常见教程,而Render函数是:privatevoidRender(float[]m,short[]indices){Log.d("time","--STARTRENDER--");//gethandletovertexshader'svPositionmemberintmP

java - Opengl ES 2.0 : Get texture size and other info

问题的上下文是Android环境下的OpenGLES2.0。我有一个纹理。显示或使用都没有问题。是否有一种方法可以简单地从绑定(bind)ID开始了解其宽度和高度以及其他信息(如内部格式)?我需要在不知道纹理大小的情况下将纹理保存到位图。 最佳答案 不在ES2.0中。功能不存在实际上有点令人惊讶。您可以获取渲染缓冲区的大小,但不能获取纹理的大小,这看起来不一致。唯一可用的是您可以使用glGetTexParameteriv()获得的值,它们是纹理的FILTER和WRAP参数。它仍然不在ES3.0中。仅在ES3.1中,添加了glGetT

Nim使用OpenGL

这里说明了Nim如何使用OpenGLNimble换源因为我们要下载SDL2和OpenGL的支持,所以可以考虑将Nimble换成国内源。方法如下:首先到Nimble官网clone他的代码下来。然后进入到src/nimblepkg/download.nim文件中,将ifmodUrl.contains("github.com")andmodUrl.endswith("/"):modUrl=modUrl[0..^2]换成ifmodUrl.contains("github.com"):modUrl=modUrl.replace("github.com","github.com.cnpmjs.org")i

Android 2D游戏编程: using OpenGL or not?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭8年前。Improvethisquestion我刚刚开始在Android上开发游戏。我的第一个游戏是2D游戏,我想知道我是否应该使用OpenGL。有人对此有什么建议吗?非常感谢,越南

android - 相机 View 上的 opengl 叠加

我仍然没有找到在相机预览顶部显示opengl覆盖的正确方法,有一个黑客,你在哪里打电话setContentView(GLSurfaceView)addContentView(MyCameraSurfaceView)但它无法正常工作-即当您切换到另一个Activity并返回时,opengl层不会显示在相机预览中。有很多使用上述方法的教程和示例,但它根本没有按预期工作有谁知道在layar中是怎么做到的 最佳答案 看来我已经找到了问题的解决方案-它的setZOrderMediaOverlay函数,这是我的代码:privatevoidini