
UnityShader入门精要
文章平均质量分 72
nikoong
宇宙再宏阔,真理共微尘一色
展开
-
Unity Shader 透明效果
透明效果导言每个片元除了颜色值和深度值之外,它还有一个透明度属性。当透明度为1时,表示该像素是完全不透明的,而当其为0时,则该像素完全不会显示。一、基本方法Unity实现透明效果,通常有两种方法:透明度测试,它的机制是简单粗暴的。只要一个片元的透明度不满足条件(通常指小于某个阈值),那么它对应的片元就不会再进行任何处理,也不会对颜色缓存产生影响。否则,就会按照普通的不透明物体的处理方式来处理它。这种方式无法得到半透明效果。透明度混合,这种方法可以得到半透明的效果。它使用当前片元的透明度作为混合原创 2021-03-24 10:30:56 · 443 阅读 · 0 评论 -
Unity 基础纹理
第七章 基础纹理导言在OpenGL里,纹理空间的原点位于左下角,而在DirectX中,原点位于左上角。Unity中使用的纹理空间是符合OpenGL的传统的,位于纹理左下角。一、单张纹理通常使用一张纹理来代替物体的漫反射颜色。纹理导入面板Filter Mode ,代表纹理拉伸时的滤波模式,支持3种模式: Point、Bilinear、Trilinear;效果依次增加。纹理缩小时,多个像素将会对应一个目标像素。我们往往需要处理抗锯齿问题。一个最常用的方法是使用多级渐远纹理(mipmapping)原创 2021-03-24 10:28:43 · 1780 阅读 · 0 评论 -
Unity 基础光照
Unity 里的基础光照一、基础概念高光反射:表示物体表面是如何反射光线的;漫反射:表示光线会被折射、吸收和散射出表面;着色:根据材质属性,光源信息,使用一个等式去计算沿某个观察方向的出射度过程。这个等式也称为光照模型;BRDF(Bidirectional Reflectance Distribution Function):双向反射分布函数,是一类定义光线在不透明表面反射的四元函数。给定一个光线入射方向,得到出射光线分布。标准光照模型:只关心直接光照。将进入到摄像机内的光线原创 2021-03-24 10:27:07 · 228 阅读 · 0 评论 -
开始 Unity Shader 学习之旅
第五章 开始 Unity Shader 学习之旅一、最简单的顶点/片元着色器语义:一个赋给shader输入和输出的字符串,这个字符串表达了这个参数的含义。通俗地讲,这些语义可以让shader知道从哪里读取数据,并把数据输出到哪里。二、调试方法假彩色图像。把需要调试的变量映射到 [0, 1] 之间,把它们作为图像输出到屏幕上,通过屏幕显示的像素判断值是否正确Visual Studio的 Graphics Debugger :可以单步调试Frame Debugger:可以查看渲染该帧时进行的各种渲原创 2021-03-24 10:23:58 · 110 阅读 · 0 评论 -
Unity Shader基础
第三章 Unity Shader基础一对好兄弟:材质和Unity Shader在Unity中需要配合材质和 Unity Shader 才能达到需要的效果。Unity Shader定义了渲染所需的各种代码(如顶点着色器和片元着色器)、属性和指令,而材质则允许我们调节这些属性,并将其最终赋给相应的模型。为什么会有材质呢?对于美术人员来说,材质是他们十分熟悉的一种事物。Unity的材质和许多建模软件如(Cinema 4D、 Maya等)中提供的材质功能类似,它们都提供了一个面板来调整材质的各个参数。Unit原创 2021-03-24 10:23:32 · 204 阅读 · 0 评论 -
什么是渲染流水线
第二章 什么是渲染流水线一、渲染流水线的三个概念阶段我们对渲染流水线进行基本的功能划分,可以将流水线分成三个阶段。注意这里的阶段只是单纯的概念,不是实际硬件实现方式。应用阶段本阶段由我们的应用主导,因此通常是由CPU负责实现。开发者具有这个阶段的绝对控制权。主要有三个任务:准备好场景数据,例如摄像机的位置、视锥体、场景中包含了哪些模型、使用了哪些光源等等;为了提高渲染性能,我们往往需要做一个粗粒度剔除(culling)工作,把不可见的物体剔除出去。不需要移交给下一阶段处理;需要设置好每原创 2021-03-24 10:20:42 · 561 阅读 · 0 评论