var tutorials =
[
    [ "Guide to building OGRE", "building-ogre.html", [
      [ "What is CMake?", "building-ogre.html#autotoc_md261", null ],
      [ "Preparing the build environment", "building-ogre.html#autotoc_md262", null ],
      [ "Getting dependencies", "building-ogre.html#autotoc_md263", [
        [ "Linux", "building-ogre.html#autotoc_md264", null ],
        [ "Recommended dependencies", "building-ogre.html#autotoc_md265", null ],
        [ "Optional dependencies", "building-ogre.html#autotoc_md266", null ],
        [ "Deprecated dependencies", "building-ogre.html#autotoc_md267", null ]
      ] ],
      [ "Running CMake", "building-ogre.html#running-cmake", null ],
      [ "Building", "building-ogre.html#autotoc_md268", null ],
      [ "Installing", "building-ogre.html#installing-sdk", null ],
      [ "Installing and building via vcpkg", "building-ogre.html#autotoc_md269", null ],
      [ "Cross-Compiling", "building-ogre.html#autotoc_md270", [
        [ "Android", "building-ogre.html#autotoc_md271", null ],
        [ "WebAssembly / Emscripten", "building-ogre.html#autotoc_md272", null ],
        [ "iOS OS", "building-ogre.html#autotoc_md273", null ],
        [ "WinRT / UWP", "building-ogre.html#autotoc_md274", null ]
      ] ]
    ] ],
    [ "Setting up an OGRE project", "setup.html", [
      [ "CMake Configuration", "setup.html#cmake", null ],
      [ "Application skeleton", "setup.html#skeleton", null ],
      [ "Running your App", "setup.html#setupRunning", [
        [ "Configuration Files", "setup.html#autotoc_md309", [
          [ "plugins.cfg", "setup.html#autotoc_md310", null ],
          [ "resources.cfg", "setup.html#autotoc_md311", null ],
          [ "ogre.cfg", "setup.html#autotoc_md312", null ]
        ] ]
      ] ]
    ] ],
    [ "Your First Scene", "tut__first_scene.html", [
      [ "How Ogre Works", "tut__first_scene.html#howogreworks", [
        [ "SceneManager", "tut__first_scene.html#scenemanager", null ],
        [ "SceneNode", "tut__first_scene.html#SceneNode", null ],
        [ "Entity", "tut__first_scene.html#Entity", null ]
      ] ],
      [ "Setting Up the Scene", "tut__first_scene.html#SettingUptheScene", null ],
      [ "Coordinates Systems", "tut__first_scene.html#CoordinatesSystems", null ],
      [ "Adding Another Entity", "tut__first_scene.html#AddingAnotherEntity", null ],
      [ "More About Entities", "tut__first_scene.html#MoreAboutEntities", null ],
      [ "More About SceneNodes", "tut__first_scene.html#MoreAboutSceneNodes", null ],
      [ "Changing An Entity's Scale", "tut__first_scene.html#ChangingAnEntitysScale", null ],
      [ "Rotating An Entity", "tut__first_scene.html#RotatingAnEntity", null ],
      [ "Plugins", "tut__first_scene.html#TheOgreEnvironment", [
        [ "Testing vs Release", "tut__first_scene.html#autotoc_md15", null ]
      ] ],
      [ "Conclusion", "tut__first_scene.html#Conclusion1", null ]
    ] ],
    [ "Lights, Cameras, and Shadows", "tut__lights_cameras_shadows.html", [
      [ "The Ogre Camera Class", "tut__lights_cameras_shadows.html#bt2TheOgreCameraClass", null ],
      [ "Creating a Camera", "tut__lights_cameras_shadows.html#bt2CreatingaCamera", null ],
      [ "Viewports", "tut__lights_cameras_shadows.html#bt2Viewports", [
        [ "Creating a Viewport", "tut__lights_cameras_shadows.html#bt2CreatingaViewport", null ]
      ] ],
      [ "Building the Scene", "tut__lights_cameras_shadows.html#bt2BuildingtheScene", null ],
      [ "Using Shadows in Ogre", "tut__lights_cameras_shadows.html#bt2UsingShadowsinOgre", null ],
      [ "Lights", "tut__lights_cameras_shadows.html#bt2Lights", [
        [ "Creating a Light", "tut__lights_cameras_shadows.html#CreatingaLight", null ],
        [ "Creating More Lights", "tut__lights_cameras_shadows.html#CreatingMoreLights", null ]
      ] ],
      [ "Shadow Types", "tut__lights_cameras_shadows.html#ShadowTypes", null ],
      [ "Conclusion", "tut__lights_cameras_shadows.html#Conclusion2", null ]
    ] ],
    [ "Terrain, Sky and Fog", "tut__terrain_sky_fog.html", [
      [ "An Introduction to Terrain", "tut__terrain_sky_fog.html#tut_terrain", [
        [ "Setting Up the Camera", "tut__terrain_sky_fog.html#autotoc_md16", null ],
        [ "Setting Up a Light", "tut__terrain_sky_fog.html#autotoc_md17", null ],
        [ "Loading overview", "tut__terrain_sky_fog.html#bt3Overview", null ],
        [ "Appearance", "tut__terrain_sky_fog.html#bt3Appearance", null ],
        [ "Merging textures", "tut__terrain_sky_fog.html#bt3MergingTextures", null ],
        [ "Defining a terrain chunk", "tut__terrain_sky_fog.html#bt3TerrainChunk", null ],
        [ "Loading a heightmap", "tut__terrain_sky_fog.html#bt3Heightmap", null ],
        [ "Height based blending", "tut__terrain_sky_fog.html#bt3Blendmap", null ],
        [ "Storing changes", "tut__terrain_sky_fog.html#bt3StoringChanges", null ],
        [ "Loading Label", "tut__terrain_sky_fog.html#bt3LoadingLabel", null ]
      ] ],
      [ "Simulating a sky", "tut__terrain_sky_fog.html#bt3sky", [
        [ "SkyBoxes", "tut__terrain_sky_fog.html#autotoc_md18", null ],
        [ "SkyDomes", "tut__terrain_sky_fog.html#autotoc_md19", null ],
        [ "SkyPlanes", "tut__terrain_sky_fog.html#autotoc_md20", null ]
      ] ],
      [ "Fog", "tut__terrain_sky_fog.html#tut_fog", [
        [ "Adding Fog to Our Scene", "tut__terrain_sky_fog.html#autotoc_md21", null ]
      ] ],
      [ "Conclusion", "tut__terrain_sky_fog.html#conclusion3", null ]
    ] ],
    [ "Working with Python", "working-with-numpy.html", [
      [ "HighPy: A High-Level API", "working-with-numpy.html#python-highpy", null ],
      [ "NumPy Interoperability", "working-with-numpy.html#python-numpy", null ],
      [ "Running Background Threads", "working-with-numpy.html#python-background-threads", null ]
    ] ],
    [ "Trays GUI System", "trays.html", [
      [ "Trays", "trays.html#trays-1", null ],
      [ "TrayManager", "trays.html#traymanager", [
        [ "The Cursor", "trays.html#autotoc_md317", null ],
        [ "The Backdrop", "trays.html#autotoc_md318", null ]
      ] ],
      [ "Widgets", "trays.html#widgets", [
        [ "Button", "trays.html#autotoc_md319", null ],
        [ "TextBox", "trays.html#autotoc_md320", null ],
        [ "SelectMenu", "trays.html#autotoc_md321", null ],
        [ "Label", "trays.html#autotoc_md322", null ],
        [ "Separator", "trays.html#autotoc_md323", null ],
        [ "Slider", "trays.html#autotoc_md324", null ],
        [ "ParamsPanel", "trays.html#autotoc_md325", null ],
        [ "CheckBox", "trays.html#autotoc_md326", null ],
        [ "DecorWidget", "trays.html#autotoc_md327", null ],
        [ "ProgressBar", "trays.html#autotoc_md328", null ],
        [ "The Null Tray", "trays.html#autotoc_md329", null ]
      ] ],
      [ "Special Widgets", "trays.html#special-widgets", [
        [ "Frame Stats", "trays.html#autotoc_md330", null ],
        [ "Logo", "trays.html#autotoc_md331", null ],
        [ "Loading Bar", "trays.html#autotoc_md332", null ],
        [ "Information Dialog", "trays.html#autotoc_md333", null ],
        [ "Question Dialog", "trays.html#autotoc_md334", null ]
      ] ],
      [ "TrayListener", "trays.html#tray-listener", null ],
      [ "Things to Try", "trays.html#things-to-try", null ]
    ] ],
    [ "Volume Component", "volume.html", [
      [ "How to use it", "volume.html#howto", null ],
      [ "Manual creation of a CSG-Tree", "volume.html#creation", null ],
      [ "Getting the triangles of the chunks", "volume.html#triangles", null ],
      [ "Intersecting a ray with a volume", "volume.html#intersecting", null ],
      [ "Editing a Volume made from a GridSource", "volume.html#editing", null ]
    ] ],
    [ "Automatic Mesh LOD Generator", "meshlod-generator.html", [
      [ "How to use it for non-programmers", "meshlod-generator.html#meshlod-nonprog", null ],
      [ "How to use it for programmers", "meshlod-generator.html#meshlod-prog", null ],
      [ "Extending MeshLodGenerator", "meshlod-generator.html#meshlod-extend", [
        [ "Replacing a component", "meshlod-generator.html#autotoc_md303", null ]
      ] ]
    ] ],
    [ "Manual mesh creation", "manual-mesh-creation.html", [
      [ "Using Manual Object", "manual-mesh-creation.html#autotoc_md300", [
        [ "Example", "manual-mesh-creation.html#autotoc_md301", null ]
      ] ],
      [ "Using vertex and index buffers directly", "manual-mesh-creation.html#autotoc_md302", null ]
    ] ],
    [ "Static Geometry", "tut__static_geom.html", [
      [ "Blades of grass", "tut__static_geom.html#autotoc_md313", null ],
      [ "A field of grass", "tut__static_geom.html#autotoc_md314", null ],
      [ "Animating StaticGeometry", "tut__static_geom.html#autotoc_md315", null ],
      [ "Advanced Object Batching", "tut__static_geom.html#autotoc_md316", null ]
    ] ],
    [ "Using the Profiler", "profiler.html", [
      [ "Reading the Display", "profiler.html#profRead", null ],
      [ "Features", "profiler.html#profFeatures", [
        [ "Disabling the Profiler", "profiler.html#autotoc_md304", null ],
        [ "Disabling Individual Profiles", "profiler.html#autotoc_md305", null ],
        [ "Analyzing Application State", "profiler.html#autotoc_md306", null ],
        [ "Logging Results", "profiler.html#autotoc_md307", null ],
        [ "Changing the Frequency of Updating the Display", "profiler.html#autotoc_md308", null ]
      ] ],
      [ "Performance and Accuracy", "profiler.html#profAccuracy", null ],
      [ "Remotery Backend", "profiler.html#profRemotery", null ],
      [ "Release Version Considerations", "profiler.html#profRelmode", null ]
    ] ],
    [ "Reversed Depth", "reversed-depth.html", null ],
    [ "External Texture Sources", "_external-_texture-_sources.html", [
      [ "What Is An External Texture Source?", "_external-_texture-_sources.html#autotoc_md295", null ],
      [ "ExternalTextureSource Class", "_external-_texture-_sources.html#autotoc_md296", null ],
      [ "ExternalTextureSourceManager Class", "_external-_texture-_sources.html#autotoc_md297", null ],
      [ "Texture Source Material Script", "_external-_texture-_sources.html#autotoc_md298", null ],
      [ "Simplified Diagram of Process", "_external-_texture-_sources.html#autotoc_md299", null ]
    ] ],
    [ "Background Resource Loading", "background-resource.html", null ],
    [ "Shadow Mapping in Ogre", "_shadow_mapping_ogre.html", [
      [ "Introduction to the Shadow Mapping Algorithm", "_shadow_mapping_ogre.html#ShadowMappingIntro", [
        [ "Formalism", "_shadow_mapping_ogre.html#sm_formalism", null ],
        [ "Depth Biasing", "_shadow_mapping_ogre.html#DepthBias", null ],
        [ "Percentage Closest Filtering", "_shadow_mapping_ogre.html#sm_pcm", null ]
      ] ],
      [ "Variants", "_shadow_mapping_ogre.html#sm_variants", [
        [ "Storing Additional Info", "_shadow_mapping_ogre.html#sm_additional_info", null ],
        [ "Breaking up Shadow Frusta", "_shadow_mapping_ogre.html#sm_breaking_frusta", null ],
        [ "Playing with Projection Matrices", "_shadow_mapping_ogre.html#sect_planeopt", null ]
      ] ],
      [ "Theory and Analysis", "_shadow_mapping_ogre.html#sm_theory", [
        [ "(Non) Optimality of Logarithmic Shadow Maps", "_shadow_mapping_ogre.html#sm_nonopt", null ],
        [ "Sampling Aliasing versus Depth Precision Aliasing", "_shadow_mapping_ogre.html#sm_aliasing", null ],
        [ "Projective versus Perspective Aliasing", "_shadow_mapping_ogre.html#sm_proj_aliasing", null ]
      ] ],
      [ "Implementation", "_shadow_mapping_ogre.html#Implementation", [
        [ "Caster", "_shadow_mapping_ogre.html#autotoc_md59", null ],
        [ "Receiver", "_shadow_mapping_ogre.html#autotoc_md60", null ],
        [ "Debugging Shadows", "_shadow_mapping_ogre.html#autotoc_md61", null ],
        [ "Improving Shadow Quality", "_shadow_mapping_ogre.html#autotoc_md62", null ]
      ] ]
    ] ],
    [ "Deferred Shading", "deferred.html", [
      [ "What is Deferred Shading?", "deferred.html#what", [
        [ "Deferred Shading Advantages", "deferred.html#autotoc_md275", null ],
        [ "Deferred Shading Disadvantages", "deferred.html#autotoc_md276", null ]
      ] ],
      [ "Creating the G-Buffer", "deferred.html#creating", [
        [ "Deciding on the GBuffer format", "deferred.html#autotoc_md277", null ],
        [ "Preparing the objects for G-Buffer rendering", "deferred.html#autotoc_md278", [
          [ "Inspect the classic technique", "deferred.html#autotoc_md279", null ],
          [ "Generate the G-Buffer technique", "deferred.html#autotoc_md280", null ],
          [ "Add the G-Buffer technique to the original material", "deferred.html#autotoc_md281", null ],
          [ "Putting it all together", "deferred.html#autotoc_md282", null ]
        ] ],
        [ "Overriding the automatic process", "deferred.html#autotoc_md283", null ],
        [ "Seeing it in action", "deferred.html#autotoc_md284", null ]
      ] ],
      [ "Lighting the scene", "deferred.html#autotoc_md285", [
        [ "Rendering the light geometry", "deferred.html#lightgeom", [
          [ "Prepare ambient colour and rebuild original depth buffer", "deferred.html#autotoc_md286", null ],
          [ "Render the light geometries", "deferred.html#autotoc_md287", null ],
          [ "Rendering shadow casting lights", "deferred.html#autotoc_md288", null ],
          [ "Putting it all together", "deferred.html#autotoc_md289", null ],
          [ "Seeing it in action", "deferred.html#autotoc_md290", null ]
        ] ]
      ] ],
      [ "Post Processing", "deferred.html#post", [
        [ "Screen Space Ambient Occlusion", "deferred.html#autotoc_md291", null ]
      ] ],
      [ "Integration in real projects", "deferred.html#realprojects", [
        [ "Integration steps", "deferred.html#autotoc_md292", null ],
        [ "Adapting the framework", "deferred.html#autotoc_md293", null ],
        [ "Adding features to the framework", "deferred.html#autotoc_md294", null ]
      ] ],
      [ "Summary", "deferred.html#summary", [
        [ "Further reading", "deferred.html#further", null ]
      ] ]
    ] ]
];