Jolt Physics
A multi core friendly Game Physics Engine
Loading...
Searching...
No Matches
HLSLToCPP Namespace Reference

Classes

struct  float2
 
struct  float3
 
struct  float4
 
struct  int3
 
struct  int4
 
struct  Mat44
 
struct  uint3
 
struct  uint4
 

Typedefs

using Quat = float4
 
using Plane = float4
 

Functions

constexpr float2 operator- (const float2 &inA)
 
constexpr float2 operator+ (const float2 &inA, const float2 &inB)
 
constexpr float2 operator- (const float2 &inA, const float2 &inB)
 
constexpr float2 operator* (const float2 &inA, const float2 &inB)
 
constexpr float2 operator/ (const float2 &inA, const float2 &inB)
 
constexpr float2 operator* (const float2 &inA, float inS)
 
constexpr float2 operator* (float inS, const float2 &inA)
 
constexpr float2 operator/ (const float2 &inA, float inS)
 
constexpr float dot (const float2 &inA, const float2 &inB)
 
constexpr float2 min (const float2 &inA, const float2 &inB)
 
constexpr float2 max (const float2 &inA, const float2 &inB)
 
float length (const float2 &inV)
 
float2 normalize (const float2 &inV)
 
float2 round (const float2 &inV)
 
constexpr float3 operator- (const float3 &inA)
 
constexpr float3 operator+ (const float3 &inA, const float3 &inB)
 
constexpr float3 operator- (const float3 &inA, const float3 &inB)
 
constexpr float3 operator* (const float3 &inA, const float3 &inB)
 
constexpr float3 operator/ (const float3 &inA, const float3 &inB)
 
constexpr float3 operator* (const float3 &inA, float inS)
 
constexpr float3 operator* (float inS, const float3 &inA)
 
constexpr float3 operator/ (const float3 &inA, float inS)
 
constexpr float dot (const float3 &inA, const float3 &inB)
 
constexpr float3 min (const float3 &inA, const float3 &inB)
 
constexpr float3 max (const float3 &inA, const float3 &inB)
 
float length (const float3 &inV)
 
float3 normalize (const float3 &inV)
 
float3 round (const float3 &inV)
 
constexpr float3 cross (const float3 &inA, const float3 &inB)
 
constexpr float4 operator- (const float4 &inA)
 
constexpr float4 operator+ (const float4 &inA, const float4 &inB)
 
constexpr float4 operator- (const float4 &inA, const float4 &inB)
 
constexpr float4 operator* (const float4 &inA, const float4 &inB)
 
constexpr float4 operator/ (const float4 &inA, const float4 &inB)
 
constexpr float4 operator* (const float4 &inA, float inS)
 
constexpr float4 operator* (float inS, const float4 &inA)
 
constexpr float4 operator/ (const float4 &inA, float inS)
 
constexpr float dot (const float4 &inA, const float4 &inB)
 
constexpr float4 min (const float4 &inA, const float4 &inB)
 
constexpr float4 max (const float4 &inA, const float4 &inB)
 
float length (const float4 &inV)
 
float4 normalize (const float4 &inV)
 
float4 round (const float4 &inV)
 
constexpr uint3 operator+ (const uint3 &inA, const uint3 &inB)
 
constexpr uint3 operator- (const uint3 &inA, const uint3 &inB)
 
constexpr uint3 operator* (const uint3 &inA, const uint3 &inB)
 
constexpr uint3 operator/ (const uint3 &inA, const uint3 &inB)
 
constexpr uint3 operator* (const uint3 &inA, uint32 inS)
 
constexpr uint3 operator* (uint32 inS, const uint3 &inA)
 
constexpr uint3 operator/ (const uint3 &inA, uint32 inS)
 
constexpr uint32 dot (const uint3 &inA, const uint3 &inB)
 
constexpr uint3 min (const uint3 &inA, const uint3 &inB)
 
constexpr uint3 max (const uint3 &inA, const uint3 &inB)
 
constexpr uint4 operator+ (const uint4 &inA, const uint4 &inB)
 
constexpr uint4 operator- (const uint4 &inA, const uint4 &inB)
 
constexpr uint4 operator* (const uint4 &inA, const uint4 &inB)
 
constexpr uint4 operator/ (const uint4 &inA, const uint4 &inB)
 
constexpr uint4 operator* (const uint4 &inA, uint32 inS)
 
constexpr uint4 operator* (uint32 inS, const uint4 &inA)
 
constexpr uint4 operator/ (const uint4 &inA, uint32 inS)
 
constexpr uint32 dot (const uint4 &inA, const uint4 &inB)
 
constexpr uint4 min (const uint4 &inA, const uint4 &inB)
 
constexpr uint4 max (const uint4 &inA, const uint4 &inB)
 
constexpr int3 operator- (const int3 &inA)
 
constexpr int3 operator+ (const int3 &inA, const int3 &inB)
 
constexpr int3 operator- (const int3 &inA, const int3 &inB)
 
constexpr int3 operator* (const int3 &inA, const int3 &inB)
 
constexpr int3 operator/ (const int3 &inA, const int3 &inB)
 
constexpr int3 operator* (const int3 &inA, int inS)
 
constexpr int3 operator* (int inS, const int3 &inA)
 
constexpr int3 operator/ (const int3 &inA, int inS)
 
constexpr int dot (const int3 &inA, const int3 &inB)
 
constexpr int3 min (const int3 &inA, const int3 &inB)
 
constexpr int3 max (const int3 &inA, const int3 &inB)
 
constexpr int4 operator- (const int4 &inA)
 
constexpr int4 operator+ (const int4 &inA, const int4 &inB)
 
constexpr int4 operator- (const int4 &inA, const int4 &inB)
 
constexpr int4 operator* (const int4 &inA, const int4 &inB)
 
constexpr int4 operator/ (const int4 &inA, const int4 &inB)
 
constexpr int4 operator* (const int4 &inA, int inS)
 
constexpr int4 operator* (int inS, const int4 &inA)
 
constexpr int4 operator/ (const int4 &inA, int inS)
 
constexpr int dot (const int4 &inA, const int4 &inB)
 
constexpr int4 min (const int4 &inA, const int4 &inB)
 
constexpr int4 max (const int4 &inA, const int4 &inB)
 
template<class T >
constexpr T clamp (const T &inValue, const T &inMinValue, const T &inMaxValue)
 
template<class T >
JPH_AtomicAdd (T &ioT, const T &inValue)
 
int4 asint (const float4 &inV)
 

Detailed Description

Emulates HLSL vector types and operations in C++. Note doesn't emulate things like barriers and group shared memory.

Typedef Documentation

◆ Plane

◆ Quat

Function Documentation

◆ asint()

int4 HLSLToCPP::asint ( const float4 & inV)
inline

◆ clamp()

template<class T >
T HLSLToCPP::clamp ( const T & inValue,
const T & inMinValue,
const T & inMaxValue )
constexpr

◆ cross()

float3 HLSLToCPP::cross ( const float3 & inA,
const float3 & inB )
constexpr

◆ dot() [1/7]

float HLSLToCPP::dot ( const float2 & inA,
const float2 & inB )
constexpr

◆ dot() [2/7]

float HLSLToCPP::dot ( const float3 & inA,
const float3 & inB )
constexpr

◆ dot() [3/7]

float HLSLToCPP::dot ( const float4 & inA,
const float4 & inB )
constexpr

◆ dot() [4/7]

int HLSLToCPP::dot ( const int3 & inA,
const int3 & inB )
constexpr

◆ dot() [5/7]

int HLSLToCPP::dot ( const int4 & inA,
const int4 & inB )
constexpr

◆ dot() [6/7]

uint32 HLSLToCPP::dot ( const uint3 & inA,
const uint3 & inB )
constexpr

◆ dot() [7/7]

uint32 HLSLToCPP::dot ( const uint4 & inA,
const uint4 & inB )
constexpr

◆ JPH_AtomicAdd()

template<class T >
T HLSLToCPP::JPH_AtomicAdd ( T & ioT,
const T & inValue )

◆ length() [1/3]

float HLSLToCPP::length ( const float2 & inV)
inline

◆ length() [2/3]

float HLSLToCPP::length ( const float3 & inV)
inline

◆ length() [3/3]

float HLSLToCPP::length ( const float4 & inV)
inline

◆ max() [1/7]

float2 HLSLToCPP::max ( const float2 & inA,
const float2 & inB )
constexpr

◆ max() [2/7]

float3 HLSLToCPP::max ( const float3 & inA,
const float3 & inB )
constexpr

◆ max() [3/7]

float4 HLSLToCPP::max ( const float4 & inA,
const float4 & inB )
constexpr

◆ max() [4/7]

int3 HLSLToCPP::max ( const int3 & inA,
const int3 & inB )
constexpr

◆ max() [5/7]

int4 HLSLToCPP::max ( const int4 & inA,
const int4 & inB )
constexpr

◆ max() [6/7]

uint3 HLSLToCPP::max ( const uint3 & inA,
const uint3 & inB )
constexpr

◆ max() [7/7]

uint4 HLSLToCPP::max ( const uint4 & inA,
const uint4 & inB )
constexpr

◆ min() [1/7]

float2 HLSLToCPP::min ( const float2 & inA,
const float2 & inB )
constexpr

◆ min() [2/7]

float3 HLSLToCPP::min ( const float3 & inA,
const float3 & inB )
constexpr

◆ min() [3/7]

float4 HLSLToCPP::min ( const float4 & inA,
const float4 & inB )
constexpr

◆ min() [4/7]

int3 HLSLToCPP::min ( const int3 & inA,
const int3 & inB )
constexpr

◆ min() [5/7]

int4 HLSLToCPP::min ( const int4 & inA,
const int4 & inB )
constexpr

◆ min() [6/7]

uint3 HLSLToCPP::min ( const uint3 & inA,
const uint3 & inB )
constexpr

◆ min() [7/7]

uint4 HLSLToCPP::min ( const uint4 & inA,
const uint4 & inB )
constexpr

◆ normalize() [1/3]

float2 HLSLToCPP::normalize ( const float2 & inV)
inline

◆ normalize() [2/3]

float3 HLSLToCPP::normalize ( const float3 & inV)
inline

◆ normalize() [3/3]

float4 HLSLToCPP::normalize ( const float4 & inV)
inline

◆ operator*() [1/21]

float2 HLSLToCPP::operator* ( const float2 & inA,
const float2 & inB )
constexpr

◆ operator*() [2/21]

float2 HLSLToCPP::operator* ( const float2 & inA,
float inS )
constexpr

◆ operator*() [3/21]

float3 HLSLToCPP::operator* ( const float3 & inA,
const float3 & inB )
constexpr

◆ operator*() [4/21]

float3 HLSLToCPP::operator* ( const float3 & inA,
float inS )
constexpr

◆ operator*() [5/21]

float4 HLSLToCPP::operator* ( const float4 & inA,
const float4 & inB )
constexpr

◆ operator*() [6/21]

float4 HLSLToCPP::operator* ( const float4 & inA,
float inS )
constexpr

◆ operator*() [7/21]

int3 HLSLToCPP::operator* ( const int3 & inA,
const int3 & inB )
constexpr

◆ operator*() [8/21]

int3 HLSLToCPP::operator* ( const int3 & inA,
int inS )
constexpr

◆ operator*() [9/21]

int4 HLSLToCPP::operator* ( const int4 & inA,
const int4 & inB )
constexpr

◆ operator*() [10/21]

int4 HLSLToCPP::operator* ( const int4 & inA,
int inS )
constexpr

◆ operator*() [11/21]

uint3 HLSLToCPP::operator* ( const uint3 & inA,
const uint3 & inB )
constexpr

◆ operator*() [12/21]

uint3 HLSLToCPP::operator* ( const uint3 & inA,
uint32 inS )
constexpr

◆ operator*() [13/21]

uint4 HLSLToCPP::operator* ( const uint4 & inA,
const uint4 & inB )
constexpr

◆ operator*() [14/21]

uint4 HLSLToCPP::operator* ( const uint4 & inA,
uint32 inS )
constexpr

◆ operator*() [15/21]

float2 HLSLToCPP::operator* ( float inS,
const float2 & inA )
constexpr

◆ operator*() [16/21]

float3 HLSLToCPP::operator* ( float inS,
const float3 & inA )
constexpr

◆ operator*() [17/21]

float4 HLSLToCPP::operator* ( float inS,
const float4 & inA )
constexpr

◆ operator*() [18/21]

int3 HLSLToCPP::operator* ( int inS,
const int3 & inA )
constexpr

◆ operator*() [19/21]

int4 HLSLToCPP::operator* ( int inS,
const int4 & inA )
constexpr

◆ operator*() [20/21]

uint3 HLSLToCPP::operator* ( uint32 inS,
const uint3 & inA )
constexpr

◆ operator*() [21/21]

uint4 HLSLToCPP::operator* ( uint32 inS,
const uint4 & inA )
constexpr

◆ operator+() [1/7]

float2 HLSLToCPP::operator+ ( const float2 & inA,
const float2 & inB )
constexpr

◆ operator+() [2/7]

float3 HLSLToCPP::operator+ ( const float3 & inA,
const float3 & inB )
constexpr

◆ operator+() [3/7]

float4 HLSLToCPP::operator+ ( const float4 & inA,
const float4 & inB )
constexpr

◆ operator+() [4/7]

int3 HLSLToCPP::operator+ ( const int3 & inA,
const int3 & inB )
constexpr

◆ operator+() [5/7]

int4 HLSLToCPP::operator+ ( const int4 & inA,
const int4 & inB )
constexpr

◆ operator+() [6/7]

uint3 HLSLToCPP::operator+ ( const uint3 & inA,
const uint3 & inB )
constexpr

◆ operator+() [7/7]

uint4 HLSLToCPP::operator+ ( const uint4 & inA,
const uint4 & inB )
constexpr

◆ operator-() [1/12]

float2 HLSLToCPP::operator- ( const float2 & inA)
constexpr

◆ operator-() [2/12]

float2 HLSLToCPP::operator- ( const float2 & inA,
const float2 & inB )
constexpr

◆ operator-() [3/12]

float3 HLSLToCPP::operator- ( const float3 & inA)
constexpr

◆ operator-() [4/12]

float3 HLSLToCPP::operator- ( const float3 & inA,
const float3 & inB )
constexpr

◆ operator-() [5/12]

float4 HLSLToCPP::operator- ( const float4 & inA)
constexpr

◆ operator-() [6/12]

float4 HLSLToCPP::operator- ( const float4 & inA,
const float4 & inB )
constexpr

◆ operator-() [7/12]

int3 HLSLToCPP::operator- ( const int3 & inA)
constexpr

◆ operator-() [8/12]

int3 HLSLToCPP::operator- ( const int3 & inA,
const int3 & inB )
constexpr

◆ operator-() [9/12]

int4 HLSLToCPP::operator- ( const int4 & inA)
constexpr

◆ operator-() [10/12]

int4 HLSLToCPP::operator- ( const int4 & inA,
const int4 & inB )
constexpr

◆ operator-() [11/12]

uint3 HLSLToCPP::operator- ( const uint3 & inA,
const uint3 & inB )
constexpr

◆ operator-() [12/12]

uint4 HLSLToCPP::operator- ( const uint4 & inA,
const uint4 & inB )
constexpr

◆ operator/() [1/14]

float2 HLSLToCPP::operator/ ( const float2 & inA,
const float2 & inB )
constexpr

◆ operator/() [2/14]

float2 HLSLToCPP::operator/ ( const float2 & inA,
float inS )
constexpr

◆ operator/() [3/14]

float3 HLSLToCPP::operator/ ( const float3 & inA,
const float3 & inB )
constexpr

◆ operator/() [4/14]

float3 HLSLToCPP::operator/ ( const float3 & inA,
float inS )
constexpr

◆ operator/() [5/14]

float4 HLSLToCPP::operator/ ( const float4 & inA,
const float4 & inB )
constexpr

◆ operator/() [6/14]

float4 HLSLToCPP::operator/ ( const float4 & inA,
float inS )
constexpr

◆ operator/() [7/14]

int3 HLSLToCPP::operator/ ( const int3 & inA,
const int3 & inB )
constexpr

◆ operator/() [8/14]

int3 HLSLToCPP::operator/ ( const int3 & inA,
int inS )
constexpr

◆ operator/() [9/14]

int4 HLSLToCPP::operator/ ( const int4 & inA,
const int4 & inB )
constexpr

◆ operator/() [10/14]

int4 HLSLToCPP::operator/ ( const int4 & inA,
int inS )
constexpr

◆ operator/() [11/14]

uint3 HLSLToCPP::operator/ ( const uint3 & inA,
const uint3 & inB )
constexpr

◆ operator/() [12/14]

uint3 HLSLToCPP::operator/ ( const uint3 & inA,
uint32 inS )
constexpr

◆ operator/() [13/14]

uint4 HLSLToCPP::operator/ ( const uint4 & inA,
const uint4 & inB )
constexpr

◆ operator/() [14/14]

uint4 HLSLToCPP::operator/ ( const uint4 & inA,
uint32 inS )
constexpr

◆ round() [1/3]

float2 HLSLToCPP::round ( const float2 & inV)
inline

◆ round() [2/3]

float3 HLSLToCPP::round ( const float3 & inV)
inline

◆ round() [3/3]

float4 HLSLToCPP::round ( const float4 & inV)
inline