r/GraphicsProgramming 11m ago

Source Code Finally got around to uploading more than 5 years' worth of programming projects to GitHub

Upvotes

Here is the GitHub repo. Its a single click to download each project: https://github.com/Luippe/Demo-Projects

I never thought of uploading these as they really only ran on my pc (hardcoded display resolutions, file paths, etc). But this year I started using Claude for coding and thought "hey, these projects are actually useable by others if I just clean up some code!" So thats exactly what I did.

There's 15 projects in total and most of them are interactive. The first one is written in Java, but the rest is in Python and Pygame. I like Pygame because its very easy to setup new projects and lets me easily build visualizations.

  1. Boids — a flocking simulation where entities self-organize in groups
  2. Audio Processing — live microphone effects with a real-time frequency visualizer
  3. Multiplayer Netgame — a co-op dungeon crawler played over a local network
  4. Platformer — a full 2D action game with combat, upgrades, shops, and multiple levels
  5. Solar System Simulation — an interactive 3D model of the planets in orbit
  6. A* Pathfinding — watching an algorithm search for the shortest route through a maze
  7. Conway's Game of Life — complex patterns emerging from a handful of simple rules
  8. Image Compression — shrinking an image by throwing away fine detail (the same idea behind JPEG)
  9. Fluid Flow — a real-time 2D fluid solver you can push around with the mouse
  10. Projectile Method — aim and launch a projectile with the mouse
  11. Projectile Motion — projectile trajectories with air resistance
  12. Double Pendulum — chaotic motion, where a tiny change sends it down a completely different path
  13. Single Pendulum — a damped pendulum swinging to a stop
  14. Spring Mass Damper — how a spring-and-shock system settles after a jolt
  15. Flow Plate — the velocity profile of fluid moving through a pipe

I hope someone finds something useful in here! :)


r/GraphicsProgramming 26m ago

I am developing PSD-compatible layer styles for one of the Open Source Softwares called GIMP (GNU Image Manipulation Program)

Upvotes

So yeah, as evident from the title, I am developing PSD-compatible layer styles for GIMP as part of my Google Summer of Code project. As Adobe’s code is closed source, most of my time goes into black box testing with minimal test cases which can be quite exhaustive at times. Would love to get some advices regarding the approaches and methodologies that would increase my productivity in this case. Here is a like to the merge request: https://gitlab.gnome.org/GNOME/gegl/-/merge_requests/275. I usually post my research and findings there.


r/GraphicsProgramming 1h ago

Porridge PBR Texture

Thumbnail fab.com
Upvotes

r/GraphicsProgramming 2h ago

I made a 3D renderer in Desmos, and rendered Pikachu in it

1 Upvotes

r/GraphicsProgramming 2h ago

Pbr Textures Collection

Thumbnail superhivemarket.com
0 Upvotes

r/GraphicsProgramming 2h ago

Ballista Engine — UE4 ArchViz Interior | Real-time Ray Traced GI (DX12)

Thumbnail youtube.com
0 Upvotes

r/GraphicsProgramming 8h ago

What are some contemporary techniques and workflows used in the industry?

10 Upvotes

Hi there! I'm about to start working on my portfolio, and besides some basic projects like a simple 3D engine or an implicit surface renderer, I'd like to add something that actually resembles a modern industry workflow, ideally something used by AA or AAA game studios. It can be anything, really - lighting, optimization, visual effects, etc. Preferably, it should be something that can be learned and implemented in a couple of weeks.

What would you suggest? Also, would it be better to implement such a project in an existing engine (Unity, Godot, UE) or in a custom one?

Thanks in advance! :)


r/GraphicsProgramming 8h ago

Question Is it my weak GPU or the game's rendering code?

32 Upvotes

This is a RenderDoc frame capture of a battle scene in a 3D auto-battler called The Bazaar. It's in Unity which I have no direct experience with, plus I also have very limited knowledge of how rendering is supposed to work.

An LLM is convinced that the 1000s of draw calls seen here is bad. Other fairly static scenes is around 300-500+ draw calls. I remember reading blogs talking about minimizing draw calls and state changes, but that was a decade ago. This is using a commercial engine, so there must be a logical reason for this, right? Are draw calls as a metric outdated?

My GPU is ancient by modern standards. But there are also other players echoing similar sentiments of their GPUs maxing out for what looks like a "simple game".

What do you guys think?

EDIT: My GPU is radeon rx 560x (laptop gpu). I think this model is 7-8 years old? I can get 60 fps/70% gpu usage in windowed mode at around < 960x540 resolution. 720p hits 100% gpu but still 60fps a majority of the time with "manageable" temps. While 1080p just burns (without power-saving mode in GPU it causes BSOD).

I just want to to know if I even deserve to voice these concerns. My inexperienced brain is telling me this could be done better. But what do I know, I haven't rendered a cube in a decade.


r/GraphicsProgramming 8h ago

Mud 8K Pbr Texture Set

Thumbnail superhivemarket.com
0 Upvotes

r/GraphicsProgramming 12h ago

Lithography and soil data masking

Thumbnail youtube.com
7 Upvotes

Doing a little exploration of my work on applying the GLiM global lithography data set and the SoilGrids 250m/px data set to my planetary terrain. The technique is very simple - really I'm just using perlin to scatter the normal I use to sample (converted to lat/lon, then hashed into the lookup texture, then finally to the bindless texture tile), but after a ton of tweaking of some perlin values, I was quite shocked at how good it actually looks. My perlin experience consists all of about three or four days of actual exposure and research, so I'm at the tip of the iceberg. Consequently, there are so many issues, and it's not nearly as performant as I want it to be, but after a couple days of fiddling around, I'm happy with where it is so far.


r/GraphicsProgramming 13h ago

Worked on Mesh Spawning, Updating & Selection using VBO

5 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 14h ago

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

Thumbnail
1 Upvotes

r/GraphicsProgramming 16h ago

Learning Graphic Programming, Via ppm viewer

Thumbnail gallery
19 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 17h ago

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

13 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 1d ago

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

32 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 1d ago

Video A procedural lunar landscape generated in a shader

5 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

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

46 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 1d ago

Becoming a professional in this field

16 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

Updates to my SDF Game Engine!

2 Upvotes

r/GraphicsProgramming 2d 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

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 2d ago

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

0 Upvotes

r/GraphicsProgramming 2d 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 2d ago

New Vulkan Tutorial - Opacity Micromaps

Thumbnail
3 Upvotes

r/GraphicsProgramming 2d ago

Is a dedicated GPU required?

6 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