Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.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
Python 如何提高以下代码的性能? glBegin(GL_三角形) 对于面中的面: 对于面中的顶点_i: glVertex3f(*顶点[顶点i]) 格伦德()_Python_Performance_For Loop_Opengl_Pyopengl - Fatal编程技术网

Python 如何提高以下代码的性能? glBegin(GL_三角形) 对于面中的面: 对于面中的顶点_i: glVertex3f(*顶点[顶点i]) 格伦德()

Python 如何提高以下代码的性能? glBegin(GL_三角形) 对于面中的面: 对于面中的顶点_i: glVertex3f(*顶点[顶点i]) 格伦德(),python,performance,for-loop,opengl,pyopengl,Python,Performance,For Loop,Opengl,Pyopengl,有没有办法用更有效的函数/方法替换双for循环?是的,您可以使用固定函数属性并定义顶点数据数组/。在这种情况下,您可以通过绘制三角形。 索引必须是三角形索引的数组和顶点数组以及坐标分量的数组。例如: 初始化时: vertexarray=[c代表v,c代表v,c代表v] 指数=[i代表f,i代表f] 每帧: glvertexinter(3,GL\u浮点,0,顶点阵列) glEnableClientState(GL_顶点_数组) GLD元素(GL_三角形、len(索引)、GL_无符号整数、索引)

有没有办法用更有效的函数/方法替换双for循环?

是的,您可以使用固定函数属性并定义顶点数据数组/。在这种情况下,您可以通过绘制三角形。
索引
必须是三角形索引的数组和
顶点数组
以及坐标分量的数组。例如:

初始化时:

vertexarray=[c代表v,c代表v,c代表v]
指数=[i代表f,i代表f]
每帧:

glvertexinter(3,GL\u浮点,0,顶点阵列)
glEnableClientState(GL_顶点_数组)
GLD元素(GL_三角形、len(索引)、GL_无符号整数、索引)
glDisableClientState(GL_顶点_数组)

或者,您可以使用

导入numpy
vertexarray=numpy.array(顶点,dtype=numpy.float)
索引=numpy.array(面,数据类型=numpy.uint32)
glvertexinter(3,GL\u浮点,0,顶点阵列)
glEnableClientState(GL_顶点_数组)
GLD元素(GL_三角形、索引.size、GL_无符号整数、索引)
glDisableClientState(GL_顶点_数组)
请阅读并考虑你发现最有用的东西。