zoukankan      html  css  js  c++  java
  • LearnOpenGL Note 1.基础

    本系列中使用 GLFW(GL Framework) 和 GLEW(包含大量函数指针)来完成 OpenGL 程序。

    一个顶点在呈现为像素之前经历的过程称为渲染管线,在此通常包含六个主要步骤:Vertex Shader, Shape Assembly, Geometry Shader, Rasterization, Fragment Shader, Tests and Blending。

    传输顶点数据的过程中,我们将数据传送到一个 VAO 上,建立关联的 VBO 和 EBO 并分别将顶点数据和索引数据传输到其上,并通过 VAP 的设置来标识如何解析这些顶点数据。

    通常我们需要自定义 Vertex Shader 和 Fragment Shader,我们将其分别写在两个文件中,并通过预先编写的 Shader 类加载、编译、链接、使用。着色器采用 GLSL 语言写成,其支持基本数据类型以及向量和矩阵,其灵活的语法可以对分量进行自由地组合。着色器有 in,out,uniform,其中 uniform 是可以在任意位置直接访问和修改的,通常用于主程序向 Shader 传递参数,例如在三维透视系统中我们可以将 MVP 矩阵传递给着色器,由着色器来完成矩乘运算。

    加载贴图的过程中,我们借助了 SOIL 库来完成图像的读取,然后设置一些属性并生成 Mipmap。

    GLM 库中包含了大量的 3D 相关的数学运算,我们可以用它来进行各种矩阵向量运算,以及根据参数生成 MVP 矩阵等。

    通常在渲染三维场景的过程中,可能会出现五种坐标系统:Local, World, View, Clip, Screen,其间的 4 个过渡矩阵分别是 Model, View, Projection, Viewport。摄像机的描述属于基础三维向量应用在此不做赘述。

  • 相关阅读:
    Aster寻路算法1(转)
    谈谈项目纵向项目验收
    要有兴趣
    用c# 操作 文件的方法
    使用ACT进行测试
    Generated servlet error: keyword cannot be resolved or is not a type
    米尔顿艾瑞克森的催眠引导词
    c# webcliend 来制作 网页搜捕器
    网页木马的解决方案
    用Swing实现数据表格功能
  • 原文地址:https://www.cnblogs.com/mollnn/p/14724292.html
Copyright © 2011-2022 走看看