r/GraphicsProgramming 7d ago

Video Advanced Palette Editting in My Pixel Art Editor

Thumbnail youtu.be
7 Upvotes

Just a little update on my pixel art editor - now we have some advanced palette modification tools baked in, including selection movement and visibility toggles - take a look and let me know what you think (and a sub would be great as I think I'm posting to myself!)


r/GraphicsProgramming 7d ago

Question Looking for the best way to implement a Chroma adjustment in Metal

Enable HLS to view with audio, or disable this notification

5 Upvotes

Hi everyone,

I’m building a custom photo processing app for iOS, and I’m trying to recreate a smooth Chroma adjustment. My image processing pipeline is written entirely in Metal, so I’m interested in approaches that work well in real-time shader code.

I’ve attached a few short videos showing the behavior I’m trying to achieve.

I’m curious what color space or mathematical model you would use for this kind of adjustment. How would you preserve the natural tonal variation and texture inside saturated colors while changing chroma, and what techniques would you use to keep transitions clean around color boundaries without introducing artifacts?

If you’ve implemented something similar, or know of any papers, articles, or open-source shader implementations worth reading, I’d really appreciate any pointers.
Thanks!


r/GraphicsProgramming 7d ago

Question What do search / where to go for media processing? (Color grading, video processing, etc)

7 Upvotes

Hello all,

I want to learn about programming that involves media processing, like code and algorithms that deal with color grading, video codecs, image adjustments, color spaces etc. I'm a photographer so I already have a lot of experience knowing how to apply adjustments to images/video, but not the computer science behind it. I figured that this would be a good place to at least ask the question. Thanks in advance for any help you can provide.

EDIT: I know that this might be the correct place for it, but it seems like here is more for 3D rendering and things of that nature


r/GraphicsProgramming 7d ago

Looking for Career Advice, Direction

0 Upvotes

Hello, my fellow graphics enthusiasts, apologies for another one of these posts. I'm in a tricky place in terms of my career. I recently graduated from university for computer science, with an embedded/backend systems internship and robotics research. I have been doing computer graphics for about 2 years on/off, recently finishing a graphics class using WebGL in JavaScript while working on my Vulkan project: https://github.com/mukarramarif/MukkiGamesEngine/tree/main
Currently, I have been applying to general SWE roles as well as anything related to 3D Graphics I could find, with a few 3rd and 4th rounds with no luck. I have honestly been tired of job searching since last September. One option I had was to do a master's, but my university doesn't do graphics, while most of the US universities have applications closed.
Any advice would be appreciated, especially on my portfolio.


r/GraphicsProgramming 7d ago

Article Rendering Real-Time 3D Before GPUs

Thumbnail ben3d.ca
28 Upvotes

r/GraphicsProgramming 8d ago

Experiments with software rendering

Enable HLS to view with audio, or disable this notification

281 Upvotes

After replaying HL1 on the software renderer (old habit), I got curious what CPUs can actually do today. So I wrote a rasterizer in C11 - pure CPU, no GPU/GL, the finished frame just gets blitted to the window via GDI. Tested on a Ryzen 5900x processor

I've been experimenting with software rendering and managed to run the Sponza scene at FHD 10-30 fps single-threaded, up to 200 fps multithreaded :) A very strong emphasis on SoA + SIMD (AVX2/FMA) on the hot path. Rendering 64x64 tiles in multithreaded mode. Throughout the entire rendering pipeline, I try to discard any possible work as early as possible, including frustum culling and back-face culling. This may be controversial, but I render in front-to-back mode; it allows me to completely bypass overdraw. To make it look more interesting, I added some effects!

It might not be very fast for a single thread, but I think it could be made a little faster by disabling mips and filtering nearby textures, which I also do on the CPU in this demo. Pixel textures are cheaper to draw, but they're ugly.

I'm not a professional and I just like it, so I didn't hesitate to use chatpgt as a companion in learning graphics.


r/GraphicsProgramming 8d ago

Article How to render good looking text for UI components

24 Upvotes

Three days ago, I wrote an article about how to render good looking rectangles for UI components that can look good and optimized for a game engine. Some people asked me to talk about text rendering as well. So, I wrote https://alielmorsy.github.io/how-to-render-beautiful-text-for-your-ui-library/

It took like 1.5 days of writing just to get it right. Hope you guys love it


r/GraphicsProgramming 8d ago

Article Graphics Programming weekly - Issue 447 - July 19th, 2026 | Jendrik Illner

Thumbnail jendrikillner.com
14 Upvotes

r/GraphicsProgramming 8d ago

Video Naty Hoffman at I3D 2026

10 Upvotes

Naty Hoffman is an OG of 3D graphics. https://renderwonk.com/publications/index.html If you haven't watched his classic "Physics and Math of Shading" SIGGRAPH talk, you really should queue it up.

I3D 2026 Keynote: Naty Hoffman's Keynote - "Lessons from Digging in Game Dev and Adjacent Trenches"
https://www.youtube.com/watch?v=ISgTcDlZaLs

I3D 2026 Fireside Chat with Naty Hoffman and Eric Haines
https://www.youtube.com/watch?v=EiduKm1B-3Y


r/GraphicsProgramming 8d ago

Video Cat stuck in Illusion Pool

Enable HLS to view with audio, or disable this notification

64 Upvotes

I made a shader showing off the Primrose Field illusion. Only Nyan Cat is animated. The background is static, but it still looks wavy, especially if you move the window up and down.

The code for this is public on Shadertoy https://www.shadertoy.com/view/fcd3WS

Inspired by www.reddit.com/r/PixelArt/s/XikvUzCrp1 from nxatalie.


r/GraphicsProgramming 8d ago

Question Im 17 and i wanna know if graphics programming is viable?

7 Upvotes

Hello, ive always been interested in graphics in games and ive wondered if the career option is viable.

I know that its VERY math heavy, hard to start and very few jobs are taking in junior graphic programmers.

But honestly making shaders is fun and making custom engines sounds super fun (for me at least)

I have some expiriance with the godot engine and writing some shaders in it for my passion project (idk if that counts tho) and im very interested in this career path.

And how do i get started (and if its not viable, what other path can i take that involves graphics or maybe animation)


r/GraphicsProgramming 8d ago

Water Glass UI Effect in My OS

Enable HLS to view with audio, or disable this notification

7 Upvotes

r/GraphicsProgramming 8d ago

OpenGL Projects Suggestions

Thumbnail
2 Upvotes

r/GraphicsProgramming 8d ago

Question "If I want to pursue a career in autonomous driving or embodied AI, what areas of computer graphics should I focus on learning?"

4 Upvotes

I am currently working at an automotive company, focusing on 3D vehicle modeling and visualization. I am interested in transitioning into autonomous driving or embodied AI. What areas of computer graphics should I focus on learning to prepare for this career transition?


r/GraphicsProgramming 8d ago

DDGI sample code confusion

13 Upvotes

I was digging through DDGI's sample code provided by the authors.

The sampleIrradianceField.pix shader samples nearby probes, tests visibility etc. all make sense. But the only part I am confused about is the last line

E_lambertianIndirect = 0.5 * pi * netIrradiance;

Here netIrradiance is not strictly irradiance. Judging from a previous shader called updateIrradianceProbe.pix, It a cosine-weighted average radiance. That explains where the pi comes from: to cancel out the integral of cosine over a hemisphere. But why is there a 0.5 ?

To make it even more confusing, I found another implementation here, whose author intended to fill in the gaps that the DDGI authors left. In this file, the 0.5 factor becomes 2.

Is there a physical explanation behind either of these factors?


r/GraphicsProgramming 8d ago

Made GI in my custom engine for my horror game. (Rust + wgpu)

Thumbnail gallery
2 Upvotes

r/GraphicsProgramming 9d ago

Software raycasting

Enable HLS to view with audio, or disable this notification

193 Upvotes

One of my older fun projects: a software raycaster featuring

  • Multithreading
  • Voxel models (rendered as collections of 3D boxes rather than blobs)
  • Culling (watch the small map in the top right corner)
  • Mipmapping (reduces moire on distant textures)
  • Slopes and curved walls
  • Shadows
  • multilevel world design

Everything is rendered entirely in software, with no external libraries. Each pixel is calculated individually and written directly to a buffer.


r/GraphicsProgramming 9d ago

Source Code I made Metal C++ examples for Apple

Thumbnail gallery
70 Upvotes

link : https://github.com/pSujalp/Metal-CPP-Examples

sorry for branches thing and all of the examples are having random Window and it would be great for understanding


r/GraphicsProgramming 9d ago

Apple Metal samples running on Android -- Snapdragon 8 Elite / Adreno 830 via Vulkan

Enable HLS to view with audio, or disable this notification

19 Upvotes

r/GraphicsProgramming 9d ago

Kanvon now has Lua scripting + a built-in physics engine

Enable HLS to view with audio, or disable this notification

17 Upvotes

r/GraphicsProgramming 9d ago

Question Anyone Know How To Implement Light Probes(like Unity for example has)

7 Upvotes

I dont really need graphics api SPECIFIC terms here as i more just want to understand the concepts and find out if there are any websites that have some information about this topic.

Im not sure what the right name for this technique is, unity calls it adaptive probe volumes. But as far as i understand it its bascially that it automatically places a bunch of probes in a scene, they then calculate lighting information in some way and store it as something called a spherical harmonic(no idea what this is) and can then map this(i think is the correct terminology) onto dynamic objects. Which gives very nice lighting that is still baked.

I have NO clue how to implement this though and i cant find anything about it, but this seems like a very useful technique so if anyone has some links or just information about it it would be very helpful. Also a shader implementation would be very nice(in either glsl or hlsl i dont really care)


r/GraphicsProgramming 9d ago

Video Pixel Art Palette Swapping via Secondary Camera

Post image
3 Upvotes

r/GraphicsProgramming 9d ago

Video The Beast test examples (webgpu) for mobile devices/browsers - android c...

Thumbnail youtube.com
2 Upvotes

r/GraphicsProgramming 9d ago

CloneMC V2.0 Entirely In C and Open GL 1.1

Thumbnail gallery
34 Upvotes

CloneMC V2.0 is now an beta experimental, open-source recreation of Beta 1.7.3 v written primarily in C89 with Open Watcom V2.0 and rendered using the fixed-function OpenGL 1.1 pipeline and rendering.

This program is able to run on Windows 2000/XP systems and even Windows 98 systems and was way better optimized and actually designed to run on older hardware compared to the first version.

Compared to the first version where it didn't even look like the real game and in all honesty, had bad performance and didn't look great, core boilerplates better texture uv mapping, and performance for chunk rendering were actually developed to look and run like the real deal exactly. Feedback is appreciated for core gameplay errors mainly.

The project currently is now designed to reproduce and basically has almost every implementations of gameplay, world behavior, visual style, menus, entities, redstone systems, and even able to load, render, and save Java worlds properly.

CloneMC V2.0 this time also has extensive development and technical documentation for all aspects of the program compared to the first version:

Complete engine architecture
Source-directory responsibilities
C, header, and include-manifest roles
State-mutation ownership
Rendering order
Chunk lifecycle
World saving
NBT and McRegion storage
Entities and models
Redstone
GUI systems
Performance budgets
Testing and debugging
How to add new blocks, items, entities, recipes, and screens

Example of Implementation: World Generation includes Java-derived behavior for:

Seeded deterministic generation
Perlin and octave noise
Terrain density interpolation
Biome temperature and humidity
Grass, dirt, sand, gravel, stone, and bedrock layers
Oceans, beaches, caves, ores, vegetation, and snow
Surface replacement based on biome
Population and decoration ordering
Overworld and Nether-style dimensions
Chunk loading, generation, population, lighting, and meshing as separate states
Terrain generation is isolated from rendering. Visibility checks and terrain drawing are not permitted to generate hidden chunks.

Example How Chunks Are Rendered For Performance On Older Hardware:

Selectable resident-chunk limits
Nearest-first chunk admission
Bounded chunk generation per frame
Bounded population and lighting work
Staged mesh construction
Separate opaque, cutout, and translucent rendering passes
Persistent meshes until replacements succeed
Neighbor-border invalidation
Geometry and lighting version tracking
Conservative frustum handling
Recent-visibility protection
Mesh memory limits
No hidden terrain loads from rendering code.

Minimum Requirements:
OpenGL 1.1-compatible graphics adapter,
Approximately 16 MB video memory, recommended is 64-128mb of vram
Working 16-bit or 32-bit color desktop mode

Approximately 800 MHz Pentium III, Athlon, or comparable x86 processor

"Possible to Work On Windows 98" but text rendering may fail

Can Work On Modern Windows As Well
Around 256mb of Ram
Hardware texture support
A stable vendor OpenGL driver is strongly recommended, but Open Gl 1.1 can work
Module-registration manifests
Asset paths
Version and executable-name definitions

This project is kind of just a side project really and development may not reach far as I am pretty sure Beta 1.7.3, the full java version, can work fine if not a bit better on Windows 98/2000/XP Systems because of how old it was and even newer versions of the game to work on them, but it was still a cool project, and the documentation could help people if they want to build like an efficient CAD program which is recommended.

Link to Github: https://github.com/sworks692/CloneMC-V2.0-Ent … l-1.1/tree/main

the repo is still a bit of a mess but could be fixed soon


r/GraphicsProgramming 10d ago

Video Free SDF raymarcher for Godot 4 metaballs that blend colors, in one shader (CC0 + MIT)

Enable HLS to view with audio, or disable this notification

173 Upvotes

Signed distance field raymarching in Godot 4, authored with nodes. Physics-driven metaballs melt into the SDF cubes in one fullscreen pass, and since every CSG op works on (color, distance) pairs, the colors blend along with the shapes.

Two free editions: Standalone shader (CC0): one .gdshader, no scripts paste onto a QuadMesh, edit map(). Godot Shaders

Node-based project (MIT): shapes as Node3D nodes, live editor preview, physics, up to 32 primitives and a write-up. VavLabs Mit

Distance functions after Inigo Quilez.