Skip to content

Commit def7d2e

Browse files
committed
Added more hlsl vector utils
1 parent bec99ef commit def7d2e

File tree

6 files changed

+63
-5
lines changed

6 files changed

+63
-5
lines changed

include/nbl/builtin/hlsl/camera/view_matrix.hlsl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
#ifndef _NBL_BUILTIN_HLSL_PROJECTION_INCLUDED_
2-
#define _NBL_BUILTIN_HLSL_PROJECTION_INCLUDED_
1+
#ifndef _NBL_BUILTIN_HLSL_CAMERA_VIEW_MATRIX_INCLUDED_
2+
#define _NBL_BUILTIN_HLSL_CAMERA_VIEW_MATRIX_INCLUDED_
33

44
#include <nbl/builtin/hlsl/cpp_compat.hlsl>
55

include/nbl/builtin/hlsl/projection/projection.hlsl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
#ifndef _NBL_BUILTIN_HLSL_PROJECTION_INCLUDED_
2-
#define _NBL_BUILTIN_HLSL_PROJECTION_INCLUDED_
1+
#ifndef _NBL_BUILTIN_HLSL_PROJECTION_PROJECTION_INCLUDED_
2+
#define _NBL_BUILTIN_HLSL_PROJECTION_PROJECTION_INCLUDED_
33

44
#include <nbl/builtin/hlsl/cpp_compat.hlsl>
55

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#ifndef _NBL_BUILTIN_HLSL_VECTOR_UTILS_VECTOR_UTILS_INCLUDED_
2+
#define _NBL_BUILTIN_HLSL_VECTOR_UTILS_VECTOR_UTILS_INCLUDED_
3+
4+
#include <nbl/builtin/hlsl/cpp_compat.hlsl>
5+
6+
namespace nbl
7+
{
8+
namespace hlsl
9+
{
10+
11+
// TODO: why cant I NBL_CONST_REF_ARG(vector<T, N>)
12+
template<typename T, uint32_t N>
13+
inline T lengthsquared(vector<T, N> vec)
14+
{
15+
return dot(vec, vec);
16+
}
17+
18+
}
19+
}
20+
21+
#endif

include/vectorSIMD.h

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -887,6 +887,42 @@ namespace core
887887
}
888888
};
889889

890+
// temporary solution until vectorSIMD gets deleted
891+
inline hlsl::float32_t4 convertToHLSLVector(const vectorSIMDf& vec)
892+
{
893+
hlsl::float32_t4 retval;
894+
retval.x = vec.x;
895+
retval.y = vec.y;
896+
retval.z = vec.z;
897+
retval.w = vec.w;
898+
899+
return retval;
900+
}
901+
902+
// temporary solution until vectorSIMD gets deleted
903+
inline vectorSIMDf constructVecorSIMDFromHLSLVector(const hlsl::float32_t4& vec)
904+
{
905+
vectorSIMDf retval;
906+
retval.x = vec.x;
907+
retval.y = vec.y;
908+
retval.z = vec.z;
909+
retval.w = vec.w;
910+
911+
return retval;
912+
}
913+
914+
// temporary solution until vectorSIMD gets deleted
915+
inline vectorSIMDf constructVecorSIMDFromHLSLVector(const hlsl::float32_t3& vec)
916+
{
917+
vectorSIMDf retval;
918+
retval.x = vec.x;
919+
retval.y = vec.y;
920+
retval.z = vec.z;
921+
retval.w = 0.0f;
922+
923+
return retval;
924+
}
925+
890926
} // end namespace core
891927
} // end namespace nbl
892928

src/nbl/builtin/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,7 @@ LIST_BUILTIN_RESOURCE(NBL_RESOURCES_TO_EMBED "hlsl/ieee754/impl.hlsl")
157157
# utility
158158
LIST_BUILTIN_RESOURCE(NBL_RESOURCES_TO_EMBED "hlsl/array_accessors.hlsl")
159159
LIST_BUILTIN_RESOURCE(NBL_RESOURCES_TO_EMBED "hlsl/vector_utils/vector_traits.hlsl")
160+
LIST_BUILTIN_RESOURCE(NBL_RESOURCES_TO_EMBED "hlsl/vector_utils/vector_utils.hlsl")
160161
LIST_BUILTIN_RESOURCE(NBL_RESOURCES_TO_EMBED "hlsl/matrix_utils/matrix_traits.hlsl")
161162
LIST_BUILTIN_RESOURCE(NBL_RESOURCES_TO_EMBED "hlsl/matrix_utils/transformation_matrix_utils.hlsl")
162163
LIST_BUILTIN_RESOURCE(NBL_RESOURCES_TO_EMBED "hlsl/projection/projection.hlsl")

0 commit comments

Comments
 (0)