#

## ClanLib - Overview

The overview section is a walkthrough of many of ClanLib's components, classes and interfaces. It is highly adviceable to read it from the one end to the other, if you want to get a proper overview of what ClanLib can do for you.

The ClanLib game SDK is a library that can ease your game development in many ways. ClanLib has APIs for 2D graphics, 3D graphics, sound, network, I/O, input, GUI and resource administration. ClanLib reads a number of common image formats, either natively or through third-party libraries supported by ClanLib. ClanLib provides transparent support for OpenGL, so that you can use native OpenGL commands while letting ClanLib handle the boring parts such as window management, sound, networking and all the other things that are required to make a good game besides 3D graphics.

We will assume you're familiar with C++, and basic game programming terminology. If you're just starting out on making games, perhaps you should first look at a few of the numerous sites that describe game programming in general.

If there is something you think is missing out in the documentation, please add a comment to the page most relevant to the information you are seeking. We will then when reviewing the documentation update it based on user requests.

- Getting started
  The bootstrapping code needed in all ClanLib applications.
- Display overview
  An overview over the display components.
- Input overview
  Hints regarding getting input from the player.
- Resources
  Learn to use the resource system.
- Sound overview
  Play samples and music.
- Signals & Slots overview
  Use a powerful component programming mechanism.
- Sprites overview
  How to use sprites. (NEED TEXT)
- Font overview
  Learn how to create and use fonts.
- Loading graphics overview
  A description on how to load graphics. (obsoleted by display overview?)
- OpenGL overview
  Using OpenGL with ClanLib.
- GUI overview
  Add GUIs easily to your game.
- GUI Theme/Style creation
  Add custom themes to your GUI.
- GUI XML creation
  Use XML to define your GUIs.
- Network overview
  Easy and powerful network communication.
- Smart pointers
  Smart pointers offered by ClanLib.
- Post-Mortem Debugging
  Find rare crashes due to stuff like race conditions with the ClanLib Crash Reporter.
- Core resources
  The resource options for boolean, integer, float, string and raw.
- Font resources
  The resource options for creating fonts.
- Sprite resources
  The resource options for creating sprites.
- Surface resources
  The resource options for creating surfaces.
- Sample resources
  The resource options for creating samples.
- Tips & Tricks
  Tips and tricks on various topics.
- Collision Detection
  Advanced collision detection made easy.
- Custom Resources
  Create your own resource types.

Questions or comments, write to the ClanLib mailing list.