草庐IT

纹理表

全部标签

android - 纹理小部件渲染 OpenGL 示例

我的Flutter应用需要显示3d模型并允许用户旋转它。我通过nativeView(ViewController和Activity)和用于渲染的C++代码实现了这一点,下一步我尝试了Texture小部件以删除nativeView并仅使用Flutter。我设法通过FlutterTexture在iOS上显示OpenGL渲染,但不明白如何在Android上实现。您能否展示一些如何将OpenGL与SurfaceTexture一起使用的示例?并将其连接到Texture小部件? 最佳答案 SurfaceTexture应该被传递给eglCreat

android - 是否可以将 Android View 渲染到 OpenGL FBO 或纹理?

是否可以将View(例如WebView)渲染到FBO,以便它可以用作OpenGL合成中的纹理? 最佳答案 我汇集了一个完整的演示项目,它以一种有效的方式实时渲染GL纹理View,可以在thisrepo中找到。.以WebView实时渲染GL纹理为例。还有一个简短的代码如下所示(取自上面repo的演示项目):publicclassGLWebViewextendsWebView{privateViewToGLRenderermViewToGLRenderer;...//drawingmagic@Overridepublicvoiddraw

android - Android上的OpenGL绘图结合Unity通过帧缓冲区传输纹理无法工作

我目前正在为Unity制作一个Android播放器插件。基本思路是我将播放MediaPlayer的视频。在Android上,它提供了setSurfaceAPI接收SurfaceTexture作为构造函数参数并最终与OpenGL-ES纹理绑定(bind)。在大多数其他情况下,例如显示图像,我们可以将这个纹理以指针/id的形式发送给Unity,调用Texture2D.CreateExternalTexture在那里生成一个Texture2D对象并将其设置为UIGameObject渲染图片。但是,在显示视频帧时,它与略有不同。在Android上播放视频需要GL_TEXTURE_EXTERNA

android - int数组到android中的opengl纹理

我正在尝试为android中的相机添加一些效果,我在互联网上找到了一些东西,但在创建纹理时卡住了,我使用函数decodeYUV420SP()返回一个int[width*height]RGB数组,每个数组位置都有十六进制值,现在,我想创建这个数组的openGL纹理,但我不知道如何,我可以将每个十六进制值转换为它的R_G_B分隔并将其放入opengl,但它不起作用我做这样的事情:mNewTexture=newint[width*height*4]for(inti=0;i将十六进制值转换为RGBA(从0到255)我这样做是为了将它转换为openGL纹理:gl.glBindTexture(GL

Android NDK OpenGL ES 2.0 纹理间距

有什么方法可以在opengles2.0中使用与其宽度不同的间距来blit纹理。通常我会通过使用PBO或通过glPixelStore调整GL_PACK_ROW_LENGTH来解决这个问题。然而,Android平台上似乎既不存在用于绑定(bind)缓冲区的GL_PIXEL_UNPACK_BUFFER也不存在GL_PACK_ROW_LENGTH。glTex(Sub)Image2D不支持这个。有什么建议吗? 最佳答案 引用@HalsafarInsomescenarios,thiscanbesolvedbyadjustingtextureco

Android Opengl-es 加载一个非 2 次幂的纹理

我有一个在android中反复玩过的应用程序,它使用opengl-es。目前我像这样从位图中加载纹理://Loadupandflipthetexture-thendisposethetempBitmaptemp=BitmapFactory.decodeResource(Deflecticon.getContext().getResources(),resourceID);Bitmapbmp=Bitmap.createBitmap(temp,0,0,temp.getWidth(),temp.getHeight(),flip,true);temp.recycle();//Bindthete

android - 如何在 OpenGL ES 1.1 上用不同的纹理填充立方体的每一面?

拜托,我需要有关如何在OpenGLES1.1上用不同纹理填充立方体每一面的教程/代码示例我找到了很多教程,但都没有清楚地解释如何在每张脸上放置不同的纹理,也没有一个提供简单的代码示例来说明如何操作。我的实际代码(来自nehe示例)在每个面上绘制具有相同纹理的立方体:publicclassCube{/**Thebufferholdingthevertices*/privateFloatBuffervertexBuffer;/**Thebufferholdingthetexturecoordinates*/privateFloatBuffertextureBuffer;/**Thebuff

android - 尝试在设备上绘制带纹理的三角形失败,但模拟器可以运行。为什么?

我有一系列OpenGL-ES调用,可以在模拟器(2.0.1)上正确渲染三角形并使用alpha混合对其进行纹理处理。当我在实际设备(Droid2.0.1)上启动相同的代码时,我得到的只是白色方block。这向我暗示纹理没有加载,但我不明白为什么它们没有加载。我所有的纹理都是带有alphachannel的32位PNG,在res/raw下,所以它们没有根据sdkdocs进行优化。.这是我加载纹理的方式:privatevoidloadGLTexture(GL10gl,Contextcontext,intreasource_id,inttexture_id){//Getthetexturefro

android - 为什么纹理 View 中的相机预览比表面 View 中的相机预览模糊得多?

我发现当使用textureview而不是surfaceview作为相机预览时(两者都通过mediarecorder连接到相机)然后预览会更加模糊。我所说的模糊是指在纹理View中您可以看到像素,尤其是在缩放时。使用表面View时情况并非如此。为什么会这样? 最佳答案 更新:不好意思,我重写了我的狗屎代码,关键是预览尺寸太小导致“模糊”,所以你应该设置一个合理的预览尺寸,而不是下面删除的原因,但建议自动对焦......Sizesize=getBestSupportSize(parameters.getSupportedPreviewS

Android opengl 纹理损坏

我在Android模拟器上遇到纹理损坏问题(它在大多数Android设备上运行良好)。上图是Android4.1JellyBean模拟器生成的引用效果图,一切正常。第二张图片是在运行Android1.6的模拟器中捕获的。注意一些禁用的工具栏按钮的损坏(它们呈现为颜色1f、1f、1f、0.5f)第三张图片是在同一个模拟器中捕获的。不同的是,现在得分在右上角呈现。Score是一种位图字体,它的纹理是一个alpha蒙版。乐谱后渲染的所有内容都会失去其纹理。请注意,之前的屏幕截图还包含以相同方式呈现的位图字体(但使用不同的纹理)。其中一台三星设备(我不记得型号了)也出现了类似的问题。本地板纹理