Tree [9ac9c4] master 0.7 /
History



File Date Author Commit
build 2011-08-07 Patrick Niedzielski Patrick Niedzielski [65b1a1] Revert last commit, add .gitingore instead. Th...
cmake 2014-02-17 Patrick M. Niedzielski Patrick M. Niedzielski [805bcc] Remove Perl as a dependency. We use a regex to...
doc 2014-01-07 Patrick M. Niedzielski Patrick M. Niedzielski [2044a0] Doxygen fixes.
include 2014-02-19 Patrick M. Niedzielski Patrick M. Niedzielski [9ac9c4] Update documentation for 0.7 release.
src 2014-02-17 Patrick M. Niedzielski Patrick M. Niedzielski [386620] Remove remaining types:: references from Window...
tests 2014-02-17 Patrick M. Niedzielski Patrick M. Niedzielski [805bcc] Remove Perl as a dependency. We use a regex to...
.gitignore 2012-06-21 Patrick M. Niedzielski Patrick M. Niedzielski [07b841] Add a .gitignore
.gitmodules 2012-11-11 Patrick M. Niedzielski Patrick M. Niedzielski [2743ab] Add cipra dependency to lib/
AUTHORS 2014-02-19 Patrick M. Niedzielski Patrick M. Niedzielski [9ac9c4] Update documentation for 0.7 release.
CMakeLists.txt 2014-02-17 Patrick M. Niedzielski Patrick M. Niedzielski [805bcc] Remove Perl as a dependency. We use a regex to...
COPYING 2012-07-31 Patrick M. Niedzielski Patrick M. Niedzielski [602c86] Change all references to the game to the engine.
CTestConfig.cmake 2014-02-16 Patrick M. Niedzielski Patrick M. Niedzielski [6902e5] The nightly time in our CTestConfig script was ...
INSTALL 2014-02-19 Patrick M. Niedzielski Patrick M. Niedzielski [9ac9c4] Update documentation for 0.7 release.
NEWS 2014-02-19 Patrick M. Niedzielski Patrick M. Niedzielski [9ac9c4] Update documentation for 0.7 release.
README 2014-02-19 Patrick M. Niedzielski Patrick M. Niedzielski [9ac9c4] Update documentation for 0.7 release.
THANKS 2014-02-19 Patrick M. Niedzielski Patrick M. Niedzielski [9ac9c4] Update documentation for 0.7 release.
hummstrummengine.pc.in 2014-02-17 Patrick M. Niedzielski Patrick M. Niedzielski [1c77a5] Change FindTBB.cmake to a saner file, taken fro...

Read Me

-*- markdown -*-
# Humm and Strumm Engine
To the extent possible under law, the people who associated CC0 with
this file have waived all copyright and related or neighboring rights
to this file.

## Overview
The Humm and Strumm Project is a Free, Open-Source Project to create a
high-performance, concurrent 3D video game engine in modern C++. The
Project is composed of volunteers from around the world. By creating a
foundation that we hope to be competitive with modern proprietary
video game engines and by licensing it under a copyleft Free Software
license, we hope to promote Free Software gaming. We actively test the
engine with popular compilers on GNU/Linux, FreeBSD, and Microsoft
Windows, and it should compile and run on any POSIX system with X11
and OpenGL.

You can find our home page [here](http://hummstrumm.sourceforge.net).

Our home page has news updates, new downloads, documentation, and
links to all parts of the project.

## Features
  * Cross Platform: Our code is written in standards-compliant C++11,
    and should compile with any compiler that supports C++11. Our
    target compilers are Clang, GCC, and MSVC. We actively test on
    GNU/Linux, Windows, and FreeBSD, but we try to write our code so
    that it works on any system that supports X11 and POSIX.
  * Well-Documented: All code that is written for the Humm and Strumm
    Project must be well documented with Doxygen comments. We are also
    working on getting high-level guides and tutorials written.
  * Well-Tested: We have unit-tests for all our code that we run every
    nightly on all supported platforms, which helps us catch bugs that
    may have been missed during development.
  * Integration with C++11: Our code is modern C++, not Java-style OOP
    or C-style imperative code. We use the standard library and Boost
    heavily: our logging system integrates with the standard
    iostreams, we use `shared_ptr` and `unique_ptr` wherever it makes
    sense, and take advantage of the STL algorithms and data
    structures.

## License

### Code License
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation, either version 3 of the License, or (at your
option) any later version.

This code is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
General Public License for more details.

You should have receives a copy of the GNU General Public License
along with this code.  If not, see [the GNU website][gnu-license].

[gnu-license]: http://www.gnu.org/licenses/


### Content License
The other content, including images, documentation files, Doxygen
documentation, and music, unless otherwise noted, is licensed under a
Creative Commons Attribution-ShareAlike Unported License 3.0,
available at [the Creative Commons website][cc-license].

[cc-license]: http://creativecommons.org/licenses/by-sa/3.0/

### Alternative Content License
Some other small content files are licensed under the Creative Commons
CC0 license, available at
[the Creative Commons website][cc0-license].  These files are clearly
marked as such at the top (if they are plaintext) or in a separate
`README` file (if they are binary).

[cc0-license]: http://creativecommons.org/publicdomain/zero/1.0/

## System Requirements
We test our engine on x86 and x64_86 systems running Microsoft
Windows, GNU/Linux, and FreeBSD.  These platforms should have good
support.  (Please note that our FreeBSD code is new and experimental.)

In order to build the engine, you will need:

  * A C++11 compiler. We test the engine on MSVC 2013, GCC 4.8.2,
    Clang 3.3, and Clang 3.4. Any other compiler that supports C++11
    fully enough should work as well.
  * CMake 2.8 or later Build System
  * Eigen 3 Linear Algebra Library
  * Boost 1.33.0 or later Portable C++ Libraries
  * Intel TBB 4.2

To build and run unit tests, you will also need:

  * cipra 1.x Unit Testing Framework

To build API documentation, you will need:

  * Doxygen 1.8.2 or later
  * LaTeX (optional)

## Directory Structure
  * `src` - C++ source files
  * `include` - C++ header files.
  * `doc` - Doxygen documentation
  * `tests` - Test source files

## Installation
Please see the file `INSTALL` for instructions on how to install the
software.

## Release Notes
The file `NEWS` contains important changes that may affect the user of
the software.

## Credits
Please see the files `AUTHORS` and `THANKS` for all the people that
have helped make the Humm and Strumm engine possible.

## Bug Reports
The Humm and Strumm engine uses the Sourceforge issue tracking
system.  You can find out how to file a bug on the "Report a bug" [page
on our website](reportbug).

[reportbug]: http://hummstrumm.sourceforge.net/reportbug