python - 如何在 PyOpenGL 中将纹理应用于金字塔
问题描述
我不明白如何在 PyOpenGL 中纹理这个金字塔。我尝试按照指南做所有事情,但结果只是用一种颜色绘制所有内容,但我需要使用 png 纹理。我的代码是:
import pygame
from OpenGL import GL, GLU
verticies = (
(-1, -1, -1),
(-1, -1, 1),
(1, -1, 1),
(1, -1, -1),
(0, 1, 0),
)
edges = ((0, 1), (0, 3), (2, 3), (2, 1), (0, 4), (1, 4), (2, 4), (3, 4))
def Cube():
GL.glBegin(GL.GL_TRIANGLE_STRIP)
for edge in edges:
for vertex in edge:
GL.glVertex3fv(verticies[vertex])
GL.glEnd()
def main():
pygame.init()
display = (800, 600)
pygame.display.set_mode(display, pygame.DOUBLEBUF | pygame.OPENGL)
GLU.gluPerspective(45, (display[0] / display[1]), 0.1, 50)
GL.glTranslatef(0, 0, -5)
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
GL.glRotatef(1, 0, 1, 0)
GL.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT)
Cube()
pygame.display.flip()
pygame.time.wait(10)
main()
你能解释一下如何做到这一点吗?
解决方案
推荐阅读
- gitlab - 如何在gitlab中有条件地执行阶段
- css - 如何修改 firebase 为我提供的身份验证按钮的默认 css / 样式?
- c - 如何将 lsusb 设备的结果链接到 /dev/ttyUSB*
- java - Whitelabel 错误页面 - Spring Boot 应用程序中的错误
- docker - 如何对 docker-compose up 进行逆向工程?
- solr - 当我编译lucene-solr时,使用“ant idea”配置IntelliJ,得到如下错误:
- visual-studio - 撇号打破 .ini 文件中的语法高亮显示
- c# - 数据网格中的 ContentControl 与 Style.Trigger 消失
- c# - C# 中工作人员(代理)数量有限的进程列表(网站)
- asp.net-core - .NET Core 2.2 发出身份验证 cookie 但无法识别