zoukankan      html  css  js  c++  java
  • Shader基础之渲染流程

    本文记录Shader将模型顶点渲染到屏幕上的流程及流程简介

    流程:

    顶点着色器->光栅化->片段着色器

    ->alpha测试->模板测试->深度测试

    ->Blend Gbuffer->front buffer->frame buffer

    ->显示器

    1.顶点着色器

    (1)计算顶点的颜色

    (2)将顶点由物体坐标系变换到相机坐标系

    2.光栅化

        将顶点转换成像素   

     (既,四个顶点,用差值转换成为一个像素面)

       如(0,0,0)(0,100,0)(100,0,0)(100,100,0)四个顶点,那么转化成为像素后,就是100*100个像素

    3.片段着色器(也叫 片元着色器)

    (1)纹理采样  从纹理中将像素值赋给对应像素

    (2)像素跟灯光计算(逐片元计算)

    (如上4个点,顶点着色器会计算4次,经过光栅化后,片段着色器会计算100*100次,所以,运算优先放在顶点着色器)

    4.三次测试

        alpha测试:挑选合格的像素显示(例如Shader设置了像素值范围)

        模板测试:挑选合格的像素显示(像素不止携带了RGBA信息,还有模板信息)

        深度测试:挑选合格的像素显示(例如,远距离的像素被近距离的像素遮挡,那远距离的像素则不显示)

    5.Blend

        将当前要渲染的像素和意境渲染的像素进行混合运算

    6.Gbuffer

        中转、暂存 (包括RGBA,模板值,深度值等)

    7.front buffer和frame buffer

       两者交替在屏幕显示

  • 相关阅读:
    Eclipse 修改编码方式
    mybits like查询写法
    Cannot convert value '0000-00-00 00:00:00' TIMESTAMP
    Homebrew简介和基本使用
    linux命令学习之:vim
    log4j配置详解
    log4j日志配置(按天/按日)
    Linux下tar.gz、tar、bz2、zip等解压缩、压缩命令小结(转)
    Linux挂载磁盘
    linux命令学习之:echo
  • 原文地址:https://www.cnblogs.com/fws94/p/9989768.html
Copyright © 2011-2022 走看看