Resources for Graphics Developers

Last Updated: 07/10/2011

This is a list of (mostly) free tools and reading material for graphics developers. Also see our Resources for New Graphics Developers.

.NET Tools

Visual Studio Express Editions - Excellent and free! If you're not using Windows, consider MonoDevelop. If you have Visual Studio professional edition or better, there is also a free Spell Checker Add-in.

NUnit - Widely used .NET testing framework.

FxCop - Static code analysis that can catch dead code, misspellings, and many, many other things. It is especially useful if you are just starting .NET development.

OpenTK - Polished .NET wrapper for OpenGL, OpenAL, and OpenCL.

Shader Tools

The Orange Book Shader Examples - Excellent GLSL examples, including ShaderGen which produces shaders that mimic the fixed function pipeline. I also highly recommend the Orange Book to anyone even considering writing shaders in GLSL.

ATI's RenderMonkey - Visual environment for authoring shaders. It includes a ton of quality GLSL examples and an intuitive interface for managing uniforms, render state, etc. Highly recommended! NVIDIA's FX Composer is similar and equally good.

NShader - GLSL/HLSL/CG syntax highlighting in Visual Studio.

OpenGL Tools

gDEBugger - An OpenGL/OpenCL debugger, profiler, and memory analyzer. It lets you do things such as edit and recompile/link shaders, set breakpoints when certain GL functions are called, and many other things. It is now free!

GLIntercept - Great for logging OpenGL calls, shaders, and textures. Make your application target x86, not Any CPU, when using this.

General Graphics Tools

GLview - OpenGL Extensions Viewer. Shows tons of information about the OpenGL features supported by your system, and it has a slick GUI! GPU Caps Viewer is also recommended.

VirtualDub - A great tool for creating videos from a series of images, and probably lots of other video processing tasks. Also install FFDShow so you have access to a large range of codecs. See this tutorial.

FRAPS - An easy way to measure frames per second and take videos. An open source alternative for taking videos is Krut. Also check out Microsoft's Expression Encoder 4.

General Tools

TortoiseSVN - An open source Subversion client that integrates nicely into the Windows shell. For Linux, try RabbitVCS. Using git? Check out TortoiseGit.

WinMerge - An open source differencing and merging tool that also integrates nicely into the Windows shell.

Auslogics Disk Defrag - If you're like most graphics developers, compiling dozens of time a day isn't helping your hard disk. Defragging regularly is key. I am simply amazed at the functionality of this application considering that it is free.

.NET Reference

Design Guidelines for Class Library Developers - Most of this advice applies to any language. For general API design, also see Jasmin Blanchette's The Little Manual of API Design.

C# FAQ for C++ programmers - Concise and to the point.

OpenGL Reference and Tutorials

OpenGL 3.2 API Quick Reference Card - Handy reference for OpenGL and GLSL. Print it if you haven't already.

OpenGL 3.3 and GLSL 3.3 Specs - When in doubt, you know where to turn. Surprisingly readable.

OpenGL 3.3 Reference Pages - Core profile only - awesome! See the 2.1 reference pages for the deprecated functions.

GLSL Reference Pages - All versions in one.

Song Ho Ahn's OpenGL Tutorials - Excellent VBO, PBO, and FBO tutorials.

Advanced Graphics Programming Techniques Using OpenGL - A 1999 SIGGRAPH course on OpenGL organized by David Blythe. Despite its age (even pre-shaders!), this course contains a wealth of useful information, as does the related book: Advanced Graphics Programming Using OpenGL

NVIDIA Guides

NVIDIA GPU Programming Guide - How to get the most out of NVIDIA hardware.

ATI Guides

ATI Radeon HD 2000 programming guide - A similar guide for ATI hardware. Read both guides back to back and see how some of the advice conflicts - the joys of writing graphics code!

Depth In-depth - Excellent treatment of z-buffer optimizations. Also see Patrick's slides.

ATI OpenGL Programming and Optimization Guide - Old but still full of good information.

Books

Real-Time Rendering Graphics Books Page - The best list of graphics books we're aware of.

Producing Open Source Software, By Karl Fogel - Although this has nothing to do with graphics development, we've found this to be very informative, given that OpenGlobe is our first serious open source endeavor.

Innovation Happens Elsewhere, By Ron Goldman and Richard P. Gabriel - The subtitle says it all: "Open Source as Business Strategy." Excellent.