草庐IT

es6-features

全部标签

android - Opengl es 2.0 - 为什么 glFinish 在我的新安卓手机上给我的帧率比旧手机低?

我最近将我的旧GalaxyS2手机升级到全新的GalaxyS7,并且非常惊讶地发现我编写的旧游戏在新手机上的表现似乎更差。将所有内容简化为一个简单的项目后,我发现了问题-我在每个onDrawFrame结束时执行的GLES20.glFinish()调用。有了这个,有glClear但没有绘制调用,FPS徘徊在40左右。没有glFinish,稳定的60FPS。无论如何,我的旧S2都有稳定的60FPS。然后我回到我的游戏,删除了glFinish方法调用,果然性能恢复到完美,并且没有明显的缺点。为什么glFinish在我的新手机上降低了我的帧速率而不是我的旧手机? 最

android - 无法解析 ':feature@debugFeature/compileClasspath' : Could not resolve androidx. 注释 :annotation:1. 0.0-rc01 的依赖关系

将AndroidStudio更新到3.3Canary10(来自之前的Canary)后,我开始遇到Gradle同步问题:ERROR:Unabletoresolvedependencyfor':feature@debugFeature/compileClasspath':Couldnotresolveandroidx.annotation:annotation:1.0.0-rc01.ShowDetailsAffectedModules:featureERROR:Unabletoresolvedependencyfor':feature@debugFeature/compileClasspa

android - opengl es中的3D多边形三角剖分

我正在寻找有关opengles中用于转换三角形集中的3d多边形的内置算法的任何信息。在opengles中有类似的实现吗? 最佳答案 简短回答:不,不作为OpenGLES的一部分。多边形分割作为GLU(OpenGL实用程序)库的一部分提供,基于每个平台、每个版本、每个实现者,因为它是可选的而不是OpenGL的核心。如果你在iPhone上工作,你应该看看iphone-glu声称支持多边形镶嵌。这是一个更通用的walkthrough在带有GLU的OpenGL中使用曲面分割(不是ES)这可能有助于照亮您的道路。

安卓 OpenGL ES 2.0

我试图在AndroidOpenGLES2.0示例中显示一个简单的三角形。但什么也没有出现,我只是不明白为什么:),我没有收到任何错误或任何东西,只是蓝屏(那是我的清晰颜色)。也许将我的模型放在外面的投影矩阵有问题?packagedk.madslee.modelviewer;importjava.nio.ByteBuffer;importjava.nio.ByteOrder;importjava.nio.FloatBuffer;importjavax.microedition.khronos.egl.EGLConfig;importjavax.microedition.khronos.o

android - Opengl Es 线宽

我在android上用opengles画了一条线。线条画得很好。唯一的问题是,无论相机离它多近或多远,这条线都保持相同的粗细。有解决办法吗? 最佳答案 OpenGL以固定宽度绘制线条(以像素为单位),与距相机的距离无关。如果您需要粗细随相机距离而变化的“线”,则必须将它们绘制为多边形。您可以使用glLineWidth()更改线宽,但它仍然是固定宽度(以像素为单位)。此外,在OpenGLES中,实现只需要支持最大1.0的线宽。至少有两种主要方法可以将线绘制为多边形。一种是为每条线绘制一个四边形,并确保四边形朝向相机。另一种方法是绘制一

android - Android 上的 JOGL 与 OpenGL ES API。优点缺点

我们正在尝试将我们的项目从PC版本迁移到Android。PC版使用JOGL。谁能解释在Android应用程序中使用JOGL而不是OpenGLESAPI的主要优点?例如,JOGL的PCpro是:理论上您可以在任何平台上使用它。它或多或少与AWT、Swing和SWT集成在一起。此外,它还是某种包装器,因此理论上有一些抽象可以更轻松地使用OpenGL。但我看不到在Android中使用它的优点,从我的角度来看,这是缺点:它是另一个依赖,APK大小会更大。一些影响JOGL和OpenGLES的问题需要更多是时候查明并修复了。这不是不需要一些时间的Elixir重构,因为在Android中我们应该使用

Android OpenGL es 2.0 无法重新加载对象上的纹理。

多亏了这里提出的几个教程、问题和答案,我已经设法加载纹理并自由旋转球体,但我偶然发现需要在运行时重新加载纹理(获取位图图像,对其进行处理,然后将其作为对象的新纹理)。我没有为我的特定问题找到任何有效的解决方案(我已经阅读了所有相关的问题和答案)。我对OpenGL很陌生。这是我的第二个项目,我的第一个3D项目,也是我在这里提出的第一个问题。所以这里是:基本上纹理加载是在以下函数中完成的:publicvoidloadGLTexture(finalContextcontext,finalinttexture){GLES20.glGenTextures(1,mTextures,0);if(mT

android - 无法在三星设备上分配变量 [OpenGL ES]

在三星设备上编译模糊着色器失败并出现错误:无法分配变量着色器代码如下:#ifdefGL_ESprecisionmediumpfloat;#endifvaryingvec2v_texCoord;varyingvec2v_blurTexCoords[14];varyingvec2pixel_size;uniformvec2v_resolution;uniformsampler2Du_texture;uniformmat4u_projTrans;voidmain(){...}在其他设备上运行良好,三星设备可能有什么问题? 最佳答案 看起来

Android OpenGL ES 图像失真

我正在开发一个Android应用程序,它使用OpenGL在草地上渲染3D球。用户可以与球互动(通过触摸旋转球)。问题如下:在我的SamsungGalaxyS2上一切正常,但是当我在其他设备(HTCincredibleS、HTCsensation等)上尝试时,我在屏幕上看到一个带有多个裁剪视口(viewport)的扭曲图像(参见attachedimage)。我已经尝试了所有我能想到的方法:禁用纹理、禁用灯光等……似乎没有任何效果。我知道如果没有实际代码很难提供帮助,但我真的不知道代码的哪一部分导致了这个问题。所以我想问是否有人知道可能导致此问题的原因。我的猜测是与GLSurfaceVie

Android OpenGL ES 纹理大小 2 的幂

我已经知道许多硬件需要具有两倍大小的纹理。但是平方图像大小是强制性的吗?我的意思是32x3264x64512x512。我可以在每个硬件中使用512x256大小的纹理吗? 最佳答案 是的,纹理可以是非方形的,这没问题。只要您保持宽度和高度的二次方。 关于AndroidOpenGLES纹理大小2的幂,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/11510194/