You are browsing as a guest. Sign up (or log in) to start making projects!

DubbsPi

@DubbsPi

Joined June 2nd, 2026

  • 41Devlogs
  • 4Projects
  • 3Ships
  • 46Votes
Uhh I like to code shaders a bunch
Open comments for this post

4h 37m 17s logged

Got dynamic scenes (mostly) working! Now while the code is running, models can be loaded and added. Probably will have to add blas merging for the future since each model having its own is a linear compared to logarithmic cost of combining them. Combining similar shouldn’t be hard since that is actually just modifying the root of of the animation framework. I might have like a cap of 5-10 with one being static geometry and the rest clumps of models. Still have to get removal working which shouldn’t be too bad. The hardest part was lining up all of my Vec<_>s so what I might do is combine it into a struct to organize, but I’ll leave it for now since that will probably conflict with the merging. Also, I’m planning on adding multithreading for the future so fingers crossed!

0
0
3
Open comments for this post

2h 32m 34s logged

Got a bunch of PBR added to the shaders. Now has a lot of stuff so if you export more complex materials from blender or something it can parse and render them. I do still have to get transparency working, but that is much more complex than just solids tbh. For some reason my model’s animations kinda broke and only play like 60% of the animation before looping, but that isn’t the engines fault, I probably just need to make blender behave better.

0
0
14
Open comments for this post

6h 15m 35s logged

Got models working!! Fully rigged and animated! I setup the framework to auto load any anims, and then they can be played from lets say the main with something like this: app.scene.animations[2].play(“Chop_Tree RT.001”);, so that works pretty well! I also implemented a pause/play/stop and fuzzy search since some of the anim names can be weird. Thanks to mesh2motion’s huge animation library and stuff. This model is custom textured by me, so I do own it. However, you may feel free to use it (with credit!) wherever. His name is Xenon btw

0
0
22
Open comments for this post

2h 14m 50s logged

Got dynamic transforms working!!! You can’t see it, but that truck on the bottom is actually spinning so helicopter. This took a bit to add in, but thanks to the model system, I just had to add a transformation matrix for each one, which is done easier than said. I did have a bunch of issues with the multi bvh setup, but now that its done updating the matrices only takes about 0.02ms with the two. Might end up being more in the future with more, but definitely not bad in the slightest.

0
0
20
Open comments for this post

2h 59m 31s logged

Got something really nice working: Instancing!! Basically now, when you want to start the scene up, you just call Scene::new() and then if you want to load a model into memory, just use load_model_into_memory() and you can stamp that out without reloading the model from the disc each time. Plus I added dedicated scale/transform functions that you just call on a specific model’s id (like for the first truck I loaded, I moved and scaled it with its id of 0). Basically loading models and transforming them is near effortless. Dynamic transforms next and then probably rigging!

0
0
8
Open comments for this post

4h 37m 39s logged

Got a ton done towards an actual engine!! Added more model formats (glb files) and the ability to load more than one at a time! Also, textures have been introduced so if you look closely you can actually see the truck has a duramax engine label (boo! cummins is better). Shadows have been improved even more, although this screenshot doesn’t really show it too much. Next thing I have to add is dynamic vertices at runtime, which will allow me to actually change geometry without restarting the engine, and then after that, model rigs! There are a couple validation errors still (so a potential memory leak), but they only appear every couple of times the program is ran, and I really couldn’t find it, so thats a later problem.

0
0
11
Open comments for this post

3h 46m 26s logged

Got some stuff done with the engine. Improved lighting with smooth normals and stuff. Also I added atmospheric scattering from one of my other shaders. Currently, the model that is loaded (although it may look not the greatest, I don’t have textures setup yet) has 8.5 million triangles and 16 million vertices. In 1440p, everything is currently running 1300 fps, with the majority of the hit coming from the scatterer as without it its a bit closer to 2300 fps.

0
0
20
Open comments for this post

4h 3m 48s logged

Got a lot more done involving obj files and refinement! Now I can change the vertices on the fly, have decent indexing of them, and have raytraced shadows. Currently, on my rtx5070, in 1440p, this 408k triangle model runs around 1500fps, so pretty decent for now. I hope to lower that soon…

0
0
8
Open comments for this post

6h 27m 32s logged

I had a nice devlog wrote, but it didn’t fully upload QwQ. Basically, I had to lean into AI to implement RT instead of raster due to a lack of rust tutorials for that. Spent most of the time debugging a slight misordering error that produce zero errors that caused nothing to render.

0
0
21
Ship

This is a custom minecraft shader I made. I first started with the Iris tutorial, but this project quickly expanded with a bunch of high end features, such as raytraced reflections!
I’ve always kinda been annoyed with screen space reflections, so I thought, how hard could it be to just make them world space? Turns out it was way harder than I expected and took way longer as well.
Overall, the result of my shader turned out pretty good, but it is not gameplay focused/to be used outside of demos in the overworld. I hope others may even build off of my progress to start integrating advanced reflection features like I have.
This project greatly helped me improve my shader skills/taught me how to use the vertex and compute shaders (my only prior shader experience is on shadertoy) to produce nice results. The hardest part for me was probably setting up the BVH for RT acceleration and actually starting the project. Apparently minecraft has a lot of little overlapping transparent textures setup to perfectly rasterize, but to trace them causes a lot of precision related bugs, hence the reason I was forced to cheap out a little on grass blocks/tall grass. Also, the BVH resolution is limited due to performance constraints, causing overlapping triangles to clip infront of each other constantly, but that issue is mostly nonexistent for non transparent triangles, like buildings and such.
In the end, I’m happy with the result and couldn’t have asked for a better long-term coding project!

  • 24 devlogs
  • 77h
  • 16.95x multiplier
  • 1308 Stardust
Try project → See source code →
Open comments for this post

7h 38m 1s logged

Finished fixing up a bunch of small bugs/issues. Also added waves to the water. I deleted my .git files by accident so that took a while to fix. Added a bunch of options to the settings to help reduce the render scale of reflections, which allows this to actually run halfway decently. Couldn’t figure out how to get the reflections to work properly on water, so there will be none there.

1
0
40
Open comments for this post

4h 21m 6s logged

Got a triangle showing! Definately took me a while, but now I fully understand (ok like 90%) the pipeline! Also, now since I worked on my minecraft shader in the past, this will definitely look pretty good in the end. My goal of doing this engine is just because when I made my shader, I was running into performance issues due to minecraft and opengl, so this way I can bypass it all and have hardware vulkan support.

0
0
6
Open comments for this post

3h 13m 41s logged

We now have some of the most complex handheld lighting in minecraft! I setup a quick light tracing function and inputted the light values for it for each hand, so as you can see there are two shadows being cast. I will add an option in the future to upscale the RTX features since this was taken at 27 fps. I also added bloom and a bunch of settings for it and fixed up the sky ground issues. Now it truly scatters the ground until you hit y ≈ 200 million, then the lowest part breaks ¯(ツ)/¯

1
0
8
Open comments for this post

3h 50m 23s logged

you know what, its 98% working. I call that good enough for tonight! I will continue fixing up the various tracing bugs and add entities, but so far this is pretty good! I plan on also raytracing shadows and lights if possible, although I will keep the standard shadow pass for nearby to get cheaper shadow filtering than with multiple rays. A lot of little issues plagued the final BVH build, mostly with me not clearing buffers :)

0
0
6
Open comments for this post

6h 36m 41s logged

Finally!!! I got the radix sort working! The screen shot doesn’t look like much, but if you notice the bar on the bottom, the colors are generally grouped together and are perfectly stable. I had really struggled with getting this to work correctly as I’m not exactly the most experienced with compute shaders (or I should say was, now I know more about them than I need to). I had reached out to the shader labs discord even (thanks to them btw, they helped with a workgroup dispatching bug I had) and ran about every test possible to eliminate any possible race conditions/out of bounds errors. Then comes gemini to save the day. Apparently, I really should have done some more research into atomics in the past since even though they are meant to be stable, they are not perfect in the slightest, so I was basically attempting to do a radix sort without stable ranking (which is what it needs to achieve its insane parallelism and speed) and yeah it works now. BVH time (which should not take long to setup, the radix is normally the hard part), then true RTX features (not just voxelizations) like raytraced reflections and idk I might add a path tracing option since I’ve made a PT on shadertoy before and it was super enjoyable to do.

0
0
4
Open comments for this post

5h 57m 59s logged

All I can say I got done in this long session is I optimized the rendering slightly. Not the tracing, just the regular lighting by catching the light colors (since they are from the scattered sky) in a tiny 2x2 texture, but it did give me 80+ fps back when I look at the ground at least. I will also have to redo all the BVH setup and actually learn how to do it all since I was leaning a bit heavy on AI use and something broke somewhere and I couldn’t figure out where. Time to actually code it all QwQ (not really sad, probably a good idea to actually learn it fully)

0
0
6
Open comments for this post

57m 51s logged

Haha I feel evil for being mean to my gpu. I got the full world space reflections working (along with a second bar to show how full my triangle buffer is), although I still have to tweak the entities combining with the terrain, but I mean it runs horribly (better than not at all!). You can’t see it in the screen shot really, but I installed a resolution changer mod that puts me at 1/4 resolution, so 1/16 of the pixels and perf is worse than full res with the entities. Definitely will need to get that BVH/acceleration running soon because or else my GPU is going to blow a fuse :D

0
0
4
Open comments for this post

1h 30m 8s logged

Fixed up performance and small bugs!! I removed the combining of vertices into tris and just did that during the trace. Thanks to less memory pressure I got back around 20 idle fps and fixed the jitter bug (hehe)

0
0
10
Open comments for this post

3h 59m 31s logged

(mostly) Finished a major performance win. I figured out a way to use the vertex shader instead of the geometry shader for everything. The geometry shader is notoriously slow (5-10x) compared to everything else, so by not using, my idle performance has went up several times due to no longer having to slowly process so many triangles. I still have some room for improvement (iron golems are black and some weird new backface visual bugs, nothing severe though) but this is much better than before!

1
0
15
Open comments for this post

3h 18m 47s logged

Got FXAA working! Haven’t finished the acceleration for the RT yet, but thought some minor AA wouldn’t be too hard and look nice! Thanks to Simon Rodriguez for his wonderful tutorial on how to add in FXAA!

0
0
5
Loading more…

Followers

Loading…