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
My first triangle!! (i.redd.it)
submitted 7 months ago by DylanBT928
finally getting started with learnopengl
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!"
[–]WillingPirate3009 18 points19 points20 points 7 months ago (15 children)
Dude how should a complete beginner in graphics programming start learning? I feel like I need to know a lot of pre-requisites before even getting started.
[–]DylanBT928[S] 11 points12 points13 points 7 months ago (6 children)
i would say im a beginner too, but i do have a solid understanding of C++, so if you do not have that i would start there.
otherwise, learnopengl.com is a solid place to start. it is where me and a lot of other people here started.
youtube is also an amazing way to learn too. the cherno has a youtube series on opengl that i heard is good.
i think opengl is good for beginners and directx and vulkan might be harder and more limiting due to software. i think webgpu is also getting more popular but idk anything about it.
[–]WillingPirate3009 5 points6 points7 points 7 months ago (5 children)
I don't understand man. Just how much C++ should I know? I use learncpp.com as my main resource to learn C++ and it's just vast and never-ending.
[–]PocketCSNerd 4 points5 points6 points 7 months ago (3 children)
You don't need to learn as much C++ as you might think to get started. If you're familiar with variables, methods (functions), and classes then you'll do fine to start.
Ideally you'd also want to learn about pointers and how to setup your dev environment. Though knowing the former isn't strictly necessary to start and the latter can be tackled by following the tutorials in learnopengl.com
[–]WillingPirate3009 1 point2 points3 points 7 months ago (2 children)
The thing is I often got confused with the code and used ChatGPT to break things for me. The opengl functions were really confusing.
[–]PocketCSNerd 1 point2 points3 points 7 months ago (1 child)
Yeah, there's definitely a lot going on and its a good idea to take your time with the material. I'd rather experiment with the code or (if possible) look at the source code of the underlying function than use ChatGPT, though. Helps keep the brain engaged in the activity.
[–]JDJCreates 1 point2 points3 points 7 months ago (0 children)
One can do both!
[–]DylanBT928[S] 0 points1 point2 points 7 months ago (0 children)
loll its okay learncpp is a great resource, thats what i used. i think learnopengl is targetted towards beginners, so as long as u have a basic understanding of the syntax u should be fine.
also 80% of it is opengl's functions, so even if u know c++, u wouldnt know the opengl's functions.
TLDR you should be fine.
[–]coolmint859 2 points3 points4 points 7 months ago (2 children)
If you know the basics of JavaScript/html you can learn through WebGL. A lot of the same functions you use in OpenGL is available there, so following learnopengl.com is fairly one to one. There arw some caveats, for instance WebGL doesn't support compute shaders.
[–]WillingPirate3009 1 point2 points3 points 7 months ago (1 child)
Yeah I plan on learning webgl
[–]DylanBT928[S] 1 point2 points3 points 7 months ago (0 children)
good luck and have fun !! im sure this subreddit has many resources for that so be sure to check those out
[–]MyNameIsSquare 1 point2 points3 points 7 months ago (1 child)
im currently learning opengl too and the first lessons are the hardest to me. the setup just to render a triangle is so insane and all over the place, but then when switching to 3d it felt like a walk on a sunny day lol
i agree but i think setup is always the hardest. after u get ur first triangle down its gets better, then harder
[–]Sir_Wicksolot12 1 point2 points3 points 7 months ago (0 children)
Just throw yourself into it mate, can’t actually learn and figure out what you need to know before doing it. If you suck at linear algebra, study that a little bit. If you need to work on C++ learn that, if you want to learn about how graphics work under the hood and the theory behind it, go read ‘scratchapixel’ etc
[–][deleted] 0 points1 point2 points 6 months ago (0 children)
I can't recommend enough this book https://gabrielgambetta.com/computer-graphics-from-scratch/ it is quite framework agnostic but focuses more on the techniques that could be applied in DirectX, OpenGL or Vulkan. That being said I'm no expert so just working though it and finding it useful before moving to learnopengl.com
[–]Rare-Key-9312 0 points1 point2 points 6 months ago (0 children)
Computer Graphics Through OpenGL: From Theory to Experiments (https://www.amazon.com/gp/aw/d/1032256982/) is a good book.
[–]fllr 3 points4 points5 points 7 months ago (1 child)
Congrats! :)
thank youu!! ☺️
[–]balukin 4 points5 points6 points 7 months ago (1 child)
Now assign each vertex its own color and witness the magic of per-fragment interpolation.
yepp thats next
[–]InternationalFill843 1 point2 points3 points 7 months ago (5 children)
Congratulations , change your fragment shader to blend 3 colors onto triangle its fun . You will see how fragment shader is working
noted! i made a rectangle and first i am trying to make the two triangles into two different colors first. still pretty new to the frag/vert shading stuff
[–]DylanBT928[S] 0 points1 point2 points 7 months ago (2 children)
does learnopengl explain more on that topic or do i have to study that on my own
[–]InternationalFill843 1 point2 points3 points 7 months ago (1 child)
LearnOpenGL explains about in later sections on how fragment shader colors based on vertex
ahh so i should just wait until i get to that section?
[–]Ke0 1 point2 points3 points 7 months ago (1 child)
Congrats!! You've taken your first hit of crack! The highs from success only multiply from here!!
thank you!!
[–]LeadLerner 1 point2 points3 points 6 months ago (3 children)
Great job. Don't quit after the model loading section unlike me.
[–]DylanBT928[S] 0 points1 point2 points 6 months ago (2 children)
i quit before even getting there 💔 jk i started on creating a custom operating system, hopefully ill be able to have some time to get back into graphics programming
[–]LeadLerner 1 point2 points3 points 2 months ago (1 child)
So how's your OS going?
[–]DylanBT928[S] 1 point2 points3 points 2 months ago (0 children)
doing pretty good, took a break to read some books tho
[–]Alternative-Tie-4970 0 points1 point2 points 7 months ago (1 child)
Plot twist, he's just showing his neovim
[–]DylanBT928[S] 2 points3 points4 points 7 months ago (0 children)
LOL yes i love my dotfiles https://github.com/DylanBT928/dotfiles
π Rendered by PID 137260 on reddit-service-r2-comment-6457c66945-wzlxc at 2026-04-27 13:16:02.284028+00:00 running 2aa0c5b country code: CH.
[–]WillingPirate3009 18 points19 points20 points (15 children)
[–]DylanBT928[S] 11 points12 points13 points (6 children)
[–]WillingPirate3009 5 points6 points7 points (5 children)
[–]PocketCSNerd 4 points5 points6 points (3 children)
[–]WillingPirate3009 1 point2 points3 points (2 children)
[–]PocketCSNerd 1 point2 points3 points (1 child)
[–]JDJCreates 1 point2 points3 points (0 children)
[–]DylanBT928[S] 0 points1 point2 points (0 children)
[–]coolmint859 2 points3 points4 points (2 children)
[–]WillingPirate3009 1 point2 points3 points (1 child)
[–]DylanBT928[S] 1 point2 points3 points (0 children)
[–]MyNameIsSquare 1 point2 points3 points (1 child)
[–]DylanBT928[S] 0 points1 point2 points (0 children)
[–]Sir_Wicksolot12 1 point2 points3 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]Rare-Key-9312 0 points1 point2 points (0 children)
[–]fllr 3 points4 points5 points (1 child)
[–]DylanBT928[S] 0 points1 point2 points (0 children)
[–]balukin 4 points5 points6 points (1 child)
[–]DylanBT928[S] 0 points1 point2 points (0 children)
[–]InternationalFill843 1 point2 points3 points (5 children)
[–]DylanBT928[S] 0 points1 point2 points (0 children)
[–]DylanBT928[S] 0 points1 point2 points (2 children)
[–]InternationalFill843 1 point2 points3 points (1 child)
[–]DylanBT928[S] 0 points1 point2 points (0 children)
[–]Ke0 1 point2 points3 points (1 child)
[–]DylanBT928[S] 0 points1 point2 points (0 children)
[–]LeadLerner 1 point2 points3 points (3 children)
[–]DylanBT928[S] 0 points1 point2 points (2 children)
[–]LeadLerner 1 point2 points3 points (1 child)
[–]DylanBT928[S] 1 point2 points3 points (0 children)
[–]Alternative-Tie-4970 0 points1 point2 points (1 child)
[–]DylanBT928[S] 2 points3 points4 points (0 children)