7 #ifndef MI_NEURAYLIB_IMDL_COMPILER_H
8 #define MI_NEURAYLIB_IMDL_COMPILER_H
19 namespace base {
class ILogger; }
26 class IBsdf_isotropic_data;
28 class ICompiled_material;
33 class IMdl_execution_context;
35 class ITarget_argument_block;
38 struct Target_function_description;
60 class IMdl_compiler :
public
66 mi::base::Interface_declare<0x8fff0a2d,0x7df7,0x4552,0x92,0xf7,0x36,0x1d,0x31,0xc6,0x30,0x08>
80 virtual void set_logger( base::ILogger* logger) = 0;
242 ITransaction* transaction,
const char* module_name,
const IMap* options) = 0;
244 #ifdef MI_NEURAYLIB_DEPRECATED_9_1
270 ITransaction* transaction,
const char* module_name,
const IMap* options)
307 ITransaction* transaction,
const char* module_name, IMdl_execution_context* context = 0) = 0;
333 ITransaction* transaction,
334 const char* module_name,
335 const char* module_source,
336 const IMap* options) = 0;
338 #ifdef MI_NEURAYLIB_DEPRECATED_9_1
363 ITransaction* transaction,
364 const char* module_name,
365 const char* module_source,
406 ITransaction* transaction,
407 const char* module_name,
408 const char* module_source,
409 IMdl_execution_context* context = 0) = 0;
455 ITransaction* transaction,
456 const char* module_name,
457 const char* filename,
458 const IMap* options) = 0;
460 #ifdef MI_NEURAYLIB_DEPRECATED_9_1
487 ITransaction* transaction,
488 const char* module_name,
489 const char* filename,
529 ITransaction* transaction,
530 const char* module_name,
531 const char* filename,
532 IMdl_execution_context* context = 0) = 0;
560 ITransaction* transaction,
561 const char* module_name,
562 IString* exported_module,
563 const IMap* options) = 0;
565 #ifdef MI_NEURAYLIB_DEPRECATED_9_1
592 ITransaction* transaction,
593 const char* module_name,
594 IString* exported_module,
634 ITransaction* transaction,
635 const char* module_name,
636 IString* exported_module,
637 IMdl_execution_context* context = 0) = 0;
671 const char* filename,
const ICanvas* canvas,
Uint32 quality = 100)
const = 0;
683 const char* filename,
const ILightprofile* lightprofile)
const = 0;
695 const char* filename,
696 const IBsdf_isotropic_data* reflection,
697 const IBsdf_isotropic_data* transmission)
const = 0;
722 const char* str,
const char* marker)
const = 0;
734 MB_FORCE_32_BIT = 0xffffffffU
751 mi::base::Interface_declare<0x9ecdd747,0x20b8,0x4a8a,0xb1,0xe2,0x62,0xb2,0x62,0x30,0xd3,0x67>
774 #if !defined(MDL_SOURCE_RELEASE) && defined(MDL_ENABLE_INTERPRETER)
780 #ifndef MDL_SOURCE_RELEASE
825 #endif // MDL_SOURCE_RELEASE
1024 Float32 mdl_meters_per_scene_unit,
1030 #ifdef MI_NEURAYLIB_DEPRECATED_9_1
1065 Float32 mdl_meters_per_scene_unit,
1074 mdl_meters_per_scene_unit,
1162 #ifdef MI_NEURAYLIB_DEPRECATED_9_1
1300 #ifdef MI_NEURAYLIB_DEPRECATED_9_1
1301 const ITarget_code* translate_material_expression_uniform_state(
1405 const char*
const paths[],
1410 #ifdef MI_NEURAYLIB_DEPRECATED_9_1
1452 const char*
const paths[],
1499 const char* base_fname,
1500 bool include_geometry_normal,
1503 #ifdef MI_NEURAYLIB_DEPRECATED_9_1
1536 const char* base_fname,
1537 bool include_geometry_normal,
1545 include_geometry_normal,
1577 const char* base_fname,
1601 Target_function_description* function_descriptions,
1602 Size description_count,
1603 bool include_geometry_normal) = 0;
1605 #ifdef MI_NEURAYLIB_DEPRECATED_9_1
1626 Target_function_description* function_descriptions,
1627 Size description_count,
1628 bool include_geometry_normal)
1633 function_descriptions,
1635 include_geometry_normal);
1667 Target_function_description* function_descriptions,
1668 Size description_count,
1683 #ifdef MI_NEURAYLIB_DEPRECATED_9_1
1729 #ifdef MI_NEURAYLIB_DEPRECATED_9_1
1767 mi::base::Interface_declare<0xe7559a88,0x9a9a,0x41d8,0xa1,0x9c,0x4a,0x52,0x4e,0x4b,0x7b,0x66>
1786 #ifndef MDL_SOURCE_RELEASE
1787 #endif // MDL_SOURCE_RELEASE
1811 mi::base::Interface_declare<0xf2a5db20,0x85ab,0x4c41,0x8c,0x5f,0x49,0xc8,0x29,0x4a,0x73,0x65>
1815 virtual const char*
get_data()
const = 0;
1851 mi::base::Interface_declare<0x1003351f,0x0c31,0x4a9d,0xb9,0x99,0x90,0xb5,0xe4,0xb4,0x71,0xe3>
1917 mi::base::Interface_declare<0xefca46ae,0xd530,0x4b97,0x9d,0xab,0x3a,0xdb,0x0c,0x58,0xc3,0xac>
1941 SU_FORCE_32_BIT = 0xFFFFFFFFu
1946 Texture_shape_invalid = 0,
1947 Texture_shape_2d = 1,
1948 Texture_shape_3d = 2,
1949 Texture_shape_cube = 3,
1950 Texture_shape_ptex = 4,
1951 Texture_shape_FORCE_32_BIT = 0xFFFFFFFFu
1982 typedef Uint32 State_usage;
1985 virtual const char*
get_code()
const = 0;
2223 void* result)
const = 0;
2428 mi::base::Interface_declare<0x1df9bbb0,0x5d96,0x475f,0x9a,0xf4,0x07,0xed,0x8c,0x2d,0xfd,0xdb>
2448 Float32 mdl_meters_per_scene_unit,
2450 Float32 mdl_wavelength_max) = 0;
2452 #ifdef MI_NEURAYLIB_DEPRECATED_9_1
2470 Float32 mdl_meters_per_scene_unit,
2477 mdl_meters_per_scene_unit,
2479 mdl_wavelength_max);
2532 #ifdef MI_NEURAYLIB_DEPRECATED_9_1
2610 const char* base_fname,
2611 bool include_geometry_normal) = 0;
2613 #ifdef MI_NEURAYLIB_DEPRECATED_9_1
2642 const char* base_fname,
2643 bool include_geometry_normal)
2649 include_geometry_normal);
2682 const char* base_fname,
2708 Target_function_description* function_descriptions,
2709 Size description_count,
2710 bool include_geometry_normal) = 0;
2712 #ifdef MI_NEURAYLIB_DEPRECATED_9_1
2736 Target_function_description* function_descriptions,
2737 Size description_count,
2738 bool include_geometry_normal)
2742 function_descriptions,
2744 include_geometry_normal);
2777 Target_function_description* function_descriptions,
2778 Size description_count,
2782 struct Target_function_description
2784 Target_function_description(
2785 const char* expression_path = NULL,
2786 const char* base_function_name = NULL)
2787 : path(expression_path)
2788 , base_fname(base_function_name)
2789 , argument_block_index(~0)
2790 , function_index(~0)
2804 const char* base_fname;
2810 Size argument_block_index;
2820 Size function_index;
2866 #endif // MI_NEURAYLIB_IMDL_COMPILER_H