shader
文章平均质量分 67
M͏͏r.D
这个作者很懒,什么都没留下…
展开
-
Learn ComputeShader 01 First Computer Shader
前面已经说过,每个线程组会有64个线程分别处理64(8*8)个像素, 如果我们要绘制一个256*256分辨率的纹理,就分别需要(256/8,256/8)个线程组。线程组ID是(0,0,0)对应的id.xy应该是下面这样的,这个时候id.x和y指向纹理的左下角,多线程在左下角处理一个8*8的像素。比如说x,y,z分别是(4,2,3),那么每个线程组都会被调用,一共调用4*2*3=24次。如果x,y,z分别是(4,2,1),那么每个线程组都会被调用,一共调用4*2*1=8次。原创 2024-04-21 16:59:45 · 719 阅读 · 0 评论 -
学习总结及拓展
目录一.面板参数1.参数2.属性二.参数类型三.Vertex Shader中的输入输出数据1.Input2.output3、常用顶点shader的操作四、方法、库1.方法2.库一.面板参数1.参数2.属性[HideInInspector] 用途:隐藏拥有该属性的参数 适用于:任何参数 [NoScaleOffset] 用途:禁用纹理的TillingOffset面板(用于不需要TillingOffset的贴图,如:角色...原创 2022-05-31 13:17:06 · 87 阅读 · 0 评论 -
菲涅尔、Matcap、CubeMap以及代码整合实现
1.菲涅尔现象实现思路: 观察者的方向V及摄像机的位置 垂直的方向 = 表面法线方向 = n 因为v这里的方向实际取的是反方向,点积的结果刚好相反,所以要使用“One Minus”(1-)节点把Dot(n,v)的(-1,1)的结果,映射到(0,1) 控制范围使用“Power” ...原创 2022-05-30 14:06:26 · 380 阅读 · 0 评论 -
UnityShader实现较为完整的光照模型(Lambert+Phong+三色环境光+阴影+环境遮蔽(AO))
UnityShader实现较为完整的光照模型(Lambert+Phong+三色环境光+阴影+环境遮蔽(AO))原创 2022-05-19 12:00:52 · 1053 阅读 · 0 评论 -
UnityShader实现漫反射光照模型和高光反射光照模型
目录一.漫反射1.兰伯特光照模型2.半兰伯特光照模型二.高光反射1.Phong模型2.Blinn-Phong 光照模型三.逐像素光照与逐顶点光照四.总结一.漫反射1.兰伯特光照模型漫反射光照符合兰伯特定律,即反射光线的强度与表面法线和光源方向之间夹角的余弦值成正比。所以漫反射的计算公式为 这里可以根据这个图可以更好理解,当法线与光源方向夹角越小,二者点乘是越大的,光照强度也是越大的对于世界空间光源的方向,可以用WorldSpace...原创 2022-05-13 19:56:30 · 1132 阅读 · 0 评论 -
渲染管线学习总结
一.渲染管线这是unity官方手册的附图样例渲染阶段可以分为应用阶段,几何阶段,光栅化阶段1.应用阶段通常由cpu实现,最重要的是输出渲染所需要的几何信息,即几何图元2.几何阶段首先将应用阶段传进的渲染图元进行空间转换,然后是纹理生成和光照的处理,这个阶段可以通过顶点着色器进行编程接着是剔除和深度测试,将摄像机看不到的面和近裁剪平面和远裁剪平面之外的部分进行剔除3.光栅化阶段主要负责纹理采样和雾化的处理,这个阶段可以通过片段着色器编程处理a测试指绘制半透明或者不透原创 2022-04-27 15:55:04 · 533 阅读 · 0 评论