Python之OpenGL学习笔记摘要
一、窗口工具包GLFW安装
OpenGL Open Graphics Library
PyOpenGL库函数
GLFW Python窗口工具包
注:代码另存
二、现代OpenGL编程常用几个通用函数
三维几何图形定义(VBO等) 通过定义在三维空间中三角形的顶点,并指定每个顶点相关联颜色,定义三维几何图形
顶点着色器 变换顶点,第一次变换将顶点放在三维空间中;第二次变换将三维坐标投影到二维空间。(坐标转换)
光栅化 几何物体转化为像素
片段着色器 作用于光栅化后的二维像素
帧缓冲区操作 深度缓冲区检验(检查一片段是否遮住另一片段);混合(用透明度混合两个片段)
帧缓冲区
加载图像作纹理的函数 loadTexture(filename)
三、用OpenGL画第一个三角形程序解析
OpenGL目的 大部分工作都是关于把3D坐标系转变为适应屏幕的2D(坐标系)像素,由Graphics Pipeline作用,见上一节。
Graphics Pipeline 显卡上并行运行,应用Shader(着色器)。
顶点坐标值在-1.0和1.0之间 光栅器将坐标映射到屏幕空间,举例,屏幕宽度为1024,坐标-1映射到0,坐标1映射到1023。
sample 画三角形
七、缩放变换
增大或缩小物体尺寸。
对于三维空间上的点,使用4阶方阵的形式表示缩放变换。
glUniform1f(glGetUniformLocation(self.program,"scale"),scale)将变化的值赋给GLSL程序中scale变量。
八、平移变换
同理,使用四阶方阵表示平移变换。
使用四维向量表示三维向量的做法称为齐次坐标,向量的第四个分量称为“w”。该分量在将3D场景投影到2D平面时起重要作用。
w=1时表示点,w=0时表示向量。点可以平移同时向量不可以。
九、
四、