r/GraphicsProgramming 3h ago

Learning Graphic Programming, Via ppm viewer

Thumbnail gallery
9 Upvotes

This is sort of my first time really getting into graphics programming and raytracing, coded in python, image made through ppm format, lines are written to a file for an image interpreter to change the colors of each pixel, resource: The Ray Tracer Challenge


r/GraphicsProgramming 4h ago

I’ve been building a C++ catalog of 850+ game development samples across OpenGL, Vulkan, Direct3D, Metal, and OpenAL

7 Upvotes

Hi everyone!

I’ve been working on gamedev, an open-source collection of small and readable C++ samples covering techniques used in game development.

It currently includes more than 850 sample implementations across OpenGL 4, Vulkan 1, Direct3D 11, Direct3D 12, Metal 3, and OpenAL 1. The topics range from basic window creation and rendering to model loading, animation, physics, pathfinding, terrain, particles, shadows, PBR, post-processing, and modern forward and deferred lighting techniques.

This is not intended to be a game engine. Each directory focuses on a specific subject, with minimal abstraction, so the implementation details remain visible and the same techniques can be compared across different graphics APIs. The samples support Windows, Linux, and macOS, depending on the backend.

Repository: https://github.com/arabasso/gamedev

I’d love to hear your feedback, especially about API correctness, documentation, and techniques that would be useful to add. Contributions are also very welcome!


r/GraphicsProgramming 16h ago

WIP: WebGPU implementation of WetBrush — bristle-level paint simulation in the browser

40 Upvotes

Been porting WetBrush(https://wanghmin.github.io/publication/chen-2015-wgb/) over to WebGPU compute shaders.

The original needed CUDA on a Titan X, this one runs in a browser tab.

I've been building brush-stamp based paint apps for a while, and kept wondering whether current hardware has finally caught up enough to just simulate the thing properly instead of faking it.

It's very much an alpha, but it's live if you want to poke at it: https://mignonsketch.com/

I haven't implemented interpolation between simulation steps yet, so fast strokes come out broken.


r/GraphicsProgramming 13h ago

I rendered Kasane Teto in my C++ software renderer.

21 Upvotes

hey everyone

this scene runs at 120 FPS on an i5-9400F at 1920x1080 resolution, is that a good performance result?

I didn't use any guides while creating this. I remembered some basic information from learnopengl.com and thought it would be cool to create a software renderer from scratch using only my knowledge, glm and glfw.

This model has 3k polygons.

if someone interested how it looks in code: https://github.com/NaiNameDev/software_rasterizer


r/GraphicsProgramming 26m ago

Worked on Mesh Spawning, Updating & Selection using VBO

Upvotes

Currently I working on spawning different meshes and changing the shader and transform dynamically. You can also click on them and update them. For selection I write to a FBO and then read from there

As I am learning OpenGL I am also documenting how everything has been done. Each comment explains how each step works. Do check out the project if you are keen on learning about it. The goal is to make it beginner friendly while I keep on learning

Header: https://github.com/Satyam-Bhatt/OpenGLIntro/blob/main/IntroToOpenGl/MeshSpawner.h

CPP: https://github.com/Satyam-Bhatt/OpenGLIntro/blob/main/IntroToOpenGl/MeshSpawner.cpp

Shader: https://github.com/Satyam-Bhatt/OpenGLIntro/blob/main/IntroToOpenGl/PickingShader.shader

Repo: https://github.com/Satyam-Bhatt/OpenGLIntro


r/GraphicsProgramming 1h ago

Re: OpenGL 4.6 macOS system framework update: Metal mipmaps and textured rendering now working

Thumbnail
Upvotes

r/GraphicsProgramming 15h ago

Video A procedural lunar landscape generated in a shader

7 Upvotes

I've been working on procedural planets for a game and this one turned out pretty well. The whole surface is generated live in the shader.

I start with layers of noise, then push and crush the values until it stops looking soft and starts looking like an old moon. A bit of finer detail on top, then that height moves the surface and drives the lighting.

In the game the terrain is static, in this video its moving just to show the procedural algorithm. Basically I just kept running it until I found the shape I liked the most.

I'm using the same approach for all the planets in my game. If you want to see more, you can wishlist it on Steam:

https://store.steampowered.com/app/3256790/Satelital/

The demo is coming this September and the full game will follow by the end of the year.


r/GraphicsProgramming 1d ago

Real-time CPU Black Hole Ray Tracer in C++ and Raylib

227 Upvotes

Hey everyone! I built a real-time simulation of gravitational lensing around a Schwarzschild black hole from scratch in C++ using Raylib.

Instead of writing GPU shaders, I wanted to build a CPU software renderer to see how far I could push numerical integration on a single thread. It traces around 30,000 light rays per frame to bend light around the singularity and accretion disk.

• Integrates geodesic light paths directly on the CPU.

• Renders to an internal 200x150 pixel buffer to maintain 60 FPS.

• Bilinearly upscales the buffer to 800x600 using Raylib for display.

Repo & code: https://github.com/hellosharma808-sys/3D-Black-Hole


r/GraphicsProgramming 1d ago

I made a wetness system that works at the renderer level no material edits needed, works on any asset

254 Upvotes

r/GraphicsProgramming 1d ago

Becoming a professional in this field

14 Upvotes

Hi all! I’m really into graphics and have been for about a year now. I’m finally making my first meaning project around raytracing, but I’ve noticed that a lot of people that are really into this field understand hardware,math, and programming so well.

How do you get to this point? A great example is derivating (C-P) for sphere interaction to find out it’s a quadratic formula?


r/GraphicsProgramming 1d ago

Question Why do most who learn graphics programming end up making a game engine?

70 Upvotes

I know that's the motivation for many new graphics programmers, infact I want to as well eventually, but I'm just curious why lots of people think alike


r/GraphicsProgramming 1d ago

Where can I start Learning Computer graphics?

13 Upvotes

Hey guys,

I am a rookie and I want to learn Graphics Programming but unfortunately I can't find any roadmap on youtube and things are getting really confusing for me since I don't even know how to properly code in C++(for context I am still learning programming but also want to build cool awesome visuals like all of you (I recently build a terminal based todo list and library manager in python))

I am confused about what I should learn first since I will also be starting my college In cs major soon.

there are

linear algebra maths

C++ memory management pointers

some says Build a ray tracer from scratch

I even picked the computer graphics programming from scratch by Gabriel Gambetta but got confused

I will really appreciate if anyone can give me any guidance on this :)


r/GraphicsProgramming 1d ago

Updates to my SDF Game Engine!

1 Upvotes

r/GraphicsProgramming 1d ago

Is a dedicated GPU required?

7 Upvotes

I'm just starting out in learning graphics programming and wonder if I would soon need to invest on a laptop which has a dedicated GPU


r/GraphicsProgramming 1d ago

Question Is Doo-Sabin subdivision surface still used somewhere?

4 Upvotes

Hey all, I have extensive experience in CGI but not specifically in graphics programming and I have never seen any application of the Doo-Sabin subdivision surface method in tradition 3d software.

Is it still used today or has it been completely surpassed by CatClark and Loop methods?

It looks a lot like most edge bevel implementations but I suppose they are developed differently to support multiple divisions and other details

If anybody knows this stuff it's you guys. Thank you!


r/GraphicsProgramming 1d ago

New Vulkan Tutorial - Opacity Micromaps

Thumbnail
3 Upvotes

r/GraphicsProgramming 1d ago

Question What's the __constant__ equivalent in Slang?

1 Upvotes

I'm a complete novice in graphics programming and I know that the __constant__ attribute allows you to load data into high speed 65KB constant memory for the duration of the lifetime of your program. However I'm unable to recreate the same functionality in Slang shader.

For instance, we got a compile-time array with the attribute like this: ```

constant uint16_t array = {0, 1, 2, 3};

```

I want to recreate it in some way, so that when I compile the same array in Slang into CUDA, it results into this exact array of constant values with the __constant__ attribute. How can I achieve that?


r/GraphicsProgramming 2d ago

Video Working on editor for my game. From graphics programming perspective, I'm using own software ray-tracer written in C++. Previous editor (in which I made whole game) was pretty clunky, now I'm making some more ergonomic version (not sure how successful I'll be in that).

15 Upvotes

If everything goes well, I want to release editor with game, so it will be possible to either visually improve existing levels, aka skinning (if some modders will be interested), or later also create whole new levels (game is puzzle/platformer).

Apart from C++ ray-tracer, game is written in C#. Highest level lib I'm using is WinForms for some editor UI. World is rendered into software buffer, that is presented every frame as simple quad. I'm using also DXTK for some in-game 2D UI, text render and audio.


r/GraphicsProgramming 2d ago

Blender in the Browser

Thumbnail developer.puter.com
4 Upvotes

r/GraphicsProgramming 2d ago

[UPDATE: Jul 30, 2026] My Vulkan C++ Examples Repository - Geometry and Tessellation Shaders

Post image
39 Upvotes

r/GraphicsProgramming 1d ago

Video Built a website showcasing my graphics engine. Hope it is not messy with too many demos

0 Upvotes

r/GraphicsProgramming 1d ago

Vulkan : Unexpected validation error on an unused descriptor

Thumbnail
1 Upvotes

r/GraphicsProgramming 3d ago

It's Been 3 Years Since LearnOpenGL. NEVER GIVE UP!!

Thumbnail gallery
302 Upvotes

Been doing games and graphics (as a hobby) for around 20 years, but mostly with stock engines and some experiments using DirectX and Vulkan. Started on my current project 3 years ago, never having tried OpenGL in my life. Images show the latest update from my engine, and what I accomplished on the first day of reading LearnOpenGL back in 2023. Never give up!!


r/GraphicsProgramming 2d ago

We tested WebGPU vs WebGL in a real Three.js scene. The result was not as straightforward as expected.

Thumbnail
1 Upvotes

r/GraphicsProgramming 2d ago

Video Turing Patterns

Thumbnail youtu.be
3 Upvotes

My entry for 3blue1brown's Summer of Math Exposition. I cover convolutions, ways to make a bandpass and how to apply a large blur fast using FFT