UnityShader
系着蝴蝶结的猫77
这个作者很懒,什么都没留下…
展开
-
UnityShader学习之旅 -- 表面着色器
表面着色器与顶点/片元区别CG代码是直接而且必须写在subshader块中,unity会在背后生成多个Pass, CG中定义表面着色器的具体代码结构两个结构体、编译指令工作原理1.surfaceFunc它将您需要的所有 UV 或数据作为输入,并填充输出结构 SurfaceOutput 2.表面着色器编译器随后计算出需要的输入、填充的输出等等,并生成实际的顶点和像素着色器以及渲染通道来处理前向和延迟渲染特点生成的表面着色器代码会尝试处理所有可能的光照/阴影/光照原创 2020-09-11 17:29:36 · 381 阅读 · 0 评论 -
UnityShader学习之旅 --渲染
卡通风格特点:物体都被黑色的线条描边,以及分明的明暗变化等。–卡通渲染方法技术方法基于色调的着色技术使用漫反射系数对一张一维纹理进行采样,以控制漫反射的色调光照模型 – 高光效果一块块分界明显的纯色区域物体边缘部分绘制轮廓基于模型的描边方法适用屏幕后处理技术对屏幕图像进行描边绘制模型轮廓线《Real Time Rendering, third edition》类型方法优点局限基于观察角度和表面法.原创 2020-08-07 12:06:07 · 221 阅读 · 0 评论 -
UnityShader学习之旅 --边缘检测
卷积核定义原理可实现效果原创 2020-08-04 17:13:57 · 327 阅读 · 0 评论 -
UnityShder学习之旅--透明度
透明效果渲染模型时控制它的透明通道(Alpha)透明度: 1:该像素是完全不透明的。 0:该像素完全不会显示对于不透明物体,不考虑渲染顺序也能得到正确的排序效果。方法原理结果条件透明度测试1.只要一个片元的透明度不满足条件,对应的片元就会被舍弃2.被舍弃的不会进行任何处理,也不会对颜色缓冲产生任何影响3.按普通的不透明物体的方式处理霸道极端的机制完全透明或者完全不透明不关闭深度写入透明度混合1.当前片元的透明度作为混合因子,与存储的颜色值混合可以得到真.原创 2020-07-01 09:29:11 · 275 阅读 · 0 评论 -
UnityShader学习之旅--纹理
纹理定义目的技术方法纹理物体表面的纹路使用一张图片来控制模型的外观纹理映射技术逐纹素地控制模型的颜色纹理映射坐标定义表示归一化纹理映射坐标顶点在纹理中对应的2D坐标二维变量(U,V)==UV坐标【0,1】/*****************************************************//单张纹理//使用一张纹理来代替物体的漫反射颜色//使用单张纹理来作为模拟的颜色 仍使用Blinn-Phong光原创 2020-07-01 09:29:34 · 416 阅读 · 0 评论 -
UnityShader学习之旅--光照
基础光照光线与物体相交的结果光线方向光线颜色结果吸收不改变改变密度和颜色散射改变不改变折射、反射物体表面重新发射出光线散射方向光照模型定义反射高光反射物体表面是如何反射的折射漫反射有多少光线会被折射、吸收和散射出表面标准光照模型只关心直接光照,即那些直接从光源发射处理照射到物体表面后,经过物体表面的一次反射直接进入摄像机的光线描述unity表示自发光当给定一个方向时,一个表面.原创 2020-07-01 09:30:17 · 270 阅读 · 0 评论 -
UnityShader学习之旅 三
第一个顶点/片元着色器Shader "Unlit/Chapter5/SimpleShader" //shader的名字{ SubShader { Pass { //渲染通道 一个占用 CGPROGRAM #pragma vertex vert //vert 就是函数名称 定义顶点 #pragma fragment frag // frag 就是name 定义片元 /* float4: float类型的四维变量为返回值 POSIT.原创 2020-06-05 17:42:36 · 205 阅读 · 0 评论 -
UnityShader学习之旅 二
##UnityShader学习之旅 二什么是Shader什么是渲染流水线参考文档Created with Raphaël 2.2.0开始混合是否开启混合?混合结束yes原创 2020-07-01 09:30:30 · 399 阅读 · 0 评论