Sign in

Bernat Muñoz

@shashclp.bsky.social
40 followers 86 following 33 posts

Grumpy programmer. Demoscener. I (try to) make machines produce faster and more beautiful pixels

PostsRepliesMedia
Bernat Muñoz @shashclp.bsky.social · 2h
Yay, looking forward to a trip through memory lane, as I worked at IO for a while. Fun fact: for my interview at IO, I actually took a capture of Hitman II and spent a while looking at all passes to have some talking points :)
000
Bernat Muñoz @shashclp.bsky.social · 16/08/2026
Something was off in the reference path tracer I am implementing (heavily based on the fantastic one in Ray Tracing Gems II), and eventually figured out my view vector was negated, causing all kinds of funny stuff :P Now to figure out why Resampled Importance Sampling causes spot lights to look off.
Pathtracer with incorrect view vectorPathtracer with correct view vector
120
Bernat Muñoz @shashclp.bsky.social · 13/08/2026
And just to clarify, I would consider this performance rather slow on the original levels, but the new expansions from MachineGames use an expanded level format that is way more complex :) On the original levels I can easily hit <0.3ms per frame.
010
Bernat Muñoz @shashclp.bsky.social · 13/08/2026
Since I got a rather nice 4k/240fps monitor, every time I open an old project of mine, and it doesn't hit 240fps when I think it should, then I obsess over optimizing it. It is a bit of a curse, latest offender was my Quake 1 viewer :/ (got from 9.5ms to 2.2ms, or 106fps to 445fps, in a few hours)
110
Bernat Muñoz @shashclp.bsky.social · 03/08/2026
Small extension to the path tracer: soft shadows by sampling the light as having size instead of being infinitely small (gif shows before/after). Next is fixing lighting and bounces, because they are right now a huge hack :)
030
Bernat Muñoz @shashclp.bsky.social · 01/08/2026
Last past week, I (hastily) hacked a path tracer into my home engine to act as a validation tool. For all the issues that it has from being implemented in ~1 hour, it is difficult to argue about the results. Hopefully I don't get carried away trying to make it too complex/perfect :)
Path traced render using DXR
031
Reposted by Bernat Muñoz
Alex Tardif @longbool.bsky.social · 30/05/2026
The Cost of AI alextardif.com/AI.html
alextardif.com
Alex Tardif: Graphics Programmer
13366132
Bernat Muñoz @shashclp.bsky.social · 31/03/2026
For niche/indie game discussion, I would recommend youtube.com/@noclippodca..., albeit it is a bit of an acquired taste and definitely not for everyone
youtube.com
/noclip Podcasts
This channel houses all the Noclip Podcasts. For our documentaries visit https://www.youtube.com/noclipvideo
010
Bernat Muñoz @shashclp.bsky.social · 31/03/2026
I like youtube.com/@wookashpodc..., for game/engineering stuff, albeit some of the content is definitely not for me
youtube.com
Wookash Podcast
210
Bernat Muñoz @shashclp.bsky.social · 18/02/2026
Time to try the new font: I want to support high DPI on my home engine, but UI scaling was a bit of an issue when using the internal font (due to my monitor setup), so the vector font was the last part missing for my niche use case and desires 🙂 (I tried a bunch of TrueType fonts, but hit issues)
100
Bernat Muñoz @shashclp.bsky.social · 04/10/2025
I wondered exactly the same thing about this: bsky.app/profile/shas.... Will there be people caring enough, for the 30-40 hours I worked on it? Probably not. Was it fun for me to do it? Absolutely. And as a byproduct, now I can watch this demo that most people don't care about, but matters to me :)
100
Bernat Muñoz @shashclp.bsky.social · 20/09/2025
I have more stuff queued to release, but I need permission from original authors, which I don't remember if I have (I wrote most of the ports code ~20 years ago).
000
Bernat Muñoz @shashclp.bsky.social · 20/09/2025
Final one is a high quality capture of Myth of Orion / Anaconda. www.youtube.com/watch?v=8oWe.... The previous available capture was 720/30fps, this one is 4k/60fps, which due to youtube's bitrate at 4k, makes it look pretty nice.
youtube.com
Anaconda - Myth of Orion
YouTube video by shashClp
100
Bernat Muñoz @shashclp.bsky.social · 20/09/2025
Third one is Insane Elements / Anaconda. Code: github.com/shashClp/ins.... Capture: www.youtube.com/watch?v=Dj-N.... This not a port, just fixed the windows version to not crash, be framerate independent and a bunch of small enhancements.
youtube.com
Anaconda - Insane
YouTube video by shashClp
100
Bernat Muñoz @shashclp.bsky.social · 20/09/2025
Second one is The Requiem / Anaconda. Code: github.com/shashClp/req.... Capture: www.youtube.com/watch?v=s4NC...
youtube.com
Anaconda - The Requiem
YouTube video by shashClp
100
Bernat Muñoz @shashclp.bsky.social · 20/09/2025
First one is Eunectex / Anaconda. Code: github.com/shashClp/eun.... Capture: www.youtube.com/watch?v=cTlL...
youtube.com
Anaconda - Eunectex
YouTube video by shashClp
100
Bernat Muñoz @shashclp.bsky.social · 20/09/2025
A while ago I made a note to release all the code from the demos I ported from MS-DOS to Windows, and got to it a few weeks ago. These are demoscene productions from the 90s that I ported to windows, captured at high quality and uploaded to youtube, so anyone can enjoy them easily.
142
Bernat Muñoz @shashclp.bsky.social · 04/09/2025
The source code has been uploaded to github (github.com/shashClp/pla...) and the binaries to scene.org (files.scene.org/view/demos/g...)
github.com
GitHub - shashClp/platipus_incognita_dx11: New DX11 graphic driver for the demo Platipus/Incognita, along fixes to the codebase to make it framerate independent and less crash prone
New DX11 graphic driver for the demo Platipus/Incognita, along fixes to the codebase to make it framerate independent and less crash prone - shashClp/platipus_incognita_dx11
000
Bernat Muñoz @shashclp.bsky.social · 04/09/2025
Yesterday I released all of the work to the public (with permission of the original authors). The 4k video capture can be seen here: www.youtube.com/watch?v=mRvM...
youtube.com
Platipus / Incognita
YouTube video by shashClp
110
Bernat Muñoz @shashclp.bsky.social · 04/09/2025
Over the vacation I decided to continue a project I started 20 years ago: reimplementing the Platipus / Incognita demo graphic driver, so it would work on newer computers. I fixed a bunch of bugs, implemented a graphic driver 3 times without the original source code, and captured a 4k video :)
120
Bernat Muñoz @shashclp.bsky.social · 15/08/2025
And just in case you are asking about why I am not using DX12 or Vulkan, they are a bit too much for what the project needs, this is a fixed function based RHI :)
110
Bernat Muñoz @shashclp.bsky.social · 15/08/2025
I ported it to DX9 a few days ago because it was closer to the original API, but then I hit too many hard to debug issues, and today I decided to port it again to DX11, which is one of the options to get RenderDoc/PIX support. With the RHI being ~800 LOC, it is not that hard and pretty fun.
100
Bernat Muñoz @shashclp.bsky.social · 15/08/2025
I'm porting someone else's RHI, written 1999 for DX7, which I don't have source code for, and that doesn't work on Windows 10 for many reasons. I have information of the entry points, so I can infer things. I ported it to OpenGL ~15 years ago, because that's what I knew by heart at the moment.
100
Bernat Muñoz @shashclp.bsky.social · 15/08/2025
As it wasn't enough to port the hardware interface I am working on from DirectX7 to OpenGL 1.X, and then to DirectX9, now I am porting to DirectX11 to be able to use RenderDoc/PIX to debug the remaining issues... fun!
100
Bernat Muñoz @shashclp.bsky.social · 14/08/2025
So I am now figuring out blend modes from a decompiled DirectX7 render interface, fun! (and way easier than I expected)
010
Bernat Muñoz @shashclp.bsky.social · 13/08/2025
I have some other projects to fix that use DDraw indeed, but the bugs are on the Window setup code, they don't switch to fullscreen correctly :P
000
Bernat Muñoz @shashclp.bsky.social · 13/08/2025
In this particular instance I don't think it will matter much (albeit, who knows), the original code was DirectX7, I did a reverse engineered OpenGL 1.x implementation, and now bringing it to DirectX9. Yes, I am doing really advanced stuff :P
100
Bernat Muñoz @shashclp.bsky.social · 13/08/2025
I miss RenderDOC / PIX already, so probably porting to D3D11 once it works to a certain degree
100
Bernat Muñoz @shashclp.bsky.social · 13/08/2025
Here I am, on my vacation, porting OpenGL code to DirectX9, because I need/want fixed function for now. Although I wrote 3D engines with both, it is quite the struggle to remember all the fixed function details after being used to shaders for so long :')
100
Reposted by Bernat Muñoz
Dihara Wijetunga @diharaw94.bsky.social · 07/08/2025
Back in 2021 I released a Vulkan sample that demonstrated adding ray-tracing to a traditional game render pipeline. Since then the code has rotted away and stopped working. So this week I finally resurrected it! Hope it will keep being a learning resource for beginners. github.com/diharaw/hybr...
2458
Reposted by Bernat Muñoz
Todd Vaziri @tvaziri.com · 21/04/2025
I finally solved the mystery movie mistake in “Episode III”, and also talk about some of my favorite revealing movie mistakes from my favorite films. The Movie Mistake Mystery from "Revenge of the Sith" fxrant.blogspot.com/2025/04/the-...
fxrant.blogspot.com
The Movie Mistake Mystery from "Revenge of the Sith"
Movies are handmade, and just like any other art form, sometimes the seams that hold movies together become visible to the audience. For mov...
35617133
Reposted by Bernat Muñoz
SEGA SATURN, SHIRO! @segasaturnshiro.bsky.social · 14/04/2025
Fafling worked miracles with his latest patch to fix the Saturn version of Doom, improving the game's frame rate dramatically, fixing graphical glitches and making other improvements! Read all about it in our story: www.segasaturnshiro.com/2025/04/14/l... #sega #saturn #segasaturn #retrogaming
1217
Bernat Muñoz @shashclp.bsky.social · 10/04/2025
Only 4096 bytes :P
010
Bernat Muñoz @shashclp.bsky.social · 10/04/2025
I also like implementing game level/data viewers, including but not limited to Quake (1-3), Source (Portal, HL2), Doom (1-2,3,2016), Carmageddon, Tomb Raider, Soul Reaver (1-2)
051
Bernat Muñoz @shashclp.bsky.social · 10/04/2025
I am also a (semi) retired demoscener, mostly focusing on 4k intros, small executables of only 4096 containing music, graphics and animation, with most of the content procedurally generated!
170
Bernat Muñoz @shashclp.bsky.social · 10/04/2025
I have worked on a bunch of emulators over the years, some all by myself (Gameboy, NES, Gamegear, Master System), some as part of a team (PSP, Nintendo DS)
030
Bernat Muñoz @shashclp.bsky.social · 10/04/2025
Let's fill this account with a few highlights from the past
000