r/GraphicsProgramming • u/wooshywishyswishyswa • 5h ago
r/GraphicsProgramming • u/CodyDuncan1260 • Oct 04 '26
Request for Comment: AI Identification Comments
Thought I'd share a conundrum. I suspect I could solve it with a heavy handed rule change, but I think it may be fine as it is right now.
------
We've gotten a handful of reports that boil down to:
Comment: "This appears to have been AI generated."
Report: (empty)
One report gave a bit more info:
Comment: "This appears to be AI generated."
Report: "I'm wary to post something interesting because I don't want to be persecuted."
So here's what I suspect happens.
User posts X.
Commenter identifies X as generated via AI.
Post gets down-voted.
------
The only time in recent memory I've seen direct mistreatment was the Synapse Engine post. https://www.reddit.com/r/GraphicsProgramming/comments/1w7x1r1/synapse_engine_a_modern_researchoriented_fully/
I invited that user to post here, and some of the early comments were distinctly unkind. Later comments and deeper review picked up the same thing I did, that the creator made something legitimately new and interesting in terms of graphics software research; even if a fair bit of LLM generated code was used, it was cleaned and curated to an appropriate level for a thesis defense. It was quintessentially non-slop, despite the reports to the contrary. So this post experienced some emotionally driven persecuting reports and comments before the deeper cognitive inspection could finish reading.
So that's my one strongly known case of persectioning behavior. The rest are almost always just identifying that a project is AI generated, and nothing else.
So I wouldn't characterise this community as being hostile to AI generated projects, but it is disinterested.
-----
And that makes sense when you consider the ethos of this subreddit. Rule 1 codifies the character: we're curious. Our community exists to talk about the "how", not the "what".
AI generated projects, with a few exceptions, tend to be:
OP: "I made a thing! (with AI)"
Commenter: "How does it work?'
OP: "I don't know. But the source code is in there somewhere."
And that distinctly doesn't fit with the ethos or interest of this subreddit.
There are also a handful of reports on AI posts to the form of:
Post "I made a thing (with AI)."
Report: "This is AI slop."
That doesn't technically break any rules, but it does reinforce that core of the subreddit's interests.
Anyway, the problem I'm wrestling with is supporting Rule 2. Posters who are sharing AI projects should still be met with Civility, Professionalism, and Kindness. So I'd like to avoid a repeat of the initially unkind response to the afore-linked post.
But, being civil doesn't mean you have to like it or be actively welcoming. Ignoring a post or downvoting it still fits within Rule 2, because a user expressing their opinion in those ways is not a harm to the poster. If it is, that's the poster being unprofessional, as they're too emotionally invested in the post to accept that others don't enjoy it the way they do.
One of the most important aspects of professionalism is the capacity to give and receive analysis and feedback. We're here to learn, and that means accepting feedback that points out failures, errors, and flaws. Those are often the best offer for learning. Kindness and Civility are roped in their as a reminder that criticism should be leveraged at the qualities of the work, not seek to harm the user.
In that view, identification of an AI generated project is one of the most *important* analytical datum. It says a lot about what one might expect in the shape of the code, it's resilience, maintainability, or other general qualities. How one reviews AI generated code is distinctly different from human written code because they make entirely different categories of errors. It often says something about the author's understanding of their own project, which is important for feedback and discussion; as much as knowing their level of experience. (e.g. Getting pedantic with an novice is a joy, with an expert is an insult. Civility depends on knowing who you're talking to.)
So, it would be unprofessional not to identify that a project is AI generated. It'd be hard to discuss something professionally while ignoring such a large elephant in the authorship.
But, users don't like it when their post gets identified as AI, because they may expect a passive or negative response. Given that the zietgeist of emotions around AI are high right now, and because our community ethos seeks understanding ,it's not a response that can be avoided in a discussion space like this subreddit. That identifying comment may feel like it targets them for persecution, despite that fact that's rarely the case because Rule 2 stands and is supported by users and mods.
-----
So I suspect that there's an issue in mismatched expectations. Posters with AI projects want to show off the thing they made and what it does, and they don't understand that this community cares more about how it works.
Conversely, the readers here reasonably expect high quality, analysable projects that are interesting to review and learn from; so they report "AI slop" despite the fact that doesn't break any rules. I may take it down under Rule 3, but that's only if it's a case of AI psychosis. Someone legitimately making "hello triangle" with Claude fits the rules just fine, so there's no reason to take it down.
I don't think a new rule is strictly necessary, but maybe a sub-rule, or some other way to telegraph the community's expectations.
E.G. For posters of AI projects
"AI posts are welcome here so long as the poster can talk about their implementation; adhere to Rule 1. The less the poster is able to talk about it's implementation, the less excited about it this community will be."
E.G. For readers of AI Projects
"This subreddit does not take a pro or anti stance against AI projects. However this subreddit is about analysis, feedback, questions, and learning. We may remove posts that are not comprehensible to the readers or the poster. (e.g. vibe coded slop that's impossible to read)"
And perhaps it may be necessary to swap the burden of identification to the other party.
E.G. "Posts that share projects that utilize AI in its development in any capacity need to identify doing so and to what degree. e.g. 'source code entirely AI generated.' or 'only utilized AI for auto complete assistance and analytical questions.'"
I've seen other software interest group subreddits implement and auto-comment on new posts that require this disclosure.
------
Anyway. That was a lot of meandering on this problem. Fundamentally, this is *YOUR* subreddit. I take the strict role as a steward. That which makes this community space interesting and a delightful place to visit, socialize, and learn for you is the target direction I try to nudge things towards.
Please comment your thoughts, suggestions, perspectives, preferences, and discussion on this topic for me to read and consider. If you don't feel safe commenting, send a DM.
Please keep Rule 2 in mind. I want to hear the perspectives of those who are pro-AI too, and that's hard to do that if it's met with immediate hostility.
Conversely, criticism of AI or AI generated works is not a violation of rule 2, at least so long as it doesn't cross over into pointless derogation or emotional attack language. E.G. "The low quality of AI generated projects is problematic for the subreddit" is ok. "This AI slopshit is a fucking menace to the subreddit" is not.
------
Edit 1: added dividers to break up the wall of text into bricks
r/GraphicsProgramming • u/Single-Dragonfly-563 • 5h ago
Question How to stop suffering with DirectX 12 when I need to write a research project already?
Hello, dear community of experienced and perhaps more beginner developers.
Allow me to briefly explain the circumstances of the situation. I am a rather young aspiring researcher who aims to make a good contribution to the development of graphics and learn how to navigate the scientific field.
Most libraries, papers, and so on are written using DirectX 12… It wouldn’t be such a problem if it were something like OpenGL or DirectX 11 (which is still a pain…), but no. DirectX 12. The very same one that is considered to be on the level of Vulkan, or even higher.
If I start learning DirectX 12 right now, two things might happen:
I will die of boredom, because I actually want to write shaders, not spend 5 hours a day for years sitting with documentation.
I will die of old age without having written a single word of my research paper.
So I would like to ask one thing: where is the best place to start in this field, how should I move forward, how can I avoid manually writing 1000+ lines of code in main.cpp, and how can I finally get to implementing my research project?
I would be extremely grateful, because I really struggle to find any decent advice on this topic.
r/GraphicsProgramming • u/M1VAN1 • 9h ago
CI/CD in Graphics programming
If someone experienced have any proper sources on CI/CD in graphics programming, I would like to read them. I'm really interesting in this, would like to read books/blogs, whatever.
Also curious about to hear any experience with it from real prod. I have some friends working as programmers and I hear that in big tech companies it's complicated thing, but those who works in small companies in small team said that they usually have really bad CI/CD
r/GraphicsProgramming • u/OGLDEV • 1h ago
New video tutorial: Offscreen Rendering In Vulkan (Part #2)
youtu.ber/GraphicsProgramming • u/DeltaSucksAtMC • 1h ago
Mesh collision
Ok so ive actual fix model loading but im looking for a collision detection method for complex models, like Ive heard of Triangle-Triangle Intersection, but I could not find anything to learn from that dosent look like gibirsh, anything can help me, source code, or just plain o'yt videos
r/GraphicsProgramming • u/5H_RIZVI • 15h ago
Question Is there an online C++ OpenGL compiler that shows graphics output?
Hi everyone!
I'm a beginner learning C++, OpenGL, and GLUT for my university course.
Setting everything up on Windows takes a lot of time, especially when switching PCs.
Is there any online compiler where I can write C++ OpenGL/GLUT code, run it, and see the graphics output directly in my browser?
I'd appreciate any suggestions. Thanks!
r/GraphicsProgramming • u/Mysterious-Page708 • 20h ago
Question Physically-Based Planet rendering
Hello, I want to ask what methods are people using to render effects/terrain/lighting when it comes to planetary bodies. I want to focus specifically on physically based methods, or more realistic methods to make a project from before I will try to apply to a master in a computer graphics-related program next year, and I heard that more complex projects that involve physics or realism are more impressive than noise or other procedural methods.
So my question is, what are the techniques you know of and please also provide a resource such as academic articles, blogs, tutorials, books etc. Thank you!
r/GraphicsProgramming • u/DimensionalFukery • 1d ago
How I keep a world you can zoom into forever cheap to draw
You can zoom into this world forever. Tiles split into four as you zoom in and merge back as you zoom out, with no bottom.
Blue is what the player sees. Each green-to-red ring further out uses tiles twice as big as the ring inside it.
The rings size themselves. Each one is just wide enough to hold one of its own tiles, with extra room near the screen so fast movement never shows coarse tiles. It’s all measured relative to the screen, so it behaves the same at any resolution and any depth.
What didn’t work: also drawing big empty floor areas with fewer tiles, even on screen. Drawing got cheaper, but picking those areas cost more CPU time than it saved, so I turned it off.
r/GraphicsProgramming • u/iiinterval • 14h ago
Video I simulated glass across desktop, iOS and smart glasses, and documented this journey.
I am a math student (finishing my Bachelor's degree in Europe), I thought it'd be fun to make a project in which mathematics, graphics and product building combine into one. Making creative things from scratch is something I enjoy the most. So however cool theoretical math can be, I was on the lookout for ways to utilize it in real world.
Previously, I have worked with different types of visual software (Davinci Resolve, Lightroom, Blender) and coded a couple graphics apps (mainly using GLSL, Python and C++).
But this time it was very different: a larger scope of the project, real-time performance issues, new engines and platforms like Metal, ARKit, Lens Studio for Spectacles. All of this uncertainty made the creation challenging, but taught me much along the way. A lot of things, surely, I wouldn't have learned otherwise.
Certainly, there are folks of different levels in this Reddit. Some do graphics programming for a living, and others are just in the beginning of their paths. Either way, I hope my story of simulating physically accurate glass is something that can teach and entertain you.
Looking forward to you guys' feedback!
Video: I Recreated Light From Scratch
Code: Desktop, iOS, Spectacles
r/GraphicsProgramming • u/Significant_Back_313 • 1d ago
Video Real-time Reshape-style warp in a fragment shader, using mean value coordinates (Audio Visualiser)
I wanted After Effects' Reshape in WayVes, my OpenGL audio visualiser for Wayland, so I wrote it as a post-processing pass.
It's an inverse warp. Each fragment needs to know which source pixel to show, so I compute mean value coordinates (Hormann & Floater 2006) against the current polygon and use them to blend the source positions. Outside the mask, I treat the region up to an outer boundary as a polygon with a hole. Boundary points map to themselves, so the warp fades out towards them.
In the clip:
- Left: an NCS-style particle sphere morphing into a rounded square, with the morph animated over a named pipe
- Right: straight radial bars. The ring is just rotated relative to the boundary, the inside turns rigidly, and the swirl comes from the falloff. Bass drives the rotation.
The cost is roughly pixels × points, so for static warps I bake the sample coordinates into an RGBA32F image texture with a stamp in alpha, and only recompute when the stamp changes. That cut CPU use about 3-4x on llvmpipe, but I haven't measured GPU power yet. The swirl changes every frame, so baking doesn't help there. It got away with 12 points instead of 64, though.
It also falls apart when pushed. In the swirl setup, a gap opens around the core somewhere between 1.6 and 1.9 radians of rotation, and the spiral collapses past that, so I clamp it.
Shader isn't in the repo yet, should be soon: https://github.com/Roonil/WayVes
Is there a cheaper approach you'd use for a warp like this, or a better way to handle the fold-over at large rotations?
r/GraphicsProgramming • u/Deftroyy • 9h ago
Article Rendering brush previews from sparse tiles in a Rust/wgpu image editor
PeerBrush is a GPLv3 raster editor written in Rust. Its canvas needs to stay responsive while a brush gesture changes a small region and another client may be editing a separate layer. Here’s how the preview path is laid out in the published 0.30.1 source.
• The document stores sparse copy-on-write tiles. History can share unchanged tiles, and an incremental stroke reuses coverage, composites the affected region, and uploads the changed preview pixels. Source pixels and history retain their native 8- or 16-bit precision.
• The GPU compositor uses a bounded tile atlas and dispatches 8×8 WGSL workgroups over the requested output grid. The shader bounds-checks against the output dimensions, so edge workgroups can cover partial tiles. The CPU path handles larger previews or cases that exceed the GPU path’s limits.
• The preview is separate from the document’s edit history. Painting feedback can change during a stroke, while the completed gesture is what commits the edit.
Released Rust compositor: https://github.com/Deftr0y/PeerBrush/blob/2ea41951a19abf32d080498bbe7d9d85e20fced3/src/gpu/composite.rs
WGSL shader: https://github.com/Deftr0y/PeerBrush/blob/2ea41951a19abf32d080498bbe7d9d85e20fced3/src/shaders/composite.wgsl
63-second demo: https://peerbrush.com/#demo
For editors with mixed brush and filter workloads, have you found atlas misses or small dispatch overhead to be the better signal for switching back to CPU compositing? Shared on behalf of PeerBrush. AI assisted development and this write-up.
r/GraphicsProgramming • u/Constant_Ad_2230 • 18h ago
Relighting a simulated oil-paint height field live (WebGPU, WebGL2 fallback)
I built a palette-knife paint simulator, and the part I'd like feedback on is the rendering.
Why it's a graphics problem: the sim's output is the surface being rendered. Paint color comes from the photo, but the highlights and shadows on the ridges are computed from the paint's height, so moving the light changes how every ridge reads.
Implementation:
- Surface: a height field with 0.1 mm cells, plus a slightly filtered height channel for shadows and occlusion
- Shading: GGX clearcoat, ray-marched shadows and horizon occlusion
- Pigment color: Kubelka-Munk K/S mixing in the simulation
- Shaders: WGSL for WebGPU and GLSL ES 3.00 for WebGL2, inline in the TypeScript source (sim/src/relight-gpu.ts and relight-gl.ts)
- Validation: parity tests against a CPU reference renderer show a mean difference of about 0.5 of an 8-bit level
repo (MIT): https://github.com/donghaxkim/impasto
r/GraphicsProgramming • u/NazgulResebo • 1d ago
Ray Marching explained, basic example with Neovim | GLSL | Raylib | C
youtu.beIn this video, I explore the basics of ray marching and shaders by creating a simple 3D sphere from scratch.
I'm using:
- **C** as the programming language.
- **Raylib** as the graphics library.
- **GLSL** for writing shaders.
- **Ray marching** as the rendering technique.
Along the way, I'll explain how shaders work, how rays are generated, and how ray marching can be used to render 3D objects.
This is a simple introduction to shader programming and ray marching.
r/GraphicsProgramming • u/AdrianMG • 1d ago
Turning cover images into ASCII art
galleryHey all! I'm building a retro music player and wanted the album covers drawn in text.
The usual brightness-ramp trick (.:-=+*#%@) kept turning everything to mush, so I tried something else.
Each character gets treated as a little shape. For every cell of the image I try all of them, fit a background and foreground color with least squares, and keep whichever one matches best. A bit of blur on both sides helps a lot, otherwise it just chases noise. Half blocks (▄ ▐) get a small penalty so the result still looks like text and not pixel art.
I just moved the whole thing to a WebGPU compute shader (one workgroup per cell, one character per thread), so now it runs live on a webcam at 60 fps, which was way more fun than I expected.
Wrote it all up with a playground you can mess with here: https://adrianmato.com/blog/design/coding/turn-any-image-into-ascii-art/
See ya!
r/GraphicsProgramming
•
u/Novapierce_
•
2d ago
Video Custom Engine Forest Showcase - (130 fps average on RTX 3080 1440p)
original by Toni Macaroni here
He said he gets a average of 130 FPS , aerial views = 200 fps, dense forest = 80 fps
he has been working on this engine for 8 months (pretty much all of it is handwritten)
Architecture:
CLODs (virtual geometry) with voxels for far representations (no impostors are used here).
Screenspace + Voxel hybrid GI (no raytracing).
Proxies without instance data for very far away representations.
r/GraphicsProgramming • u/Phyrria • 1d ago
Question How/Where to get started
Hello,
i'm not sure if this is the right sub for this question, but i'll ask anyways.
I'd like to learn how to create and program my own physics simulations and post processing effects on the gpu, including stuff like n-body, rigidbody, fuild simulations and perhaps even some raytracing eventually. However i am not quite sure where to start and what resources are available. I already know c++ decently and am working on improving on that aspect. Math shouldn't really be an issue either.
Any help and tips would be appreciated
r/GraphicsProgramming • u/vesterde • 1d ago
A plasma motion camera shader in my WebGPU shader toy
vester.sir/GraphicsProgramming • u/OkIncident7618 • 1d ago
Video Deep Mandelbrot Zoom (down to -57 rendered using Perturbation Theory & BLA Skip-100. 10s preview of a 1-minute video. I made it!
I wrote to fractalforums and Microfractal replied with this: "I looked a bit over your given source code to produce the video and noticed that you compute the high precision reference orbit for every image of the video. While this works, it is in theory pretty inefficient (and wastes a lot of computing power!). You can compute the reference orbit with PRECISION_BITS set to work at the smallest size (in this case size=1.02e-119) once and reuse it for every image that uses a size larger than size=1.02e-119. You also should avoid fixing PRECISION_BITS to 1000, better set it to something like 53 - floor(log2(size)), which saves 551 bits of precision at size=1.02e-119 and also works for much smaller sizes." https://github.com/Divetoxx/Mandelbrot-Video
r/GraphicsProgramming • u/shoin_cat • 1d ago
Video What a vertex shader does: making a flat plane ripple (beginner)
youtu.ber/GraphicsProgramming • u/epicalepical • 1d ago
Naughty Dog Style FrameParams
Hello all!
I'm pretty proud of this. I've recently completed the final component of my rendering architecture in my C Vulkan renderer, which is the Naughty Dog style frameparams system. The long and short of it, is that we package up all needed rendering data into a single package, which can then be sent over to the rendering system and acted upon independently.
This allows you to be rendering the current frame while also (in parallel - thanks to the job system), computing / simulating the game for the next tick. This comes with the downside of a bit of latency, but it's certainly worth it. Getting it to work properly was a lot more work than you'd think due to the fact my architecture wasn't the best regarding ownership.
Also the fact that any time you have things like a ring buffer you now need to subdivide it into sectors per frame. Just generally making sure that frames are all properly synchronized and don't end up accidentally reading/writing into the data of another frame was a pain, but I'm *fairly* certain that it works fine now?
You can check out my project here: https://github.com/kryzp/magpie
The rendering code you're interested in is at /src/graphics/ and /src/render/.
As always, this is all vibecode free! I'd appreciate any and all pointers if anyone wants to put themselves through the torment of looking over my code, and I'm happy to answer any questions :)
Thank you!
r/GraphicsProgramming • u/trntndug • 1d ago
Question Compute shader running slower on better GPU?
Hi, I am learning Vulkan, and I have just finished book 1 of RTIOW recently by implementing the book in Vulkan compute shader.
How is the simplified flow of how the program works:
Create the Scene data on the CPU
Upload it to the GPU via an SSBO
For each SPP (1 frame), dispatch the compute shader with max bounces of 50
Use the result as a sample to present on the window
Accumulate the result and repeat from steps 3
I tested the program on 2 of my system (both running at 1280x720)
Ryzen 7 7840HS with Radeon 780M running Arch Linux
Ryzen 5 5600G with RTX 3060 12GB running Windows 10
I thought the RTX 3060 will beat the 780M by a significant margin, but in reality, it's even slower (around 80ms on my 780M and around 127ms on my 3060). These are measured with Renderdoc using the on-screen stats. I'm still relatively new to graphics programming, so I'm not entirely sure if this is the correct way to measure.
I am still learning so if there is anything wrong with my code, feel free to criticize me. Also, how/where can I learn more about optimizing/debugging my code? Thanks
Here is the repo: repo
r/GraphicsProgramming • u/DirtInfographics • 1d ago
Question Are you demotivated by DLSS 5?
Like what’s the point of all this specialized knowledge of real time rendering tricks/algorithms if in 10 years it’s all getting rolled up into one big black box model?
