The runtime for bitmap texture access for the generated target code can optionally be implemented in form of a vtable as specified by this structure. More...
Public Attributes | |
void(* | m_tex_lookup_float4_2d )(tct_float result[4], Texture_handler_base const *self, tct_uint texture_idx, typename traits::tct_coord2_type coord, Tex_wrap_mode wrap_u, Tex_wrap_mode wrap_v, tct_float const crop_u[2], tct_float const crop_v[2]) |
Implementation of tex::lookup_float4() for a texture_2d texture. More... | |
void(* | m_tex_lookup_float3_2d )(tct_float result[3], Texture_handler_base const *self, tct_uint texture_idx, typename traits::tct_coord2_type coord, Tex_wrap_mode wrap_u, Tex_wrap_mode wrap_v, tct_float const crop_u[2], tct_float const crop_v[2]) |
Implementation of tex::lookup_float3() for a texture_2d texture. More... | |
void(* | m_tex_texel_float4_2d )(tct_float result[4], Texture_handler_base const *self, tct_uint texture_idx, tct_int const coord[2], tct_int const uv_tile[2]) |
Implementation of tex::texel_float4() for a texture_2d texture. More... | |
void(* | m_tex_lookup_float4_3d )(tct_float result[4], Texture_handler_base const *self, tct_uint texture_idx, tct_float const coord[3], Tex_wrap_mode wrap_u, Tex_wrap_mode wrap_v, Tex_wrap_mode wrap_w, tct_float const crop_u[2], tct_float const crop_v[2], tct_float const crop_w[2]) |
Implementation of tex::lookup_float4() for a texture_3d texture. More... | |
void(* | m_tex_lookup_float3_3d )(tct_float result[3], Texture_handler_base const *self, tct_uint texture_idx, tct_float const coord[3], Tex_wrap_mode wrap_u, Tex_wrap_mode wrap_v, Tex_wrap_mode wrap_w, tct_float const crop_u[2], tct_float const crop_v[2], tct_float const crop_w[2]) |
Implementation of tex::lookup_float3() for a texture_3d texture. More... | |
void(* | m_tex_texel_float4_3d )(tct_float result[4], Texture_handler_base const *self, tct_uint texture_idx, tct_int const coord[3]) |
Implementation of tex::texel_float4() for a texture_3d texture. More... | |
void(* | m_tex_lookup_float4_cube )(tct_float result[4], Texture_handler_base const *self, tct_uint texture_idx, tct_float const coord[3]) |
Implementation of tex::lookup_float4() for a texture_cube texture. More... | |
void(* | m_tex_lookup_float3_cube )(tct_float result[3], Texture_handler_base const *self, tct_uint texture_idx, tct_float const coord[3]) |
Implementation of tex::lookup_float3() for a texture_cube texture. More... | |
void(* | m_tex_resolution_2d )(tct_int result[2], Texture_handler_base const *self, tct_uint texture_idx, tct_int const uv_tile[2]) |
Implementation of resolution_2d() function needed by generated code, which retrieves the width and height of the given texture. More... | |
tct_float(* | m_df_light_profile_evaluate )(Texture_handler_base const *self, tct_uint resource_idx, tct_float const theta_phi[2]) |
Implementation of light_profile_evaluate() for a light profile. More... | |
void(* | m_df_light_profile_sample )(tct_float result[3], Texture_handler_base const *self, tct_uint resource_idx, tct_float const xi[3]) |
Implementation of light_profile_sample() for a light profile. More... | |
tct_float(* | m_df_light_profile_pdf )(Texture_handler_base const *self, tct_uint resource_idx, tct_float const theta_phi[2]) |
Implementation of light_profile_pdf() for a light profile. More... | |
void(* | m_df_bsdf_measurement_resolution )(tct_uint result[3], Texture_handler_base const *self, tct_uint resource_idx, Mbsdf_part part) |
Implementation of bsdf_measurement_resolution() function needed by generated code, which retrieves the angular and chromatic resolution of the given MBSDF. More... | |
void(* | m_df_bsdf_measurement_evaluate )(tct_float result[3], Texture_handler_base const *self, tct_uint resource_idx, tct_float const theta_phi_in[2], tct_float const theta_phi_out[2], Mbsdf_part part) |
Implementation of bsdf_measurement_evaluate() for an MBSDF. More... | |
void(* | m_df_bsdf_measurement_sample )(tct_float result[3], Texture_handler_base const *self, tct_uint resource_idx, tct_float const theta_phi_out[2], tct_float const xi[3], Mbsdf_part part) |
Implementation of bsdf_measurement_sample() for an MBSDF. More... | |
tct_float(* | m_df_bsdf_measurement_pdf )(Texture_handler_base const *self, tct_uint resource_idx, tct_float const theta_phi_in[2], tct_float const theta_phi_out[2], Mbsdf_part part) |
Implementation of bsdf_measurement_pdf() for an MBSDF. More... | |
void(* | m_df_bsdf_measurement_albedos )(tct_float result[4], Texture_handler_base const *self, tct_uint resource_idx, tct_float const theta_phi[2]) |
Implementation of bsdf_measurement_albedos() for an MBSDF. More... | |
The runtime for bitmap texture access for the generated target code can optionally be implemented in form of a vtable as specified by this structure.
void(* mi::neuraylib::Texture_handler_vtable_impl< with_derivatives >::m_df_bsdf_measurement_albedos)(tct_float result[4],Texture_handler_base const *self, tct_uint resource_idx, tct_float const theta_phi[2]) |
Implementation of bsdf_measurement_albedos()
for an MBSDF.
theta in [0, pi/2] and phi in [-pi, pi]
void(* mi::neuraylib::Texture_handler_vtable_impl< with_derivatives >::m_df_bsdf_measurement_evaluate)(tct_float result[3], Texture_handler_base const *self, tct_uint resource_idx, tct_float const theta_phi_in[2],tct_float const theta_phi_out[2],Mbsdf_part part) |
Implementation of bsdf_measurement_evaluate()
for an MBSDF.
reflection or transmission
tct_float(* mi::neuraylib::Texture_handler_vtable_impl< with_derivatives >::m_df_bsdf_measurement_pdf)(Texture_handler_base const *self, tct_uint resource_idx, tct_float const theta_phi_in[2],tct_float const theta_phi_out[2],Mbsdf_part part) |
Implementation of bsdf_measurement_pdf()
for an MBSDF.
reflection or transmission
void(* mi::neuraylib::Texture_handler_vtable_impl< with_derivatives >::m_df_bsdf_measurement_resolution)(tct_uint result[3], Texture_handler_base const *self, tct_uint resource_idx, Mbsdf_part part) |
Implementation of bsdf_measurement_resolution()
function needed by generated code, which retrieves the angular and chromatic resolution of the given MBSDF.
The returned triple consists of: number of equi-spaced steps of theta_i and theta_o, number of equi-spaced steps of phi, and number of color channels (1 or 3). reflection or transmission
void(* mi::neuraylib::Texture_handler_vtable_impl< with_derivatives >::m_df_bsdf_measurement_sample)(tct_float result[3],Texture_handler_base const *self, tct_uint resource_idx, tct_float const theta_phi_out[2],tct_float const xi[3],Mbsdf_part part) |
Implementation of bsdf_measurement_sample()
for an MBSDF.
reflection or transmission
tct_float(* mi::neuraylib::Texture_handler_vtable_impl< with_derivatives >::m_df_light_profile_evaluate)(Texture_handler_base const *self, tct_uint resource_idx, tct_float const theta_phi[2]) |
Implementation of light_profile_evaluate()
for a light profile.
theta in [0, pi/2] and phi in [-pi, pi]
tct_float(* mi::neuraylib::Texture_handler_vtable_impl< with_derivatives >::m_df_light_profile_pdf)(Texture_handler_base const *self, tct_uint resource_idx, tct_float const theta_phi[2]) |
Implementation of light_profile_pdf()
for a light profile.
theta in [0, pi/2] and phi in [-pi, pi]
void(* mi::neuraylib::Texture_handler_vtable_impl< with_derivatives >::m_df_light_profile_sample)(tct_float result[3],Texture_handler_base const *self, tct_uint resource_idx, tct_float const xi[3]) |
Implementation of light_profile_sample()
for a light profile.
void(* mi::neuraylib::Texture_handler_vtable_impl< with_derivatives >::m_tex_lookup_float3_2d)(tct_float result[3], Texture_handler_base const *self, tct_uint texture_idx, typename traits::tct_coord2_type coord, Tex_wrap_mode wrap_u, Tex_wrap_mode wrap_v, tct_float const crop_u[2], tct_float const crop_v[2]) |
Implementation of tex::lookup_float3()
for a texture_2d texture.
void(* mi::neuraylib::Texture_handler_vtable_impl< with_derivatives >::m_tex_lookup_float3_3d)(tct_float result[3], Texture_handler_base const *self, tct_uint texture_idx, tct_float const coord[3], Tex_wrap_mode wrap_u, Tex_wrap_mode wrap_v, Tex_wrap_mode wrap_w, tct_float const crop_u[2], tct_float const crop_v[2], tct_float const crop_w[2]) |
Implementation of tex::lookup_float3()
for a texture_3d texture.
void(* mi::neuraylib::Texture_handler_vtable_impl< with_derivatives >::m_tex_lookup_float3_cube)(tct_float result[3], Texture_handler_base const *self, tct_uint texture_idx, tct_float const coord[3]) |
Implementation of tex::lookup_float3()
for a texture_cube texture.
void(* mi::neuraylib::Texture_handler_vtable_impl< with_derivatives >::m_tex_lookup_float4_2d)(tct_float result[4], Texture_handler_base const *self, tct_uint texture_idx, typename traits::tct_coord2_type coord, Tex_wrap_mode wrap_u, Tex_wrap_mode wrap_v, tct_float const crop_u[2], tct_float const crop_v[2]) |
Implementation of tex::lookup_float4()
for a texture_2d texture.
void(* mi::neuraylib::Texture_handler_vtable_impl< with_derivatives >::m_tex_lookup_float4_3d)(tct_float result[4], Texture_handler_base const *self, tct_uint texture_idx, tct_float const coord[3], Tex_wrap_mode wrap_u, Tex_wrap_mode wrap_v, Tex_wrap_mode wrap_w, tct_float const crop_u[2], tct_float const crop_v[2], tct_float const crop_w[2]) |
Implementation of tex::lookup_float4()
for a texture_3d texture.
void(* mi::neuraylib::Texture_handler_vtable_impl< with_derivatives >::m_tex_lookup_float4_cube)(tct_float result[4], Texture_handler_base const *self, tct_uint texture_idx, tct_float const coord[3]) |
Implementation of tex::lookup_float4()
for a texture_cube texture.
void(* mi::neuraylib::Texture_handler_vtable_impl< with_derivatives >::m_tex_resolution_2d)(tct_int result[2], Texture_handler_base const *self, tct_uint texture_idx, tct_int const uv_tile[2]) |
Implementation of resolution_2d()
function needed by generated code, which retrieves the width and height of the given texture.
void(* mi::neuraylib::Texture_handler_vtable_impl< with_derivatives >::m_tex_texel_float4_2d)(tct_float result[4], Texture_handler_base const *self, tct_uint texture_idx, tct_int const coord[2], tct_int const uv_tile[2]) |
Implementation of tex::texel_float4()
for a texture_2d texture.
void(* mi::neuraylib::Texture_handler_vtable_impl< with_derivatives >::m_tex_texel_float4_3d)(tct_float result[4], Texture_handler_base const *self, tct_uint texture_idx, tct_int const coord[3]) |
Implementation of tex::texel_float4()
for a texture_3d texture.