要想在OpenGL中绘图,首先要创建一个窗口,后面的模型就绘制在这个窗口上。
1 导入库
建立一个py文件,然后导出GLFW和GL的库:
import glfw
from OpenGL.GL import *
2 初始化GLFW
若使用GLFW,则首先需要初始化GLFW:
if not glfw.init():
raise Exception("glfw can not be initialized!")
glfw.init()函数用于初始化GLFW,在调用大部分其它GLFW函数前,都需要初始化GLFW。glfw.init()如果成功,将会返回GLFW_TRUE,否则返回GLFW_FALSE,其中GLFW_TRUE和GLFW_FALSE是GLFW定义的常量,被定义为于1和0。
若初始化失败,则会输出:glfw can not be initialized!
3 设置关于窗口的选项
使用glfw.window_hint()函数设置hint,这里hint可以理解为一些关于窗口的选项。glfw.window_hint()接受两个参数,第一个是我们要设置的hint的名字,使用GLFW常量(以 glfw.开头)指定;第二个是我们要把该hint设置成的值,该值随要设置的hint而异。
glfw.window_hint(glfw.CONTEXT_VERSION_MAJOR, 3) # OpenGL主版本号
glfw.window_hint(glfw.CONTEXT_VERSION_MINOR, 3) # OpenGL副版本号
glfw.window_hint(glfw.OPENGL_PROFILE, glfw.OPENGL_CORE_PROFILE) # OpenGL模式,此处设置为OpenGL核心模式
glfw.window_hint(glfw.OPENGL_FORWARD_COMPAT, True)
# 4 MSAA is a good default with wide support
glfw.window_hint(glfw.

本文详细介绍了如何使用Python和GLFW库在OpenGL环境中创建一个基本的窗口,并设置了OpenGL上下文,包括版本号和模式,以及窗口的尺寸和位置。通过游戏循环实现了窗口的持续渲染和事件监听。
最低0.47元/天 解锁文章
609

被折叠的 条评论
为什么被折叠?



