500 lines of pure x64 assembly.
Just to create a Vulkan instance.
No helpers. No C. No safety nets. Just raw MASM64 and the Vulkan headers.

This is what low-level graphics looks like when you go all the way down.
Next up: surface and device creation.

https://github.com/IbrahimHindawi/masm64-vulkan

#gamedev #vulkan #assembly #asm #masm64 #graphicsprogramming #lowlevel #handmade #baremetal #rendering #shaderdev #programming #devlog #indiedev #reverseengineering

GitHub - IbrahimHindawi/masm64-vulkan

Contribute to IbrahimHindawi/masm64-vulkan development by creating an account on GitHub.

GitHub

Happy #wipwednesday ! Here's some more #pharaomon dev.

Rather than traditional tamagotchi gameplay, I'm making this a turn-based resource management thing. You get 3 actions per day: sunrise, midday, sunset. And scheduled events happen that consume resources. I'm not a game designer though so maybe it's a bad idea? We'll see

#indiegamedev #indiedev #retrographics #unity3d #shadermagic #shaderdev

run cat run

(Sprites from OpenGameArt: minimalist sidescroll city sprites by Lanea Zimmerman, cat by Shepardskin)

#shaderdev #shadermagic #unity3d #indiegamedev #pixelart #gamedev #unityassets #retrographics

Adding fake environmental reflections to my retro shader pack! They work the old fashioned way (per-vertex, with sphere maps) thanks to several old tutorials and this Graphica Obscura article: https://graficaobscura.com/texmap/index.html

It would have taken a lot less work to implement modern per-pixel real-time reflections... 🤔

#shadermagic #shaderdev #indiegamedev #indiedev #unity3d #unityassets

Texture Mapping as a Fundamental Drawing Primitive

**Shader dev struggles**

The reason I started working on my #photographysim was to see if I could leverage the N64's 3-point texture filter to create nice looking DOF blur. And... it's so much harder than I thought.

The test scene below tries to simulate a f/1.4, 85mm lens. But because I'm using texture filtering instead of true blur, increasing the blur just causes the shader to sample pixels further away, which is inaccurate.

Maybe mipmaps would help? #shaderdev #indiedev #wip #gamedev

Experimenting with generating 16x16 pixel art tilesets in #Blender by using a compositing shader and some camera perspective tweaks. Palette quantization is still #wip because that's its own rabbit hole.

Best results are achieved by sticking to a grid, using 45-degree bevels, and retouching the output by hand.

I'll open source this when I'm done.

#screenshotsaturday #indiedev #indiegame #shaders #shaderdev #shadermagic #pixelartshader

Late #ScreenshotSaturday : I made a little UI for my little CRT shader

Did you know you can make compile-time toggle switches? Instead of expensive if statements, they work through preprocessor `#if` statements. When a toggle is off, the corresponding code is not included in the final shader, and therefore doesn't consume any GPU resources at runtime.

#unity #Unity3D #shaders #ShaderDev #gamedev #indiedev #TechArt