zoukankan      html  css  js  c++  java
  • 「UnityShader入门精要」第二章 渲染流水线

    2.3 GPU流水线

    2.3.2 顶点着色器

      输入来自于CPU,处理顶点数据。输入的每个顶点都会调用一次顶点着色器,所以每次都是对单个顶点进行运算。

      主要任务:坐标变换、逐顶点光照。

      坐标变换:修改顶点的位置,例如模拟水面波纹效果、果冻效果等。

    必须完成的工作,把顶点坐标从模型空间转换到齐次裁剪空间。

    常见的如:o.pos = mul(UNITY_MVP, v.position);

    2.3.3 裁剪

      摄像机视野有限,视野外的物体不需要被处理,可以直接裁剪掉。

    2.3.4 屏幕映射

      将单位立方体内的三维坐标转换到二维屏幕坐标,与分辨率有较大关系。

    2.3.5 三角形设置

       将网格点连成线,计算得到三角形网格。

    2.3.6 三角形遍历

      计算每个像素是否被三角网格覆盖,覆盖则生成片元。

    2.3.7 片元着色器

      输入:上一个阶段(顶点着色器)对顶点信息插值的结果

      输出:一个或多个颜色值

      渲染技术:纹理采样

    2.3.8 逐片元操作

      1.决定每个片元的可见性,例如,深度测试、模版测试

      2.将通过测试的片元颜色值与缓冲区内的颜色进行混合

      3.混合,不透明物体直接覆盖原缓冲区的像素值,透明物体与原缓冲区像素值进行混合。

    2.4 一些容易困惑的地方

    2.4.3 什么是Draw Call

      CPU调用图像编程接口命令GPU进行渲染的操作,Draw Call多了导致CPU大量执行重复的命令而过载,掉帧。

  • 相关阅读:
    MySQL的语句执行顺序
    linux 常用命令
    scala 样例类转json字符串
    Hadoop之——HDFS的RPC机制
    Hadoop之——机架感知配置
    hadoop-2.6.0-cdh5.14.0 集群高可用搭建
    spark 运行在YARN上参数配置
    日志框架SLF4J和log4j以及logback的联系和区别
    spark的rdd.saveastextfile可以追加写入hdfs同一个文件吗?
    ojdbc14-10.2.0.1.0 jar包下载
  • 原文地址:https://www.cnblogs.com/777777-716/p/5661947.html
Copyright © 2011-2022 走看看