Pema99 @pema99.bsky.social · 20/08/2026Ah, I didn't actually realize it was permissively licensed. That's something 110
Reposted by Pema99Aura/Moom @moomanibe.bsky.social · 20/08/2026windows 10 users who refuse to upgrade club wins again 21632143
Pema99 @pema99.bsky.social · 03/06/2026I don't disagree, but the same thing applies to most engines which ship with a shading/material system, no? 100
Reposted by Pema99Tobias A. Franke @thefranke.bsky.social · 01/05/2026I am very good at this, please hire me 6414
Pema99 @pema99.bsky.social · 26/04/2026That said, most of the setups I know for stepping through shader code either require doing a frame capture or being connected to a live GPU. I think it's kind of neat to be able to just plop in an HLSL function and start stepping for quick/ad-hoc experimentation. 000
Pema99 @pema99.bsky.social · 26/04/2026The test framework was my main focus. I haven't seen any 'nice' ways to do that kind of thing before. The fact that I could also use the interpreter to power a debugger, I consider a cool bonus, and a neat way to show off the project :P 100
Pema99 @pema99.bsky.social · 26/04/2026(2/2) I wanted to match the semantics of HLSL as closely as possible. Also, I imagine this setup doesn't really work for stuff like ddx/ddy or wave intrinsics where you need to simulate multiple threads. Or what? 000
Pema99 @pema99.bsky.social · 26/04/2026(1/2) Very pragmatic approach, I imagine it works well for a lot of shader code :D Part of this project is definitely just me having fun writing compiler-y code. There are some semantic and syntax differences between the languages which you can probably just try to avoid when using your approach. 110
Reposted by Pema99Pema99 @pema99.bsky.social · 26/04/2026I made an experimental "GPU mode" in my toy shader debugger (pema.dev/hlsl/). It runs the shader on the GPU with WebGPU by transpiling to WGSL with the Slang compiler. You can click on a pixel to drop into the interpreter and start debugging. Also added image previews when you hover variables. :) 2338
Pema99 @pema99.bsky.social · 26/04/2026I managed to get something working with Slang: bsky.app/profile/did:... 010
Pema99 @pema99.bsky.social · 26/04/2026You may be wondering: How do you ensure that the interpreter's behavior matches the GPUs behavior? To be honest: Thoughts and wishes. It's never gonna match 100%, both due to vendor differences and the myriad of bugs I am sure are still lingering around. Still pretty cool, though, I think! :D 130
Pema99 @pema99.bsky.social · 26/04/2026I made an experimental "GPU mode" in my toy shader debugger (pema.dev/hlsl/). It runs the shader on the GPU with WebGPU by transpiling to WGSL with the Slang compiler. You can click on a pixel to drop into the interpreter and start debugging. Also added image previews when you hover variables. :) 2338
Pema99 @pema99.bsky.social · 24/04/2026It's mostly a proof of concept though, not really meant as a serious tool. And I don't have enough hubris to claim that the behavior will match real GPU execution, I'm sure there are a ton of bugs and discrepancies looming. 000
Pema99 @pema99.bsky.social · 24/04/2026"Yes" but with some caveats: I only wrote an interpreter, no capturing from real GPU execution, so the only way to get your code into a debuggable state would be to copy paste it. I could see it being useful for debugging individual functions/modules with specific inputs. 210
Pema99 @pema99.bsky.social · 24/04/2026If I find the motivation, maybe I'll get nerdsniped into trying this. For now, the website is mostly meant as a proof of concept. 010
Pema99 @pema99.bsky.social · 24/04/2026That's a neat idea. Would require some way to run HLSL on the web, though. WebGL uses GLSL and WebGPU uses WGSL, so I don't see a way to do this without some kind of transpiler step. 110
Pema99 @pema99.bsky.social · 23/04/2026(🧵 6/6) Aside from testing, the library doesn't assume a use case. It can be used in any case where you want to (slowly!) execute fragments of HLSL without a GPU. Static analysis, maybe? 🤔 I probably wouldn't use this in production - it's very W.I.P. But it's been a cool experiment to tinker with! 030
Pema99 @pema99.bsky.social · 23/04/2026(🧵 5/6) Full overview of the testing features on the readme: github.com/pema99/HLSLI... Depending on the kind of programmer you are, you probably either find this extremely cursed or extremely cool. Sorry-not-sorry to anyone in the former camp 😅 230
Pema99 @pema99.bsky.social · 23/04/2026(🧵 4/6) Since this is a source-level interpreter, I can even support advanced test framework features like parametric test generation (left image) and mocking of resource types (right image). When compiling with a real shader compiler, all of this code becomes a no-op. 150
Pema99 @pema99.bsky.social · 23/04/2026(🧵 3/6) You can either write these tests in separate files, or directly inline in existing shaders. Just slap the [Test] attribute on a function, and the framework will pick it up. I'm (ab)using the fact that shader compilers ignore attributes they don't know about, to make my up my own ones.😁 150
Pema99 @pema99.bsky.social · 23/04/2026(🧵 2/6) If you work with shaders a lot, you probably know how tricky they can be to test and debug. One of the main goals of this project is to enable better testing of shader code. The library includes a framework that lets you define tests directly inside a shader. Here's an example. 150
Pema99 @pema99.bsky.social · 23/04/2026(🧵 1/6) Recently I've been working on an HLSL interpreter, which can execute shader code entirely on the CPU github.com/pema99/HLSLI... I used it to make a cute little interactive debugger demo. You can try it yourself at pema.dev/hlsl/ 56824
Reposted by Pema99onion person @junlper.beer · 19/04/2026genuinely one of the best songs of all time, it’s unbelievable that its almost 60 years oldtidal.comThe Velvet Underground - HeroinListen to Heroin on TIDAL 4282953
Reposted by Pema99orels1 @orels1.bsky.social · 24/12/2025I just pushed out v7.0.0 of my shaders, and while I wanted to do a full on fancy trailer and a bunch of other promotion stuff - I didnt want to delay it any further. So it is live now! 350+ commits, hundreds of lines of changelog, all free shaders.orels.sh Happy Holidays! ❤️ #unity3d #shaders 05718
Reposted by Pema99orels1 @orels1.bsky.social · 29/09/2025Its been a month since i started using @gingerbill.org 's Odin language, so I feel compelled to finally write something about that For context: I'm working on a little steamvr overlay tool in my free time. The goal is to learn more about steamvr and to write something lower level than i usually do 1152
Reposted by Pema99Zekk @zekk.dev · 19/08/2025🔷I've just released my soft outline shader!🔷 Do bloom-like effects on your avatar without post processing or screen effects! Vid has examples! 15% off for the first 48 hours!⬇️Link Below!⬇️ I am also doing a giveaway, like❤️, repost 🔁, and follow to enter! #VRChat #ZekkDev 717252
Reposted by Pema99Alex Mueller @lexdev.net · 06/08/2025We are looking for a Vulkan engineer to join our render team at IOI! Available locations are Copenhagen, Malmo and Barcelona. Feel free to reach out if you are interested or have question 😄 ioi.dk/careers?pane...ioi.dkIOI CareersWelcome to IOI Careers. Explore open jobs, and dive into our five unique studios across Copenhagen, Malmö, Barcelona, Istanbul, and Brighton. 0125
Reposted by Pema99RED_SIM @sim.red · 01/07/2025Light Volumes 2.0 will support baked 3D shadows for point and spot lights, and that's how it can be used! Thanks to @pema99.bsky.social for implementing this feature! 1014640
Reposted by Pema99Lionel Lemarié @hikey.org · 27/06/2025Want to do a quick photon mapping test, but it's a slow start because I spent most of the time so far playing with the debug rays instead. It does immediately show that the basic GPU hash rand I used is no good. #metalrt #rendering 0161
Pema99 @pema99.bsky.social · 26/06/2025What album or artist would you say profoundly reshaped the way YOU perceive music? 220
Reposted by Pema99RED_SIM @sim.red · 08/06/2025Area Light Volumes... Thanks to @pema99.bsky.social for implementing and contributing such an amazing feature to VRC Light Volumes! I can already imagine people using it as studio softboxes for photography! 1638
Reposted by Pema99d4rkpl4y3r @d4rkpl4y3r.bsky.social · 20/05/2025I made my fluid sim particles got towards the nearest light from the light volumes. youtu.be/i8PFoagQhP0youtu.beParticle gravity towards VRC Light Volume light directionYouTube video by d4rkpl4y3r 052
Reposted by Pema99passivestar @passivestar.bsky.social · 02/03/2025reflection probe any% world record 721912
Reposted by Pema99mjp @mjp123.bsky.social · 14/04/2025In today's new blog post, I try to provide some intuition and clear up some misconceptions about early Z cull behavior on desktop GPUs. Have a read if that interests you! therealmjp.github.io/posts/to-ear...therealmjp.github.ioTo Early-Z, or Not To Early-ZDepth In The Logical Rendering Pipeline Where Does Early-Z Fit In? When Does Early-Z Have To Be Disabled? Discard/Alpha Test Pixel Shader Depth Export UAVs/Storage Textures/Storage Buffers Forcing Ear... 317055