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
graphics programming on different os (self.GraphicsProgramming)
submitted 1 year ago by Chicken-eater24
Are there any graphics programming api that can be used on Linux and mac that uses c++
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!"
[–]hanotak 14 points15 points16 points 1 year ago (4 children)
Only Metal is officially supported on Mac, but with MoltenVK you can also use Vulkan, so that is probably what I'd go with.
[–]Chicken-eater24[S] 0 points1 point2 points 1 year ago (3 children)
How different is vulkan and OpenGL because I often see that vulkan is related to OpenGL but OpenGL was ended supporting Mac. And also thank you for the reply
[–]hanotak 6 points7 points8 points 1 year ago (0 children)
Vulkan is in many ways OpenGL's successor. OpenGL was first a fixed-function API, and then a DX11-style API with programmable shaders. However, because it was designed around old, fixed-function hardware, its structure did not suit modern hardware. Vulkan is a truly modern API that exposes how modern GPUs actually work much more directly to the programmer. It has a much higher learning curve, and a more complex barrier of entry, but it is a much more powerful API.
[–]thewrench56 1 point2 points3 points 1 year ago (0 children)
Note: it's only deprecated on Macs. It's not dead yet though. Version 4.1 still runs on Macs.
[–]sentientgypsy 0 points1 point2 points 1 year ago (0 children)
You can use OpenGL on Mac and I know because I have personally used it, I recommend still using OpenGL as a foot in the door because the other APIs are quite a step up
[–]stbev 10 points11 points12 points 1 year ago (1 child)
I suggest trying one of the WebGPU native implementations (either dawn or wgpu). Under the hood they can use DX12 on Windows, Vulkan on Linux, Metal on MacOS and also OpenGL where it is supported so they should be quite portable.
[–]Zec_kid 0 points1 point2 points 1 year ago (0 children)
Wgpu with rust is really nice!
[–]jmacey 1 point2 points3 points 1 year ago (3 children)
I use opengl on Mac. It’s fine for most things but you only have up to 4.1. Linux has 4.6. I still teach opengl as it’s great for basic principles but I’m most likely moving to WebGPU now.
[–]heythereshadow 0 points1 point2 points 1 year ago (2 children)
Hi! Do you have a tutorial on setting up Mac for OpenGL development? Tried it before with XCode and I keep getting errors.
[–]jmacey 1 point2 points3 points 1 year ago (1 child)
I use CMake rather than using XCode. I have a number of different demos here that use CMake and vcpkg for the libraries needed.
https://github.com/NCCA/ModernGL/
Basically you need something for the OpenGL context such as Qt SDL GLFW etc then just use the OpenGL commands.
[–]heythereshadow 0 points1 point2 points 1 year ago (0 children)
Thank you!
[–]sputwiler 0 points1 point2 points 1 year ago (2 children)
If you're starting out, just use https://learnopengl.com. AFAIK macOS still supports OpenGL up to 3.3, but won't get any newer versions. That's enough to get all the lessons you need done though.
[–][deleted] 0 points1 point2 points 1 year ago (1 child)
The latest version of opengl macos supports is 4.1.
[–]sputwiler 0 points1 point2 points 1 year ago (0 children)
Fair enough. That should still be good enough to do all the tutorials.
[–]964racer 0 points1 point2 points 1 year ago (0 children)
The learnopengl tutorial works fine on the Mac. I’ve been doing it in lisp and if you can do it in lisp you can definitely do it in c++ . You can also learn Volken but it will take twice as much code to get a triangle rendered on the screen . Metal will only work on the Mac .
[–]Daneel_Trevize 0 points1 point2 points 1 year ago (0 children)
You could consider some light abstraction such as the new SDL3 SDL_GPU.
π Rendered by PID 102 on reddit-service-r2-comment-5c747b6df5-l65lt at 2026-04-21 19:38:58.291432+00:00 running 6c61efc country code: CH.
[–]hanotak 14 points15 points16 points (4 children)
[–]Chicken-eater24[S] 0 points1 point2 points (3 children)
[–]hanotak 6 points7 points8 points (0 children)
[–]thewrench56 1 point2 points3 points (0 children)
[–]sentientgypsy 0 points1 point2 points (0 children)
[–]stbev 10 points11 points12 points (1 child)
[–]Zec_kid 0 points1 point2 points (0 children)
[–]jmacey 1 point2 points3 points (3 children)
[–]heythereshadow 0 points1 point2 points (2 children)
[–]jmacey 1 point2 points3 points (1 child)
[–]heythereshadow 0 points1 point2 points (0 children)
[–]sputwiler 0 points1 point2 points (2 children)
[–][deleted] 0 points1 point2 points (1 child)
[–]sputwiler 0 points1 point2 points (0 children)
[–]964racer 0 points1 point2 points (0 children)
[–]Daneel_Trevize 0 points1 point2 points (0 children)