草庐IT

glSurfaceView

全部标签

java - 尝试以编程方式将 GLSurfaceView 添加到布局

好的,只是一些背景知识...我有一个使用Canvas绘图的功能齐全的游戏,我正在尝试学习并将绘图转换为OpenGLES1.0。(以保持兼容性。)我一直在尝试做的是找出一种将GLSurfaceView和Renderer合并到程序中的方法,以便我可以逐个切换绘图。(有很多Sprite,我需要经常更新,所以我不想花一个月的时间来发布下一个更新。)有人建议我在当前的SurfaceView之上使用GLSurfaceView,我已经做到了,但是我遇到了障碍。我主要使用LunarLander示例并尝试添加一个简单的OpenGL渲染器,该渲染器在正方形上绘制纹理并进行渲染。目标是在Canvas上绘制正

android - GLSurfaceView 渲染器,如何强制重新创建表面?

我有一个GLSurfaceView渲染器和方法onSurfaceCreated只被调用一次(基本上只有在创建或重新创建Activity时)。当EGL上下文丢失并在正常Activity生命周期中重新创建表面时,我需要测试行为,但是无论我做什么,我都无法将应用程序置于这种情况下。我可以做些什么来模拟再次调用onSurfaceCreated的情况吗?如何让我的应用失去EGL上下文?编辑:几天后我发现问题已经消失,应用程序开始正常运行,如规范中所述:publicabstractvoidonSurfaceCreated(GL10gl,EGLConfigconfig)Calledwhenthesu

android - GLSurfaceView截图时显示黑屏

为了解决我的问题,我徘徊了七个小时。我创建了一个项目,我在其中使用GLSurfaceView在上面设置了一张图片,然后我使用EffectFactory类。但我的问题是,当我用受影响的图像拍摄屏幕截图时,它总是显示为黑屏而不是图像。我知道这可能是因为SurFaceview。但如果有任何建议可能对我有帮助。提前致谢。这是我的代码。publicclassEffectsFilterActivityextendsActivityimplementsGLSurfaceView.Renderer{privateGLSurfaceViewmEffectView;privateint[]mTexture

空对象引用上的 android.opengl.GLSurfaceView$GLThread.surfaceCreated()'

我正在尝试使用GLSurface来显示自定义View。我的xml我的主要packagenet.letsense.matrixtest;importandroid.app.Activity;importandroid.opengl.GLSurfaceView;importandroid.os.Bundle;/***Createdbyborislegovicon03/11/2017.*/publicclassMainextendsActivity{privateintmPositionHandle;privateintmColorHandle;privateGLSurfaceViewmGL

android - Nexus 5 上的 GLSurfaceView 帧率问题

我有一个示例应用程序(fullsource),它使用MediaCodec对相机帧进行编码,同时在GLSurfaceView上显示它们。Systrace确认每秒进行30次绘图调用:但是,屏幕记录(.mp4、YouTube)显示明显的帧率要低得多。简而言之,我的编码和显示循环执行以下操作:使MediaCodecSurface输入EGL上下文成为当前将相机框架绘制到MediaCodecEGL表面使GLSurfaceViewEGL上下文成为当前将相同的相机帧绘制到GLSurfaceView在GalaxyNexusLTE和Nexus7(均采用AOSP4.4)上,应用程序按预期运行。到目前为止,只

android - GlSurfaceView setZMediaOrder 导致视频在其 parent 之外播放

案例一:GLSurfaceView|FrameLayout|TextureView|VideoRecording所以这里我有一个GLSurfaceView,根据用户输入,我在它上面添加了一个正方形FrameLayout(使用布局参数设置尺寸),然后添加TextureView在这个新添加的FrameLayout之上,然后录制视频,正如预期的那样,无论选择什么相机,我都会得到一个方形预览。案例2:GLSurfaceView|FrameLayout|GLSurfaceView|VideoPlayback在案例1中,我在录制视频后添加了另一个GLSurfaceView,方法是从已添加的Fram

android - 如何保留具有 GLSurfaceView 的 Activity 的状态

我的问题是我们的游戏可以立即切换到菜单和设置模式,但加载纹理需要4-6秒,最终初始化GL渲染模式我只使用6个简单的纹理在游戏中创建6个Sprite。请帮我回答两个问题:1.我如何在android操作系统中预加载我们的Assets以更快地开始我们的游戏?2.为了使用技巧在Activity之间创建实例切换,我怎样才能使我的Activity保持GLSurfaceView状态?为了帮助大家了解我的情况,请阅读以下代码:游戏使用3个Activity,您可以在以下配置中看到:我的.ReTouch类是从RokonActivity扩展的类(我在我的游戏中使用rokon引擎),该引擎将创建一个GLSur

android - 在不同的 GLSurfaceView 之间共享 GLES20 上下文和纹理?

是否可以在不同的GLSurfaceView之间共享GLES20上下文(在一个Activity中)?或者,如何在不同的GLSurfaceView之间共享一组纹理?在iOS上,如果您想在不同的CAEAGLLayer支持的UIView中节省内存并重用(大)纹理,您可以在它们之间传递一个EAGLContext对象,或者使用共享一个公共(public)EAGLSharegroup对象的不同EAGLContext。我想知道如何在Android上完成此操作。有没有等效的技术?编辑1最初的建议是实现您自己的EGLContextFactory,它将返回相同的EGLContext,但它不起作用,因为每个G

java - Android Eclipse 如何将渲染的 GLsurfaceView 保存为 *.png 图像

您好,我正在制作一个照片效果应用程序。所以,我从相机加载位图(我保存了原始图像然后加载)到glsurfaceview并应用了一些效果但是我找不到将更改后的图像保存为图像文件*.png或*.jpg的方法。我几乎到处都看了,但它们对我的应用程序不可用。当我尝试保存时总是强制关闭。这是我的代码。我找到了一些保存代码,但我无法开始工作。主.xml效果选择器和应用程序.javapublicclassEffects_selevtorextendsActivityimplementsGLSurfaceView.Renderer{ideclaredsomestringsints(deleted)Str

java - 使用 GLSurfaceView 的操作方法和理解拖动和缩放事件

我制作的这个测试应用程序使用标准顶点、颜色和点缓冲区来显示3D对象,我已经完成了所有工作。我可以..使用触摸事件旋转对象使用GL10使用openGLES1.0渲染对象一切正常现在我希望能够使用两根手指进行“捏合”Action来放大和缩小。我找到了一些很好的教程和示例代码,但主要是针对ImageViews的。我对Android仍然是半新手,我不完全了解如何使此缩放功能适用于GLSurfaceView。下面是我目前为Activity类编写的代码。第一个触摸处理程序是我通过为ImageView设计的教程找到的缩放事件(我使用它是因为我认为这将是一个简单的转换)。第二个处理程序用于旋转事件,它