zoukankan      html  css  js  c++  java
  • OpenGL3:先导篇 渲染管线

    一.简介

    从OpenG的几何图元 (点 线 三角形构建) 中设置数据,用于构建形状

    光栅化:将输入图元的数学描述转换为与屏幕位置对应的像素片元(fragment)

    将光栅化产生的每个片元执行片元着色器(fragment shader),从而决定片元的颜色和位置

    着色器是用来给GPU(图形处理单元)编译的一种小型程序(一小段代码)

    OpenGL中会用到四种着色阶段(shader stage),其中顶点着色器和片元着色器是必须的,细分着色器和几何着色器是可选的

    顶点着色器:用于处理顶点数据

    细分着色器:

    几何着色器:

    片元着色器:用于处理光栅化后的片元数据

    渲染管线分为固定渲染管线和可编程渲染管线,可编程渲染管线是由着色器(shader)来完成的

    因为 OpenGL的4.x版本去掉了固定渲染管线,所以OpenGL的渲染都必须有着色器

    OpenGL 的渲染管线可以分为9个步骤 : 顶点数据(Vertices) -> 顶点着色器(Vertex Shader) -> 图元装配(Assembly) -> 几何着色器(Geometry Shader) -> 光栅化(Rasterization) ->片段着色器(Fragment Shader) ->逐片段处理(Per-Fragment Operations) ->帧缓冲(FrameBuffer) ->双缓存交换(SwapBuffer)

    二.几何变换

    glRotate()

    glTranslate()

    glScale()

    三.投影变换

    glOrtho()

    glOrtho2D()

    gluPerspective()

    glFrustum() 

    四.裁剪变换

    glClipPlan()

    五.视区变换

    glViewport()

  • 相关阅读:
    C# WinForm开发系列
    C# Tcp协议收发数据(TCPClient发,Socket收)
    Tcpclient简单聊天程序
    大白话系列之C#委托与事件讲解大结局
    大白话系列之C#委托与事件讲解(三)
    poj3009
    poj 3083
    poj 2488
    POJ 3320
    poj 3061
  • 原文地址:https://www.cnblogs.com/k5bg/p/11174940.html
Copyright © 2011-2022 走看看