OpenGL es 2中的顶点。Android的Java
我遵循教程,学习OpenGLES2.0。 这些信息(加上许多其他教程)让我明白了这一点:顶点必须在数组中声明,数组必须通过FloatBuffer操作发送到GPU内存,openGL必须从中提取它们。OpenGL es 2中的顶点。Android的Java,java,android,opengl-es,Java,Android,Opengl Es,我遵循教程,学习OpenGLES2.0。 这些信息(加上许多其他教程)让我明白了这一点:顶点必须在数组中声明,数组必须通过FloatBuffer操作发送到GPU内存,openGL必须从中提取它们。 下面的内容对我来说有点模糊。问题是:一旦顶点存在(在gpu内存中),java程序的哪一部分用来提取这些数据?着色器和片段代码?vertexattrib数组命令?OpenGL在非常基本的级别上工作的方式,在发出绘图调用之前不会发生太多事情,如glDrawArray或glDrawElements。大多数其
下面的内容对我来说有点模糊。问题是:一旦顶点存在(在gpu内存中),java程序的哪一部分用来提取这些数据?着色器和片段代码?vertexattrib数组命令?OpenGL在非常基本的级别上工作的方式,在发出绘图调用之前不会发生太多事情,如
glDrawArray
或glDrawElements
。大多数其他调用只是设置draw调用将使用的状态。国家最重要的部分是你已经看到的:
和相关调用用于指定用于绘制调用的顶点数据glvertexattributearray
,以及在此之前用于构建程序的所有调用,指定将为绘制调用运行哪些着色器glUseProgram
- 固定功能单元根据您使用
和相关调用设置的状态获取顶点数据,并将该数据提供给顶点着色器glvertexattributearray
- 设置的顶点着色器在其
变量中接收该顶点数据,并对其进行处理属性
- 顶点着色器生成的已处理顶点由固定的功能单元光栅化,该功能单元决定需要渲染哪些像素
- 这些像素(也称为片段)被送入片段着色器
- 设置的片段着色器处理这些片段,并输出片段的颜色
- 片段着色器生成的颜色将写入帧缓冲区