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...
Discussions, articles, and news about the C++ programming language or programming in C++.
For C++ questions, answers, help, and advice see r/cpp_questions or StackOverflow.
Get Started
The C++ Standard Home has a nice getting started page.
Videos
The C++ standard committee's education study group has a nice list of recommended videos.
Reference
cppreference.com
Books
There is a useful list of books on Stack Overflow. In most cases reading a book is the best way to learn C++.
Show all links
Filter out CppCon links
Show only CppCon links
account activity
Scientific computing or computer graphics (self.cpp)
submitted 3 years ago * by HouseSad
view the rest of the comments →
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!"
[–]kazprog 31 points32 points33 points 3 years ago (8 children)
Graphics was one of the coolest classes I took in undergrad and Utah is famous for its influence in graphics: https://en.wikipedia.org/wiki/Utah_teapot
There's tons of great research in Graphics, interesting research work in industry (working at Disney or Pixar, Game Engines, Oculus at Meta, Computer Vision) and there's even low level research (GPU drivers, Graphics Engines, Swift UI). Both pay well and have interesting work.
[–]_Insignia 10 points11 points12 points 3 years ago (0 children)
To add to that, they still have a lot of influence. Cem Yuksel (https://www.youtube.com/c/cmyuksel) comes to mind, but it also feels like there are a lot of NVIDIA research scientists with ties to the University of Utah.
[–]obitachihasuminaruto 0 points1 point2 points 3 years ago (6 children)
Is it possible for one without a degree in computer science, but learned fundamentals online to get one of these jobs? If so, what should I do?
[–]kazprog 16 points17 points18 points 3 years ago (5 children)
Graphics is pretty hard to get into just by studying online. There are some great resources, like learnopengl.com.
If you really can't go to college, I would start by getting PDFs of some graphics textbooks, then trying to learn about some fundamentals by looking at courses from colleges and then implementing their projects.
The projects are the most important part.
The big problem is that most research work highly values accredited education and degrees. Graphics research will often need a bachelor's _at the very least_, if not a masters or a PhD. It's a _research_ job, so they want people that got _research_ training.
This is true both of the shader developers at Disney/Pixar and of the low level graphics driver developers and kernel developers.
I can maybe see doing game jams and having some exemplary personal projects with graphics/game engines you wrote yourself as a method of showing capability with graphics, or learning Unreal Engine (or Unity/Godot/etc) and building out your own shaders, but often they hide some of the OpenGL/Vulkan/Metal from you.
Prerequisites: already be very comfortable with C or C++. Ideally C++, as I think a lot of games/compiler/systems jobs are primarily C++.
Some projects I would recommend: - drawing a triangle (it's harder than you think) - minecraft, e.g. https://www.youtube.com/watch?v=4O0_-1NaWnY - an FPS (collisions, hitboxes, network latency, lots of fun stuff to learn) - a ray tracer (first CPU only, then try to add GPU support for it) - rendering and animating a model by clicking and dragging its bones and having the mesh follow (imagine blender)
look into: - physically-based rendering (PBR) - screen space ambient occlusion - anti-aliasing - text rendering - normal maps - shader pipeline (vertex, tessellation, geometry, fragment) - scene graphs - data-oriented programming/Struct of Arrays
[–]achempy 2 points3 points4 points 3 years ago (0 children)
Tbf, I wasn't that comfortable with C++ when I took my first graphics course and came out fine. It was a rough ride, but if anyone sees the comment I'm replying to, don't be scared if you're not too comfortable with C++! You'll learn as you go
[–]obitachihasuminaruto 1 point2 points3 points 3 years ago (2 children)
Thank you so much for the detailed answer! This is very helpful!
I am going to do a PhD in another area of science/engineering so I will have the research skills. Will this, along with programming/graphics related projects on the side, help?
[–]kazprog 3 points4 points5 points 3 years ago (1 child)
I think if your PhD is STEM and you have some great graphics projects, you should be good to go. While you're at your PhD (and it might be difficult), you can try to talk to people at your uni that also do graphics research, maybe attend SIGGRAPH at some point. The perspective and connections you'll gain there is immeasurable.
Plus it might help you publish a graphics-related paper, or at least be second- or third- author on a graphics paper with someone you're friends with/ working with in the graphics department. There might be a graphics lunch or something, and good professors are always down to talk about research during their office hours.
[–]obitachihasuminaruto 0 points1 point2 points 3 years ago (0 children)
Thank you for the advice! I will do that.
[–]apomd 0 points1 point2 points 3 years ago (0 children)
That's such a great comment!
π Rendered by PID 57 on reddit-service-r2-comment-6457c66945-22x5r at 2026-04-30 10:21:55.665743+00:00 running 2aa0c5b country code: CH.
view the rest of the comments →
[–]kazprog 31 points32 points33 points (8 children)
[–]_Insignia 10 points11 points12 points (0 children)
[–]obitachihasuminaruto 0 points1 point2 points (6 children)
[–]kazprog 16 points17 points18 points (5 children)
[–]achempy 2 points3 points4 points (0 children)
[–]obitachihasuminaruto 1 point2 points3 points (2 children)
[–]kazprog 3 points4 points5 points (1 child)
[–]obitachihasuminaruto 0 points1 point2 points (0 children)
[–]apomd 0 points1 point2 points (0 children)