|
Blender V4.3
|
#include <services.h>
Inherits OSL::RendererServices.
Public Member Functions | |
| OSLRenderServices (OSL::TextureSystem *texture_system, int device_type) | |
| ~OSLRenderServices () | |
| int | supports (string_view feature) const override |
| bool | get_matrix (OSL::ShaderGlobals *sg, OSL::Matrix44 &result, OSL::TransformationPtr xform, float time) override |
| bool | get_inverse_matrix (OSL::ShaderGlobals *sg, OSL::Matrix44 &result, OSL::TransformationPtr xform, float time) override |
| bool | get_matrix (OSL::ShaderGlobals *sg, OSL::Matrix44 &result, OSLUStringHash from, float time) override |
| bool | get_inverse_matrix (OSL::ShaderGlobals *sg, OSL::Matrix44 &result, OSLUStringHash to, float time) override |
| bool | get_matrix (OSL::ShaderGlobals *sg, OSL::Matrix44 &result, OSL::TransformationPtr xform) override |
| bool | get_inverse_matrix (OSL::ShaderGlobals *sg, OSL::Matrix44 &result, OSL::TransformationPtr xform) override |
| bool | get_matrix (OSL::ShaderGlobals *sg, OSL::Matrix44 &result, OSLUStringHash from) override |
| bool | get_inverse_matrix (OSL::ShaderGlobals *sg, OSL::Matrix44 &result, OSLUStringHash from) override |
| bool | get_array_attribute (OSL::ShaderGlobals *sg, bool derivatives, OSLUStringHash object, TypeDesc type, OSLUStringHash name, int index, void *val) override |
| bool | get_attribute (OSL::ShaderGlobals *sg, bool derivatives, OSLUStringHash object, TypeDesc type, OSLUStringHash name, void *val) override |
| bool | get_attribute (ShaderData *sd, bool derivatives, OSLUStringHash object_name, TypeDesc type, OSLUStringHash name, void *val) |
| bool | get_userdata (bool derivatives, OSLUStringHash name, TypeDesc type, OSL::ShaderGlobals *sg, void *val) override |
| int | pointcloud_search (OSL::ShaderGlobals *sg, OSLUStringHash filename, const OSL::Vec3 ¢er, float radius, int max_points, bool sort, size_t *out_indices, float *out_distances, int derivs_offset) override |
| int | pointcloud_get (OSL::ShaderGlobals *sg, OSLUStringHash filename, size_t *indices, int count, OSLUStringHash attr_name, TypeDesc attr_type, void *out_data) override |
| bool | pointcloud_write (OSL::ShaderGlobals *sg, OSLUStringHash filename, const OSL::Vec3 &pos, int nattribs, const OSLUStringRep *names, const TypeDesc *types, const void **data) override |
| bool | trace (TraceOpt &options, OSL::ShaderGlobals *sg, const OSL::Vec3 &P, const OSL::Vec3 &dPdx, const OSL::Vec3 &dPdy, const OSL::Vec3 &R, const OSL::Vec3 &dRdx, const OSL::Vec3 &dRdy) override |
| bool | getmessage (OSL::ShaderGlobals *sg, OSLUStringHash source, OSLUStringHash name, TypeDesc type, void *val, bool derivatives) override |
| TextureSystem::TextureHandle * | get_texture_handle (OSLUStringHash filename) override |
| bool | good (TextureSystem::TextureHandle *texture_handle) override |
| bool | texture (OSLUStringHash filename, TextureSystem::TextureHandle *texture_handle, TexturePerthread *texture_thread_info, TextureOpt &options, OSL::ShaderGlobals *sg, float s, float t, float dsdx, float dtdx, float dsdy, float dtdy, int nchannels, float *result, float *dresultds, float *dresultdt, OSLUStringHash *errormessage) override |
| bool | texture3d (OSLUStringHash filename, TextureHandle *texture_handle, TexturePerthread *texture_thread_info, TextureOpt &options, OSL::ShaderGlobals *sg, const OSL::Vec3 &P, const OSL::Vec3 &dPdx, const OSL::Vec3 &dPdy, const OSL::Vec3 &dPdz, int nchannels, float *result, float *dresultds, float *dresultdt, float *dresultdr, OSLUStringHash *errormessage) override |
| bool | environment (OSLUStringHash filename, TextureHandle *texture_handle, TexturePerthread *texture_thread_info, TextureOpt &options, OSL::ShaderGlobals *sg, const OSL::Vec3 &R, const OSL::Vec3 &dRdx, const OSL::Vec3 &dRdy, int nchannels, float *result, float *dresultds, float *dresultdt, OSLUStringHash *errormessage) override |
| bool | get_texture_info (OSL::ShaderGlobals *sg, OSLUStringHash filename, TextureHandle *texture_handle, int subimage, OSLUStringHash dataname, TypeDesc datatype, void *data) override |
Static Public Member Functions | |
| static void | register_closures (OSL::ShadingSystem *ss) |
| static bool | get_background_attribute (const KernelGlobalsCPU *kg, ShaderData *sd, OSLUStringHash name, TypeDesc type, bool derivatives, void *val) |
| static bool | get_object_standard_attribute (const KernelGlobalsCPU *kg, ShaderData *sd, OSLUStringHash name, TypeDesc type, bool derivatives, void *val) |
Public Attributes | |
| OSLTextureHandleMap | textures |
Static Public Attributes | |
| static ustring | u_distance |
| static ustring | u_index |
| static ustring | u_world |
| static ustring | u_camera |
| static ustring | u_screen |
| static ustring | u_raster |
| static ustring | u_ndc |
| static ustring | u_object_location |
| static ustring | u_object_color |
| static ustring | u_object_alpha |
| static ustring | u_object_index |
| static ustring | u_object_is_light |
| static ustring | u_geom_dupli_generated |
| static ustring | u_geom_dupli_uv |
| static ustring | u_material_index |
| static ustring | u_object_random |
| static ustring | u_particle_index |
| static ustring | u_particle_random |
| static ustring | u_particle_age |
| static ustring | u_particle_lifetime |
| static ustring | u_particle_location |
| static ustring | u_particle_rotation |
| static ustring | u_particle_size |
| static ustring | u_particle_velocity |
| static ustring | u_particle_angular_velocity |
| static ustring | u_geom_numpolyvertices |
| static ustring | u_geom_trianglevertices |
| static ustring | u_geom_polyvertices |
| static ustring | u_geom_name |
| static ustring | u_geom_undisplaced |
| static ustring | u_is_smooth |
| static ustring | u_is_curve |
| static ustring | u_curve_thickness |
| static ustring | u_curve_length |
| static ustring | u_curve_tangent_normal |
| static ustring | u_curve_random |
| static ustring | u_is_point |
| static ustring | u_point_position |
| static ustring | u_point_radius |
| static ustring | u_point_random |
| static ustring | u_normal_map_normal |
| static ustring | u_path_ray_length |
| static ustring | u_path_ray_depth |
| static ustring | u_path_diffuse_depth |
| static ustring | u_path_glossy_depth |
| static ustring | u_path_transparent_depth |
| static ustring | u_path_transmission_depth |
| static ustring | u_trace |
| static ustring | u_hit |
| static ustring | u_hitdist |
| static ustring | u_N |
| static ustring | u_Ng |
| static ustring | u_P |
| static ustring | u_I |
| static ustring | u_u |
| static ustring | u_v |
| static ustring | u_empty |
| static ustring | u_at_bevel |
| static ustring | u_at_ao |
| static ImageManager * | image_manager = nullptr |
Definition at line 85 of file services.h.
| OSLRenderServices::OSLRenderServices | ( | OSL::TextureSystem * | texture_system, |
| int | device_type ) |
Definition at line 127 of file services.cpp.
| OSLRenderServices::~OSLRenderServices | ( | ) |
Definition at line 132 of file services.cpp.
References VLOG_INFO.
|
override |
Definition at line 1580 of file services.cpp.
References NULL, options, R, result, ShaderData, ColorSpaceManager::to_scene_linear(), and to_ustring().
|
override |
Definition at line 404 of file services.cpp.
|
override |
Definition at line 1117 of file services.cpp.
References get_attribute(), NULL, and ShaderData.
Referenced by get_attribute(), and getmessage().
| bool OSLRenderServices::get_attribute | ( | ShaderData * | sd, |
| bool | derivatives, | ||
| OSLUStringHash | object_name, | ||
| TypeDesc | type, | ||
| OSLUStringHash | name, | ||
| void * | val ) |
Definition at line 1132 of file services.cpp.
References ATTR_STD_NOT_FOUND, find_attribute(), get_object_attribute(), get_object_standard_attribute(), AttributeDescriptor::offset, PRIMITIVE_NONE, and u_empty.
|
static |
Definition at line 1029 of file services.cpp.
References CAMERA_ORTHOGRAPHIC, camera_world_to_ndc(), differential_from_compact(), differential3::dx, differential3::dy, kernel_data, OBJECT_NONE, PATH_RAY_CAMERA, set_attribute_float(), set_attribute_float3(), set_attribute_int(), state, u_ndc, u_path_diffuse_depth, u_path_glossy_depth, u_path_ray_depth, u_path_ray_length, u_path_transmission_depth, u_path_transparent_depth, and zero_float3().
Referenced by get_object_standard_attribute().
|
override |
Definition at line 322 of file services.cpp.
References copy_matrix(), lamp_fetch_transform(), object_get_inverse_transform(), OBJECT_NONE, PRIMITIVE_LAMP, and ShaderData.
|
override |
Definition at line 190 of file services.cpp.
References copy_matrix(), lamp_fetch_transform(), object_fetch_transform_motion_test(), object_get_inverse_transform(), OBJECT_NONE, PRIMITIVE_LAMP, and ShaderData.
|
override |
Definition at line 377 of file services.cpp.
References copy_matrix(), kernel_data, ShaderData, u_camera, u_ndc, u_raster, and u_screen.
|
override |
Definition at line 262 of file services.cpp.
References copy_matrix(), kernel_data, ShaderData, u_camera, u_ndc, u_raster, u_screen, and u_world.
|
override |
Definition at line 294 of file services.cpp.
References copy_matrix(), lamp_fetch_transform(), object_get_transform(), OBJECT_NONE, PRIMITIVE_LAMP, and ShaderData.
|
override |
Definition at line 150 of file services.cpp.
References copy_matrix(), lamp_fetch_transform(), NULL, object_fetch_transform_motion_test(), object_get_transform(), OBJECT_NONE, PRIMITIVE_LAMP, and ShaderData.
|
override |
Definition at line 350 of file services.cpp.
References copy_matrix(), kernel_data, ShaderData, u_camera, u_ndc, u_raster, and u_screen.
|
override |
Definition at line 230 of file services.cpp.
References copy_matrix(), kernel_data, ShaderData, u_camera, u_ndc, u_raster, u_screen, and u_world.
|
static |
Definition at line 848 of file services.cpp.
References get_background_attribute(), hash_uint2_to_float(), motion_triangle_vertices(), object_alpha(), object_color(), object_dupli_generated(), object_dupli_uv(), object_location(), object_particle_id(), object_pass_id(), object_position_transform(), object_random_number(), P, particle_age(), particle_angular_velocity(), particle_index(), particle_lifetime(), particle_location(), particle_rotation(), particle_size(), particle_velocity(), PRIMITIVE_CURVE, PRIMITIVE_LAMP, PRIMITIVE_MOTION, PRIMITIVE_POINT, PRIMITIVE_TRIANGLE, SD_OBJECT_TRANSFORM_APPLIED, set_attribute_float(), set_attribute_float3(), set_attribute_float3_3(), set_attribute_float4(), set_attribute_int(), set_attribute_string(), shader_pass_id(), SHADER_SMOOTH_NORMAL, triangle_smooth_normal_unnormalized(), triangle_vertices(), u_curve_random, u_curve_tangent_normal, u_curve_thickness, u_geom_dupli_generated, u_geom_dupli_uv, u_geom_name, u_geom_numpolyvertices, u_geom_polyvertices, u_geom_trianglevertices, u_is_curve, u_is_point, u_is_smooth, u_material_index, u_normal_map_normal, u_object_alpha, u_object_color, u_object_index, u_object_is_light, u_object_location, u_object_random, u_particle_age, u_particle_angular_velocity, u_particle_index, u_particle_lifetime, u_particle_location, u_particle_random, u_particle_rotation, u_particle_size, u_particle_velocity, u_point_position, u_point_radius, and u_point_random.
Referenced by get_attribute().
|
override |
Definition at line 1190 of file services.cpp.
References OSLTextureHandle::AO, OSLTextureHandle::BEVEL, DEVICE_CPU, OSLTextureHandle::IES, NULL, OSLTextureHandle::OIIO, OSL_TEXTURE_HANDLE_TYPE_AO_OR_BEVEL, OSL_TEXTURE_HANDLE_TYPE_IES, OSL_TEXTURE_HANDLE_TYPE_SVM, OSLTextureHandle::SVM, and to_ustring().
|
override |
Definition at line 1661 of file services.cpp.
References data, OSLTextureHandle::OIIO, and to_ustring().
|
override |
Definition at line 1168 of file services.cpp.
|
override |
Definition at line 1796 of file services.cpp.
References differential_from_compact(), differential3::dx, differential3::dy, get_attribute(), set_attribute_float(), set_attribute_float3(), set_attribute_int(), shader_setup_from_ray(), ShaderData, u_empty, u_hit, u_hitdist, u_I, u_N, u_Ng, u_P, u_trace, u_u, and u_v.
|
override |
Definition at line 1268 of file services.cpp.
|
override |
Definition at line 1705 of file services.cpp.
|
override |
Definition at line 1692 of file services.cpp.
|
override |
Definition at line 1716 of file services.cpp.
|
static |
Definition at line 66 of file closures.cpp.
References OSL_CLOSURE_LAYER_ID, and osl_closure_layer_params().
|
override |
Definition at line 139 of file services.cpp.
References DEVICE_OPTIX.
|
override |
Definition at line 1281 of file services.cpp.
References OSLTextureHandle::AO, OSLTextureHandle::BEVEL, OSLTextureHandle::IES, int, kernel_ies_interp(), kernel_tex_image_interp(), make_float3(), make_float4(), N, NODE_AO_GLOBAL_RADIUS, NODE_AO_INSIDE, NODE_AO_ONLY_LOCAL, NULL, OSLTextureHandle::OIIO, options, ShaderData, state, OSLTextureHandle::SVM, TEX_IMAGE_MISSING_A, TEX_IMAGE_MISSING_B, TEX_IMAGE_MISSING_G, TEX_IMAGE_MISSING_R, tile, ColorSpaceManager::to_scene_linear(), to_ustring(), OSLTextureHandle::type, and KernelWorkTile::y.
|
override |
Definition at line 1466 of file services.cpp.
References OSLTextureHandle::AO, OSLTextureHandle::BEVEL, OSLTextureHandle::IES, INTERPOLATION_NONE, kernel_tex_image_interp_3d(), make_float3(), NULL, OSLTextureHandle::OIIO, options, P, result, ShaderData, OSLTextureHandle::SVM, ColorSpaceManager::to_scene_linear(), to_ustring(), and OSLTextureHandle::type.
|
override |
Definition at line 1727 of file services.cpp.
References BVH_LAYOUT_NONE, differential_make_compact(), differential3::dx, differential3::dy, FLT_MAX, kernel_data, LAMP_NONE, make_float3(), OBJECT_NONE, options, P, Ray::P, PATH_RAY_ALL_VISIBILITY, PATH_RAY_SHADOW_OPAQUE, PRIM_NONE, R, scene_intersect(), and ShaderData.
|
static |
Definition at line 364 of file services.h.
| OSLTextureHandleMap OSLRenderServices::textures |
Definition at line 362 of file services.h.
|
static |
Definition at line 356 of file services.h.
|
static |
Definition at line 355 of file services.h.
|
static |
Definition at line 301 of file services.h.
Referenced by get_inverse_matrix(), get_inverse_matrix(), get_matrix(), and get_matrix().
|
static |
Definition at line 331 of file services.h.
|
static |
Definition at line 333 of file services.h.
Referenced by get_object_standard_attribute().
|
static |
Definition at line 332 of file services.h.
Referenced by get_object_standard_attribute().
|
static |
Definition at line 330 of file services.h.
Referenced by get_object_standard_attribute().
|
static |
Definition at line 298 of file services.h.
|
static |
Definition at line 354 of file services.h.
Referenced by get_attribute(), getmessage(), osl_eval_nodes< SHADER_TYPE_SURFACE >(), and set_attribute_string().
|
static |
Definition at line 310 of file services.h.
Referenced by get_object_standard_attribute().
|
static |
Definition at line 311 of file services.h.
Referenced by get_object_standard_attribute().
|
static |
Definition at line 326 of file services.h.
Referenced by get_object_standard_attribute().
|
static |
Definition at line 323 of file services.h.
Referenced by get_object_standard_attribute().
|
static |
Definition at line 325 of file services.h.
Referenced by get_object_standard_attribute().
|
static |
Definition at line 324 of file services.h.
Referenced by get_object_standard_attribute().
|
static |
Definition at line 327 of file services.h.
Referenced by osl_eval_nodes< SHADER_TYPE_SURFACE >().
|
static |
Definition at line 346 of file services.h.
Referenced by getmessage().
|
static |
Definition at line 347 of file services.h.
Referenced by getmessage().
|
static |
Definition at line 351 of file services.h.
Referenced by getmessage().
|
static |
Definition at line 299 of file services.h.
|
static |
Definition at line 329 of file services.h.
Referenced by get_object_standard_attribute().
|
static |
Definition at line 334 of file services.h.
Referenced by get_object_standard_attribute().
|
static |
Definition at line 328 of file services.h.
Referenced by get_object_standard_attribute().
|
static |
Definition at line 312 of file services.h.
Referenced by get_object_standard_attribute().
|
static |
Definition at line 348 of file services.h.
Referenced by getmessage().
|
static |
Definition at line 304 of file services.h.
Referenced by get_background_attribute(), get_inverse_matrix(), get_inverse_matrix(), get_matrix(), and get_matrix().
|
static |
Definition at line 349 of file services.h.
Referenced by getmessage().
|
static |
Definition at line 338 of file services.h.
Referenced by get_object_standard_attribute().
|
static |
Definition at line 307 of file services.h.
Referenced by get_object_standard_attribute().
|
static |
Definition at line 306 of file services.h.
Referenced by get_object_standard_attribute().
|
static |
Definition at line 308 of file services.h.
Referenced by get_object_standard_attribute().
|
static |
Definition at line 309 of file services.h.
Referenced by get_object_standard_attribute().
|
static |
Definition at line 305 of file services.h.
Referenced by get_object_standard_attribute().
|
static |
Definition at line 313 of file services.h.
Referenced by get_object_standard_attribute().
|
static |
Definition at line 350 of file services.h.
Referenced by getmessage().
|
static |
Definition at line 316 of file services.h.
Referenced by get_object_standard_attribute().
|
static |
Definition at line 322 of file services.h.
Referenced by get_object_standard_attribute().
|
static |
Definition at line 314 of file services.h.
Referenced by get_object_standard_attribute().
|
static |
Definition at line 317 of file services.h.
Referenced by get_object_standard_attribute().
|
static |
Definition at line 318 of file services.h.
Referenced by get_object_standard_attribute().
|
static |
Definition at line 315 of file services.h.
Referenced by get_object_standard_attribute().
|
static |
Definition at line 319 of file services.h.
Referenced by get_object_standard_attribute().
|
static |
Definition at line 320 of file services.h.
Referenced by get_object_standard_attribute().
|
static |
Definition at line 321 of file services.h.
Referenced by get_object_standard_attribute().
|
static |
Definition at line 341 of file services.h.
Referenced by get_background_attribute().
|
static |
Definition at line 342 of file services.h.
Referenced by get_background_attribute().
|
static |
Definition at line 340 of file services.h.
Referenced by get_background_attribute().
|
static |
Definition at line 339 of file services.h.
Referenced by get_background_attribute().
|
static |
Definition at line 344 of file services.h.
Referenced by get_background_attribute().
|
static |
Definition at line 343 of file services.h.
Referenced by get_background_attribute().
|
static |
Definition at line 335 of file services.h.
Referenced by get_object_standard_attribute().
|
static |
Definition at line 336 of file services.h.
Referenced by get_object_standard_attribute().
|
static |
Definition at line 337 of file services.h.
Referenced by get_object_standard_attribute().
|
static |
Definition at line 303 of file services.h.
Referenced by get_inverse_matrix(), get_inverse_matrix(), get_matrix(), and get_matrix().
|
static |
Definition at line 302 of file services.h.
Referenced by get_inverse_matrix(), get_inverse_matrix(), get_matrix(), and get_matrix().
|
static |
Definition at line 345 of file services.h.
Referenced by getmessage().
|
static |
Definition at line 352 of file services.h.
Referenced by getmessage().
|
static |
Definition at line 353 of file services.h.
Referenced by getmessage().
|
static |
Definition at line 300 of file services.h.
Referenced by get_inverse_matrix(), and get_matrix().