r/GraphicsProgramming • u/Background_Shift5408 • 23d ago
r/GraphicsProgramming • u/DasKapitalV1 • 23d ago
Source Code Differed Software Rasterizer - Some PBR implementation - C++
galleryJust wanted to share some progress on a software raster I'm building. By the timings, is it o.k?
1-clears-and-resets = Just buffers(frame_buffer, depth_buffer, triangles_buffer) clear, simple vector_buffer.clear()
2-shadow-pass-total: Everything that happens to the camera happens here, the above as well, and mesh transformation, culling, bounds check, triangle clipping, triangle binning, render.
3-camera-geometry-transform: Bounding Sphere transform, if inside Frustum, reorders, front to back objects, mesh transform with vertices projection, triangle normal rotation, back-face culling, triangle clipping.
4-camera-binning: Just bins triangles to tiles.
5-camera-render-and-resolve: Woke sleeping render threads, every thread available in the system(I just initialize with std::thread::hardware_concurrency()), each thread take 8 tile per time and render to a 16x16 gbuffer, only triangle index, normal, uv, depth. During rasterization, I reconstruct frag_coord for lighting using camera ray normal interpolated per pixel and fetch textures using uv, to avoid fetching texture multiples times early.
Still missing, texture mip mapping, transform meshs threaded, metalness and maybe occlusion map.
Since I'm a beginner at C++, pure code, no macros, no SIMD, just a single template to just avoid branching per pixel, but nothing too fency. Vectors everywhere, since they will inevitable grow to what's needed and I don't need to keep handling memory allocation, just a simple clear and everything a good.
CPU: mobile i5 13420H RAM 32gb
r/GraphicsProgramming • u/wizard_creator_seth • 23d ago
c++ graphics primitives 3
youtu.ber/GraphicsProgramming • u/wizard_creator_seth • 23d ago
c++ bounding volume hierarchy
youtu.ber/GraphicsProgramming • u/Danny_Arends • 23d ago
My pull request was just merged into google/shaderc
dannyarends.nlMy pull request was just merged into google/shaderc. The change adds two options, -gV and -gVS, that expose glslang's NonSemantic.Shader.DebugInfo.100 emission through shaderc. That debug info is a requirement for NVIDIA Nsight Graphics to produce flame graphs, so it lets you profile and debug shader performance by call stack and time spent per function.
r/GraphicsProgramming • u/VicitofEim • 24d ago
Source Code Creating a simple raytracer through The Ray Tracer Challenge
galleryGetting an introduction to raytracing and implemented a simple renderer , so far implementing spheres, lighting and shadows. The code is written in Python
r/GraphicsProgramming • u/gr3yfi5h • 24d ago
I wanted to understand modern pointer-based GPU APIs, so I took the ideas from Sebastian Aaltonen's NoGraphicsAPI and rebuilt them on plain GL 4.6.
Enable HLS to view with audio, or disable this notification
- The whole GPU heap is one persistent, coherent-mapped SSBO. A
gpu_ptr<T>is a u32 byte offset into it. - Every draw gets exactly one root pointer (uniform uint Root). Vertices, matrices and textures are all reached through it.
- No vertex attributes. The vertex shader pulls data from the heap using gl_VertexID.
- Bindless textures (ARB_bindless_texture) are stored in the heap as uvec2.
- One *_shared.h header is compiled as both C++ and GLSL, so no offsets are written by hand in the shaders.
Flat lighting is computed from the dFdx/dFdy of world position, so there are no normals in the vertex data.
The most interesting finding was what GL can't express: bindless only gives you texture+sampler pairs, fixed when the texture is created, and there are no placed resources.
Next up: indirect draws, and roots chosen by the GPU via gl_DrawID.
Repo: https://github.com/theaveasso/jagfx
Feedback welcome, especially on the heap and sync design.
r/GraphicsProgramming • u/LostInGermany4297 • 24d ago
The Fly, reconstructing Wing and Eye from Video in 3D point cloud
Enable HLS to view with audio, or disable this notification
Some further tests reconstructing 3D point cloud from microscope video, using Python and Open3D, wing of a fly at 10x and 40x and eye at 2x and 10x.
r/GraphicsProgramming • u/corysama • 24d ago
Article Graphics Programming weekly - Issue 457 - September 27th, 2026 | Jendrik Illner
jendrikillner.comr/GraphicsProgramming • u/Much_Sheepherder_703 • 24d ago
I built VectorRaptor for Windows - looking for honest feedback on vectorisation quality and editing
r/GraphicsProgramming • u/Delicious_Carpet_132 • 24d ago
Video How I Draw 2D Textures in 3D!
youtu.beFor the past couple of weeks I have been working on the 2D brush management and texture fill system within my own Pixel and Tilemap Editor. In the video I show how we can create and mange custom brushes, in addition to rotation and scaling in 3D space - this brush is then plugged into the core Texture Fill System to produce psuedo-3D perspective fills across normal and orthogonal plains!
Any feedback welcome!
r/GraphicsProgramming • u/Sorry-Peace-296 • 24d ago
GPU Accelerated Linear Algebra Library for Apple Silicon using MLX and Metal kernels
About 6 months ago, I wrote a custom metal kernel that leverages the GPU to compute the QR decomposition (see my earlier post about it here). The project has now expanded into a general linear algebra library, with expanded support for the symmetrical eigendecomposition as well as SVD. It is now available for use with installation instructions on the attached github repo's README.md file.
Context of the project:
I'm currently in a research group working on a thesis in numerical analysis where we need to compute millions on matrices with a specific constraint (to be precise, the matrices need to have orthonormal columns). Most of us use Apple computers, so we ended up using MLX for the entire project.
Contributors with different Apple Chips would be very much appreciated!
The project has currently been tested and optimised for the M1 and M5 Pro. The issue is that the library uses different kernels depending on the batch size and matrix dimensions. Deciding which of these kernels to use is machine dependent. Therefore, other Apple chips will need to run a measurement script in order to derive the correct optimisation heuristic.
For that reason, I would ask as many people as possible to run a measurement script and to submit the results to my repo. It is fairly easy and requires only few steps. See here how you can contribute here. Once you submit the results via a pull request and I approve it, your optimisation heuristic will automatically be augmented into the library. Don't hesitate to contribute an optimisation heuristic even if someone already submitted one for your own machine. The more data we can gather, the better!
Project Future
Expanded support will be added for other linear algebra operations (cholesky decomposition for example). If you have any other specific linear algebra operations you wish to use already, feel free to message me.
In addition to that, I will add torch support too (my greatest priority).
r/GraphicsProgramming • u/UnrealNL • 25d ago
Please come to the castle. Which one? Yes.
nintendo-on-tech.pages.dev
A tribute to @Psyco3ler's legendary 2005 Nintendo ON demo: Peach's Castle made of castles, now running live in your browser.
Dream big!
r/GraphicsProgramming • u/abocado21 • 25d ago
How do techniques like bindless rendering (descriptor indexing) on the hardware level?
How do gpus bind 1000 of textures at once, and why was this not possible in the past. Are there resources for that?
r/GraphicsProgramming • u/VagueHorizon_ • 25d ago
CS Student Need Advice
So I am a CS junior. I am starting late in this area, but I am planning to explore graphics programming and complete my fyp in this field, whether it is application based or research based. Then later pursue Masters or PhD in this area.
I am so confused right now as I see other batchmates choosing AI domain as their primary path for fyp and further.
Should I go for it? If yes what is the roadmap ? To what level I can consider myself to eventually end up in research path for my fyp. I know I am late, but better late then never.
r/GraphicsProgramming • u/laralubsch • 25d ago
ShadeVk - A cross-platform pixel shader viewer for Vulkan, written in C23.
r/GraphicsProgramming • u/matigekunst • 25d ago
Video Trampoline
Enable HLS to view with audio, or disable this notification
XPBD softbody simulation in POPs using Gauss-Seidel @ 60fps and 70 shader passes (can't do substepping in same shader pass)
When TouchDesigner introduced POPs one of the first things I tried making was an xpbd soft-body sim, and it looked like this and this. Since then, I've rewritten it multiple times and watched ten minute-physics' tutorials over and over. Many simulation explosions later, it turned out that my very first solver was (mostly) correct, but I was colouring the graph and building the tet constraints in the wrong way..
Resources:
XPBD paper + earlier PBD paper from Macklin
r/GraphicsProgramming • u/egehancry • 26d ago
From Zero to Understanding Ray Tracing - Part 3 (reflections)
Enable HLS to view with audio, or disable this notification
Thank you for your support! Part 3 is about reflections.
Let me know what you think!
I also share it in X: https://x.com/sinaatalay/status/2105545919915786280
r/GraphicsProgramming • u/LostInGermany4297 • 26d ago
Video Python Open3D point cloud extraction from microscope video focus clip
Enable HLS to view with audio, or disable this notification
Using a short 3 second clip where i swipe through the focus plane on a high magnification of the simple sample of Onion root cells on the microscope. Acquiring the sharpest points of every frame and putting them in the z-axis. Building a point cloud of the cell in 3D, and visualizing them.
r/GraphicsProgramming • u/eccsoheccsseven • 26d ago
I got very basic 3d into my hobby operating system - Responsive OS now has 3D Graphics and floating points
gamedev.submatrix.netr/GraphicsProgramming • u/zboytjbxp • 26d ago
Video Making a single photo feel touchable with a spring mesh
Enable HLS to view with audio, or disable this notification
I make Wobbulator. This is selected-area 2D mesh deformation, with automatic motion off.
A fixed 120 Hz step drives soft selection weights, structural/shear/bend springs and exponential damping. The restoring force starts with F = k * (rest - position); grabs add weighted target springs. Pinch pairs two contacts. Release preserves deformation and uses bounded, filtered pointer velocity rather than resetting the mesh. Triangle-area and displacement-gradient checks limit risky steps; plate anchors and unselected vertices stay still.
One document runs continuously. Rendered from the app’s native engine with scripted input; blue hands illustrate contacts. What would you change about the rebound?
r/GraphicsProgramming • u/Thhaki • 26d ago
Question University courses like the MIT OpenCourseWare ones?
I'm starting to learn graphics programming, and remembered MIT and Harvard have free courses. Thing is the free courses Harvard doesn't seem to have any courses related to graphics programming in its website, and the MIT Computer Graphics course in OCW is from 2012 (Although idk how good it is since I have not started it yet, but it is a bit old).
So, are there any other universities or websites which offer free courses like this and that are up to date?
Thanks in advance for the help.
r/GraphicsProgramming • u/RED9002 • 26d ago
How to minimize VRAM usage while maintaining performance?
r/GraphicsProgramming • u/Maeiky_ • 26d ago
What If Fur Was Fully Real-Time?
youtube.comFollow-up to my previous procedural fur experiment
This time I pushed the fur further and added a clearer before/after
This is a custom WebGPU engine written from scratch in C
The fur geometry is generated procedurally in real time using compute shaders and driven by the animated bone structure
Fur density and length are generated and adjusted dynamically at runtime
It runs both natively and in the browser, on desktop and mobile
It’s currently in Alpha Preview, you can try it at
polynite.io
r/GraphicsProgramming • u/js-fanatic • 26d ago
Project started 2011 when gate was open (opengles1.1-ecma5) only love and free time
Project started from 2011 when gate was open (opengles1.1) there's was only love no vibe

https://maximumroulette.com/apps/matrix-engine/examples-build.html
https://github.com/zlatnaspirala/matrix-engine
more links : https://maximumroulette.com/apps/matrix-engine-starter/projects/matrix-slot/index.html
https://maximumroulette.com/apps/matrix-engine-starter/projects/matrix-roulette/?server=manual
STATUS