Callable Functions by Shader Type

The following table describes which shader interface functions are available in which types of shaders. Shader types are abbreviated:

G geometry shader
D displacement shader
P photon shader and photon volume shader
E photon emitter shader
Le lens shader
M material shader and texture shader
V volume shader
Lg light shader
S shadow shader
Cs contour store shader
C contour contrast shader and contour shader
O output shader and pass rendering merge function
Lm lightmap shader
Ss state shaderstate shader

The rules for init shaders and exit shaders are the same as for the main shader they apply to. In the table, ♦ means that the function may be used, ◊ means that it may not be used, and · means that it is available but is not normally useful. The asterisk "*" denotes omission unless an earlier more specific table row overrides it. For example, mi_eval* means all functions beginning with mi_eval, including mi_eval itself, mi_eval_boolean, and so on.

function G D P E Le M V Lg S Cs C O Lm Ss
Shader Calls
mi_call_shader*
mi_call_material
mi_call_photon_material
mi_eval*
mi_flush_cache
Database Functions
mi_db_*
Rendering Functions
mi_trace_eye · ·
mi_trace_reflection · ·
mi_trace_refraction · ·
mi_trace_transparent · ·
mi_trace_environment · ·
mi_trace_probe · ·
mi_trace_light · ·
mi_sample_light · ·
mi_trace_shadow
mi_trace_shadow_seg
mi_inclusive_lightlist
mi_exclusive_lightlist
mi_instance_lightlist
mi_compute_irradiance
mi_compute_irradiance_backside
mi_compute_avg_radiance
mi_compute_volume_irradiance
mi_compute_directional_irradiance
mi_sample
Photon Functions
mi_photon_light
mi_photon_reflection_specular
mi_photon_reflection_glossy
mi_photon_reflection_diffuse
mi_photon_transmission_specular
mi_photon_transmission_glossy
mi_photon_transmission_diffuse
mi_photon_transparent
mi_photon_volume_scattering
mi_store_photon
mi_store_volume_photon
Direction Functions
mi_reflection_dir · ·
mi_reflection_dir_specular · ·
mi_reflection_dir_glossy · ·
mi_reflection_dir_glossy_x3.4 · ·
mi_reflection_dir_anisglossy · ·
mi_reflection_dir_anisglossy_x3.4 · ·
mi_reflection_dir_diffuse · ·
mi_reflection_dir_diffuse_x3.4 · ·
mi_refraction_dir · ·
mi_transmission_dir_specular · ·
mi_transmission_dir_glossy · ·
mi_transmission_dir_glossy_x3.4 · ·
mi_transmission_dir_anisglossy · ·
mi_transmission_dir_anisglossy_x3.4 · ·
mi_transmission_dir_diffuse · ·
mi_transmission_dir_diffuse_x3.4 · ·
mi_scattering_dir_diffuse · ·
mi_scattering_dir_directional · ·
mi_scattering_pathlength · ·
Image Functions
mi_img_put_*
mi_img_get_*
mi_img_pyramid_get_*
mi_img_tonemap
Math Functions
mi_point_to_*
mi_point_from_*
mi_vector_to_*
mi_vector_from_*
mi_normal_to_*
mi_normal_from_*
mi_vector_*
mi_matrix_*
mi_point_*
Noise Functions
mi_par_random
mi_*random
mi_spline
mi_noise_*
mi_unoise_*
Color Profile Functions3.4
mi_colorprofile_*
Auxiliary Functions
mi_fresnel
mi_fresnel_reflection
mi_phong_specular
mi_fresnel_specular
mi_blinn_specular
mi_blong_specular
mi_cooktorr_specular
mi_ward_glossy
mi_ward_anisglossy
mi_schlick_scatter
mi_choose_scatter_type
mi_choose_simple_scatter_type
mi_choose_lobe
mi_luminance
mi_lookup_*_texture
mi_texture_filter_project
mi_texture_filter_transform
mi_tri_vectors
mi_query
mi_shaderstate_enumerate
mi_shaderstate_set
mi_shaderstate_get
mi_fb_put
mi_fb_get
mi_output_image_open3.4
mi_output_image_close3.4
mi_geoshader_add_result
mi_geoshader_tesselate
mi_geoshader_tesselate_end
mi_geoshader_echo_tag
mi_string_substitute
mi_volume_num_shaders
mi_volume_cur_shader
mi_volume_tags
mi_volume_user_color
Obsolete Aux. Functions
mi_*_info
Contour Functions
mi_get_contour_line
mi_add_contour_lines
Light Mapping Functions
mi_lightmap_edit
mi_lightmap_edit_end
Memory Allocation
mi_mem_*
Thread Parallelism, Locks
mi_init_lock
mi_delete_lock
mi_lock
mi_unlock
mi_par_localvpu
mi_par_nthreads
mi_par_aborted
Messages and Errors
mi_fatal
mi_error
mi_warning
mi_info
mi_progress
mi_debug
mi_vdebug

See page statevartable for a similar table listing available state variables.

Copyright © 1986, 2015 NVIDIA ARC GmbH. All rights reserved.