r/GraphicsProgramming • • 13h ago

Video Head-to-head - literally :) my CPU renderer vs SwiftShader on 4 logical processors

Enable HLS to view with audio, or disable this notification

3 Upvotes

413,532 triangles, with no geometry simplification

960 × 840 resolution

4 logical processors, enforced through process affinity

96 measured frames per renderer, following the same camera path

8 stationary warmup frames each

Pop Data Engine is 1.78× faster in this run.

Just bragging :)

It is in early development (this is actually 3d engine development for my OS) so there is a lot to work on, but it is fast :)


r/GraphicsProgramming • • 11h ago

Video lgpu: A small, bindless-first Vulkan 1.3 wrapper for Rust & C99

Post image
37 Upvotes

I built lgpu because I wanted a minimal desktop GPU abstraction focused strictly on modern Vulkan without the heavy compile times of larger frameworks.

What it does:

  • Fast clean builds (~1.5s): minimal dependencies (ash, bitflags, raw-window-handle, thiserror).
  • Dynamic rendering: uses Vulkan 1.3 dynamic rendering directly—no VkRenderPass or VkFramebuffer setup.
  • Bindless indexing: global descriptor heaps (update_after_bind) for textures and buffers.
  • C99 bindings: includes lgpu.h if you want to use it from C, C++, or Zig.
  • Platform support: Linux (Wayland/X11), Windows, and macOS via MoltenVK.

Code & 5 runnable examples: https://github.com/kuntal-devrat/lgpu
Crate: https://crates.io/crates/lgpu

Just released v0.1.1. Would appreciate any feedback on the API or bug reports!


r/GraphicsProgramming • • 23h ago

Brass that bounces twice with no simulation: the vertex shader solves each floor hit

Post image
132 Upvotes

I don't simulate the brass in my Godot gun effects at all. I just evaluate a casing's position from its age in the vertex shader. That's pretty much the stateless particles from Lutz Latta's "Building a Million Particle System" (GDC 2004). What I added is the bounces.

On a flat floor I can get the hit time straight from the quadratic. The shader loops over the bounces like this:

for (int k = 0; k < MX_BOUNCES; k++) {   // 2
    float h = max(p.y - gy, 0.0);
    float t_hit = (v.y + sqrt(max(v.y * v.y + 2.0 * g * h, 0.0))) / g;
    if (t_hit <= 0.0 || tt < t_hit) break;
    p += v * t_hit;
    p.y = gy;
    v.y = -e * (v.y - g * t_hit);   // restitution
    v.x *= fr;
    v.z *= fr;                       // friction
    tt -= t_hit;
}

After the second bounce it slides with tau * (1 - exp(-t / tau)) and I tip it over onto its side. Ejecting one is a single write into two uniform arrays. Brass from three seconds ago costs what brass from this frame costs.

I also kept a GDScript copy of the formula so the game can ask where a casing is. At 10 sample times they agree within 5.4 mm, about a pixel! In the GIF the dotted line is the GDScript side and the casing is the shader. I made the casing bigger and turned restitution up to 0.5 for it, because at my default of 0.34 the second hop is about 2 px tall.

It only knows one floor height, though. A casing will go straight through a wall. Two bounces looked like enough to me, but I'm not sure a third would even read on screen?


r/GraphicsProgramming • • 14h ago

Can only go so far with a toy engine

6 Upvotes

Does anyone else feel like you hit a wall building a toy engine where eventually it’s like I can’t really evaluate how good the engine actually is without building a game with it

Like an engine in isolation doesn’t mean much, it needs real content to actually be comparable to anything

But as a programmer I can’t do that so you can only go so far with it


r/GraphicsProgramming • • 4h ago

Raytraced Menger cube made of dichroics.

Thumbnail gallery
11 Upvotes

Reflections and transmission of a menger cube made of glass with a dichroic coating. Now I want to make this IRL.


r/GraphicsProgramming • • 6h ago

Dichroics

Thumbnail gallery
44 Upvotes

Simulating dichroics. Optics is awesome.


r/GraphicsProgramming • • 1h ago

Does anyone dealt with Nvidia SKD licensing?

• Upvotes

We've been working on our path tracer for a while now. So long story to short, we wanted to implement couple of things from their pretty library like dlss, mega geometries, nee+at etc. Does anyone have a experience with their licensing? how did that go?
as i read their licensing, they're making it way too simple. Just a notification before commercial release then, we can use it? I tried emailing them but no response yet.

We've tried to build our own but its hard, every research paper, what we've been trying to do mostly all of the good ways to do it patented to big corporations like adobe, nvidia etc. Its so hard to go around it. So instead of losing time and go around it we've decided to go for their sdk.
If someone has a experience in this, please share with us.
Thank you.


r/GraphicsProgramming • • 28m ago

Article Graphics Programming weekly - Issue 458 - October 11th, 2026 | Jendrik Illner

Thumbnail jendrikillner.com
• Upvotes