Shader Writing and Integration
- Shaders can now define thread local shader storage, to
replace the simple method of indexing an array with a thread
number, which worked in mental ray 2.1 but not 3.x. See page
shadertls for
details.
- The mi_trace_probe shader interface function in mental
ray 3.1 finds objects with any flags, including visible
and shadow; mental ray 3.2 will probe only objects
marked trace. The state type is
miTRACE_PROBE.
- High Dynamic Range images allow more compact storage of RGB
color values greater than 1.0.
- IES and Eulumdat
light profiles are
supported. There is a new lightprofile ...
lightprofile end block, and a new
lightprofile shader parameter type. Light profile data
can be passed to shaders in a similar way to user data. New
mi_query modes,
mi_api_lightprofile_* geometry shader API functions, and
mi_lightprofile_* shader
interface functions were introduced.
- Image streaming, which is part of the mental ray
integration interface, has changed.
- Slave hosts can be added and removed at any time between
frames, instead of using a list fixed at startup time, using
the mi_msg_add_host and mi_msg_remove_host.
- New modes for mi_query were added:
miQ_FUNC_TLS_GET
miQ_FUNC_TLS_GETALL
miQ_FUNC_TLS_SET
miQ_LIGHTPROFILE_COSTHETA_MAX
miQ_LIGHTPROFILE_COSTHETA_MIN
miQ_LIGHTPROFILE_INTENSITY_MAX
miQ_LIGHTPROFILE_PHI_MAX
miQ_LIGHTPROFILE_PHI_MIN
miQ_LIGHTPROFILE_PHI_RES
miQ_LIGHTPROFILE_THETA_RES
miQ_LIGHT_CAUSTIC_PHOTONS_EMIT
miQ_LIGHT_GLOBAL_PHOTONS_EMIT
- Here is the complete list of new shader and integration
interface functions:
mi_api_hair_begin
mi_api_hair_end
mi_api_hair_hairs_add
mi_api_hair_hairs_begin
mi_api_hair_hairs_end
mi_api_hair_info
mi_api_hair_scalars_begin
mi_api_hair_scalars_end
mi_lightprofile_sample
mi_lightprofile_value
mi_msg_remove_host
mi_renderpass_access
mi_volume_instances
Copyright © 1986-2005 by
mental images GmbH