根据给定的环境和漫反射 RGB 颜色(忽略 Alpha)以及灯光列表执行朗伯 (Lambertian) 照明。
color "mib_illum_lambert" (
color "ambience",
color "ambient",
color "diffuse",
integer "mode",
array light "lights")
根据给定的环境、漫反射和镜面反射 RGB 颜色、镜面反射指数和灯光列表执行 Phong 照明。
color "mib_illum_phong" (
color "ambience",
color "ambient",
color "diffuse",
color "specular",
scalar "exponent",
integer "mode",
array light "lights")
根据给定的环境、漫反射颜色和光泽 RGB 颜色、两个光泽度参数、两个方向向量和灯光列表执行 Ward 照明。
color "mib_illum_ward" (
color "ambience",
color "ambient",
color "diffuse",
color "glossy",
scalar "shiny_u",
scalar "shiny_v",
vector "u",
vector "v",
integer "mode",
array light "lights")
根据给定的环境、漫反射和光泽 RGB 颜色、两个光泽度参数和灯光列表执行 Ward 照明。与 mib_illum_ward 唯一不同的是,其拂刷方向是从表面导数得出的。
color "mib_illum_ward_deriv" (
color "ambience",
color "ambient",
color "diffuse",
color "glossy",
scalar "shiny_u",
scalar "shiny_v",
integer "mode",
array light "lights")
根据给定的环境、漫反射和镜面反射 RGB 颜色、粗糙度、三个波长的折射率和灯光列表执行 Cook-Torrance 照明。Cook-Torrance 照明具有非镜面反射峰值和角度色移。
color "mib_illum_cooktorr" (
color "ambience",
color "ambient",
color "diffuse",
color "specular",
scalar "roughness",
color "ior",
integer "mode",
array light "lights")
执行 Blinn 照明,与 Cook-Torrance 照明类似,但没有角度色移。它只需要值为 1 的折射率。
color "mib_illum_blinn" (
color "ambience",
color "ambient",
color "diffuse",
color "specular",
scalar "roughness",
scalar "ior",
integer "mode",
array light "lights")
在头发几何体上执行照明,与 Phong 相似。头发需要专用着色器,因为它们不对常规三角形着色,而对程序扁平带状几何体着色。请注意,专用着色器应该用于可以处理头发几何体上着色或纹理贴图差异的参数连接。
color "mib_illum_hair" (
color "ambience",
color "ambient",
color "diffuse",
color "specular",
scalar "exponent",
integer "mode",
array light "lights")
以上所有照明着色器都有 mode 参数和 lights 参数,控制用于照明的一组灯光。可以使用 lights 参数中给定的灯光实例或要着色的几何体实例的灯光列表来执行照明。使用指定给场景对象的灯光列表允许共享一个公用着色器,即使对象具有不同的灯光关系也允许。根据以下可能的 mode 参数值使用灯光:
Copyright © 1986, 2015 NVIDIA ARC GmbH. All rights reserved.