---
title: "oneshader articles"
url: https://recursiveai.org/oneshader/articles/
description: "Guides to working with OneShader: how-tos, migrations and comparisons."
---

# oneshader articles

Guides to working with OneShader: how-tos, migrations and comparisons.

- [HLSL wave intrinsics on Vulkan, Metal and WebGPU](https://recursiveai.org/oneshader/articles/hlsl-wave-intrinsics-spirv-metal-wgsl/) (October 26, 2026): Every SM 6.0 wave and quad intrinsic with its SPIR-V instruction, Metal SIMD-group function, WGSL subgroup builtin and the device feature it needs.
- [HLSL vs GLSL](https://recursiveai.org/oneshader/articles/hlsl-vs-glsl/) (October 26, 2026): HLSL vs GLSL compared on syntax, compilers and targets: both compile to SPIR-V for Vulkan, so the choice comes down to your APIs, tooling and language features.
- [Converting HLSL to WGSL for WebGPU](https://recursiveai.org/oneshader/articles/hlsl-to-wgsl-converter/) (October 26, 2026): Convert HLSL to WGSL for WebGPU through DXC and naga, or directly with OneShader: commands, where each path breaks, push constants, atomics and validation.
- [Compiling HLSL to SPIR-V for Vulkan](https://recursiveai.org/oneshader/articles/hlsl-to-spirv-compiler/) (October 26, 2026): Compile HLSL to SPIR-V with DXC, glslang or OneShader: the commands, how registers become Vulkan bindings, the flags that bite, and how to validate the output.
- [Converting HLSL to Metal](https://recursiveai.org/oneshader/articles/hlsl-to-metal-converter/) (October 26, 2026): Three ways to get HLSL onto Metal: DXC with SPIRV-Cross to MSL source, Apple’s Metal Shader Converter from DXIL, or OneShader’s direct MSL, compared and run.
- [HLSL precise and floating-point determinism](https://recursiveai.org/oneshader/articles/hlsl-precise-keyword-determinism/) (October 26, 2026): What HLSL’s precise keyword guarantees (no fused multiply-adds, no reordering), what it doesn’t, and how it reaches Vulkan, Metal and WebGPU.
- [HLSL constant buffer packing rules](https://recursiveai.org/oneshader/articles/hlsl-constant-buffer-packing-rules/) (October 26, 2026): How HLSL packs cbuffer members into 16-byte rows, where Direct3D and Vulkan layouts differ (arrays, matrices), and how to write a C# struct that matches.
- [Compiling HLSL shaders in a C# project](https://recursiveai.org/oneshader/articles/csharp-shader-compiler/) (October 26, 2026): Four ways to compile HLSL in a .NET project: dxc from MSBuild, Vortice.Dxc, OneShader’s build package or its runtime compiler, with verified projects.
