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

       两者交替在屏幕显示

  • 相关阅读:
    JS 变量的作用域
    清理网站缓存的几种方法
    C# 将程序添加到启动项 (写入注册表),及从启动项中删除
    EasyUI iconCls
    JQuery Easy Ui dataGrid 数据表格
    datatable转换为json
    Web window.print() 打印
    用js使得输入框input只能输入数字
    隐藏或删除指定的html元素
    使用Asponse.Cell解决Excel科学计数法问题
  • 原文地址:https://www.cnblogs.com/fws94/p/9989768.html
Copyright © 2011-2022 走看看