草庐IT

纹理表

全部标签

android - 减少 OpenGL ES 1.1 中纹理的内存使用

我在OpenGLES中的场景需要多个高分辨率纹理,但它们是灰度的,因为我仅将它们用于mask。我需要减少内存使用。我尝试使用Bitmap.Config.ALPHA_8和RGB_565加载这些纹理。ALPHA_8似乎实际上增加了内存使用。是否有某种方法可以将纹理加载到OpenGL中并使其使用每像素少于16位?glCompressedTexImage2D看起来很有前途,但据我所知,不同的手机提供不同的纹理压缩方法。另外,我不知道压缩是否真的减少了运行时的内存使用。以ATITC和PVRTC格式存储我的纹理的解决方案是什么?如果是这样,我如何检测设备支持哪种格式?谢谢!

android - 居中纹理 LibGDX

我试图在LibGDX中将256pxX256px图像居中。当我运行我正在使用的代码时,它会在窗口的右上角呈现图像。对于相机的高度和宽度,我使用Gdx.graphics.getHeight();和Gdx.graphcis.getWidth();。我将相机位置设置为相机的宽度除以二,高度除以二……这应该把它放在屏幕中间吧?当我绘制纹理时,我将它的位置设置为相机的宽度和高度除以二——所以它居中……或者我认为如此。为什么图像没有绘制在屏幕中央,是不是有什么我不明白的地方?谢谢! 最佳答案 听起来你的相机没问题。如果设置纹理位置,则设置该纹理左

Android OpenGL ES 纹理在某些三星设备的黑屏上显示

我最近在开发一个动态壁纸应用程序。在那里我发现我的Android动态壁纸有一个奇怪的问题。我使用我的HTCWildfireS、三星Galaxytab、摩托罗拉DroidMillstone、三星galaxypop来测试我的墙纸和模拟器,一切正常,但在三星手机上(三星GalaxySII和三星GalaxyPlayer有这个症状)屏幕在初始启动时保持黑色。但是一旦我们转到设置屏幕并返回预览它的工作正常。在对这些手机进行一些调试后,我发现墙纸加载正确,但纹理不只是显示出来。我尝试搜索问题,但没有找到任何有用的信息。我从native代码绑定(bind)纹理。在那里我使用OPENGL库来绑定(bin

android - OpenGL ES 2 - 一个大纹理图集与多个小纹理图集。什么是更好的性能明智?

我正在使用alreadyexistingengine在Android中开发游戏.我必须为我的动画使用大纹理,我想知道什么是更好的性能明智。新版本的引擎支持npot纹理(如果你问自己为什么我使用这样的分辨率)。拥有多个2330x1100纹理图集还是只有一个2330x(1100xnumber_of_textures_i_need)纹理图集更好?这个选择会影响加载时间吗?(我认为它们需要的内存是相同的,因为它们包含相同数量的像素)我在某处读到切换纹理可能是一个缓慢的操作..支线任务:1)jar纹理是否更有效(在环境构建中以便它可以处理npot纹理)?2)我可以只使用一个纹理来达到某些尺寸/内

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

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

Android OpenGL 纹理在 Sprint Samsung Galaxy s2 Epic Touch 4g 上看起来很糟糕

首先承认我是一名opengl新手-我一直在开发的游戏能走到这一步简直是个奇迹。纹理在HTCEvo3d、DroidBionic和thunderbolt上看起来不错。我刚买了SprintSamsungGalaxys2,纹理看起来很糟糕-我的理论是更大的屏幕和较低的dpi影响纹理mag过滤(我的另一个理论是我不知道我在做什么)。截图#1GalaxyS2与HTCEvo3d截图#2GalaxyS2与HTCEvo3d我已经尝试启用/禁用抖动,使用16位、24位和32位纹理,将选项传递给androidBitmapFactory解码方法以防止缩放,在下面的代码fragment中禁用我的每个opengl

android - Andengine奇怪的纹理问题

我正在尝试使用Andengine开发游戏。距离上次使用andengine已经有一段时间了,所以我下载了最新的andengine.jar。Texture类更改为BitmapTextureAtlas所以我使用BitmapTextureAtlas而不是纹理。一切都很好,除了纹理的质量发生了变化。虽然使用Texture很好但使用BitmapTextureAtlas,它有一些奇怪的像素,如边框,每次开始时看起来都不一样。有时或多或少这是纹理外观图片的链接:我尝试了不同的方法,但没有成功。我在使用Texture时没有看到这个问题我希望任何人都知道如何解决这个问题。 最佳

c++ - 将 iPhone 游戏移植到 Android - 纹理和缓冲区

我用C++编写了我的游戏。我已经设法使用ndk编译了所有内容,但我注意到了一些问题。如何将纹理加载到NDKOpenGL中(因为代码已经存在)?我确实使用了BitmapFactory来加载图像,然后将像素复制到我分配的大小为width*height*4的ByteBuffer中。然后我将ByteBuffer的数组发送到我的native代码并使用Get/ReleasePrimiativeArrayCritical。我不认为它会在渲染时崩溃。此外,我不禁注意到垃圾编译器提示说当图像只有16KB时占用了大约5.37MB的空间。另一件事是缓冲区,如帧缓冲区和渲染缓冲区。我注意到它没有使用帧缓冲区和

android - 在 AndEngine 中加载大纹理

在我们正在开发的游戏中,我们需要为一个大小为485x485的大型Sprite制作动画,该动画大约有30帧。我们在制作此类Artifact的动画时遇到了问题。我已经尝试了下面列出的一些解决方案,但不幸的是我们还没有找到解决方案。平铺看起来将每一帧都放在一个大图block中不是一种选择,因为:纹理大小需要是2的幂,所以在大多数设备上显示为黑色当我将纹理大小设置为2的幂时,对于大多数设备来说它变得太大了无法处理AndEngine建议的最大纹理大小seemstobe1024x1024.单独的Sprite另一个选项是分别加载每个纹理,从而加载每个帧,并将其放入Sprite(如describedh

android - 如何在 android opengl 1.0 应用程序的最大纹理宽度上过滤手机

我在android中创建了一个openGL应用程序,其中包含一些我创建的不同大小(1024、1024和2048、2048)的纹理,我选择了2048,因为这是galaxys3支持的。我想知道是否有一种方法可以过滤哪些手机可以在max_texture_width上看到我的应用程序我已经查看了几个资源例如http://developer.android.com/guide/topics/manifest/supports-screens-element.htmlhttp://developer.android.com/google/play/filters.html并且找不到任何帮助,我可以