0

I'm looking for a simple 3D engine or toolkit that I can experiment computer graphics algorithms with. E.g. applying transformation matrices, seeing what happens.

Can anyone make a suggestion?

Vanush Vee
  • 426
  • 1
  • 3
  • 14
  • this is off-topic (finding tool,pgm,lib...) but anyway I recommend OpenGL + GLEW + GLM. but any 3D rendering lib will do – Spektre Jun 28 '14 at 06:56
  • 1
    Why are people voting this question down? It's a perfectly valid question? – user18490 Jul 09 '14 at 22:49
  • For future visitors: Processing is a great environment to get started with, if you just want to get something on the screen and play with the concepts. https://processing.org/ It's powerful enough to be useful, easy to get started with, and much of what you learn is applicable to OpenGL and other APIs, frameworks and engines. – 3Dave Oct 08 '18 at 00:21

1 Answers1

-1

One of the most well known material to study and learn about rendering is the book from Matt Pharr and Greg Humphreys called Physically Based Rendering. It is a book but it also comes with the source code of a renderer (open source). Many existing renderers have used PBRT (that's the name of the renderer) as their starting point.

Another source to learn about CG programming techniques is www.scratchapixel.com. This one has the advantage to be online. While it doesn't really provide you with the source code of a complete renderer, it still provides you with many examples in C++ that show how rendering techniques can be implemented.

I actually found scratchapixel useful to read before getting to a book like PBRT, which is more abstract and more technical in a way.

Alternatively, you can use something like the OpengGL API to write graphics applications. However, it will be harder for you to explore techniques such as Ray Tracing with OpenGL. And it's more about learning the API than really understanding how the algorithms used by OpenGL under the hood work (while this is what the two ressources mentioned above help you with). But it is perfect for what you want to do (playing with matrices, etc.)

user18490
  • 3,546
  • 4
  • 33
  • 52