OpenGL学习

一、OpenGL的基本语法

  1.VBO : Vertex Buffer Object  --->顶点缓冲对象,这个是用来存储大量顶点

  2.VAO:Vertex Array Object  --->顶点数组对象

  3.IBO : Index Buffer Object ----->索引缓冲对象

二、OpenGL的基本使用方法

  1.获取顶点/片元着色器的编译来源

       

  2.编译顶点/片元着色器

        

  3.创建程序对象

  

三、纹理过滤

  1.GL_REAREST : 会产生颗粒状的图案,我们能够清晰看到纹理的图像,适合图片放大

  2.GL_LINEAR :  产生平滑的图案,很难看出单个纹理的图像,适合图片缩小

四、多级渐远纹理 Mipmap

五、生成纹理的过程

  

  图片混合注意事项:PNG是四个通道,需要使用RGBA   JPG是三通道的,需要使用RGB

六、CPU和GPU交互的基本流程:Shader、Program两个的创建

  

七、顶点传入着色器

      

  

  VAO:最终传递给GPU的数据,它是VBO的集合

  

  EBO:用来记录VOB的索引,从而绘制想要的图形

  

   

   纹理的创建和处理

  

    

   

八、基本常见光照

  纹理、光照、材质、颜色、光照贴图、漫反射贴图、镜面光贴图

  1.漫反射->法线贴图 normalize() : 归一化

  2.材质=环境光照+漫反射光照+镜面光照

  3. 环境光照(Ambient Lighting):即使在黑暗的情况下,世界上通常也仍然有一些光亮(月亮、远处的光),所以物体几乎永远不会是完全黑暗的。为了模拟这个,我们会使用一个环境光照常量,它永远会给物体一些颜色。

   漫反射光照(Diffuse Lighting):模拟光源对物体的方向性影响(Directional Impact)。它是冯氏光照模型中视觉上最显著的分量。物体的某一部分越是正对着光源,它就会越亮。

   镜面光照(Specular Lighting):模拟有光泽物体上面出现的亮点。镜面光照的颜色相比于物体的颜色会更倾向于光的颜色。

   

  

  

原文地址:https://www.cnblogs.com/liunx1109/p/13726716.html