Jolt Physics
A multi core friendly Game Physics Engine
Loading...
Searching...
No Matches
ShaderCore.h File Reference

Go to the source code of this file.

Macros

#define JPH_SHADER_CONSTANT(type, name, value)
 
#define JPH_SHADER_CONSTANTS_BEGIN(type, name)
 
#define JPH_SHADER_CONSTANTS_MEMBER(type, name)
 
#define JPH_SHADER_CONSTANTS_END(type)
 
#define JPH_SHADER_FUNCTION_BEGIN(return_type, name, group_size_x, group_size_y, group_size_z)
 
#define JPH_SHADER_PARAM_THREAD_ID(name)
 
#define JPH_SHADER_FUNCTION_END   )
 
#define JPH_SHADER_BUFFER(type)
 
#define JPH_SHADER_RW_BUFFER(type)
 
#define JPH_SHADER_BIND_BEGIN(name)
 
#define JPH_SHADER_BIND_END(name)
 
#define JPH_SHADER_BIND_BUFFER(type, name)
 
#define JPH_SHADER_BIND_RW_BUFFER(type, name)
 
#define JPH_AtomicAdd   InterlockedAdd
 
#define JPH_SHADER_STRUCT_BEGIN(name)
 
#define JPH_SHADER_STRUCT_MEMBER(type, name)
 
#define JPH_SHADER_STRUCT_END(name)
 
#define JPH_IN(type)
 
#define JPH_OUT(type)
 
#define JPH_IN_OUT(type)
 

Typedefs

typedef float JPH_float
 
typedef float3 JPH_float3
 
typedef float4 JPH_float4
 
typedef uint JPH_uint
 
typedef uint3 JPH_uint3
 
typedef uint4 JPH_uint4
 
typedef int JPH_int
 
typedef int3 JPH_int3
 
typedef int4 JPH_int4
 
typedef float4 JPH_Quat
 
typedef float4 JPH_Plane
 
typedef float4x4 JPH_Mat44
 

Macro Definition Documentation

◆ JPH_AtomicAdd

#define JPH_AtomicAdd   InterlockedAdd

◆ JPH_IN

#define JPH_IN ( type)
Value:
in type

◆ JPH_IN_OUT

#define JPH_IN_OUT ( type)
Value:
in out type

◆ JPH_OUT

#define JPH_OUT ( type)
Value:
out type

◆ JPH_SHADER_BIND_BEGIN

#define JPH_SHADER_BIND_BEGIN ( name)

◆ JPH_SHADER_BIND_BUFFER

#define JPH_SHADER_BIND_BUFFER ( type,
name )
Value:
JPH_SHADER_BUFFER(type) name;
#define JPH_SHADER_BUFFER(type)
Definition ShaderCore.h:64

◆ JPH_SHADER_BIND_END

#define JPH_SHADER_BIND_END ( name)

◆ JPH_SHADER_BIND_RW_BUFFER

#define JPH_SHADER_BIND_RW_BUFFER ( type,
name )
Value:
#define JPH_SHADER_RW_BUFFER(type)
Definition ShaderCore.h:65

◆ JPH_SHADER_BUFFER

#define JPH_SHADER_BUFFER ( type)
Value:
StructuredBuffer<type>

◆ JPH_SHADER_CONSTANT

#define JPH_SHADER_CONSTANT ( type,
name,
value )
Value:
static const type name = value;

◆ JPH_SHADER_CONSTANTS_BEGIN

#define JPH_SHADER_CONSTANTS_BEGIN ( type,
name )
Value:
cbuffer name {

◆ JPH_SHADER_CONSTANTS_END

#define JPH_SHADER_CONSTANTS_END ( type)
Value:
};

◆ JPH_SHADER_CONSTANTS_MEMBER

#define JPH_SHADER_CONSTANTS_MEMBER ( type,
name )
Value:
type c##name;

◆ JPH_SHADER_FUNCTION_BEGIN

#define JPH_SHADER_FUNCTION_BEGIN ( return_type,
name,
group_size_x,
group_size_y,
group_size_z )
Value:
[numthreads(group_size_x, group_size_y, group_size_z)] \
return_type name(

◆ JPH_SHADER_FUNCTION_END

#define JPH_SHADER_FUNCTION_END   )

◆ JPH_SHADER_PARAM_THREAD_ID

#define JPH_SHADER_PARAM_THREAD_ID ( name)
Value:
uint3 name : SV_DispatchThreadID

◆ JPH_SHADER_RW_BUFFER

#define JPH_SHADER_RW_BUFFER ( type)
Value:
RWStructuredBuffer<type>

◆ JPH_SHADER_STRUCT_BEGIN

#define JPH_SHADER_STRUCT_BEGIN ( name)
Value:
struct name {

◆ JPH_SHADER_STRUCT_END

#define JPH_SHADER_STRUCT_END ( name)
Value:
};

◆ JPH_SHADER_STRUCT_MEMBER

#define JPH_SHADER_STRUCT_MEMBER ( type,
name )
Value:
type m##name;

Typedef Documentation

◆ JPH_float

typedef float JPH_float

◆ JPH_float3

typedef float3 JPH_float3

◆ JPH_float4

typedef float4 JPH_float4

◆ JPH_int

typedef int JPH_int

◆ JPH_int3

typedef int3 JPH_int3

◆ JPH_int4

typedef int4 JPH_int4

◆ JPH_Mat44

typedef float4x4 JPH_Mat44

◆ JPH_Plane

typedef float4 JPH_Plane

◆ JPH_Quat

typedef float4 JPH_Quat

◆ JPH_uint

typedef uint JPH_uint

◆ JPH_uint3

typedef uint3 JPH_uint3

◆ JPH_uint4

typedef uint4 JPH_uint4