草庐IT

纹理表

全部标签

android - android中合理的纹理大小

我正在尝试开发一个在android上使用opengl的应用程序,理想情况下让它可以在与原始droid一样旧的任何手机上运行(或者至少在任何支持OpenGLES2.0的手机上运行)。目前,我正在使用2048x2048ETC1纹理压缩。它在我正在测试它的DroidX上运行良好,但我目前没有原始机器人来测试它,而且我也找不到关于这个主题的太多数据。我知道G1在处理大于512x512的纹理时表现不佳,而droid似乎可以处理大至1024x1024的图像,但是2048x2048呢?(再次,etc1压缩,所以它大约2MB大)。另外,因为ETC1不支持alpha,我想加载另一个ETC1纹理来支持al

Android Andengine 纹理质量差

问题:使用Andengine(wrapsopengl)编写的android应用程序的纹理质量差,尤其是在以几种颜色显示为阶梯的渐变上。真实设备和虚拟设备均出现问题设置:默认纹理、全屏、原始分辨率、android2.2。我试图通过以下方式强制执行PixelFromat:publicvoidonAttachedToWindow(){super.onAttachedToWindow();Windowwindow=getWindow();window.setFormat(PixelFormat.RGBA_8888);}没有任何区别。评论行:GLHelper.disableDither(pGL)

安卓带纹理的文字

如何制作带有纹理的文本而不是文本颜色或渐变(例如png文件)?类似于this.我理解逻辑,我应该使文本颜色透明并放在文本位图下。我认为我无法使用Textview实现此目的。而且我不知道如何使用Canvas或OpenGL来完成。有什么想法吗? 最佳答案 这是一种使用PorterDuffXfermode的方法。publicclassMainActivityextendsActivity{privateEditTextmEditText;privateImageViewmImageView;privateBitmapmTexture;@O

android - libgdx 中的纹理灰度

有没有办法将libgdx的纹理转换为灰度图像?到目前为止,我已经复制了我想要灰度化的图像并手动完成,但我认为这不是最好的解决方案,因为我的游戏使用越来越多的图像并且占用了大量磁盘空间。 最佳答案 我想我会把这个分享给任何想要使用一些复制/粘贴代码的人。importcom.badlogic.gdx.graphics.glutils.ShaderProgram;publicclassGrayscaleShader{staticStringvertexShader="attributevec4a_position;\n"+"attribu

android - 如何在 Android 中从字节数组创建 OpenGL 纹理

我是OpenGL的新手。出于学术目的,我正在Android上制作色盲应用程序。我在着色器中拥有执行所需操作所需的所有代码,但我仍然必须让着色器能够看到我在Java代码中创建的数据。在我的Java代码中,我最终得到了一个大小为262144的大型int数组。我试图以任何可能的方式将这个数组传递到着色器中,但它太大了。我被告知,如果我将我的数据转换为纹理,我可以轻松地将这么多信息传递到着色器中。我已按照同事的指示将我的int数组转换为字节数组,但现在我不知道如何创建opengl纹理并将我的字节数据输入其中以供着色器查看和使用。因此,我需要创建一个opengl纹理,用我的数据填充它(字节数组最

android - 恢复后在 Android 中丢失 OpenGL 纹理

我的游戏运行正常,但我按下主页按钮然后继续的情况除外。需要做什么才能再次使用纹理?我试过在GLSurfaceView上调用onPause和onResume(当调用Activity的onPause和onResume时)。知道我可能做错了什么吗? 最佳答案 如果一切都失败了,重新加载纹理:伪代码fortexintextures:ifglIsTexture(tex.opengl_name)==false:glGenTextures(1,&tex.opengl_name)glBindTexture(tex.texture_target);g

android - 纹理大小的限制? Android Open GL ES 2.0

我想知道在任何AndroidOpenglEs2.0项目中可以使用的纹理大小是否有任何限制。我知道拥有一个尺寸为4096x4096的巨大纹理有点意义不大,因为它是在小屏幕上呈现的。但是,如果要求在运行时在多个纹理之间切换怎么办?如果我想要一个纹理图集来进行快速的单个上传而不是多个较小的纹理上传。请让我知道您在这方面的想法。此外,我确信设备可以处理的图像大小必须有限制,因为设备上的内存是有限的。但我想知道它是基于分辨率还是基于尺寸。我的意思是,如果设备有1024x1024图像大小的限制,它可以处理大小为2048x2048的压缩纹理,该纹理与未压缩的1024x1024大小大约相同。另外请让我

android - 在 Android 中获取最大 OpenGL ES 2.0 纹理大小限制

我正在尝试获取Android中OpenGL2.0的最大纹理大小限制。但是我发现下一条指令只有在我当前处于OpenGL上下文中时才有效,换句话说,我必须有一个GLSurface和一个GLRenderer等,这是我不想要的。int[]maxTextureSize=newint[1];GLES20.glGetIntegerv(GLES20.GL_MAX_TEXTURE_SIZE,maxTextureSize,0);所以我想到了下一个算法,它可以给我最大的纹理尺寸,而无需创建任何表面或渲染器。它工作正常,所以我的问题是这是否适用于所有Android设备,是否有人可以发现任何错误,以防万一。pu

如何使用 ThreeJs 以 glTF、FBX 和 OBJ 文件格式加载 3D 模型,使用 ThreeJS 加载和显示带有纹理的 3D 模型

在本文中,我展示了如何使用ThreeJS在Web视图中加载3D模型。Three.js是一个跨浏览器的JavaScript库和应用程序编程接口,用于使用WebGL在Web浏览器中创建和显示动画3D计算机图形。加载不完整的原因有很多,例如纹理和材质渲染不正确。这里我们需要三个组件来加载3D模型。创建场景渲染场景动画立方体您可以更改其他视角,例如相机和灯光。它们将根据您自己的需要进行定制。GLTF文件格式glTF(GLTransmissionFormat)是一种3D文件格式,以JSON格式存储3D模型信息。首先,您需要从此处下载示例模型。https://github.com/LahiruAriyas

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

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