草庐IT

android - Ubuntu 16.04 无法识别的 OpenGL 版本

Genymotion卡住:“正在启动虚拟设备”。Ubuntu16.04.2长期支持Genymotion2.8.1--清除缓存,--全部删除,重新安装,--删除所有虚拟设备并下载并安装新设备--.Genymobile文件夹中的genymotion.log没有错误,--genymotion-player.log在.Genymobile/Genymotion/deployed/CustomPhone-7.0.0-API24-768x1280文件夹中:bře618:57:08[GenymotionPlayer][warning]UnrecognizedOpenGLversionbře618:5

android - opengl对象在移动一段距离后振动

我有一个在地形上移动的物体,第三人称摄像机跟随它,在我将它朝不同方向移动一段距离后,它开始摇晃或振动,即使它没有移动并且摄像机围绕它旋转,这是物体的移动代码double&delta=engine.getDeltaTime();GLfloatvelocity=delta*movementSpeed;glm::vec3t(glm::vec3(0,0,1)*(velocity*3.0f));//translatetheobjetatribeforerenderingmatrix=glm::translate(matrix,t);//gettheforwardvetorofthematrixg

android - OpenGL ES - 纹理映射一个 8 顶点立方体的所有面?

使用Android模拟器完成一些OpenGL-ES教程。我已经开始进行纹理映射,但在映射到立方体时遇到了一些问题。是否可以将纹理映射到具有8个顶点和6个面的12个三角形的立方体的所有面,如下所述?//Usehalfaswearegoingfora0,0,0centre.width/=2;height/=2;depth/=2;floatvertices[]={-width,-height,depth,//0width,-height,depth,//1width,height,depth,//2-width,height,depth,//3-width,-height,-depth,//

android - OpenGL Point Sprites 在 Android 中工作吗?

我正在开发一个Droid,版本2.1-update1。我支持的GL扩展包括GL_OES_point_sprite和GL_OES_point_size_array。我无法获取要渲染的点Sprite。下面的代码在glTexEnvi调用时从GLWrapperBase抛出UnsupportedOperationException。如果我禁用纹理并全部注释掉glTexEnvi,它会在glPointSizePointerOES()处进一步抛出相同的异常。Android是否正确支持点Sprite?有没有人让他们工作?还是我下面的代码有问题?//NotethatgliscasttoGL11gl.glE

android - 使用 OpenGL 更快的相机预览?

编写一个从相机获取预览帧的应用程序对其进行一些转换,然后将其显示在屏幕上。在publicvoidonPreviewFrame(byte[]data,Cameracamera){}我在另一个线程中对数据进行yuv2rgb和JNI中的一些像素操作。然后我从RGBint数组创建位图并使用绘制它canvas.drawBitmap(bmp,0,0,null);我在640x480的HTCNexusOne上获得大约15-20FPS,在SamsungGalaxySII上获得30+FPS我想知道我是否可以通过使用AndroidOpenGLES进行绘图来加快速度?我会遵循本指南:http://obviam

android - 在 Android 上制作全屏动画?我应该使用 OPENGL 吗?

假设我需要制作多个全屏动画,每个动画包含大约500帧。动画应该以合理的速度播放-据说不少于20fps-图片应该具有合理的质量,而不是过度压缩。你觉得我应该用什么方法?到目前为止我试过:1.storingeachframeasacompressedJPEG2.beforeanimationstarts,loadingeachframeintoabyteArray3.astheanimationplays,decodecorrespondingbyteArrayintoabitmapanddrawitonasurfaceview.问题-速度太低,通常约为5-10FPS。我想到了另外两个选择

Android OpenGL ES --- 是否支持所有扩展?

我真的很困惑OpenGLES扩展在Android上的工作方式,无论是在JavaAPI中还是在NDK的API中。首先,我来自桌面上的普通OpenGL世界。在那个世界里,扩展加载和使用起来非常直观。首先检查GL_EXTENSIONS以查看系统是否公布了您需要的扩展,然后通过wglGetProcAddress、glXGetProcAddress或dlsym动态加载扩展的入口点(分别取决于您使用的是WinAPI、X11还是OSX).但是现在,今天我第一次看到了Android上的GL11Ext界面,位于此处:http://developer.android.com/reference/javax

java - 具有 OpenGL ES 3.1 上下文的 GLSurfaceView

我正在使用OpenGL开发Android。我知道如何使用GLSurfaceView及其自定义派生类通过GLSurfaceView的方法创建OpenGLES2.0上下文:setEGLContextClientVersion(2);和OpenGLES3.0上下文:setEGLContextClientVersion(3);如何为OpenGLES3.1创建上下文? 最佳答案 您不能在创建上下文时显式请求3.1。根据我的理解,3.1不作为与3.0分开的上下文类型处理。本质上,支持3.1的上下文只是一个还支持额外的3.1功能的3.0上下文。这

android - 为什么opengl shader mix函数让两张透明png图片变黑了?

照片1是:照片2是:当然,照片2是部分透明的。但是当我将它们混合在着色器中时:vec4add(vec4one,vec4two){returnmix(one,two,two.a);}它们像下面这样变成了部分黑色:我很困惑为什么它会生成黑色。我知道mix函数基本实现如下:A*(1-alpha)+B*alpha 最佳答案 黑色不会生成,它是您的背景颜色。它出现是因为您正在混合两种颜色及其alpha。当生成的alpha小于1时,您可以看到黑色背景。您应该只根据第二张图像的alpha混合RGB颜色值,如下所示:vec4add(vec4one,

android - 如何在 opengl es 2.0 中禁用颜色插值?

由于在opengles中没有平面着色选项,当不同的颜色被传递到每个顶点时,是否有一种解决方法来禁用颜色插值? 最佳答案 基本上,唯一的方法是使用三角形绘制,而不是三角形带或扇形。并且对于每组三个顶点来构成单个三角形使用相同的颜色。这将消除阴影效果,因为相同颜色之间的插值是相同的颜色。更复杂的解释:http://ruh.li/GraphicsShading.html 关于android-如何在opengles2.0中禁用颜色插值?,我们在StackOverflow上找到一个类似的问题: