Welcome to the shallows homepage
Submitted by johanseland on Fri, 2005-08-26 16:07.Shallows is a C++ library designed to make GPGPU programming easier and safer. We aim to reduce the time spent on writing and debugging OpenGL related C/C++ code, so the developers of GPGPU applications can concentrate on implementing the algorithms instead. GPGPU applications are all about performance, the overhead by using shallows is therefore kept low.
Shallows absolutely requires a Shader Model 3.0 card. As of today this implies that only Nvidia 6xxx and 7800 cards will work. It also requires a recent driver with the GL_EXT_framebuffer_object extension.
Shallows tutorial: The Heat Equation
Submitted by johanseland on Mon, 2005-09-26 12:27.This document describes in detail how to implement a GPGPU application which calculates a basic heat equation. The example of course uses shallows to do everything, and the intended audience is both experienced GPGPU developers who wish to get a feel for what shallows is about, and newcomers to the field who want to get started with GPGPU programming. However, it is assumed the reader knows his way around OpenGL and has compiled simple OpenGL applications using Glut before.
Requirements for compiling shallows.
Submitted by johanseland on Thu, 2005-09-15 10:24.Like most other opensource software, shallows has some requirements to compile.
To get it running you absolutely need the following:
- A working Python interpreter
- The scons build system. (Most modern Linux distributions should have it the repositories.
- The Boost C++ libraries. We only rely upon classes in the new std::tr1 namespace, but since Visual Studio 2005 not will support this, it is a low priority to migrate.
- OpenGL 2.0 compilant drivers
- A modern C++ compiler. Both Visual Studio .Net 2003 and GCC 3.x and 4.x should be supported.
Frequently Asked Questions about shallows
Submitted by johanseland on Mon, 2005-09-05 09:41.This is the shallows frequently asked questions. It contains help for building and installing shallows, as well as an explanation for some of the design choices that has been made.

