版本 3.13
版本 3.13.1.0
2015 年 1 月 12 日
该着色器实现以下约定以将材质指定给 Alembic 归档中的单个元素,而 Alembic 本身并不提供它们。若要与现有 mental ray 材质相关,可以在对象上指定具有字符串值的自定义特性 "material"。该着色器在主场景中查找具有该名称的材质,如果找到,则将其指定给 mental ray 场景中的对象。作为一个特殊扩展,如果在归档中指定类型为 "color" 的特性 "adskDiffuseColor",则该着色器将自动创建一个具有该值的纯漫反射 BSDF 作为颜色,并将此材质指定给该对象。
declare data
geometry "abcimport" (
string "filename",
scalar "time" default -1.0,
boolean "assembly" default off,
string "select",
integer "fps" default 24,
integer "subdivisions" default 0,
boolean "facesetmaterials" default on
)
end declare
"/root/group/node" 将仅加载该 DAG 子图表的几何体。
该着色器需要由 mental ray 来计算其他信息。可以使用注册表设置 "{_MI_REG_CCMESH_PTEX}" 全局启用该着色器,或者使用 "bary" 特性按对象启用。该着色器还需要纹理差信息,除非仅用于置换。对于次级光线,应启用 mental ray“光线差异”。
declare phenomenon
color
"mib_ptex_lookup" (
string "filename",
scalar "width" default 1.0,
scalar "blur" default 0.0,
integer "filtertype" default 4,
boolean "interpolate_level" default off,
scalar "filter_sharpness" default 1.0,
## these parameters are taken if face_index is >= 0
scalar "duv_dx_u" default 0.0,
scalar "duv_dx_v" default 0.0,
scalar "duv_dy_u" default 0.0,
scalar "duv_dy_v" default 0.0,
scalar "bary_v0x",
scalar "bary_v0y",
scalar "bary_v1x",
scalar "bary_v1y",
scalar "bary_v2x",
scalar "bary_v2y",
integer "face_index" default -1
)
end declare
declare shader
struct {
color "color",
scalar "alpha",
boolean "has_alpha"
}
"mib_ptex_lookup" (
string "filename",
scalar "width" default 1.0,
scalar "blur" default 0.0,
integer "filtertype" default 4,
boolean "interpolate_level" default off,
scalar "filter_sharpness" default 1.0,
## these parameters are taken if face_index is >= 0
scalar "duv_dx_u" default 0.0,
scalar "duv_dx_v" default 0.0,
scalar "duv_dy_u" default 0.0,
scalar "duv_dy_v" default 0.0,
scalar "bary_v0x",
scalar "bary_v0y",
scalar "bary_v1x",
scalar "bary_v1y",
scalar "bary_v2x",
scalar "bary_v2y",
integer "face_index" default -1
)
end declare
该着色器将返回一维(标量)纹理的颜色值,并将所有 RGBA 组件设置为相同的值。对于三维(颜色)纹理,将 color 设置为查找值。对于四维纹理,相应地设置 RGBA color 组件。如果已指定有效 Alpha 通道,并且在一维纹理情况下,则将返回值 has_alpha 设置为 true 并且 alpha 将包含查找值。
该着色器可帮助通过 mental ray 使用 UV 平铺纹理贴图。它不仅实现第三方工具的常见命名方案,而且完全支持自定义平铺布局。
declare shader
color texture
"mib_tiled_texture" (
integer "mode" default 0,
integer "utiles" default 10,
scalar "filter",
string "colorprofile",
vector "uvCoord",
string "texture_dir",
array struct "texture_info" {
string "filename",
vector "tile_coord"
}
)
end declare
texture_info 阵列中提供平铺信息(0 型)]
3 除外。
核心工具着色器包含在 coreutil 库中。着色器和现象的声明可在 voreutil.mi 文件中找到。要使用这些着色器,必须包括声明文件并链接该库:
link "coreutil.so" $include "coreutil.mi"