草庐IT

android - NDK OpenGL 未定义对 glVertexPointer 的引用

在终端中使用ndk-build编译以下C代码时(我正在运行Ubuntu):#include#include#include#include"org_opengldrawinjni_DrawinJNI.h"JNIEXPORTvoidJNICALLJava_org_opengldrawinjni_DrawinJNI_Draw(JNIEnv*envptr,jobjectjobj){GLfloatvertices[]={1.0,0.0,0.0,1.0,1.0,0.0,0.0,0.0,0.0};GLubyteindices[]={0,1,2};glVertexPointer(3,GL_FLOAT

android - 如何在 opengl 中递归绘制十六进制图?

我是GL的新手,想创建一个平铺map作为自学教程。我想创建一个小的(可能是7个六角宽/高)六角形map。我的第一个想法是创建一个方法来绘制一个六角形,然后转换适当的偏移量并放置新的六角形。但这似乎并不有效。有任何想法吗?还有一个附带问题,我如何确定MotionEvent是否在给定十六进制的范围内? 最佳答案 Extensivehexgridinformation. 关于android-如何在opengl中递归绘制十六进制图?,我们在StackOverflow上找到一个类似的问题:

android ffmpeg opengl es 渲染电影

我正在尝试通过NDK渲染视频,以添加一些sdk不支持的功能。我正在使用FFmpeg解码视频并可以通过ndk进行编译,并使用this作为起点。我已经修改了那个例子,而不是使用glDrawTexiOES来绘制纹理,我设置了一些顶点并在其上渲染纹理(opengles渲染四边形的方式)。下面是我正在做的渲染,但是创建glTexImage2D很慢。我想知道是否有任何方法可以加快速度,或者给出加速的外观,例如尝试在背景中设置一些纹理并渲染预设置纹理。或者是否有任何其他方法可以更快地将视频帧绘制到android屏幕上?目前我只能获得大约12fps。glClear(GL_COLOR_BUFFER_BI

android - 是否可以使用 OpenGL 在 RGB888 中进行渲染?

我已经在各种设备上使用Android上的OpenGL玩了一段时间。除非我错了,否则默认渲染始终使用RGB565像素格式执行。不过,我想使用RGB888渲染更准确的颜色。GLSurfaceView文档提到了两种与像素格式相关的方法:setFormat()SurfaceHolder公开的方法,由SurfaceView.getHolder()返回GLSurfaceView.setEGLConfigChooser()方法族除非我错了,否则我认为我只需要使用后者。还是使用SurfaceHolder.setFormat()在这里相关?EGLConfigChooser的文档类提及EGL10.eglC

android - 在 OpenGL android 中设置背景

我是OpenGL编程的新手。我制作了一个旋转立方体,立方体的不同面上有不同的图像。我想为屏幕设置背景。任何帮助将不胜感激。 最佳答案 绘制一个覆盖整个视口(viewport)的纹理四边形。为此,将投影和模型View切换为标识并禁用深度测试。投影和模型View是身份顶点坐标[-1…1]将覆盖整个视口(viewport)。在代码中:glViewport(0,0,width,height);glMatrixMode(GL_PROJECTION);glLoadIdentity();glMatrixMode(GL_MODELVIEW);glL

android - 在 OpenGL ES 中放大/缩小

我想学习如何进行放大和缩小。这是一个旋转的2D三角形的简单示例。您能告诉我如何向这个简单示例添加放大和缩小功能吗?我应该使用gl.glScalef吗?如何?publicclassGLrendererimplementsRenderer{publicGLqueuetri;privatefloatangle=0;publicGLrenderer(){tri=newGLqueue();}@OverridepublicvoidonSurfaceCreated(GL10gl,EGLConfigeglConfig){//TODOAuto-generatedmethodstubgl.glDisabl

android - 如何将 int 数组传递到 Android OpenGl fragment 着色器

一般来说,我对OpenGl和着色器还很陌生。我想在fragment着色器中使用我的java代码中的静态int数组来操纵相机的颜色。有没有办法将我的int数组传递给着色器,或者只是让着色器能够以某种方式访问​​我的数组?谢谢,迈克 最佳答案 在着色器代码中使用所谓的静态数组的正确方法是将其作为Uniform传递:http://www.opengl.org/wiki/GLAPI/glUniform在您的着色器代码中,您指定需要一个外部数组:uniformintcolors[3];//Specifyanarrayof3integers在你

空对象引用上的 android.opengl.GLSurfaceView$GLThread.surfaceCreated()'

我正在尝试使用GLSurface来显示自定义View。我的xml我的主要packagenet.letsense.matrixtest;importandroid.app.Activity;importandroid.opengl.GLSurfaceView;importandroid.os.Bundle;/***Createdbyborislegovicon03/11/2017.*/publicclassMainextendsActivity{privateintmPositionHandle;privateintmColorHandle;privateGLSurfaceViewmGL

java - 如何在 OpenGL ES 中加载和绑定(bind)纹理?

所以,我的res/drawable-hdpi(例如text.png)文件夹中有一个纹理,我如何加载这个纹理并将其与glBindTexture绑定(bind)? 最佳答案 Bitmapimg=BitmapFactory.decodeResource(context.getResources(),R.drawable.text);int[]texId=newint[1];GLES20.glGenTextures(1,texId,0);GLES20.glBindTexture(GLES20.GL_TEXTURE_2D,texId[0]);

android - Android 上 OpenGL ES 2.0 的文档在哪里?

我唯一能找到OpenGLES2.0forandroid文档的地方是https://developer.android.com/reference/android/opengl/GLES20.html和他们的教程网站。我在哪里可以找到解释GLES20方法作用的api?当前的api只是列出它们,没有任何解释。我进行了几次互联网搜索,但都没有成功。 最佳答案 OpenGLES由KhronosGroup管理,文档可以在他们的网站上找到:http://www.khronos.org/opengles/sdk/docs/man/它可能不是特定于