All Projects → zigguratvertigo → Hlsl To Ispc

zigguratvertigo / Hlsl To Ispc

Licence: mit
HLSL-to-ISPC Utility Library

Projects that are alternatives of or similar to Hlsl To Ispc

Alloy
Alloy physical shader framework for Unity.
Stars: ✭ 244 (+559.46%)
Mutual labels:  shaders, hlsl
unity-raymarcher
Real-time ray marching shaders in Unity
Stars: ✭ 28 (-24.32%)
Mutual labels:  shaders, hlsl
Urp Lwrp Shaders
A Collection of Shader For URP(LWRP) Render Pipeline
Stars: ✭ 252 (+581.08%)
Mutual labels:  shaders, hlsl
Unity Shaders
✨ Shader demo - More than 300 examples
Stars: ✭ 198 (+435.14%)
Mutual labels:  shaders, hlsl
Shadergen
Proof-of-concept library for generating HLSL, GLSL, and Metal shader code from C#,
Stars: ✭ 395 (+967.57%)
Mutual labels:  shaders, hlsl
Universalshaderexamples
Sand box project containing example shaders and assets compatible with Unity Universal Render Pipeline.
Stars: ✭ 207 (+459.46%)
Mutual labels:  shaders, hlsl
DrawSpace
Space-game oriented rendering engine
Stars: ✭ 20 (-45.95%)
Mutual labels:  shaders, hlsl
Hlslexplorer
See how hardware understands your HLSL
Stars: ✭ 91 (+145.95%)
Mutual labels:  shaders, hlsl
YOLOv4-Tiny-in-UnityCG-HLSL
A modern object detector inside fragment shaders
Stars: ✭ 38 (+2.7%)
Mutual labels:  shaders, hlsl
DLAA
(DLAA) Directionally Localized antiAliasing
Stars: ✭ 18 (-51.35%)
Mutual labels:  shaders, hlsl
Spirv Vm
Virtual machine for executing SPIR-V
Stars: ✭ 173 (+367.57%)
Mutual labels:  shaders, hlsl
Slang
Making it easier to work with shaders
Stars: ✭ 627 (+1594.59%)
Mutual labels:  shaders, hlsl
Hlslpp
Math library using hlsl syntax with SSE/NEON support
Stars: ✭ 153 (+313.51%)
Mutual labels:  shaders, hlsl
Shadered
Lightweight, cross-platform & full-featured shader IDE
Stars: ✭ 3,247 (+8675.68%)
Mutual labels:  shaders, hlsl
Reshade
A generic post-processing injector for games and video software.
Stars: ✭ 2,285 (+6075.68%)
Mutual labels:  shaders, hlsl
Dxbc2Dxil
DEPRECATED. DXBC to DXIL (HLSL Bytecode to LLVM IR) using internal APIs.
Stars: ✭ 21 (-43.24%)
Mutual labels:  shaders, hlsl
3d Game Shaders For Beginners
🎮 A step-by-step guide to implementing SSAO, depth of field, lighting, normal mapping, and more for your 3D game.
Stars: ✭ 11,698 (+31516.22%)
Mutual labels:  shaders, hlsl
bShaders
Video playback Effects/Filters (DirectX .hlsl pixel shaders, mpv .hook)
Stars: ✭ 29 (-21.62%)
Mutual labels:  shaders, hlsl
Hlsl2glslfork
HLSL to GLSL language translator based on ATI's HLSL2GLSL. Used in Unity.
Stars: ✭ 488 (+1218.92%)
Mutual labels:  shaders, hlsl
Lwks Fx Bundle
Synced user effects pack
Stars: ✭ 21 (-43.24%)
Mutual labels:  shaders, hlsl

HLSL-to-ISPC Utility Library

This repository contains a utility library with helper types and functions to provide similar syntax to HLSL, but inside the ISPC programming environment.

This library is used by several projects listed below:

smallpt mandelbrot
flower worley

Supported

  • Vectors: float2/3/4, int2/3/4, bool2/3/4
  • Matrices: float2x2/3x3/4x4
  • HLSL Intrinsics
  • (Basic) Texture2D sampling & addressing modes

Usage

#include "hlsl.ispc" in your ISPC project files. You can also recompile all the projects via hlsl-to-ispc.sln.

HLSL vs ISPC?

Since HLSL & GPU programming shares similar SPMD concepts as ISPC, it makes sense that a library could provide similar behaviour.

This library is meant to provide good-enough HLSL-like functionality in ISPC. Achieving high performance with ISPC requires more than simple code conversion. This library shouldn't be seen as be-all and end-all solution, but rather as a first step. ISPC has its own specificities, and it is vital to check the programming guide to achieve performance.

Upcoming Features

More functionality to be added and overall behaviour to be improved.

  • Additional work around ISPC-specifics
  • Texture sampling emulation
  • Unit testing of intrinsics
  • Direct conversion of .HLSL files to .ISPC kernels (most likely a separate/parallel project)
  • Support for GLSL intrinsics (maybe)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].