- 2
- 0
- 约6.77千字
- 约 9页
- 2017-08-02 发布于河南
- 举报
汽车喷漆效果实现
汽车喷漆效果的实现
图1:双色调,悬浮微鳞片轿车油漆在Direct3D实时象素着色器的效果。给汽车身体喷漆是一个复杂的过程,车身油漆是昂贵分层形式,往往包含染料层,搪瓷金属箔悬浮层.由于这些接二连三油漆表面层,展示出了一种复杂的光学交互,使车看起来平滑,光泽。这了使用的汽车模型的多边形较少,但是引入了高精度的法线贴图(访问 HYPERLINK /developer/ \o /developer/ \t _blank /developer/ 可以获得更多关于法线贴图生成工具的信息),由于像素着色器应用在光滑变化的表面(如车盖),每通道16位的法线贴图是比较适合的。法线贴图解压缩像素着色器中做的第一步就是法线贴图解压缩。因为法线是储存在表面的局部坐标系(也叫做切线空间),我们可以假设法线的z分量是正值。这样,我们能够将x,y分量存在纹理的两个16位的通道中,从而z通过在像素着色器中通过公式 +sqrt(1 – x2 – y2 ) 算出。这样它相对于传统的8-8-8-8的法线贴图,就给了我们更高的精度,但是只占用同样的内存。
图2:双色调,微鳞片,后视镜上的效果图.基础颜色通过上述的法线解压过程,并和当前几何表面的法线合成计算后,我们产生了法线(N),还有一个高频率归一化的噪声图(Nn),它是在表面反复重复着。这两个法线用来计算两扰动法线,用来模拟汽车的双色调和内部微鳞片层。噪声图如下图:
图3:金属微片,悬浮层,搪瓷层、染料层和表层散射效果.这些法线,Ns 和 Nss 计算方法如下:
公式1,2系数a,b,c,d是像素着色器的固定输入常数,它决定了扰动法线的分布。这些摄幅度平均宽度决定在该地区的微型片状随时可见。两个法线都与视向量点乘来作为下列多项式的参数,它决定了基础颜色和微鳞片层的强度系数。
公式3多项式的前三项执行了两个色调中的混合。第四项添加了一个额外层:微鳞片层。常数c0,c1,c2对应于基础颜色层,c3对应于微鳞片层。亮漆层渲染得最后一步就是渲染一个亮漆层,即反射一个环境贴图。环境贴图显示如下:
完整的HLSL像素着色器代码如下:
struct PsInput { float2 Tex : TEXCOORD0; float3 Tangent : TEXCOORD1; float3 Binormal : TEXCOORD2; float3 Normal : TEXCOORD3; float3 View : TEXCOORD4; float3 SparkleTex : TEXCOORD5; }; float4 main(PsInput i) : COLOR { // 取得当前的法线图float3 vNormal = tex2D( normalMap, i.Tex ); // 缩放和偏移让其在[-1.0, 1.0]区域内: vNormal = 2.0f * vNormal - 1.0f; // 获得高频率扰动的法线,通过查询一个噪声图。 float3 vFlakesNormal = tex2D(microflakeNMap, i.SparkleTex); // 别忘了转换到 [-1.0, 1.0] 区域内: vFlakesNormal = 2 * vFlakesNormal - 1.0; // 计算以下公式// Np1 = ( a * Np + b * N ) / || a * Np + b * N || where a b // float3 vNp1 = microflakePerturbationA * vFlakesNormal + normalPerturbation * vNormal ; // 计算以下公式// Np2 = ( c * Np + d * N ) / || c * Np + d * N || where c == d float3 vNp2 = microflakePerturbation * ( vFlakesNormal + vNormal ) ; // 因为需要与法线点乘求夹角,所以我们必须将它归一化一下float3 vView = normalize( View ); // 把表面法线转换好世界空间中来,计算bump map的方法。float3x3 mTangentToWorld = transpose( float3x3( Tangent, Binormal, Normal ) ); float3 vNormalWorld = normalize( mul( mTangentToWorld, vNormal )); //
您可能关注的文档
最近下载
- 支部党员大会会议记录(支委会选举范例).docx VIP
- 深圳市宝安区2025-2026学年第一学期五年级语文期末学业质量评估卷(原卷+答案)统编版.docx VIP
- 山桐子种植加工、旅游项目可行性研究报告商业计划书.docx VIP
- 山桐子种植及种苗培育种植加工可行性研究报告申请备案.doc VIP
- 和田地区2026年度地直机关公开遴选公务员、事业单位公开选聘工作人员备考题库及完整答案详解1套.docx VIP
- 山桐子合作种植协议合同.docx VIP
- 2025年香氛未来趋势报告-英敏特.docx VIP
- 报告正文2014年太阳绿宝.pdf VIP
- 2025年高考:云南物理--试题及答案.pdf VIP
- 广东省深圳市宝安区2025-2026学年五年级上学期期末学业质量评估语文试卷.docx VIP
原创力文档

文档评论(0)