Shader 学习笔记 20151113

本文探讨了在游戏开发中如何使用Specular材质,包括如何在surf()和lighting()函数中操作材质,解释了uv坐标的动态与静态区别,并提供了实操案例。此外,还涉及了Metallic和Soft Specular的区别,以及如何通过控制材质实现更真实的镜面反光效果。

Segment 0 回想

  • 最近好忙,想无可想

Segment 1 阅读

  • Chapter 3: Making Your Game Shine with Specular - Creating a BlinnPhong Specular type
  • Chapter 3: Making Your Game Shine with Specular - Masking Specular with textures
  • Chapter 3: Making Your Game Shine with Specular - Metallic versus soft Specular ,此张其实是上一张的应用,告诉我们一个实际使用specular textures的例子。

Segment 2 理解

  • 列表内容
    说的好!取材质就得在surf()里面完成。如果我们需要在lighting()里面去操作shader外面传进来的texture,就只能在surf()里面先把值抽取出来,再赋给我们自定义的CustomerInOut s才行。

根本原因是uv只能通过Input这个struct里面抓得到,而Input只在surf()里面才能输入进去。

那么有一个问题出现了,很多texture是在lighting()里面取,例如:
float roughness = tex2D(_RoughnessTex, float2(NdotH_raw * 0.5 + 0.5, _Roughness)).r
这种取法同surf()里面 float4 specMask = tex2D(_SpecularMask, IN.uv_SpecularMask) * _SpecularColor
又有什么不同呢?
思索了一下,在lighting()里面tex2D()取的时候,它的坐标都是依据光源/法线/视点算出来的,也就是说他计算的是动态的,是根据光源、obj的运动(带动了法线动)、视点的运动随时改变的。而从surf()里面用uv抽取出来的值,虽然在世界视角看来是动的,但是对obj本身来说,其并未产生变化,是静态的,这也就是一定要用uv来描述的原因所在吧。
通俗的说,uv取出来的一定会联系到obj上,obj动它就动,不管取出来的是实际color值还是控制值。lighting()里面取的texture的值绝大多数都需要视点、光源、像素normal一起作用,实际看到的效果让人感觉和obj没什么联系。


  • 使用控制材质控制specular 反光。
    这里写图片描述
    这里写图片描述
    很关键,非常关键! 想要能自定义反光感觉,就需要这种所谓的反光控制贴图作为一个控制项输入到shader里面,只有这样才能弄出来真实物体的镜面反光效果(因为真实物体肯定不是大面积光滑表面的)。

于是就有一个很有趣的疑问,平底锅的反光,应该是BRDF和specular texture一起搞么?(如果真的是的话,能搞出来么? 看了本章最后一张那个各项异性贴图,貌似又有点不一样)


  • 关于debug
    这里写图片描述
    看到了吧,可以每一步都把相应的图打出来看看,有一个直观的认识,这就是debug的过程。真的很方便啊。

这里写图片描述


标题基于Python的汽车之家网站舆情分析系统研究AI更换标题第1章引言阐述汽车之家网站舆情分析的研究背景、意义、国内外研究现状、论文方法及创新点。1.1研究背景与意义说明汽车之家网站舆情分析对汽车行业及消费者的重要性。1.2国内外研究现状概述国内外在汽车舆情分析领域的研究进展与成果。1.3论文方法及创新点介绍本文采用的研究方法及相较于前人的创新之处。第2章相关理论总结和评述舆情分析、Python编程及网络爬虫相关理论。2.1舆情分析理论阐述舆情分析的基本概念、流程及关键技术。2.2Python编程基础介绍Python语言特点及其在数据分析中的应用。2.3网络爬虫技术说明网络爬虫的原理及在舆情数据收集中的应用。第3章系统设计详细描述基于Python的汽车之家网站舆情分析系统的设计方案。3.1系统架构设计给出系统的整体架构,包括数据收集、处理、分析及展示模块。3.2数据收集模块设计介绍如何利用网络爬虫技术收集汽车之家网站的舆情数据。3.3数据处理与分析模块设计阐述数据处理流程及舆情分析算法的选择与实现。第4章系统实现与测试介绍系统的实现过程及测试方法,确保系统稳定可靠。4.1系统实现环境列出系统实现所需的软件、硬件环境及开发工具。4.2系统实现过程详细描述系统各模块的实现步骤及代码实现细节。4.3系统测试方法介绍系统测试的方法、测试用例及测试结果分析。第5章研究结果与分析呈现系统运行结果,分析舆情数据,提出见解。5.1舆情数据可视化展示通过图表等形式展示舆情数据的分布、趋势等特征。5.2舆情分析结果解读对舆情分析结果进行解读,提出对汽车行业的见解。5.3对比方法分析将本系统与其他舆情分析系统进行对比,分析优劣。第6章结论与展望总结研究成果,提出未来研究方向。6.1研究结论概括本文的主要研究成果及对汽车之家网站舆情分析的贡献。6.2展望指出系统存在的不足及未来改进方向,展望舆情
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值