草庐IT

android - 在 opengl es 2.0 中访问项目和模型 View 矩阵

我正在使用在opengles2.0中将屏幕坐标转换为世界坐标GLU.gluUnProject(winX,winY,winZ,model,modelOffset,project,projectOffset,view,viewOffset,obj,objOffset)但是,我不确定如何检索模型View和项目矩阵。我发现的所有示例仅适用于opengles1.0和1.1。任何帮助将非常感激。谢谢。 最佳答案 当然这在OpenGLES2.0中是可能的。唯一的区别是您不必使用glGetFloatv(GL_MODELVIEW_MATRIX,arr

android - OpenGL ES 2.0 基于运动画线,线总是从原点开始

我刚开始学习Android版OpenGL,在画线时遇到了一个奇怪的问题。我想要做的就是根据手指运动画一条线。现在,一旦我开始滑动,我总是会得到一条从原点(0,0)开始跟随我的运动的线。这里是一张图片:http://imageshack.us/photo/my-images/137/screenshot2012061312174.jpg/箭头表示我的手指运动,从原点(红色圆圈)开始的线是我整个运动之后提到的线。不要为Coords数组而烦恼我知道这不是最佳实践,但我调试了整个程序并且找不到涉及此数组的任何错误。我可能应该提到ArrayList点包含我生成的所有点。我想暂时解决这个问题,但我

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 - 将 int 数组转换为 Android OpenGL ES 1.0 的 intbuffer?

我最近在Badlogicgames.com上阅读了一篇关于加速将信息添加到顶点缓冲区(或任何其他intbuffer)的过程的文章,它确实提高了我的项目速度,但我不太明白"NoticingtheIntBuffer.put(int[]src)wasnotaffectedbytheproblem"声明....如果不需要float,是否可以将int[]数组馈送到IntBuffer中以提高速度?每次我尝试将int[]放入缓冲区时;没有渲染...这是我目前使用的一个例子:dMesh[i].putVertexBuffer(coords);//functionbeingcalledpublicvoid

java - 从 OpenGL ES 1.0 切换到 2.0

我使用OpenGL1.0开发Android应用程序已经有一段时间了,使用一种简单的渲染方法,基本上是每帧调用glColor4f(...)和glDrawArrays(...)并使用FloatBuffers。随着我添加更多UI元素和绘制调用次数的增加,我遇到了图形成为巨大瓶颈的地步。所以我现在正在寻找将所有这些调用分组为一个(或两个或三个)绘制调用的最佳方法。看起来最干净、最有效和规范的方法是使用VBO对象,从OpenGLES2.0开始可用。但是,这需要我进行大量重构,才能将我的整个图形后端从ES1.0切换到ES2.0。我不确定这是否是一个好的决定,或者是否有可接受的方法在1.0中对我的绘

android opengl 位图图像未使用 texImage2D 渲染

我想创建一个飘扬的旗帜作为动态壁纸,问题是它不绘制图像(没有错误!)但它成功地绘制了其他纹理。我考虑了其他类似的问题及其解决方案,但没有成功。这是实现GLSurfaceView.Renderer的StripesSurfaceView的代码:privatefinalclassStripesSurfaceViewextendsGLSurfaceViewimplementsGLSurfaceView.Renderer{privateContextcontext;privateinttextures[];privateOpenGLFlagflag;privatebooleanpaused=fa

android - 如果不支持 EGL_NATIVE_RENDERABLE,如何通过 C++/NDK 访问 OpenGL ES 2?

我的应用程序(用C++编写,带有JavaBootstrap代码)在我的AndroidMID设备上运行完美,但它不能在friend的MotoMB865手机上运行。在深入研究GL上下文创建过程后,我发现对于支持OpenGLES2.0的所有配置,EGL_NATIVE_RENDERABLE都是GL_FALSE这意味着我无法使用我的native代码访问OpenGLES2.0。为什么系统会有这个奇怪的限制?我认为native代码可以在此之前访问所有OpenGL配置。有什么办法可以绕过这个限制吗?还是我必须编写委托(delegate)才能通过JNI访问EGL2? 最佳答案

android - metaio sdk (openGL) 制动字体和图像渲染

我有2个Activity,其中显示了很多信息(TextView和图像)的ActivityA和从ActivityA启动的ActivityB,ActivityB是HelloAugmentedWorld我使用metaio的增强现实引擎的教程Activity。问题出现在关闭ActivityB并恢复到ActivityA时,大部分字体(字符)呈现为block,图像全黑。这仅在杀死ActivityB后恢复ActivityA时发生。我发现了类似的post但它根本没有帮助我。我不知道问题出在哪里,也不知道从哪里开始调试。提前致谢! 最佳答案 我发现了

java - Android OpenGL ES 教程

我正在运行Android开发者网站上的教程,现在我已经运行了好几次构建环境,但没有得到教程指示应该是结果的“灰屏”。相关教程的链接:http://developer.android.com/training/graphics/opengl/environment.html该程序似乎编译和安装都很好,但是当它运行时它“意外关闭”。这是我的代码...主.java:packagecom.wiley.openglplayground;importandroid.app.Activity;importandroid.content.Context;importandroid.opengl.GLS

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并且找不到任何帮助,我可以