<p>There are many possible answers depending on your OS, goals and wanted level of abstraction. For low-level programming you can start by learning OpenGL, Metal or Direct3D. Most used shader languages are HLSL based. For higher level there are things like ShaderToy and engines like Unity (C#) or Unreal (C++) where you can experiment with graphics coding.</p>

CC BY-SA 3.0
2015-09-30T18:54:23.403Z
@YvesDaoust, not necessarily true. For a programmer with familiarity with OOP languages, D3D will probably feel much more natural than the procedural ways of OpenGL. At least that's how I felt when I started with D3D9 and C++.
glampert
CC BY-SA 3.0
2015-09-30T19:05:56.603Z
@YvesDaoust, haha, in graphics yes, not in programming, true. My reading is that the OP has some knowledge of programming, but in any case, this is not a point worth discussing, I was just raising another perspective ;)
glampert
CC BY-SA 3.0
2015-09-30T07:17:01.497Z
2015-09-30T07:17:01.497Z
SurvivalMachine
<p><em>[I got a warning that the question will be closed].</em></p>

<p>I have identified that CG is the place where all the advanced algorithms and computations are taking place. </p>

<p>What is the best way to start from rudimentary and progress gradually in CG programming?</p>

<p>Please express language choices (C, C++, etc.) and other topics you find relevant. I also found out  Michael Abrash's book.</p>

CC BY-SA 3.0
2015-09-30T07:16:13.547Z
Welcome to Computer Graphics StackExchange. Your question is very broad and also primarily opinion based. That's why I flagged it for closure. For more information about [How to ask?](http://computergraphics.stackexchange.com/help/how-to-ask), visit our HelpCenter.
Nero
CC BY-SA 3.0
2015-10-01T12:42:44.113Z
Turtle graphics! turtles all the way down
joojaa
<algorithm>
What are the best ways to start graphics programming?
Spandan
# What are the best ways to start graphics programming?

(Asked by: username_0 on 2015-09-30)

*[I got a warning that the question will be closed].*

I have identified that CG is the place where all the advanced algorithms and computations are taking place.

What is the best way to start from rudimentary and progress gradually in CG programming?

Please express language choices (C, C++, etc.) and other topics you find relevant. I also found out Michael Abrash's book.

**Tags:** algorithm

> **Comments:**
> **username_1**: Welcome to Computer Graphics StackExchange. Your question is very broad and also primarily opinion based. That's why I flagged it for closure. For more information about [How to ask?](http://computergraphics.stackexchange.com/help/how-to-ask), visit our HelpCenter.  
> **username_2**: Turtle graphics! turtles all the way down  

---

## 1 answers

### Answer by username_3 on 2015-09-30. Score: 1 | Accepted answer

There are many possible answers depending on your OS, goals and wanted level of abstraction. For low-level programming you can start by learning OpenGL, Metal or Direct3D. Most used shader languages are HLSL based. For higher level there are things like ShaderToy and engines like Unity (C#) or Unreal (C++) where you can experiment with graphics coding.

> **Comments:**
> **username_4**: @YvesDaoust, not necessarily true. For a programmer with familiarity with OOP languages, D3D will probably feel much more natural than the procedural ways of OpenGL. At least that's how I felt when I started with D3D9 and C++.  
> **username_4**: @YvesDaoust, haha, in graphics yes, not in programming, true. My reading is that the OP has some knowledge of programming, but in any case, this is not a point worth discussing, I was just raising another perspective ;)  

---

