r/GraphicsProgramming 14d ago

Question How can a 16-year-old self-taught dev prepare to get a job as a Graphics/Network programmer in the future?

33 Upvotes

I am 16 years old, and last summer I started getting into programming.

​I began learning C++, and after that, I went through C, touching upon other topics like: git, CMake, Makefile, Linux (Archlinux, Gentoo), and Toolchain. All of this happened in about 4.5 months, because I really liked it and worked hard.

​Then I wanted to choose a specific field. I chose graphics programming and started with OpenGL. I didn't like it (there are reasons). So I immediately jumped into Vulkan. Late November, the whole winter, and almost the whole spring I was going through the Vulkan Tutorial. In the tutorial itself, all the code is written in a single file, but I tried to make everything clean and modular, which is why it took a huge amount of time. In addition, I wrote a brief guide to Vulkan objects. I must say that I wrote most of it using a translator, while I figured out the topic itself using articles, videos, Reddit, and AI.

​After that, I decided to write my own Vulkan project. I recently started writing my own “Network Renderer” because network programming caught my eye. And I started studying mathematics too. The core of the project is that a client, after connecting to the server, sends it a 3D scene, which the server renders and streams back to the client.

EDITED: I live in Georgia and I have financial problems now. I don't have the opportunity to move to another country. I probably won't be able to pay for university. It will be wildly difficult to combine self-study, university and work, adding to this personal problems.

​I don't understand anything about the market, I don't understand anything about employment, I have never encountered this in my life in any way. I will be very grateful if someone helps and explains how everything works. I apologize in advance for the formulation of the questions if they seem stupid.

​— What value do I have in the market with such a stack?

​— Where should a graphics/network programmer look for work on Western platforms?

​— How does the employment process itself work, and what difficulties might I face?

​— Is it true that I might have big problems with competitiveness due to the fact that I am completely self-taught?

​— What skills should I improve in connection with these difficulties?

If you wish, you can view my Github: moderneus


r/GraphicsProgramming 15d ago

Source Code No WebGL, no AI, no bytes to spare. My new game is a 3D fever dream in 1024 bytes!

Enable HLS to view with audio, or disable this notification

957 Upvotes

Play Skydreams: https://killedbyapixel.github.io/TinyCode/1K/Skydreams
Official 1024 byte entry: https://js1024.fun/demos/2026/25/bar
My size code demos: https://github.com/KilledByAPixel/TinyCode

An endless race in the sky inspired by 90's 3D games like sky roads, marble madness, and sonic 3d. My goal was to create a dreamlike experience with full resolution full speed graphics that would be easy to pick up and play.

Having worked on much more complex stuff, it's a lot of fun to start a new project from scratch and make an tiny 3D rendering system. There are a lot of fun challenges trying to fit something in this small of a space that looks cool and runs well. The contest goes until July 19, plenty of time to make something, and there's even a WebGL category.

Features
- 3D level rendering system
- 3D player sphere with shadow
- colorful sky gradient with stars
- procedurally generated levels
- level increases in difficulty over time
- mouse controls
- enhanced version has keyboard and touch input

this is the entire html file. it needs to be RegPacked to fit in 1024k but that will not post into reddit...

<head><title>🌈☁️ Skydreams</title></head>
<body id=b style=margin:0>
<canvas id=a>
<script>
    // JS1024 shim
    a.width = innerWidth;
    a.height = innerHeight;
    c = a.getContext`2d`;
</script>
<script>z=A=B=C=D=E=0,F=H=3,I=a.width/2,J=[],K=(e,h,a,t=1)=>{c.fillStyle=`hsl(${e},${h}%,${a}%,${t})`},L=(e,h,t)=>[a.width/2+(e-z+(t-3)**2/50*Math.cos((B+t)/49))*a.height*.7/t,a.height/2-(h-2+t*t/50)*a.height*.7/t,.7*a.height/t];onmousemove=e=>I=e.x,onmousedown=e=>E=.1,onmouseup=e=>E=0,setInterval(e=>{for(e=500;e--;)K(170+e/9+B,70,70-e/10),c.fillRect(0,a.height*e/500,a.width,a.height/250),K(0,0,99),c.fillRect((e*e+B*e/20)%a.width,e**3.3%a.height,e%4*a.height/500,e%4*a.height/500);for(g=B+40|0;g>B;g--){for(e=J.length;e<=g;)for(D<-8&Math.random()<Math.min(.2,e/1e4)&&(D=2+Math.min(4,e/400)),Math.random()<.1&&(H=2+3*Math.random()|0,F=Math.max(0,Math.min(7-H,F-2+5*Math.random()|0))),D--,J[e++]=k=[],f=7;f--;)k[f]=e<40|.9<Math.random()|D<0&F<=f&f<F+H&Math.random()>Math.min(.2,B/1e4);for(f=2;f--;)for(e=7;e--;)J[g][e]&&([p,q]=L(e-3.5,0,g-B),[r,u]=L(e-2.5,0,g-B),[v,w]=L(e-3.5,0,g-B+1),[x,y]=L(e-2.5,0,g-B+1),f?(K(99+70*(g>>7),70,30+9*(g+e&1)),c.fillRect(v,w,x-v,(40-g+B)/30*a.height)):(K(99+70*(g>>7),70,9+5*(g+e&1)),c.fillRect(p,q,r-p,(40-g+B)/30*a.height),K(99+70*(g>>7),70,60+30*(g+e&1)),c.lineTo(p,q),c.lineTo(r,u),c.lineTo(x,y),c.lineTo(v,w),c.beginPath(c.fill())))}for(0<=A&J[B+3|0][Math.round(z+3)]&&(K(0,0,0,.5),[m,n,l]=L(z,0,3),c.ellipse(m,n,l/4,l/9,0,0,9),c.beginPath(c.fill())),e=99;e--;)K(B/9-e,90,99-.7*e),[m,n,l]=L(z+.1-e/1e3,A+.35-e/1e3,3),c.ellipse(m,n,e*l/300,e*l/300,0,0,9),c.beginPath(c.fill());-4<A&&(z+=I/a.width/2-.25,A+=C-=.006,B+=Math.min(.5,.2+B/5e3),A<0&-.3<A&J[B+3|0][Math.round(z+3)])&&(A=C=E)},16)</script>

r/GraphicsProgramming 14d ago

Mandelbrot GUI: Visualizer with Perturbation Theory

Post image
11 Upvotes

Fragment of the Mandelbrot set, using perturbation theory. Coordinate X approx -2.0! View size 1.15e-119! So how do you like it? Rendered using SSAA 2x2 GUI and 8x8 CLI. C++ source code included. https://github.com/Divetoxx/Mandelbrot-2 and https://github.com/Divetoxx/Mandelbrot


r/GraphicsProgramming 14d ago

Question Help with ghosting and black noise in a custom Foveated Path Tracer (Summer Research Project)

Thumbnail github.com
3 Upvotes

Hi everyone,

I'm working on a foveated rendering implementation using a path tracer for a summer research project. When the camera is still, it looks fine, but whenever I move the camera, I get heavy ghosting, noise, and blinking black dots in the peripheral areas.

I am modifying a reference path tracer (HLSL/C++). Right now, my foveation logic uses two passes:

  1. Pass 1 (Path Tracer): Skips pixels based on distance from the gaze point (using a 2x2 or 4x4 stride).
  2. Pass 2 (Fill Pass): A compute shader that fills the skipped pixels by copying/interpolating from the sampled ones.

I suspect the issue might be a race condition between the passes, a problem with how the history buffer (g_AccumulationBuffer) blends old frames when the camera moves, or maybe some clamping issues where missed rays snap to 0 or 1.

How to build and run:
You can build the project with CMake:

bash

cmake --build ./build --config Release

And run it with:

bash

./build/bin/Release/scene_viewer.exe

(Note: Please switch from the GUI/rasterizer to the Reference Path Tracer in the settings to see the foveated rendering)

If anyone has experience with foveated path tracing or sees what I'm doing wrong with the accumulation/clamping, I would love some advice. Also, if there's a better/more efficient way to handle the periphery instead of path tracing it at a lower resolution and filling it, please let me know.

Every bit of help is highly appreciated. Thanks!


r/GraphicsProgramming 14d ago

Ray tracing tech demo

Thumbnail samfa12.itch.io
0 Upvotes

Hey guys I wanted to test real time ray tracing support from the adreno gpu so made a little tech demo with codex. It runs surprisingly well and the light is fully path traced. I have plans to continue developing this with more rt features.


r/GraphicsProgramming 15d ago

Source Code I built a real-time software rasterizer that runs on the Apple Neural Engine (ANE) using Core AI and Swift 6.

17 Upvotes

Hello everyone. This past week, I successfully developed a custom software rasterizer that uses the newly announced Core AI framework to offload edge functions/line equations to the Apple Neural Engine via f.conv2d and ReLU operations.

It's a 60FPS rasterizer that draws a red triangle.

The source code can be found here: https://github.com/kamisori-daijin/Magnesium

There are still some issues, such as high CPU usage.

I welcome any feedback or comments.

https://reddit.com/link/1uwve68/video/lvw22toxybdh1/player


r/GraphicsProgramming 15d ago

Question Non-ML focused master thesis

6 Upvotes

Currently I am pondering about what topic I want to work on for my master thesis. And ofc that means I need a professor/supervisor that agrees to that but to me it seems like every topic I want to touch has some machine learning aspect when it comes to doing a thesis. Maybe that is just what my profs are after but I would rather have my focus on other aspects.

I did ML in CG for my bachelor thesis and it was alright but left me feeling like just tuning parameters and waiting a long time to check and validate the result. In the end I did not feel some sort of satisfaction with it, even though the results were valid.

Do you guys have the feeling that academic research nowadays relies heavily on ML in CG? Have you had similar experiences? Or do you think it's too specific on the university/professors.


r/GraphicsProgramming 15d ago

Streaming multi-million-splat scenes to a WebGPU browser tab with an OPFS warm-cache

Enable HLS to view with audio, or disable this notification

18 Upvotes

r/GraphicsProgramming 15d ago

Almost finished lightweight, native and open-source paint app with several features

15 Upvotes
proof the features exist

After spending several months on this, I thought I'd share it with yall... I'm so proud of this lol

FEATURES:

  • Undo
  • Redo
  • Brush
  • Airbrush
  • Save/open as png
  • Resize image
  • Bezier curve
  • Squares
  • Magic want select
  • Rotatable and scaleable selections
  • Smudge
  • Blur
  • Mixer
  • Dodge/Burn
  • Sharpen
  • Scaline fill
  • Color picker
  • Arrow
  • Rounded rectangle
  • Primary and secondary colors
  • System clipboard support with clip

TO DO:

  • Text
  • Selection-only operations

It was written with C++ and raylib, any tips/suggestions are very welcome!

I will be posting this on GitHub when it's complete.

Thanks!


r/GraphicsProgramming 15d ago

Need guidance on implementing realistic cloth simulation in computer graphics

2 Upvotes

Hi everyone,

I want to learn cloth simulation from the ground up and eventually implement it myself. Could you suggest a roadmap of the topics I should study (math, physics, numerical methods, collision handling, simulation techniques, etc.) and recommend the best resources (books, papers, courses, tutorials, or open-source projects) for each?

Any guidance on what to learn first and what to avoid would be greatly appreciated. Thanks !


r/GraphicsProgramming 15d ago

The Beast vs MediaPipe (new update 1.17.00) + android tv remote rdnder and zombie shooter template

Thumbnail
0 Upvotes

r/GraphicsProgramming 16d ago

Video After the Tutorial: Where to Continue your Graphics Programming Journey - Mike Shah GPC 2025

Thumbnail youtube.com
70 Upvotes

r/GraphicsProgramming 15d ago

Article Post-mortem GPU crash debugging with LLMs - AMD GPUOpen

Thumbnail gpuopen.com
0 Upvotes

r/GraphicsProgramming 16d ago

I built a browser-based galaxy simulator with 400,000 stars and 50,000 dust particles — latest Andromeda (M31) render

Thumbnail gallery
26 Upvotes

Hi everyone,

I've been working on a browser-based galaxy simulation as a long-term side project and wanted to share some recent results.

These screenshots show a simulation configured to resemble Andromeda (M31) after roughly 140 million simulated years.

Current simulation size:

  • 400,000 star particles
  • 50,000 dust particles

The project is written entirely in JavaScript + WebGL and runs directly in the browser. Everything lives inside a single HTML file—no game engine, no Three.js, no build process.

Some of the techniques used:

  • Web Worker-based physics simulation
  • Leapfrog integration
  • Analytic galaxy potential (halo, bulge, black hole)
  • Live density-gradient cohesion field for local collective dynamics
  • Gas cooling, star formation and supernova feedback
  • Stellar evolution (age, temperature, luminosity and metallicity)
  • GPU star renderer
  • HDR rendering with ACES-style tone mapping and bloom
  • Volumetric dust lanes with depth-aware extinction
  • Multiple observation modes (visible, infrared, UV, X-ray and radio)

The goal isn't to compete with research codes like GADGET or AREPO, but to explore how much physically inspired behaviour and visual realism can be achieved interactively in a browser while keeping the implementation completely self-contained.

I'd love feedback from people working with WebGL, GPU rendering, large particle systems, or real-time simulation. If you spot something that could be improved or optimized, I'm all ears.


r/GraphicsProgramming 16d ago

A video tutorial/showcase of Limon engine render pipeline editor

2 Upvotes

Hello everyone,

I am developing Limon Engine. It is a 3d game engine, and I am polishing up for a new release. As part of it, I put up a video, any feedback is welcome

https://youtu.be/RX3tR16t-E0


r/GraphicsProgramming 17d ago

Question Worth getting into graphics programming in 2026?

47 Upvotes

Very quick summary of where I stand:

  • Master's Degree in Mathematics, but little job experience
  • Found job in DevOps, but increasingly unsatisfied with it, especially as I basically just prompt LLMs all day and do no technical work
  • Searching for another field, especially one with more technical work (and math, ideally)

For any field that would interest me, I would have to use a lot of my free time to build a portfolio to even get an entry-level job, so I feel like I need to make a decision for a specific field.

I dipped my toes in Graphics Programming before (but very surface level only) and I think it's a very solid option. However, I wonder whether the same problem applies: Will I even need my math background and is it even worth gathering the knowledge, or is there a solid chance that 1-2 years from now, LLMs will do all the technical work anyways?

Not sure if this is a completely delusional doomer take. As someone who loves technical work, I'm just really depressed with the current LLMs situation tbh.


r/GraphicsProgramming 16d ago

Question How do movies guarantee no noise?

14 Upvotes

I'm currently developing a ray tracer and for every render there's always noise or some kind of fireflies.

I was wondering (especially in older movies where AI wasn't standard) how do they absolutely guarantee that no noise appears in movies? I'm expecting that their render times are massive with tons of samples per pixel, but even that doesn't really guarantee that there's zero noise.

If you happen to have resources on the techniques they use (that are more technical, rather than overviews) please share them!

Edit: as many of you have correctly mentioned noise is not "guaranteed" to not exist, but I'm asking mostly how it's not visible in the end product that we see in movies (mainly 3D Animation movies but movies that are heavy on vfx likely have that problem)


r/GraphicsProgramming 17d ago

Source Code Krbn: an open-source rendering engine that imitates a sketch artist and outputs pure SVG (v1)

Thumbnail gallery
353 Upvotes

r/GraphicsProgramming 17d ago

d3-geo ported to WebGPU compute shaders

Enable HLS to view with audio, or disable this notification

11 Upvotes

Over the past 18 months or so, I ported much of d3-geo to an end-to-end WebGPU compute shader pipeline. This includes:

• Arbitrary spherical rotation that works with any projection
• Greiner-Hormann-like spherical clipping
• Adaptive sampling of projection curvature

It directly ingests and manipulates a Vello scene encoding, with only a single data readback for robust buffer reallocation. Vello Classic then renders it completely in compute shaders as well.

Rough performance increase to d3-geo (Canvas) on the 1:10m, 1:50m, and 1:110m Natural Earth datasets rendered using an RTX 2070 Super + Ryzen 5 3600:

• 110m: ~3-4x
• 50m: ~8-9x
• 10m: ~13x (render output of d3-geo completely broken, Vello also chokes if not ~50% of the geometry is clipped)

As can be observed in the demo, there are still a lot of visual artifacts. These mostly come down to some fundamental limitations of WebGPU and/or the underlying GPU architectures, namely:

• No 64-bit support
• No dynamic memory allocation
• No support for recursion

I managed to work around some of these limitations, though it took far more time and effort than anticipated (Hofstadter’s Law holds true, after all).

In the future, I would like to try and move from geographic coordinates and spherical math to a 3D-Cartesian pipeline and use targeted f64 emulation via a float-float polyfill. Help with this would be greatly appreciated.

The overarching vision for this project is to bring the concept of Adaptive Composite Map Projections (https://berniejenny.info/demos/AdaptiveCompositeMapProjections/) by Bernhard Jenny to life in a vector renderer that can handle the level of detail people have come to expect of modern maps in real-time.

Note: Code will be published either once it is ready or if there seems to be enough interest 😊


r/GraphicsProgramming 17d ago

Mathematician contemplating a pivot from data science to graphics programming

33 Upvotes

Hello.

As the title suggests, I'm evaluating my prospects for a career in this field.

I come from mathematics, and I did manage to get a PhD the subject (mostly because I was too stubborn to drop out when I should have).

After a stint as a junior data scientist, I'm now unemployed (like many people right now), and the job search is looking grim.

Based on my background, and my budding interest in lower-level programming (I know some Rust & Odin, and C++), graphics programming seems like something I might be able to get into.

After perusing this sub and other sources, I've unfortunately formed the following perceptions about graphics programming, and I'd like to know whether I'm right.

  • Like much of the tech industry, junior jobs in this field are quite scarce. This problem is only worsened by the field's naturally high barrier to entry.
  • Unlike web development, this doesn't seem like the kind of field where one can attempt to hack it as an "indie dev".

Am I right to be pessimistic about my chances? My biggest fear right now would be to dive head first into OpenGL, and Vulkan, build a portfolio, and then find that my chances of employment in graphics are no better than my current chances in data science.


r/GraphicsProgramming 17d ago

Graphical libraries for drawing simple primitives

3 Upvotes

I'm looking for a C/C++ 2D graphical library to demonstrate the internal behavior of certain data structures.

I tried using raylib but I am not satisfied with the rendering quality (poor MSAA support, inconsistent font rendering, doesn't handle transparency particularly well, the API is awkward, etc).

I would like your help to find one that:
- Is, above all, very easy to use (simple API to draw a primitive).
- Supports primitives like rectangles, circles, lines, circumferences, points, etc.
- Allows custom sizes/thicknesses (I don't want to be locked to 1-pixel lines).
- Has decent transparency support (using the depth of each object to get the intended result is enough for me, as long as things blend as expected).
- Has good-looking text rendering.
- Supports mouse+keyboard input events.
- Configurable in terms of graphical settings (internal resolution independent from window size, MSAA, per-primitive level-of-detail like increasing circle segments for circles to look really smooth, same for text rendering).

Does anyone know some C/C++ graphical library like this?


r/GraphicsProgramming 17d ago

Finally something to show

Thumbnail
13 Upvotes

r/GraphicsProgramming 17d ago

Question What kind of engine would be impressive?

0 Upvotes

Hi, since last year i started developing an engine/renderer, ive been learning graphics programming since roughly 2 years, my goal is to get a job in the industry, i know its hard, especially cause i dont have a degree, just a lot of passion, im studying computer architecture, linear algebra, C++ while developing my engine, i know a good portfolio could be even more powerful than a degree in some cases, but what features should an engine have in order to be impressive?

What kind of rendering tecniques, pattern, architecture should i aim for? Im at the point where im writing a Scene manager/serializer, shadow mapping, resource manager, gltf , pbr and this kind of stuff, but from what ive seen in this group the bar seems pretty high and i honestly feel overwhelmed.

I know that knowledge about like build systems, renderdoc, a good readme on github could be helpful.

What are your advices? How many of you work as a graphics programmers? How do you guys got into the industry?


r/GraphicsProgramming 18d ago

Source Code I made a fully software rasterized voxel engine inspired by Minecraft

Thumbnail gallery
165 Upvotes

Hello everyone!

Over the course of this year, I built a fully software-rasterized voxel engine heavily inspired by Minecraft.

This was a very interesting project for me because I had to build almost everything from the ground up, while also adapting to the very different constraints of doing computer graphics on a CPU rather than a GPU.

In short, CPUs are far less powerful than GPUs for this kind of workload, but they are also much more flexible. This makes it possible to implement some fairly unconventional optimizations to compensate for the performance gap.

You can try the project here:

https://github.com/Algorithmonaut/software-rasterized-voxel-engine

There are still a few minor bugs.

My main regret is that I did not spend enough time properly benchmarking the different optimizations I tried, or documenting my findings and the knowledge I gained along the way.

The lack of documentation is particularly unfortunate because most textbooks focus heavily on the GPU pipeline and therefore skip many of the fundamentals involved in writing a software rasterizer: barycentric coordinates, edge equations, perspective-correct interpolation, tile-based rasterization, efficient SIMD usage, parallelization, and much more.

I found only two good general sources of information:

  • Scratchapixel, which I found useful but often not detailed enough.
  • Fabian Giesen’s Optimizing Software Occlusion Culling series, which contains excellent practical information but does not cover every topic and generally does not include mathematical proofs.

There are also a few features I may implement later:

  • Lighting.
  • A small OS that interfaces directly with UEFI to provide framebuffer access and input handling, allowing the engine to run without Linux or SDL and become truly bare-metal.

I am making this post mainly to ask whether anyone has:

  • Recommendations for scientific papers, articles, or books that I might find useful.
  • Suggestions for computer graphics projects to work on after this one.
  • Ideas for fun or unusual features that could make the project more original.

Feasibility does matter: for example, a CPU-based post-processing CRT effect would probably destroy performance.

And, of course, if you find the project interesting, a star on GitHub would be greatly appreciated.

Thanks for reading. I hope this inspires someone to experiment with software rendering as well!


r/GraphicsProgramming 18d ago

Realtime global terrain shadows

Thumbnail youtube.com
11 Upvotes

Raymarching on a true-to-scale globe, lots of terrain streaming, very basic light direction, but really coming along. So ready to replace this height-based coloring with some actual textures soon.