当前位置: 首页 > article >正文

Unity Shader学习日记 part 1 基础知识

开始记录shader的学习,写的就比较简洁了

渲染管线

        简而言之,渲染其实就是将一系列的数据分阶段转为屏幕图像的过程

而这里的数据就是指一些顶点,纹理,光照等等的相关数据,那么在这个的渲染过程中,数据的处理是分成了三个阶段,分别是应用阶段,几何阶段,光栅化阶段。接下来分别来看看这三个阶段。

应用阶段 

        应用阶段由cpu主导,通过cpu将需要的数据转递给gpu,这些数据会用于后续的阶段

需要了解的是,cpu通知gpu的操作,是DrawCall。在DrallCall过多时出现的性能瓶颈是由cpu造成的,这一问题可以通过批处理技术优化。

几何阶段

        图元:几何数据的基本单元,包括点,线,三角形。

        几何阶段主要是对顶点处理,进行一系列的坐标转换,并且裁剪画面以外的图元。在这个阶段中需要注意顶点着色器,他是完全可编程的,主要做一些坐标转换,顶点属性处理,顶点插值等等。

光栅化阶段

        在这个阶段,主要是根据上一个阶段输入的数据计算每一个图元所覆盖的像素,并且为这些像素进行颜色计算等工作。说白了,就是确定那些像素显示什么颜色。同样的,这个阶段中的片元着色器同样的完全可编程的,他主要做一些光照计算,纹理映射,材质属性处理,阴影计算等等

主要记录一些渲染的基础知识,后面开始更矩阵相关的知识。


http://www.kler.cn/a/448513.html

相关文章:

  • 数据库管理系统——数据库设计
  • Android 蓝牙Bluedroid线程池设计思路介绍
  • Activiti开启流程实例
  • 深度学习的DataLoader是什么数据类型,为什么不可用来索引
  • linux 中文输入法设置的宏观思路 (****)
  • 拆解一个微型气泵了解工作原理
  • 广义正态分布优化算法(GNDO)Generalized Normal Distribution Optimization
  • LeetCode 力扣 热题 100道(二十)三数之和(C++)
  • Unity 6 Preview(预览版)新增功能
  • windows下srs流媒体服务器使用ffmpeg推流
  • 鸿蒙项目云捐助第十八讲云捐助我的页面下半部分的实现
  • c# iis 解决跨域问题
  • 对象克隆与单例模式的实现
  • 硬件工程师面试题 11-20
  • 【WRF教程第3.6期】预处理系统 WPS 详解:以4.5版本为例
  • 使用插件时要注意
  • C语言——实现字符分类统计
  • Linux 使用的小细节
  • Webpack简单介绍及安装
  • 深度学习试题及答案解析(二)
  • 【ETCD】【实操篇(三)】【ETCDCTL】如何向集群中写入数据
  • LeetCode 583. 两个字符串的删除操作 java题解
  • KAFKA消費數據的三種方式
  • vue3项目中遇到的问题及解决方案
  • 信奥赛四种算法描述
  • Saprk和Flink的区别