Blender V4.5
types.h File Reference
#include <OSL/oslversion.h>
#include "util/defines.h"
#include "util/types_float3.h"
#include "closures_template.h"

Go to the source code of this file.

Classes

struct  OSLClosure
 
struct  ShaderGlobals
 
struct  OSLNoiseOptions
 
struct  OSLTextureOptions
 

Macros

#define OSL_CLOSURE_STRUCT_BEGIN(Upper, lower)   OSL_CLOSURE_##Upper##_ID,
 
#define OSL_TEXTURE_HANDLE_TYPE_IES   ((uintptr_t)0x2 << 30)
 
#define OSL_TEXTURE_HANDLE_TYPE_SVM   ((uintptr_t)0x1 << 30)
 
#define OSL_TEXTURE_HANDLE_TYPE_AO_OR_BEVEL   ((uintptr_t)0x3 << 30)
 
#define OSL_TEXTURE_HANDLE_TYPE(handle)    ((unsigned int)((uintptr_t)(handle) & ((uintptr_t)0x3 << 30)))
 
#define OSL_TEXTURE_HANDLE_SLOT(handle)    ((unsigned int)((uintptr_t)(handle) & ((uintptr_t)0x3FFFFFFF)))
 

Typedefs

using DeviceString = const char *
 

Enumerations

enum  OSLClosureType { OSL_CLOSURE_MUL_ID = -1 , OSL_CLOSURE_ADD_ID = -2 , OSL_CLOSURE_NONE_ID = 0 , OSL_CLOSURE_LAYER_ID }
 

Functions

ccl_device_inline DeviceString make_string (const char *str, const size_t hash)
 

Macro Definition Documentation

◆ OSL_CLOSURE_STRUCT_BEGIN

#define OSL_CLOSURE_STRUCT_BEGIN ( Upper,
lower )   OSL_CLOSURE_##Upper##_ID,

Definition at line 58 of file kernel/osl/types.h.

◆ OSL_TEXTURE_HANDLE_SLOT

#define OSL_TEXTURE_HANDLE_SLOT ( handle)     ((unsigned int)((uintptr_t)(handle) & ((uintptr_t)0x3FFFFFFF)))

Definition at line 155 of file kernel/osl/types.h.

Referenced by rs_texture(), and rs_texture3d().

◆ OSL_TEXTURE_HANDLE_TYPE

#define OSL_TEXTURE_HANDLE_TYPE ( handle)     ((unsigned int)((uintptr_t)(handle) & ((uintptr_t)0x3 << 30)))

Definition at line 153 of file kernel/osl/types.h.

Referenced by rs_texture(), and rs_texture3d().

◆ OSL_TEXTURE_HANDLE_TYPE_AO_OR_BEVEL

#define OSL_TEXTURE_HANDLE_TYPE_AO_OR_BEVEL   ((uintptr_t)0x3 << 30)

Definition at line 151 of file kernel/osl/types.h.

Referenced by OSLRenderServices::get_texture_handle().

◆ OSL_TEXTURE_HANDLE_TYPE_IES

#define OSL_TEXTURE_HANDLE_TYPE_IES   ((uintptr_t)0x2 << 30)

Definition at line 149 of file kernel/osl/types.h.

Referenced by OSLRenderServices::get_texture_handle(), and rs_texture().

◆ OSL_TEXTURE_HANDLE_TYPE_SVM

#define OSL_TEXTURE_HANDLE_TYPE_SVM   ((uintptr_t)0x1 << 30)

Typedef Documentation

◆ DeviceString

using DeviceString = const char *

Definition at line 26 of file kernel/osl/types.h.

Enumeration Type Documentation

◆ OSLClosureType

Enumerator
OSL_CLOSURE_MUL_ID 
OSL_CLOSURE_ADD_ID 
OSL_CLOSURE_NONE_ID 
OSL_CLOSURE_LAYER_ID 

Definition at line 52 of file kernel/osl/types.h.

Function Documentation

◆ make_string()