7 #ifndef MI_NEURAYLIB_TARGET_CODE_TYPES_H
8 #define MI_NEURAYLIB_TARGET_CODE_TYPES_H
14 #if defined(TARGET_CODE_USE_CUDA_TYPES) && defined(TARGET_CODE_USE_NEURAY_TYPES)
15 #error "Only one of TARGET_CODE_USE_CUDA_TYPES and TARGET_CODE_USE_NEURAY_TYPES may be defined."
18 #if !defined(TARGET_CODE_USE_NEURAY_TYPES) && \
19 (defined(TARGET_CODE_USE_CUDA_TYPES) || defined(__CUDA_ARCH__))
21 #include <vector_types.h>
90 template<
bool with_derivatives>
100 typedef tct_float const tct_coord2_type[2];
110 typedef tct_derivable_float2
const * tct_coord2_type;
173 template<
bool with_derivatives = false>
297 struct Texture_handler_base;
302 template<
bool with_derivatives = false>
307 void (*m_tex_lookup_float4_2d)(
311 typename traits::tct_coord2_type coord,
318 void (*m_tex_lookup_float3_2d)(
322 typename traits::tct_coord2_type coord,
329 void (*m_tex_texel_float4_2d)(
337 void (*m_tex_lookup_float4_3d)(
350 void (*m_tex_lookup_float3_3d)(
363 void (*m_tex_texel_float4_3d)(
370 void (*m_tex_lookup_float4_cube)(
377 void (*m_tex_lookup_float3_cube)(
385 void (*m_tex_resolution_2d)(
398 void (*m_df_light_profile_sample)(
415 void (*m_df_bsdf_measurement_resolution)(
422 void (*m_df_bsdf_measurement_evaluate)(
431 void (*m_df_bsdf_measurement_sample)(
449 void (*m_df_bsdf_measurement_albedos)(
495 BSDF_EVENT_ABSORB = 0,
497 BSDF_EVENT_DIFFUSE = 1,
498 BSDF_EVENT_GLOSSY = 1 << 1,
499 BSDF_EVENT_SPECULAR = 1 << 2,
500 BSDF_EVENT_REFLECTION = 1 << 3,
501 BSDF_EVENT_TRANSMISSION = 1 << 4,
503 BSDF_EVENT_DIFFUSE_REFLECTION = BSDF_EVENT_DIFFUSE | BSDF_EVENT_REFLECTION,
504 BSDF_EVENT_DIFFUSE_TRANSMISSION = BSDF_EVENT_DIFFUSE | BSDF_EVENT_TRANSMISSION,
505 BSDF_EVENT_GLOSSY_REFLECTION = BSDF_EVENT_GLOSSY | BSDF_EVENT_REFLECTION,
506 BSDF_EVENT_GLOSSY_TRANSMISSION = BSDF_EVENT_GLOSSY | BSDF_EVENT_TRANSMISSION,
507 BSDF_EVENT_SPECULAR_REFLECTION = BSDF_EVENT_SPECULAR | BSDF_EVENT_REFLECTION,
508 BSDF_EVENT_SPECULAR_TRANSMISSION = BSDF_EVENT_SPECULAR | BSDF_EVENT_TRANSMISSION,
510 BSDF_EVENT_FORCE_32_BIT = 0xffffffffU
516 #define MI_NEURAYLIB_BSDF_USE_MATERIAL_IOR (-1.0f)
574 void const *exception_state,
575 char const *arg_block_data);
591 void const *exception_state,
592 char const *arg_block_data);
608 void const *exception_state,
609 char const *arg_block_data);
627 void const *exception_state,
628 char const *arg_block_data);
646 void const *exception_state,
647 char const *arg_block_data);
663 void const *exception_state,
664 char const *arg_block_data);
680 void const *exception_state,
681 char const *arg_block_data);
697 void const *exception_state,
698 char const *arg_block_data);
714 void const *exception_state,
715 char const *arg_block_data);
731 void const *exception_state,
732 char const *arg_block_data);
748 void const *exception_state,
749 char const *arg_block_data);
757 EDF_EVENT_EMISSION = 1,
759 EDF_EVENT_FORCE_32_BIT = 0xffffffffU
814 void const *exception_state,
815 char const *arg_block_data);
833 void const *exception_state,
834 char const *arg_block_data);
850 void const *exception_state,
851 char const *arg_block_data);
867 void const *exception_state,
868 char const *arg_block_data);
884 void const *exception_state,
885 char const *arg_block_data);
901 void const *exception_state,
902 char const *arg_block_data);
918 void const *exception_state,
919 char const *arg_block_data);
935 void const *exception_state,
936 char const *arg_block_data);
944 #endif // MI_NEURAYLIB_TARGET_CODE_TYPES_H