Skip to content
Snippets Groups Projects
Select Git revision
  • master default
  • mingw_gcc44
  • release_ABP1_012
  • release_ABP1_008
  • release_ABP1_006
  • release_ABP1_007
  • release_ABP1_005
  • release_ABP1_004
  • release_ABP1_003
  • pre_release_0.15
  • release_ABP1_001
  • release_ABP1_002
  • pre_release_0.13
  • pre_release_0.14
  • pre_release_0.11
  • pre_release_0.12
  • pre_release_0.10
  • pre_release_0.09
  • pre_release_0.08
19 results

doxygen_index.h

Blame
  • Forked from einsteinathome / graphicsframework
    145 commits behind the upstream repository.
    • Oliver Bock's avatar
      60f97da0
      Further improvements · 60f97da0
      Oliver Bock authored
      * Added section "Supported Platforms"
      * Added section "Libraries used"
      * Added libraries to "Requirements"
      * Added a note where to find the compiled executable ;-)
      60f97da0
      History
      Further improvements
      Oliver Bock authored
      * Added section "Supported Platforms"
      * Added section "Libraries used"
      * Added libraries to "Requirements"
      * Added a note where to find the compiled executable ;-)
    doxygen_index.h 10.97 KiB
    /**
     * \mainpage Overview
     *
     * \section cha_intro Introduction
     *
     * This application is part of the Einstein\@Home project and aims to provide an extensible, refurbished version of
     * the well-known %Starsphere graphics application (screensaver).
     * \n
     * The new version focuses on the following topics:
     *
     * - Refurbished visuals and extended features
     * - Generalized API for community-driven implementations
     * - %Resource embedding (e.g. fonts, images)
     * - Migration from GLUT to SDL
     * - Self-consistent build script (Linux, Mac OS X, Windows/MinGW)
     * - Full doxygen documentation
     *
     * \subsection sec_status Current Status
     *
     * The graphics application is currently in its beta stage and has still to be considered as work-in-progress.
     * This means that not all desired features are fully implemented yet and the code might still contain some bugs.
     * However, we think the application is stable enough to be used on a daily basis. You're invited to test and
     * discuss the current version at the Einstein\@Home
     * \htmlonly<a href="http://einstein.phys.uwm.edu/forum_forum.php?id=3">\endhtmlonly
     * Cruncher's Corner
     * \htmlonly</a>\endhtmlonly.
     *
     * The most important feature that's not fully supported right now is the persistent configuration of the graphics
     * application. It is intended to let users customize the application's options using the BOINC project preferences.
     * However, in order to do this we have to change our project's server setup and configuration web pages. This task
     * is still pending but is scheduled for August/September 2008. As soon as these changes are completed users will be
     * able to set the following options:
     *
     * - Common options:
     *   - Window width (default: 800 pixels)
     *   - Window height (default: 600 pixels)
     *   - Frame rate (default: 20 fps)
     *   - Quality (default: low / also available: medium, high)
     * - %Starsphere options:
     *   - Enabled screen elements (see \ref sec_app_usage)
     *
     * Please note that we're using conservative default values (for the common options) to ensure that the graphics
     * applications runs with reasonable CPU consumption on most systems. This means that the visual improvements are
     * \b not activated and the graphics look more or less the same as before. If you have hardware accelerated 3D
     * support on your machine please feel free to increase the settings as soon as the web pages mentioned above become
     * available. For example: on a recent Linux PC the %Starsphere application consumes less than 10% CPU power when
     * running at typical desktop resolutions (e.g. 1280x1024), 30 frames per second and high quality.
     *
     * \subsection sec_platforms Supported Platforms
     *
     * The binary versions as well as the build script support the following platforms:
     * - Linux (Intel, 32 Bit)
     * - Windows (Intel, 32 Bit, cross compiled with MinGW)
     * - Mac OS X (Tiger/Leopard, Intel/PowerPC, 32 Bit)
     *
     * \subsection sec_future The Future
     *
     * - Community involvement: build and share \b your \b own graphics application!
     * - Provide different backgrounds and search visualizations
     * - Full Linux screensaver support (X11, KDE, Gnome)
     * - True XML support (libxml2 integration)
     * - Help dialog (on screen display)
     *
     * \section sec_doc_user User Documentation
     *
     * \subsection cha_app Starsphere Graphics Application
     *
     * \subsubsection sec_app_overview Overview
     *
     * The new %Starsphere application is based on the original version currently shipped with Einstein\@Home.
     * For more information about what it shows please refer to our
     * \htmlonly<a href="http://einstein.phys.uwm.edu/starsphere.php">\endhtmlonly
     * project page
     * \htmlonly</a>\endhtmlonly.
     * \n
     * With regard to features the following extensions have been made so far:
     * - The VIRGO interferometer is shown (in white) at 43°37'53"N and 10°30'18"E
     * - The celestial globe is displayed indicating latitude, longitude and the projected Greenwich Meridian
     * - The different screen elements can be toggled separately
     *
     * \subsubsection sec_app_usage Usage
     *
     * When the graphics application is started in standalone mode (as opposed to screensaver mode)
     * you can control the graphics interactively using mouse and keyboard.
     *
     * Use the following keys to control the application:
     * - \c ENTER: Toggle fullscreen mode
     * - \c ESC: Exit the application
     *
     * Use your mouse to modify the 3D rendering (click & drag):
     * - Left button: Rotate the sphere
     * - Right button: Zoom in or out
     *
     * Use the following keys to toggle single screen elements:
     * - \c S: Stars
     * - \c C: Constellations
     * - \c P: Pulsars
     * - \c R: Supernova Remnants
     * - \c X: X-Ray Binary Systems
     * - \c O: Observatories
     * - \c M: Search Marker
     * - \c I: Search Information
     * - \c G: Globe
     * - \c L: Logo
     *
     * Available command line options:
     * - Screensaver mode (mouse and keyboard control deactivated!): \code --fullscreen \endcode
     *
     * \subsubsection sec_app_install Installation
     *
     * You don't have to install the graphics application yourself as it's distributed alongside
     * Einstein\@Home.
     *
     * \section sec_doc_dev Developer Documentation
     *
     * \subsection cha_frame Graphics Application Framework
     * \subsubsection sec_frame_overview Overview
     *
     * The Framework takes care of the following things:
     *
     * - Window management
     * - OpenGL 3D context management
     * - Event handling (mouse, keyboard)
     * - Interface to BOINC application
     * - Interface to Einstein\@Home science application
     *
     * For a detailed description of the available classes and interfaces please refer to the
     * \htmlonly<a href="annotated.html">\endhtmlonly
     * class list
     * \htmlonly</a>\endhtmlonly.
     *
     * \subsection cha_orc Open Resource Compiler
     *
     * \subsubsection sec_orc_overview Overview
     *
     * The resource compiler is a very simple tool that converts binary resource files like images or fonts into plain C++ source
     * code which can subsequently be compiled and linked to the executable. This way you can integrate any resource into your
     * binary which no longer depends on external files, hence facilitates later distribution. For a detailed description please
     * have a look at the ResourceCompiler class.
     *
     * \subsubsection sec_orc_usage Usage
     *
     * -# Create a resource specification file
     * -# Run the resource compiler (\c orc) to convert the resources into source code
     * -# Include the generated source file in your project (compile and link it to the main executable)
     * -# Use ResourceFactory to instantiate a Resource object (loads the binary resource data into memory)
     * -# Use the Resource instance to retrieve a pointer to the resource's raw data
     *
     * %Resource specification file format:
     * - Simple text file (*.orc)
     * - Each line describes one resource
     * - The descriptor has to look like this: \c LogicalResourceName|PhysicalResourceName
     * - \c PhysicalResourceName is the actual file name of the resource
     * - Lines starting with # are treated as comments
     * - Empty lines are ignored
     *
     * Command line calling convention:
     * \code orc <InputSpecFileName> <OutputCodeFileName> \endcode
     * - \c InputSpecFileName: The name of the resource specification file (input)
     * - \c OutputCodeFileName: The name of the resource code file (output)
     *
     * \subsection cha_source Source Code Access
     *
     * Please use this \htmlonly<a href="http://einstein.phys.uwm.edu/graphics/src/graphics_framework_src_0.1.tar.gz">\endhtmlonly
     * link
     * \htmlonly</a>\endhtmlonly
     * to download the source code distribution (tarball).
     *
     * You may also check out the source code from our CVS repository:
     * \code
     * cvs -d:pserver:anonymous@gravity.phys.uwm.edu:2402/usr/local/cvs/lscsoft login
     * cvs -z3 -d:pserver:anonymous@gravity.phys.uwm.edu:2402/usr/local/cvs/lscsoft co -P einsteinathome/graphics
     * \endcode
     *
     * \subsection cha_build Build Script
     *
     * \subsubsection sec_build_overview Overview
     *
     * The (very simple) build script tries to compile binaries for all supported platforms without depending
     * on any additional library being installed on the build machine. The only requirements are a properly
     * installed and configured build system based on the GNU Compiler Collection Version 4, a few common
     * library development packages and a working (direct) connection to the internet.
     * Everything else is subsequently downloaded, configured and compiled automatically by the script.
     *
     * \subsubsection sec_build_provided Libraries used (provided automatically)
     *
     * - SDL - Simple DirectMedia Layer
     * - FreeType 2 - High-quality glyph images
     * - OGLFT - OpenGL-FreeType Library
     * - BOINC (Graphics/API)
     *
     * \subsubsection sec_build_requirements Requirements
     *
     * Please make sure the following development packages (headers/libs) and tools are available to the build script
     * (note: the following package names refer to Debian only, your distribution's package names might vary):
     *
     * - Common libraries (mostly required by SDL):
     *   - libc6-dev
     *   - zlib1g-dev
     * - Libraries for Linux and Windows/MinGW (required by SDL):
     *   - libgl1-mesa-dev | nvidia-glx-dev
     *   - libglu1-mesa-dev
     *   - libxt-dev
     *   - libxext-dev
     *   - libaudio-dev
     * - Libraries for Mac OS X (required by SDL, provided by XCode):
     *   - OpenGL Framework
     *   - Cocoa Framework
     *   - Carbon Framework
     *   - QuickTime Framework
     *   - ApplicationServices Framework
     *   - AudioToolbox Framework
     *   - AudioUnit Framework
     *   - IOKit Framework
     * - Tools:
     *   - bash
     *   - gcc / g++
     *   - automake
     *   - autoconf
     *   - m4
     *   - cmake
     *   - wget
     *   - cvs
     *   - svn
     *   - ld
     *   - libtool
     *   - ar
     *   - lex (i.e. flex)
     *   - yacc (i.e. bison)
     *   - doxygen (optional)
     *
     * \subsubsection sec_build_usage Usage
     *
     * In order to use the script you just have to navigate to the \c graphics directory
     * in the Einstein\@Home source tree and run the script passing as an argument the desired target platform
     * (you'll find the compiled executable \c starsphere in the \c install/bin directory):
     *
     * - Linux build: \code build.sh --linux \endcode
     * - Mac OS X build: \code build.sh --mac \endcode
     * - Windows build (uses MinGW cross-compile with Linux as build system!): \code build.sh --win32 \endcode
     *
     * Additional tools are provided as follows:
     *
     * - Build this documentation (requires doxygen): \code build.sh --doc \endcode
     * - Purge build tree: \code build.sh --distclean \endcode
     *
     * \section cha_license License
     * \verbatim
       Copyright © 2004 Bruce Allen, David Hammer, Eric Myers
       Copyright © 2008 Oliver Bock, Bernd Machenschalk
    
       This application/framework is part of Einstein@Home.
    
       Einstein@Home 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, version 2 of the License.
    
       Einstein@Home 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 received a copy of the GNU General Public License
       along with Einstein@Home. If not, see <http://www.gnu.org/licenses/>.
       \endverbatim
     */