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时表示向量。点可以平移同时向量不可以。

九、

四、