Just added a new combined view mode that combines texture details with lighting info.
This makes inspecting surface interaction way more intuitive. ๐ง๐ก
#GameDev #3D #Rendering #TechArt #Shaders #GraphicsProgramming #IndieDev
Just added a new combined view mode that combines texture details with lighting info.
This makes inspecting surface interaction way more intuitive. ๐ง๐ก
#GameDev #3D #Rendering #TechArt #Shaders #GraphicsProgramming #IndieDev
Finally got around to post an new article on my blog today! Wrote about the rasterizer i'm currently tinkering with in rust, as well as the algorithm I've used (barycentric coordinates), as well as some optimizations that can be used early on so it dosn't run at 1 FPS for a couple of triangles x3
https://blog.lapyst.dev/posts/12-software-rasterizer-in-rust---part-1
#rust #rasterizer #graphicsprogramming #programming #softwaredevelopment #coding #blogging
Animate a mesh across a sphere's surface
https://garden.bradwoods.io/notes/javascript/three-js/animate-a-mesh-on-a-spheres-surface
#HackerNews #AnimateMesh #SphereSurface #ThreeJS #WebAnimation #GraphicsProgramming
Lol, I knew that debug vs release builds have some performance impact but never thought THAT much. So aparently my rust rasterizer can render 250 moving triangles at ~7 FPS in debug builts but a whoping 40 FPS (!!) in release builds. That's just: WTF? x3
#rust #graphicsprogramming #rasterizer #programming #softwaredevelopment
Had the itch to get back to basics with graphics this week so I wrote a software rasterizer in Rust. The rasterizer SIMD approach is based on @rygorous 's excellent tutorial series here: https://fgiesen.wordpress.com/2013/02/17/optimizing-sw-occlusion-culling-index/
Plenty of work to do like some kind of multithreading scheme and perhaps even textures. But it's always satisfying to see shaded triangles. I'll share the code at some point if I clean it up ๐งน
Just rendered my first Vulkan triangle in raw x86-64 Assembly.
No C, no C++, no Rust.
Pure MASM64. Pure pain. Pure control.
This is what it means to go full bare metal.
More to come. โ๏ธ๐ฅ
https://github.com/IbrahimHindawi/masm64-vulkan
#Vulkan #AssemblyLanguage #MASM64 #Assembly #BareMetal #GameDev #GraphicsProgramming #HandmadeHero #LowLevelDev #x64 #OpenGLWho #TriangleOfVictory
Currently working on a little #rasterizer after watching the fantastic video from Sebastian Lague on yt.
Decided to write mine in #rust with some other techniques than the ones in the video, like using Barycentric Coordinates and calculating an AABB of an tri before iterating over the pixels. The video below showcases the rasterizer trying to process 250 random triangles. (Windowing and the FPS counter are done with #raylib)
Some artifacts here and there due to Z-ordering issues, but I hope to fix this soon.
End goal is to write it in such a way that I even might someday can use the rasterizer inside an custom rust #kernel / #os for basic 3d graphics, ofc to run
#doom on it!!
#programming #graphics #graphicsprogramming #development #software #softwaredevelopment
So I'm rendering stuff in the following order:
1. Background image
2. Background fluid color, opaque
3. Sprites etc
4. Foreground fluid color, transparent
So where there's fluid, you should not see the background image, right
SO WHY DO I SEE A BACKGROUND IMAGE
Worse, if I remove the call to draw the foreground fluid, OR make the foreground fluid transparent, IT BEHAVES AS I EXPECT AND THE BACKGROUND IMAGE GOES AWAY
What the actual fuck