Spent 2 hours trying to understand why my engine crashed at boot with #Vulkan validation layers.

The final answer is:
1. I use `-preserve-parameters` when compiling my Slang shaders.
2. I have shaders that do not use gl_FragCoord.
3. The validation layer generates instruments the SPIR-V shader that check for it (from what I understand?)
4. Mesa crashes.

Apparently such a bug was fixed 4 hours (!) ago in the validation layer repository, but only for vertex shaders for now.

#customengine

In a single week, I've been able to fix issues that were plaguing my GI for months, so here's a video to celebrate !

Far from perfect, but muuuuch better than a few days ago :)

#vulkan #customengine #graphicsprogramming

Been working on a level editor integrated into my engine, so I can easily switch between the editor and gameplay. So far I've gotten most of the core features done, including a full undo/redo system, which works with all the fields in the editor
#gamedev #customengine #screenshotsaturday #indiedev

Well this is exciting, I added the ability for different asset types to do custom renders for their display names, so actor templates can just show their sprites inside the picker and table UIs

Wishlist Chronicles! https://chrongame.com

#gamedev #imgui #customengine #wishlistwednesday

Added colour tinting from the collision mesh's vertex colours, which is fairly cheap to do

This is something I kinda wanted to do in unreal engine but I think isn't easily possible with it, but now that I'm making my own engine I can add whatever I want  
#gamedev #customengine #screenshotsaturday #indiedev

Finally got the animation system mostly done for my engine. I added 1D blend spaces and transitions, and its all data driven. Creating my own file format and getting it all working was by far the toughest to implement, took about 3-4 days of painfully troubleshooting it
#gamedev #customengine #IndieDev

How are shadows implemented in most games shipped today?

Is it all just shadow maps and PCF/PCSS with high kernel sizes (i.e., 9x9), or ray tracing?

I implemented PCF, but the shadow edges are banding at lower kernel sizes like 4x4. I looked into a poisson disk, but I'm not sure how I could calculate those disks since I want to make the kernel size modifiable.

#rust #vulkan #gamedev #customengine #rendering

Long overdue #ThrowbackTuesday Post! Side-by-side of a level from 1½ years ago when I considered a level editor for my #CustomEngine but decided against it. Same island now rebuilt with my newly finished editor & all the engine improvements since. What do you all think? #gamedev

damn, renderdoc gets OOM killed when I try to load sponza in my engine

#rendering #gamedev #customengine #rust #vulkan

I'm so stumped on Clustered Forward Rendering. I believe there's something wrong with the cluster generation which is causing the light culling to be wonky.

The video I attached shows me moving towards a point light, which is to the left of where the camera spawns. Red equals zero lights, and green means one light. The lighter the color, the farther depth slice in the cluster frustum that fragment is using. It also appears to have a sort of "shadow acne" on the green as it moves closer, maybe thats due to depth inaccuracies though and doesn't really matter. Here's the light culling shader: https://pastebin.com/X76Qhft4

I also attached a picture of the froxel visualization looking from the top down, which shows a weird shape and what I think is a tiny gap between the clusters. Here's the shader code that generates the clusters: https://pastebin.com/u3UKpAXs

I'm not sure what is wrong, any help will be appreciated! I asked in the Graphics Programming discord (in the "questions-forum" channel), but nobody responded to me.

#rust #vulkan #gamedev #ScreenshotSaturday #customengine #rendering