PBR材质中IOR 值列表

PBR材质中IOR 值列表

如果想创建非常真实的物理材质,正确的使用Fresnel值 或者是IOR值(Index of Refraction values),是非常重要的,常用的值如下:

Materialminmax
Acrylic glass1.4901.492
Air1.000
Alcohol1.360
Aluminium1.3901.440
Asphalt1.635
Beer1.345
Bronze1.180
Copper1.1002.430
Crystal2.000
Diamond2.418
Emerald1.5601.605
Eye(Lens)1.410
Glass1.500
Gold0.470
Ice1.309
Iron2.950
Ivory1.540
Lead2.010
Mercury(liquid)1.620
Milk1.350
Nickel1.080
Nylon1.530
Pearl1.5301.690
Plastic1.460
Teflon1.3501.380
Titanium2.160
Water1.325

后记

上面的值是近似的常用值,仅供参考,实际渲染时,上面的值可能会根据使用的Diffuse贴图及Specular贴图的数值而发生变化,这个现象正常,但是同一个系统中,不同材质的值的相对关系基本上是一致的;

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当涉及到手写 PBR(Physically Based Rendering,基于物理的渲染)材质着色器时,以下是一个简单的示例,用于实现标准的 PBR 材质模型: ```c // 着色器属性 uniform vec3 uAlbedo; // 反射率颜色 uniform float uRoughness; // 粗糙度 uniform float uMetallic; // 金属度 // 表面法线和视图方向 in vec3 vNormal; // 顶点法线 in vec3 vViewDir; // 视图方向 // 光源属性 uniform vec3 uLightDir; // 光源方向 uniform vec3 uLightColor; // 光源颜色 void main() { // 计算使用 Cook-Torrance BRDF 模型的光照 vec3 N = normalize(vNormal); vec3 V = normalize(vViewDir); vec3 L = normalize(uLightDir); vec3 H = normalize(V + L); // 半向量 // 计算漫反射项 float NdotL = max(dot(N, L), 0.0); vec3 diffuse = uAlbedo * NdotL; // 计算镜面反射项(使用 Cook-Torrance BRDF) float NdotH = max(dot(N, H), 0.0); float roughnessSquared = uRoughness * uRoughness; float F0 = mix(0.04, 1.0, uMetallic); vec3 specular = vec3(0.0); if (NdotL > 0.0) { float NdotV = max(dot(N, V), 0.001); float NdotH2 = NdotH * NdotH; float alpha = roughnessSquared; float D = exp((NdotH2 - 1.0) / (alpha * NdotH2)); float F = F0 + (1.0 - F0) * pow(1.0 - NdotV, 5.0); vec3 F_specular = vec3(F); float G = min(1.0, min(2.0 * NdotH * NdotV / NdotL, 2.0 * NdotH * NdotL / NdotV)); vec3 G_specular = vec3(G); specular = D * F_specular * G_specular / (4.0 * NdotL * NdotV); } // 最终颜色 = 漫反射 + 镜面反射 vec3 finalColor = diffuse + specular; // 输出颜色 gl_FragColor = vec4(finalColor, 1.0); } ``` 这只是一个简单的 PBR 材质着色器示例,实际可能还包含其他的贴图、光照模型或者其他参数。这段代码可以作为一个起点,你可以根据需要进行修改和扩展。请记住,PBR 材质着色器通常需要更多的计算和参数,以便更真实地模拟光照和材质的物理特性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值