草庐IT

Android map API 需要 openGL es 2

mapv2文档指出:Becauseversion2oftheGoogleMapsAndroidAPIrequiresOpenGLESversion2,youmustaddaelementasachildofthemanifestelementinAndroidManifest.xml:`Thisnotifiesexternalservicesoftherequirement.Inparticular,ithastheeffectofpreventingGooglePlayStorefromdisplayingyourappondevicesthatdon'tsupportOpenGLE

android - Android 设备上的 OpenGL ES 2.0 扩展

很难说出这里问的是什么。这个问题是模棱两可的、模糊的、不完整的、过于宽泛的或修辞的,无法以目前的形式得到合理的回答。为了帮助澄清这个问题以便可以重新打开它,visitthehelpcenter.关闭10年前.作为thispage对于OpenGLES1.x,我在此页面上收集了适用于Android设备的OpenGLES2.x扩展。可以使用我的基准测试工具gpubench找到该列表。.这些信息可以帮助许多游戏开发者。感谢您的帮助, 最佳答案 摩托罗拉XoomVendor:NVIDIACorporationDriver:OpenGLES2.

android - 硬件加速 Activity - 如何获得 OpenGL 纹理大小限制?

我正在尝试在Honeycomb中启用硬件加速,并在Canvas上显示一些位图。一切正常,但对于大型位图(一维>2048),我在日志中收到错误:OpenGLRenderer:位图太大,无法上传到纹理中我知道这是因为硬件限制,如果启用硬件加速(通过View.isHardwareAccelerated()检查),可以通过减小要显示的最大位图大小来解决这个问题。我的问题是:如何通过硬件轻松确定可用于位图绘制的最大纹理大小。2048似乎是我的设备上的限制,但在不同的设备上可能会有所不同。编辑:我不是在创建OpenGL应用程序,只是普通应用程序,它可以利用硬件加速。所以我对OpenGL一点也不熟悉

android - OpenGL ES 2.0 多个程序或多个着色器还是什么?它是如何工作的?

问题(TL;DR)从根本上说,我的问题是我不知道OpenGLES2.0期望我如何编写和使用多个着色器;或者甚至建议/预期一个人会这样做。这里的基本问题是:如果我有一个苹果、一block发光的石头和一个模糊的网格,都在同一个3D世界中,最好用不同的着色器程序绘制,但使用相同的mvpMatrix,那么我将如何使用所有它们中的哪些在同一个OpenGL渲染中,以便它们都使用我编写的最合适的着色器?我做了什么所以我为我的Android游戏编写了一个基本的OpenGLES2.0程序,它可以完美地在屏幕上绘制对象的轮廓。但它什么也没做;几乎是因为着色器看起来像这样:顶点着色器uniformmat4u

android - 使用 OpenGL(和 OpenGL ES)渲染 SVG

我目前正在研究使用OpenGL和OpenGLES从SVG文件渲染矢量图的可能性。我打算针对Windows和Android。我理想的解决方案是拥有一个最小的C库,可以从给定的SVG文件生成多边形三角剖分。然后,这将生成标准的OpenGL或OpenGLES调用,并在重绘时使用显示列表或vbo进行优化。我会简单地绘制一个显示列表来在平移和旋转后绘制矢量图像,让我可以将它与其他OpenGL调用混合使用。到目前为止,我看到的建议是首先使用QT或Cairo。-这不是一个选项,因为我希望在没有臃肿库的情况下管理我自己的OpenGL上下文(在我想要实现的上下文中)。这也不适合Android。第二个选项

Android OpenGL 纹理压缩

我需要一些帮助来查找有关如何在Android上使用纹理压缩的信息(或示例)。我现在有很多PNG,我需要减少它们占用的内存量。我正在研究PVR压缩,但我不知道如何在OpenGL中使用它。能否指出我正确的方向或提供一些示例,因为我找不到任何东西。 最佳答案 Android上主要支持四种纹理压缩类型:ETC1(爱立信纹理压缩)。所有安卓手机都支持这种格式。但是,它不支持Alphachannel,因此只能用于不透明纹理。PVRTC(PowerVR纹理压缩)。由配备PowerVRGPU的设备(NexusS、Kindlefire等)提供支持。A

c++ - 如何在 C++ 中获取 OpenGL 使用的总内存(以字节为单位)?

如何在C++中获取OpenGL使用的总内存(以字节为单位)?我正在构建一个OpenGL应用程序,使用的总内存似乎在增加,我可以获得有关我自己创建的变量和对象使用的总内存的信息,但不能保证OpenGL使用了多少内存变量、对象和纹理等。那么是否有可能获得OpenGL在C++中使用的总内存(以字节为单位)? 最佳答案 一般来说,你不会。OpenGL最终是一种硬件抽象。而OpenGL根本不提供获取此类信息的方法。有一些特定于供应商的扩展可以让您提出问题,但您得到的结果取决于架构。AMD硬件提供ATI_meminfoextension.它将内

memory - 共享内存架构中的 OpenGL (ES 2.0) VBO 性能

我是一名桌面GL开发人员,我开始探索移动世界。为避免误解或欢迎但不重要的回复,我可以谦虚地说我非常了解GL和GL|ES机制。简短的问题是:如果我们在共享内存架构中使用GL|ES2.0,那么对客户端数组使用VBO的意义何在?更详细:顶点缓冲区是原始内存块,驱动程序无法以任何方式优化任何东西,因为访问模式取决于:1)应用程序如何配置顶点数据布局,2)顶点着色器消耗缓冲区内容,并且3)我们可以有许多顶点着色器以不同的方式运行,并以不同的方式获取相同的缓冲区。对齐:单个VBO存储可以从最适合底层GL系统的地址开始;如果我只是强制(例如,尊重对齐最佳实践)将客户端数组分配到这些边界会怎样?基于图

c++ - 适用于 OSX 和 Linux 的 OpenGL 头文件

我想在我的opengl程序(C++)中同时包含OSX和linux的包含,如果另一个不可用,我如何设置我的程序使用一个?这是我目前正在做的事情:if(!FileExists(OpenGL/gl.h))#include//linuxlibelse{#include//OSxlibs#include#include} 最佳答案 这是我使用的:#ifdef__APPLE__#include#include#include#else#ifdef_WIN32#include#endif#include#include#include#endif

c++ - Electron中神秘无效的OpenGL上下文

我创建了一个由GLX和GLEW支持的C++和OpenGL动画引擎,通过SWIG封装在一个Node.js模块中。目标是在浏览器进程中使用Electron应用程序中的引擎。引擎看起来相当稳定。它支持多上下文,在所有相关操作之前绑定(bind)正确的OpenGL上下文,在几乎所有可能的操作之后检查错误,并由相当大的测试套件提供支持。在Electron应用程序之外,一切正常。然而,神秘的是,通常在Electron之外运行的简单脚本在浏览器或渲染器进程中的Electron应用程序中都失败了。症状glGenX生成的任何东西都返回0glGetString(GL_VERSION)返回null,之后gl