Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将顶点从MainActivity发送到OpenGL ES Android中的渲染器_Android_Opengl Es_Renderer - Fatal编程技术网

将顶点从MainActivity发送到OpenGL ES Android中的渲染器

将顶点从MainActivity发送到OpenGL ES Android中的渲染器,android,opengl-es,renderer,Android,Opengl Es,Renderer,我正在尝试编写一个使用OpenGL的Android应用程序。我想要的是,将顶点从MainActivity发送到渲染器,然后在GLSurfaceView上渲染这些顶点。这可能吗?我该怎么做呢?当然有可能。从一个普通的OpenGL应用程序开始。 如果你以前从来没有建造过这样的东西,你至少应该阅读前四章。 运行该命令后,您可以从几乎所有您喜欢的地方更新渲染对象。在这一点上,您应该开始考虑最好的数据结构。你不想自己画顶点,对吗?你可能想画一些形状?因此,您只需操作一个对象列表,您的GLRenderer实

我正在尝试编写一个使用OpenGL的Android应用程序。我想要的是,将顶点从MainActivity发送到渲染器,然后在GLSurfaceView上渲染这些顶点。这可能吗?我该怎么做呢?

当然有可能。从一个普通的OpenGL应用程序开始。 如果你以前从来没有建造过这样的东西,你至少应该阅读前四章。
运行该命令后,您可以从几乎所有您喜欢的地方更新渲染对象。在这一点上,您应该开始考虑最好的数据结构。你不想自己画顶点,对吗?你可能想画一些形状?因此,您只需操作一个对象列表,您的GLRenderer实例就会继续绘制它们

事情并不是这么简单。只能从具有当前OpenGL上下文的线程进行OpenGL调用。因此,除非创建其他上下文,否则无法从渲染线程外部直接构造/修改OpenGL对象。具体问题是什么?也许可以从我的链接中阅读教程的第6部分。我构建了应用程序作为您的链接。但它不考虑我的问题。我想从MainActivity发送顶点,而不是在ShapeClass中定义它,例如:Trianglei而不是在渲染器上调用setAngle,您可以提供任何类型的数据结构,例如顶点列表。使用该列表可更新从中绘制的缓冲区。使用标志跟踪需要在onDraw中完成的GL调用。如果需要,将顶点数据上载到GPU。您仍然没有解释要以何种方式渲染顶点。点,线,三角形。。。?顶点是一个坐标,实际上没有可视形状。具体情况有所不同,但此问题/答案显示了一种方法,说明如何从UI线程启动渲染更改:。