{"repo":"redorav/hlslpp","free":true,"listed":false,"github":"https://github.com/redorav/hlslpp","clone":"git clone https://github.com/redorav/hlslpp.git","description":"Math library using HLSL syntax with multiplatform SIMD support","language":"C++","stars":1138,"topics":["hlsl","math","cpp","shaders","game-development","sse","sse41","neon","vector","matrix"],"license":"MIT","category":"game-templates","readme_excerpt":"HLSL++ Header-only math library for C++ with the same syntax as the HLSL shading language. It features swizzling and all the operators and functions from the HLSL documentation. The library is aimed mainly at game developers as it's meant to ease the C++ to shader bridge by providing common syntax, but can be used for any application requiring fast, portable math. It also adds some functionality that HLSL doesn't natively provide, such as convenient matrix functions, quaternions, data packing functions and extended vectors such as float8 (8-component float) that take advantage of wide SIMD registers. Platforms - SSE/AVX/AVX2/AVX512: x86/x64 devices like PC, Intel Mac, PS4/5, Xbox One/Series - NEON: ARM devices like Android, Mac M1, iOS, Switch - WASM Example HLSL++ allows you to be as expressive in C++ as when programming in the shader language. Constructs such as the following are possible. The natvis files provided for Visual Studio debugging allow you to see both vectors and the result of the swizzling in the debugging window in a programmer-friendly way. Requirements The only required features are a C++ compiler supporting anonymous unions, and SIMD extensions depending on your target platform (SSE/NEON/WASM). If your target platform does not have SIMD support, it can also fall back to a scalar implementation. As a curiosity it also includes an Xbox 360 implementation. How to use Remember to add an include path to . IMPORTANT NOTE: The include structure changed in 3.9 to ","default_branch":null,"files":null,"tree":[],"storefront":"/r/redorav","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/redorav/hlslpp/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}