GrCis library

Library in C# language supporting computer graphics courses NPGR003 (Computer graphics I), NPGR004 (Computer graphics II), NPGR007 (Advances 2D computer graphics), NPGR019 (Hardware for computer graphics) and NPGR023 (Visualization). The repository contains samples of basic algorithms of computer graphics, templates for lab assignments (tasks), some useful data sets, etc. This web page serve as a general brief manual.
Specific taks are described in more detail on relevant lab pages. See the left column for more references.

Repository is under constant development, please report any bugs, requests and complaints directly to the project coordinator.

SVN repository

The whole library resides in the Subversion repository grcis on the server.
If you have any Subversion client installed, you are able to checkout the repository:

svn checkout svn:// grcis
This command creates a local copy of the library on your disk in the grcis subdirectory.
You can later update current version of the library using command:
svn update

We recommend using a GUI SVN client, for example TortoiseSVN for Windows. It is installed in all MFF labs by default. All commands are invoked from a local menu (after pressing the right menu button in the required directory).

Repository structure

Directories dedicated to individual tasks (assignments) are in repository trunk. Every task has an unique numeric prefix (three decimal numbers). Every directory contains one Visual Studio solution file (.sln).

A couple of other directories: common (general support functions), data (collection of useful data files), lib (external libraries in the binary form).

External libraries

Only few additional libraries are used: OpenTK for integration of OpenGL, OpenCL and OpenAL.
The Cloo library is a wrapper and support for OpenCL.
The NCalc library contains small mathematical expressions evaluator.


Microsoft's Visual Studio is supported as a standard (version 2015). Advanced versions of this IDE are installed in all MFF Windows labs. For home development you can use the Visual Studio Community.

Image galleries

Interesting results in still image or video format are placed on the image gallery. If you are interested in a specific image, contact me or try to find an author directly.

C# development in Linux and iOS

Original author of this manual is Michal Wirth.

Visual Studio projects are directly supported by the open-source .NET implementation Mono. It is likely you will find it in your favorite Linux distribution.

MonoDevelop is recommended as GUI IDE. You should open original (Microsoft's) solution files without any problems. In Debian (Ubuntu) there is package named "monodevelop".

If you are not willing to use an IDE, there is another option: command-line utility xbuild (2.6.7 was reported as fully functional, Debian package name is "xbuild"). You simply pass a file-name of required .sln file and the whole project will be compiled. If there were no errors, binaries will be placed in the ./bin/Debug/ directory.
Running of the binary from a command-line: use the Mono runtime (mono <path-to-the-binary>).

Copyright (C) 2010-2017 J.Pelikán, last change: 2017-03-12 20:35:37 +0100 (Sun, 12 Mar 2017)