Naming and maths conventions

      • Naming conventions

        • Modules
          • namespace osg
          • include/osg
          • src/osg
          • lib/libosg.so

        • Classes - CapitalCapital i.e. osg::MatrixTransform
        • templates - small_smal<> i.e. osg::ref_ptr<>
        • Methods - smallCapitalCapital i.e. osg::Node::getStateSet()
        • Member variable - _smallCapitalCapital osg::Geometry::_vertexArray
        • General variables - smallCapitalCapital i.e. int i
        • Static variables - s_smallCapitalCapital i.e. s_cantThinkOfName

      • Math conventions

        • Right Hand Coordinate System - like OpenGL

        • Z up, Y north, X east - like Performer/Vega

        • Transformation ordering - vertex * ( Model * View * Projection )

    • File formats:
    • For reading and parsing imported models, the database library (osgDB) includes support for a wide variety of formats using an extensible dynamic plugin mechansim - the distribution now includes 45 separate plugins for loading various 3D database and image formats. 3D database loaders include OpenFlight (.flt), TerraPage (.txp) including multi-threaded paging support, LightWave (.lwo), Alias Wavefront (.obj), Carbon Graphics GEO (.geo), 3D Studio MAX (.3ds), Peformer (.pfb), Quake Character Models (.md2). Direct X (.x), and Inventor Ascii 2.0 (.iv)/ VRML 1.0 (.wrl), Designer Workshop (.dw) and AC3D (.ac) and the native .osg ASCII format. Image loaders include .rgb, .gif, .jpg, .png, .tiff, .pic, .bmp, .dds (include compressed mip mapped imagery), .tga and quicktime (under OSX). A full range of high quality, anti-aliased fonts can also be loaded via the freetype plugin.