ShaderLab入门实践7

本文详细介绍了一种实现毛茸茸材质渲染的技术,通过模型放大、裁剪与多层渲染,结合噪波图和Shader代码优化,展示了如何让材质看起来更加真实且具有层次感。
Hello~小伙伴们好,前面第5期入门实践,汪汪给大家说了要实现毛茸茸材质,结果也是鸽了很久,本篇入门实践7,是结合了第【五】期的法线挤出和第【六】期的透明效果总结而来的哦。其实大家只要学会这两个功能的实现,那么知道理论后,大家其实是可以试着自己写的哦。
好了,我们废话少说,开始我们今天的主要内容:

毛茸茸基本原理:

首先我们需要把贴有贴图的模型放大一圈: 接着,我们把放大一圈的模型进行裁剪: (画的有点随意,大家理解意思就行)

说清楚原理后,汪汪将带大家一步一步来解读和实现:

  • 从上面的图解大家应该不难发现,其实我们一个模型渲染了两次,一个渲染本身,一个渲染毛茸茸,所以需要两个Pass
  • 由于毛茸茸的错综复杂,如果毛茸茸太过整齐,会导致效果不好,所以需要多渲染几层毛茸茸,来有凌乱的感觉,为了避免shader代码太过复杂,这里引入文件支持,把顶点函数和片元函数写进支持文件,利用#pragma实现调用,再通过#define来改变毛茸茸长度。

支持文件的编写,文件名Helper.cginc:

两个Pass,这里就需要两套顶点/片元函数,一套实现基本渲染,一套实现毛茸茸渲染:
  • 基本渲染的实现汪汪就不再打备注或赘述了,大家可以看看第【2】节: 但是需要注意支持文件的书写格式:
  • 接下来是重点,毛茸茸的编写,法线挤出和透明显示汪汪不再细说,可以查看汪汪的第【5】、【6】节:

Shader文件的编写:

  • 小伙伴们如果细心查看代码,可能会发现,我们在支持文件中写的挤出模型的代码中,有一个STEP值,这个是用来控制模型挤出的数值的,通过在shader代码中复制多个Pass,并通过#define STEP 数值来达到毛茸茸的叠加效果,以此来让毛茸茸更凌乱,如下: 好了,接下来,汪汪要给小伙伴们补充一点,噪波图:
  • 噪波图为黑白两色构成,其中在开启透明的情况下,黑色透明,白色显示。 所以噪波图的选择对毛茸茸效果很重要哦~ 这是汪汪找的噪波图,当然,利用PS的滤镜工具,小伙伴们也可以轻松创建: 好啦,我们来看看效果: 当然,这只是很简单的毛茸茸效果,我们可以给它加很多的细节处理,这里只是让大家了解原理,不多赘述,有能力的小伙伴可以自己添加效果,去改造哦~
好啦,本期入门实践就到这里了,小伙伴们有意见和看法可以给汪汪留言,另外如有错误之处,请多多指出和海涵。
需求响应动态冰蓄冷系统与需求响应策略的优化研究(Matlab代码实现)内容概要:本文围绕需求响应动态冰蓄冷系统及其优化策略展开研究,结合Matlab代码实现,探讨了在电力需求侧管理背景下,冰蓄冷系统如何通过优化运行策略参与需求响应,以实现削峰填谷、降低用电成本和提升能源利用效率的目标。研究内容包括系统建模、负荷预测、优化算法设计(如智能优化算法)以及多场景仿真验证,重点分析不同需求响应机制下系统的经济性和运行特性,并通过Matlab编程实现模型求解与结果可视化,为实际工程应用提供理论支持和技术路径。; 适合人群:具备一定电力系统、能源工程或自动化背景的研究生、科研人员及从事综合能源系统优化工作的工程师;熟悉Matlab编程且对需求响应、储能优化等领域感兴趣的技术人员。; 使用场景及目标:①用于高校科研中关于冰蓄冷系统与需求响应协同优化的课题研究;②支撑企业开展楼宇能源管理系统、智慧园区调度平台的设计与仿真;③为政策制定者评估需求响应措施的有效性提供量化分析工具。; 阅读建议:建议读者结合文中Matlab代码逐段理解模型构建与算法实现过程,重点关注目标函数设定、约束条件处理及优化结果分析部分,同时可拓展应用其他智能算法进行对比实验,加深对系统优化机制的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值