Python 3.x 是否有算法将图像细分为更小的三角形以供opengl渲染?

Python 3.x 是否有算法将图像细分为更小的三角形以供opengl渲染?,python-3.x,opengl,graphics,3d,pyopengl,Python 3.x,Opengl,Graphics,3d,Pyopengl,我正在尝试构建一个单人房间(第一人称),您可以使用opengl在python中漫游 到目前为止,我基本上对python代码进行了细微的修改,我想在房间中放置几个聚焦光源,并根据图像渲染墙壁。直接这样做是行不通的,因为据我所知,糟糕的镶嵌会影响照明 为了解决这个问题,我想将我房间的墙壁(目前有两个三角形)细分为更多的小三角形。 我正在寻找的是一种算法,它将进一步细分当前构成我房间墙壁的三角形,告诉我较小三角形的边在哪里以及如何偏移纹理。我假设这个算法存在,但我对这种编程是新手,所以不知道从哪里开始

我正在尝试构建一个单人房间(第一人称),您可以使用opengl在python中漫游

到目前为止,我基本上对python代码进行了细微的修改,我想在房间中放置几个聚焦光源,并根据图像渲染墙壁。直接这样做是行不通的,因为据我所知,糟糕的镶嵌会影响照明

为了解决这个问题,我想将我房间的墙壁(目前有两个三角形)细分为更多的小三角形。
我正在寻找的是一种算法,它将进一步细分当前构成我房间墙壁的三角形,告诉我较小三角形的边在哪里以及如何偏移纹理。我假设这个算法存在,但我对这种编程是新手,所以不知道从哪里开始,

你不需要再这样做了。。。使用GLSL着色器将消除过度细分网格的需要(这会影响性能)。因为着色器可以基于每个片段(像素)而不是每个顶点计算照明。。。如果你仍然想做这个简单的几何体着色器可以分割成较小的三角形到一些限制。。。在CPU端代码没有任何变化的情况下,快速查看GLSL着色器似乎比简单地打开和关闭它们要复杂得多。还是我错了?我是在绘制多边形之前将其应用为类似“glShadeModel(GL_平滑)”的内容,还是完全不同的内容?抱歉,这个问题可能很幼稚,但我对这个问题很陌生…看看这个你只需加载/编译/链接一次,然后在渲染之前
glUseProgram(id)
。。。glBeging/glEnd或glDraw。。。您可以在兼容模式下结合旧api和GLSL以及旧版本。。。新api(核心配置文件)需要VAO/VBO。不是用Python编码,但肯定有一些着色器包支持您这样做……简而言之,您想要的是覆盖片段着色器。对于场景的每个渲染“像素”,都会调用它,知道它在世界中的位置、屏幕、纹理以及输出的颜色和深度。。。所以你需要向它传递额外的信息,比如灯在哪里等等。。。为此,您使用统一变量。。。