Hi everyone !
I'm #LookingForWork as a graphics programmer/3D rendering programmer ! My portefolio is in my bio and my LinkedIn as well, but here are some screenshots of work in progress #Vulkan renderers I'm working on. I am also open to internships. Please share ! 😀 #GraphicsProgramming
#lookingforwork #vulkan #graphicsprogramming
Randomly thinking about something I worked on 10 years ago, going to give it for advice for anyone who's manually #programming a #GameEngine #Sprite based #graphics from scratch...
The most efficient way to draw sprites to a layer is to run-length index them with a colorkey, meaning you have one byte for how many #pixels you're drawing, and one byte referencing the color in that sprite's palette. (#gif does this) You do this with an array of 255 32-bit ints, one per color, and by drawing the sprite in a triple for-loop: i for each line, j for each run, and k each pixel run.
The run value of zero represents the end of a line, and is handled by skipping to the next number in the i loop. The color key of 255 is transparent, and is implemented by simply skipping forward by the run length in the j loop. Otherwise, the k loop memcopies whatever value in your color map array corresponds to the index of the color key directly to the buffer.
(cntd)
#programming #gameengine #sprite #graphics #Pixels #GIF #graphicsprogramming #pixelart
Awesome shader: https://www.shadertoy.com/view/mtScRc
#computergraphics #shader #gamedev #graphicsprogramming
These clouds in Berlin that look like a low resolution perlin noise.
#graphics #graphicsprogramming
Found some LOD issues on one side of this building
(Bank of Spain, Madrid)
Language: C
Rays: Traced
😎
A pretty Schlick Fresnel. New realistic water shader video from Acerola.
Is there a well-adopted hashtag for graphics programming threads? #graphicsprogramming is a bit of a mouthful. #graphicsdev? #grpr?
#graphicsprogramming #graphicsdev #grpr
I've been lurking and reading posts, so it's probably time for an #introduction.
Hi, I'm John. I'm a software engineer, with a variety of interests: #programming, #gamedev, #graphicsprogramming, #dsp, #osdev, #emulation, #LowLevel, #webdev, and others. I use #python, #c, and #cpp professionally, but I also enjoy using #rustlang, #typescript , and #javascript in personal projects.
Non programming things: I try to make electronic music, never finish it. Ich lerne auch #deutsch.
#introduction #programming #gamedev #graphicsprogramming #dsp #osdev #emulation #LowLevel #webdev #python #c #cpp #rustlang #typescript #javascript #deutsch
I added support for multiple shadows!
#vulkan #rust #ash #graphicsprogramming #programming #glsl
Implemented Physically Based Shading ^^ I guess it works? 😅 ngl looks a bit disappointing compared to reference material, I hope it's just a lack of reflection/IBL, and maybe adding an env map would improve it a lot... so I suppose that's next.
The pic shows increasing roughness left->right and metalness bottom->top.
Other stuff implemented:
- depth reading & linearisation, calculating world pos from it (probably works?)
- ACES and Reinhard tonemapping
Ok so turns out I actually do need to create my own data structure from scratch in rust. This will be hard #rust #datastructure #programming #graphicsprogramming
#rust #datastructure #programming #graphicsprogramming
Conservative Rasterization implies the existence of Woke Rasterization
#graphicsprogramming #programmingjoke
Baby's first deferred renderer ^^ (no pbr yet)
The first mayor feature I've implemented by myself, not following The WGPU Tutorial :3
Lessons learned:
- when textures are resized (due to window resizing) the texture bindings also have to be updated, otherwise the lighting pass will use outdated (or even blank) gbuffer textures
- you have to wait until resources are no longer used by in-flight draws before deleting them, otherwise the gpu will likely crash ^^"
#wgpu #rust #graphicsprogramming
Some emissive goodness to brighthen your day :^)
#PBR #GraphicsProgramming #VulkanAPI
#pbr #graphicsprogramming #vulkanapi
Mesh loading implemented :3
I came across this video on writing shaders — targetting Shader Toy in this case — in the #GraphicsProgramming circles last week, and I see it's doing the rounds in a few other places on the internet today.
It's an excellent video on shader programming, if you haven't seen it yet.
This is your reminder that every day requires a swapchain image flip, which is why we call it the present <3
#graphicsprogramming #badprogrammingjokes
I wrote a build script that validates the wgsl shader as a build step, using the naga library... maybe I'll be able to live with wgsl after all ^^
#wgpu #webgpu #rust #graphicsprogramming
Getting a triangle on the screen is way easier with #WebGPU than with e.g. Vulkan ^^
It still gives a lot of control over the gpu, but there’s much less noisy stuff to care about (no pools, no queues from different families, no swapchain management, etc).
Tho at least in its current state i loathe wgsl… can’t index arrays, can’t compare integers 🤯 I’ll have to figure out how to use Spir-V until it’s improved.
#webgpu #graphicsprogramming #rust #wgpu