The method imrShaderTranslation::TranslateParameters_Advanced() can be used to translate parameters in cases where:
- The standard translation method, using imrShaderTranslation::TranslateParameters(), is not sufficient because, for example, one needs to translate complex structures of parameters.
- One needs to translate large arrays, in which case the advanced translation method is faster because it does not use ParamBlock2.
The advanced translation method uses the interface imrAdvancedTranslation which exposes the following mental ray API functions directly:
- mi_api_parameter_name
- mi_api_parameter_value
- mi_api_parameter_push
- mi_api_parameter_pop
- mi_api_new_array_element
- mi_mem_strdup
- mi_mem_release
- mi_mem_allocate
For the full documentation on these function calls, refer to the mental ray reference manual.