I've been programming in
for a few months. Like a lot of programmers,
I learnt the language by myself, thanks to various tutorials, books or e-books
on the subject. One couldn't say there's a lack of resources on this
20-years old language since it's so widely used throughout the world. Yet,
I was surprised to discover a few weeks ago that the vast majority of what
I learnt has been obsolete for almost a decade. The reason is that too many
textbooks and tutorials on the Internet about OpenGL refer to a deprecated
way of programming and which relates to the fixed-function pipeline.
The modern way of programming in OpenGL is to use the programmable pipeline
through shaders. The
free e-book by
Jason McKesson is a very good
resource for learning modern OpenGL programming using the programmable
UPDATE: you may be interested in the Vispy library, which provides easier and more Pythonic access to OpenGL.
OpenGL is a widely used open and cross-platform library for real-time 3D graphics, developed more than twenty years ago. It provides a low-level API that allows the developer to access the graphics hardware in an uniform way. It is the platform of choice when developing complex 2D or 3D applications that require hardware acceleration and that need to work on different platforms. It can be used in a number of languages including C/C++, C#, Java, Objective-C (used in iPhone and iPad games), Python, etc. In this article, I'll show how OpenGL can be used with Python (thanks to the PyOpenGL library) to efficiently render 2D graphics.
I've been using CUDA and
GPGPU platforms for a few years now.
They enable access to the incredible computational power of graphics cards
through a simple C-like language. A recent
Nvidia graphics card is nevertheless
required in order to execute CUDA code. Some computers may not include a
Nvidia GPU, but rather an
AMD/ATI card or even
an integrated graphics processor. Those computers thus cannot execute a CUDA