自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(3)
  • 收藏
  • 关注

原创 Unity Shader学习3:透明效果

如图8.1中,若先渲染A,由于关闭了半透明物体的深度写入,此时深度缓冲中不会写入A的深度值,再渲染B的时候,由于B是不透明物体,且深度缓冲中没有值,那么B的片元则会通过深度测试,写入深度值,同时覆盖颜色缓冲中A之前渲染得到的颜色值,效果就变成了A被B遮挡。如图8.2中,若先渲染A, 那么A的颜色会先写入颜色缓冲,再渲染B,B片元的颜色值和颜色缓冲的值混合时,混合后的效果会反过来,看起来像B覆盖在A上。它会使用当前片元的透明度做为混合因子,与已经存储在颜色缓冲中的颜色值进行混合,得到新的颜色。

2024-01-13 17:56:08 2266 2

原创 Unity Shader学习2:基础纹理

为了增强记忆,每次写新的shader我都是新建后删除原有代码重头开始手打的,大多数时候写重复的部分更像是默写,这也导致了写到没完全理解的语句时会出现记忆不清的情况。这次就把Tags里面的“LightMode”记成了“LightModel”,导致改变光源方向的时候不会反映到物体的效果上。像平时看代码一样,多去看看不熟悉的内置函数,关注输入和输出的数据类型,这次因为不知道UnityObjectToWorldNormal的输入参数只能是float3而我传了个float4进去而耽误了好一会儿功夫。

2023-12-21 15:14:52 977

原创 Unity Shader学习1:基础光照模型

1. 高光反射r⃗\vec rr的推导总是觉得反射公式应该是r⃗l⃗2l⃗⋅cosθ2rl​l⋅cosθ,但l⃗\vec ll是向量,算出来的投影不与n⃗\vec nn一个方向,所以应该是n⃗⋅cosθn⋅cosθ。2. 逐像素计算高光时v2f传入worldPos的语义是裁剪空间的坐标,和世界坐标是两个东西,因此在v2f结构中需要用一个TEXCOORD1额外存储顶点的世界空间坐标,用于计算视线方向。

2023-11-29 14:58:42 1554 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除