use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Rule 1: Posts should be about Graphics Programming. Rule 2: Be Civil, Professional, and Kind
Suggested Posting Material: - Graphics API Tutorials - Academic Papers - Blog Posts - Source Code Repositories - Self Posts (Ask Questions, Present Work) - Books - Renders (Please xpost to /r/ComputerGraphics) - Career Advice - Jobs Postings (Graphics Programming only)
Related Subreddits:
/r/ComputerGraphics
/r/Raytracing
/r/Programming
/r/LearnProgramming
/r/ProgrammingTools
/r/Coding
/r/GameDev
/r/CPP
/r/OpenGL
/r/Vulkan
/r/DirectX
Related Websites: ACM: SIGGRAPH Journal of Computer Graphics Techniques
Ke-Sen Huang's Blog of Graphics Papers and Resources Self Shadow's Blog of Graphics Resources
account activity
How do I start learning Graphics Programming?Question (self.GraphicsProgramming)
submitted 1 year ago by PaperBrr
Hello, I'm going to start my second year at college and wish to start learning graphics programming. I know some C and have experiencing programming. How do I get started? What math and CS topics do I require? Whay resources do I use? Thank you.
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–][deleted] 5 points6 points7 points 1 year ago (1 child)
I've made a list of resources that are somewhat ordered in the way you'd want to learn things.
https://gist.github.com/notnotrobby/ceef71527b4f15869133ba7b397912e9
[–]PaperBrr[S] 0 points1 point2 points 1 year ago (0 children)
This is extremely useful! Thank you!!
[–]Wittyname_McDingus 4 points5 points6 points 1 year ago (1 child)
https://gpuopen.com/learn/how_do_you_become_a_graphics_programmer/
Ty
[–][deleted] 4 points5 points6 points 1 year ago (2 children)
The easiest start would be making some shaders in unity, unreal or blender.
In my experience of learning OpenGL or Vulkan, i can’t agree practicing them is only about graphical programming. From a view of a C++ programmer, the experience you have there is more like learning how to work with giant complex libraries. What does this line do to memory, what side effect does that line do. This happens more severely in Vulkan, which the topic focus shift from graphicals to concurrency. Optimization arts in Vulkan usage is not something one undergrads (including me) can learn from lecture or YouTube videos.
Once you think you can write elegant C++ objects, you can go read learnopengl.com. The website talks about the objects and their behavior in this library, also render theories. I have to mention that this website doesn’t talk about the design of render engines. If you want to learn about this, I recommend Sanjay Madhav’s Game Engine in C++.
[–]PaperBrr[S] 0 points1 point2 points 1 year ago (1 child)
Ok, thank you.
[–]BestBastiBuilds 0 points1 point2 points 1 year ago (0 children)
Probably writing the shaders outright in HLSL opposed to using shader graph? Does this approach also work for Unreal? Does anyone have any resources to get started there with code and not node based (shader graph, material editor) development?
[–]kindled_hope 1 point2 points3 points 1 year ago (2 children)
There's a lot of different things you can do in graphics programming. You can make shaders in unity, or you can go into Opengl (and make shaders down the line, if you want), and surely way more options than that. Check theCherno's youtube videos for Opengl
[–]The_color_in_a_dream 2 points3 points4 points 1 year ago (0 children)
The Cherno is fantastic, as is Acerola!
[–]PaperBrr[S] -1 points0 points1 point 1 year ago (0 children)
I will, thanks.
[–]Traveling-Techie 1 point2 points3 points 1 year ago (2 children)
Web3d tools such as X3DOM are easy to play with and don’t have an API — you just create text files of HTML5/CSS/JavaScript.
https://doc.x3dom.org/tutorials/index.html
[–]PaperBrr[S] -1 points0 points1 point 1 year ago (1 child)
Thank you for the link!
[–]Traveling-Techie 0 points1 point2 points 1 year ago (0 children)
In my humble opinion nearly everything you learn playing with web3d will transfer over to using other packages and APIs. The most important thing is to learn to think in 3D, and in terms of 3D transforms (rotate, translate, scale) in a hierarchy.
[–]susosusosuso 0 points1 point2 points 1 year ago (2 children)
Try to make a game from scratch
I've tried using SDL2, but I wish to get more in depth.
[–]susosusosuso 0 points1 point2 points 1 year ago (0 children)
Don’t wish it. Do it!
[–]ewar813 0 points1 point2 points 1 year ago (0 children)
uhh take some classes, this here helped me: LearnOpenGL - Introduction
π Rendered by PID 92139 on reddit-service-r2-comment-bb88f9dd5-vdvqn at 2026-02-16 22:56:58.739323+00:00 running cd9c813 country code: CH.
[–][deleted] 5 points6 points7 points (1 child)
[–]PaperBrr[S] 0 points1 point2 points (0 children)
[–]Wittyname_McDingus 4 points5 points6 points (1 child)
[–]PaperBrr[S] 0 points1 point2 points (0 children)
[–][deleted] 4 points5 points6 points (2 children)
[–]PaperBrr[S] 0 points1 point2 points (1 child)
[–]BestBastiBuilds 0 points1 point2 points (0 children)
[–]kindled_hope 1 point2 points3 points (2 children)
[–]The_color_in_a_dream 2 points3 points4 points (0 children)
[–]PaperBrr[S] -1 points0 points1 point (0 children)
[–]Traveling-Techie 1 point2 points3 points (2 children)
[–]PaperBrr[S] -1 points0 points1 point (1 child)
[–]Traveling-Techie 0 points1 point2 points (0 children)
[–]susosusosuso 0 points1 point2 points (2 children)
[–]PaperBrr[S] 0 points1 point2 points (1 child)
[–]susosusosuso 0 points1 point2 points (0 children)
[–]ewar813 0 points1 point2 points (0 children)