TOC Cookbook
Each and every page in the Cookbook structure
Welcome to the new Ogre Wiki!
If you haven't done so already, be sure to visit the Wiki Portal to read about how the wiki works. Especially the Ogre Wiki Overview page.
If you haven't done so already, be sure to visit the Wiki Portal to read about how the wiki works. Especially the Ogre Wiki Overview page.
- 1 CodeBank
- 2 Snippets
- 2.1 Geometry
- 2.1.1 Vertex and Index Buffers
- 2.1.1.1 Sharing buffers
- 2.1.1.2 Generating A Mesh
- 2.1.1.3 RetrieveVertexData
- 2.1.1.4 Line 3D
- 2.1.1.5 DynamicGrowingBuffers
- 2.1.1.6 DynamicLineDrawing
- 2.1.1.7 ManualSphereMeshes
- 2.1.1.8 SuperEllipsoid
- 2.1.1.9 GeometricMesh
- 2.1.1.10 A Series Of Tubes
- 2.1.1.11 Changing Coordinate Handedness
- 2.1.2 Manual Object
- 2.1.2.1 ManualObject
- 2.1.2.2 ManualObject 2D
- 2.1.2.3 ManualObject AxisObject
- 2.1.2.4 EditorGridSystem
- 2.1.2.5 Loading from VRML 2.0 - X3D
- 2.1.2.6 Read raw data from ManualObject
- 2.1.3 General
- 2.1.3.1 Setting a vector's length
- 2.1.3.2 Nearest point on a line
- 2.1.3.3 2D line intersection
- 2.1.3.4 Find Spline index
- 2.1.3.5 Raycasting to the polygon level
- 2.1.3.6 GetScreenspaceCoords
- 2.1.3.7 Projecting 3D position and size to 2D
- 2.1.3.8 Equal Length Spline
- 2.1.3.9 Nearest point on a Spline
- 2.1.3.10 Get XZ coordinates
- 2.1.3.11 OgrePlant
- 2.1.1 Vertex and Index Buffers
- 2.2 Rendering
- 2.2.1 SpriteManager2d
- 2.2.2 Line 3D
- 2.2.3 DynamicLineDrawing
- 2.2.4 Debug Drawing Utility Class
- 2.2.5 Circle3D
- 2.2.6 Displaying 2D Backgrounds
- 2.2.7 Displaying LensFlare
- 2.2.7.1 LensFlare.h
- 2.2.7.2 LensFlare.cpp
- 2.2.7.3 Lensflare.material
- 2.2.8 Faking HDR
- 2.2.9 MovableText
- 2.2.10 OgreSprites
- 2.2.11 Oriented Bounding Box
- 2.2.12 Technique Switcher
- 2.2.13 Multiple Render Targets
- 2.2.14 PixelCountLodStrategy
- 2.2.15 ScreenRatioLodStrategy
- 2.2.16 Light Attenuation Shortcut
- 2.2.17 Simple SSAO
- 2.3 Ghosted Entities Behind Other Entities
- 2.4 Materials and Textures
- 2.4.1 URLArchive
- 2.4.2 Merging and transforming archives
- 2.4.3 Creating dynamic textures
- 2.4.4 Saving dynamic textures
- 2.4.5 Per renderable transparency
- 2.4.6 Exporting3DTextures
- 2.4.7 MaterialExamples
- 2.4.8 RotatingATextureUsingGetYaw
- 2.4.9 ObjectTextDisplay
- 2.4.10 PolygonFont
- 2.4.11 MovableTextOverlay
- 2.4.12 ObjectTitle
- 2.4.13 PGF
- 2.4.14 TerrainMeshDecal
- 2.4.15 Light mapping
- 2.4.16 Reloading materials and parsing material scripts
- 2.4.17 Extending the Ogre GUI demo to reload textures on the fly
- 2.4.18 ColoredTextAreaOverlayElement
- 2.4.19 FadeEffectOverlay
- 2.4.20 CropImage
- 2.4.21 Creating transparency based on a key colour in code
- 2.4.22 Merge exe with a media zip
- 2.4.23 Render entitys to rttTex
- 2.4.24 Compositor
- 2.4.25 CompositorLogic Framework
- 2.4.26 Loading Image from Disk
- 2.5 Particles
- 2.5.1 ParticleExampleSun
- 2.5.2 Moving Space Dust Effect
- 2.5.3 InterpolationAffector
- 2.5.4 IteratedFractal
- 2.5.5 Heat Shimmer Manager
- 2.5.6 ParticleSmoke
- 2.5.7 MeshEmitter
- 2.5.8 Explosion
- 2.6 Shaders
- 2.6.1 ShaderIntroduction
- 2.6.2 Getting Started With Ogre CG Materials
- 2.6.3 How To Compile CG Files
- 2.6.4 Orange Shader
- 2.6.5 Fading Object Shader
- 2.6.6 Holographe Shader
- 2.6.7 JaJDoo Shader Guide
- 2.6.7.1 JaJDoo Shader Guide - Part 1 - The Basics
- 2.6.7.1.1 Introduction - JaJDoo Shader Guide - Basics
- 2.6.7.1.2 Basics - JaJDoo Shader Guide - Basics
- 2.6.7.1.3 Red Ring Of Death - JaJDoo Shader Guide - Basics
- 2.6.7.1.4 Submit captain - JaJDoo Shader Guide - Basics
- 2.6.7.1.5 OGRE SMASH - JaJDoo Shader Guide - Basics
- 2.6.7.1.6 I See Dead Kittehs.. part 1 - JaJDoo Shader Guide - Basics
- 2.6.7.1.7 I See Dead Kittehs.. part 2 - JaJDoo Shader Guide - Basics
- 2.6.7.1.8 White Phong part 1 - JaJDoo Shader Guide - Basics
- 2.6.7.1.9 White Phong part 2 - JaJDoo Shader Guide - Basics
- 2.6.7.1.10 White Phong part 3 - JaJDoo Shader Guide - Basics
- 2.6.7.1.11 Standing Strait part 1 - JaJDoo Shader Guide - Basics
- 2.6.7.1.12 Standing Strait part 2 - JaJDoo Shader Guide - Basics
- 2.6.7.1.13 Brain Damage part 1 - JaJDoo Shader Guide - Basics
- 2.6.7.1.14 Brain Damage part 2 - JaJDoo Shader Guide - Basics
- 2.6.7.2 Standing Strait part 1 - JaJDoo Shader Guide - Basics
- 2.6.7.3 test menu
- 2.6.7.1 JaJDoo Shader Guide - Part 1 - The Basics
- 2.6.8 PerPixel Lighting
- 2.6.9 PerPixel Lighting II
- 2.6.10 PerPixel Lighting With Offset(Parallax) Mapping
- 2.6.11 The Monster
- 2.6.11.1 All-In-Wonder-cg
- 2.6.11.2 All-In-Wonder-material
- 2.6.12 Monster oFusion
- 2.6.12.1 Monster-program
- 2.6.12.2 Monster-source
- 2.6.13 The Monster v2
- 2.6.13.1 Monster-2-program
- 2.6.13.2 Monster-2-material
- 2.6.13.3 Monster-2-cg
- 2.6.14 Normal AO Specular Mapping Shader
- 2.6.15 Shadows
- 2.6.16 Depth Shadow Mapping
- 2.6.17 Custom Shadow Mapping
- 2.6.18 Parallel Split Shadow Mapping
- 2.6.19 Offset Bump Ambient Lightmap
- 2.6.20 OceanFog
- 2.6.21 Volumetric LightShafts
- 2.6.22 Smoke Trails
- 2.6.23 Terrain Alpha Splatting
- 2.6.23.1 Terrain Alphasplat Material
- 2.6.23.2 Terrain Alphasplat Program
- 2.6.23.3 Terrain Alphasplat Shader
- 2.6.23.4 Terrain Alphasplat Terrain Configuration File
- 2.6.24 Screen Space Effects
- 2.6.25 HLSL
- 2.6.26 Glow
- 2.6.27 Normal Mapping with Hardware Skinning and Specular
- 2.6.28 GlowBalloon CG Shader
- 2.6.29 Enhanced CelShading
- 2.6.29.1 CelShading.material
- 2.6.29.2 CelShading.program
- 2.6.29.3 CelShading.cg
- 2.6.29.4 Outline.material
- 2.6.29.5 Outline.program
- 2.6.29.6 VertEdge.cg
- 2.6.30 Accurate per-pixel sphere mapping with normal map influence
- 2.6.31 Accurate per-pixel cube mapping with normal map influence
- 2.6.32 Your First Direct3D11 Shader
- 2.6.33 Animated Particle (HLSL)
- 2.6.34 Random Particle Texture (HLSL)
- 2.6.35 Shader Model 2 Glass
- 2.6.36 Shader Model 2 Plastic
- 2.6.37 Atmosphere Shader
- 2.6.38 Shader Model 2 Stone
- 2.6.39 SM 2 Multi Channel Figure Shader
- 2.6.40 Shader Model 2 Diffuse/Normal/Specular/Alpha with Hardware Skinning
- 2.6.41 Shader Model 2 Diffuse/Normal/Specular/Alpha with Hardware Skinning
- 2.6.42 Shader Model 2 Diffuse/Normal/Specular/Alpha with Hardware Skinning
- 2.6.43 Velvet X-ray Shader
- 2.7 Animation and Movement
- 2.7.1 RotateYawOnly
- 2.7.2 ManuallyControllingBones
- 2.7.3 3rd person camera system tutorial
- 2.7.4 How to limit the pitch of a camera
- 2.7.5 Generic Manual Pose Loading
- 2.7.6 Make A Character Look At The Camera
- 2.7.7 Euler Angle Class
- 2.7.7.1 Euler Angle Class C#
- 2.7.7.2 Euler Angle Class Mogre
- 2.7.8 How to drive a car
- 2.7.9 Controlling car on twisted track
- 2.7.10 AnimationBlender
- 2.7.11 Morph animation
- 2.7.12 Simple 3rd person camera
- 2.7.13 Camcorder
- 2.7.13.1 Camcorder-h
- 2.7.13.2 Camcorder-cpp
- 2.7.14 AnimationSerializer
- 2.7.14.1 AnimationSerializer-h
- 2.7.14.2 AnimationSerializer-cpp
- 2.8 Input Snippets
- 2.8.1 Head Tracking using the WiiMote
- 2.8.2 Selection Buffer
- 2.8.3 ThreeDeeObjectPicking
- 2.8.4 KeyboardTranslator
- 2.8.5 GII
- 2.8.6 Pick Drag Drop
- 2.8.7 Simple keyboard string editing
- 2.8.8 Auto Repeat Key Input
- 2.8.9 Using SDL Input
- 2.9 GUI Snippets
- 2.9.1 CEGUI Snippets
- 2.9.1.1 CEGUICommonFileDialog
- 2.9.1.1.1 File dialog code CEGUICommonFileDialog.cpp
- 2.9.1.1.2 File dialog code CEGUICommonFileDialog.cpp for Linux
- 2.9.1.1.3 File dialog code CEGUICommonFileDialog.h
- 2.9.1.1.4 File dialog code CEGUICommonFileDialog.h for Linux
- 2.9.1.1.5 File dialog code CEGUIHashMapTemplates.h
- 2.9.1.1.6 File dialog code CEGUIHashMapTemplates.h for Linux
- 2.9.1.1.7 File dialog code CEGUISingletonX.h
- 2.9.1.1.8 File dialog code CEGUISingletonX.h for Linux
- 2.9.1.1.9 File dialog code CommonFileDialog.layout
- 2.9.1.1.10 File dialog code ogregui2.layout
- 2.9.1.1.11 File dialog demo code Demo Gui2 for Linux.cpp
- 2.9.1.1.12 File dialog demo code Demo Gui2.cpp
- 2.9.1.2 Initial Mouse Position With OIS and CEGUI
- 2.9.1.3 CEGUIBuildDialog
- 2.9.1.3.1 File DialogBuild.cpp
- 2.9.1.3.2 File DialogBuild.h
- 2.9.1.3.3 File DialogBuild.layout
- 2.9.1.4 How To Show The Mouse Cursor
- 2.9.1.5 Creating a good looking Confirm Dialog with CEGUI
- 2.9.1.6 Update Ogre source code with latest Cegui source code
- 2.9.1.7 Building CEGUI
- 2.9.1.1 CEGUICommonFileDialog
- 2.9.2 GUI Toolkits
- 2.9.2.1 wxWidgets
- 2.9.2.1.1 WxOgre
- 2.9.2.1.2 WxOgre for OGRE v1.2
- 2.9.2.1.3 WxOgre for OGRE v1.4
- 2.9.2.1.4 WxOgreRenderWindow for Eihort
- 2.9.2.1.5 WxOgreView
- 2.9.2.1.6 Embedding OGRE Tutorial
- 2.9.2.2 Qt
- 2.9.2.2.1 QtOgre
- 2.9.2.3 Ogre overlays using Qt
- 2.9.2.4 Using Ogre with FLTK
- 2.9.2.5 Using Ogre with FLTK FLUID
- 2.9.2.6 GtkmmOgre
- 2.9.2.7 GtkOgre
- 2.9.2.1 wxWidgets
- 2.9.3 Creating Overlays via Code
- 2.9.4 PieSliceOverlay
- 2.9.5 Ogre Line Chart
- 2.9.6 How to show the mouse cursor without CEGUI
- 2.9.7 Simple Text Output
- 2.9.8 Scrolling Message
- 2.9.9 OgreFontHelper
- 2.9.10 Reading a Unicode Multi Language Translation Table
- 2.9.11 RenderTTFFontToTexture
- 2.9.12 Mouse Cursor without using a GUI Toolkit for 1.4.4 (Eihort)
- 2.9.13 Integrating OpenGUI
- 2.9.14 Simple text
- 2.9.15 Using A Cocoa Window
- 2.9.1 CEGUI Snippets
- 2.10 Sound and Multimedia
- 2.10.1 FMOD SoundManager
- 2.10.1.1 File SoundManager.h
- 2.10.1.2 File SoundManager.cpp
- 2.10.1.3 File SoundMgrSample.cpp
- 2.10.2 DirectShow video in ogre texture
- 2.10.3 OpenAl Soundmanager
- 2.10.3.1 OpenAl SoundManager, dll version
- 2.10.4 Using GStreamer with Ogre
- 2.10.5 Another FMOD SoundManager
- 2.10.1 FMOD SoundManager
- 2.11 Physics Snippets
- 2.11.1 BulletMeshStrider
- 2.11.2 BulletDebugDrawer
- 2.11.3 GettingStartedWithOde
- 2.11.4 ODE Simulation Stability
- 2.11.5 Collision detection with Newton
- 2.11.6 BulletSharpDebugDrawer
- 2.12 Shader Model 2 Glass Shader
- 2.13 System
- 2.13.1 Minimal Ogre projects
- 2.13.1.1 Project base
- 2.13.1.2 MinimalApplication
- 2.13.1.3 Hello World with minimal Ogre init
- 2.13.1.4 MinimalPracticalApplication
- 2.13.1.5 One Function Ogre
- 2.13.1.6 Simple Win32 Program
- 2.13.1.6.1 Ogre32.cpp
- 2.13.2 Timer
- 2.13.2.1 TimerManager
- 2.13.2.2 Assaf Muller's Timer Manager
- 2.13.2.3 Timer class with queued callbacks
- 2.13.3 Logging
- 2.13.3.1 DumpingNodeTree
- 2.13.3.2 HTMLLogRenderer
- 2.13.4 Console
- 2.13.4.1 ConsoleCode
- 2.13.4.2 OgreConsole
- 2.13.4.3 LuaConsole
- 2.13.5 OS tricks
- 2.13.5.1 Change of a icon and caption of the Application
- 2.13.5.2 Custom Icon and Cursor
- 2.13.5.3 GetExecutablePath
- 2.13.5.4 ProjectPaths
- 2.13.5.5 LinuxDrivers
- 2.13.5.6 Linux Material Scripts Parsing
- 2.13.5.7 DetectAC
- 2.13.5.8 Simple Linux Compiler Tool
- 2.13.5.9 iOS Input via UIView
- 2.13.6 Scene manager
- 2.13.6.1 ChangeSceneManagerRunTime
- 2.13.7 Render system
- 2.13.7.1 SafelyLoadingRenderSystems
- 2.13.7.2 FlushGPUBuffer
- 2.13.8 LoadingMeshesWithoutOgre
- 2.13.9 Loading Animations without a RenderSystem
- 2.13.10 Creating A Plugin DLL
- 2.13.11 Loading Meshes From Any Path
- 2.13.12 Ogre on a Cluster
- 2.13.13 Hardware Occlusion Query
- 2.13.14 Video Setting Manager
- 2.13.1 Minimal Ogre projects
- 2.14 AI
- 2.14.1 AI Agent Control
- 2.15 Miscellaneous
- 2.15.1 OogstsHowTo
- 2.15.2 OogstsHowTo2
- 2.15.3 Easy debug text
- 2.15.4 High resolution screenshots
- 2.15.5 Printf with ogre
- 2.15.6 DotScene Loader with User Data
- 2.15.7 DotScene Loader with User Data Class
- 2.15.8 New DotScene Loader
- 2.15.8.1 New DotSceneLoader header
- 2.15.8.2 New DotSceneLoader source
- 2.15.9 RapidXML Dotscene Loader
- 2.15.9.1 RapidXML Dotsceneloader-h
- 2.15.9.2 RapidXML Dotsceneloader-cpp
- 2.15.9.3 RapidXML Dotsceneloader Sample Scene
- 2.15.10 Frustum Culling In Object Space
- 2.15.11 HowTo: Write text on texture
- 2.15.12 All-purpose script parser
- 2.15.13 Query Ogre Version
- 2.15.14 Ogre Compatible HeightMap
- 2.15.15 TinyXMLResource
- 2.15.15.1 TinyXMLResource h
- 2.15.15.2 TinyXMLResource cpp
- 2.15.15.3 TinyXMLResourceManager h
- 2.15.15.4 TinyXMLResourceManager cpp
- 2.15.16 OgreProfiler
- 2.15.17 SDK Hack
- 2.15.18 PeerOS
- 2.15.18.1 PeerPublisher
- 2.15.18.2 PeerMessage
- 2.15.18.3 PeerReader
- 2.15.19 Callstack trace through OgreException out of IDE (for windows only)
- 2.15.20 ConvertVS2003toVS2002
- 2.15.21 Premake
- 2.15.22 Notepad Highlighter
- 2.15.23 Programmers Notepad 2 Highlighter
- 2.15.24 Getting Surface Normals for Ogre 1.7 terrain
- 2.15.25 Multiple Entities With A For Loop
- 2.15.26 Colour Gradient
- 2.16 Scripting
- 2.16.1 Scripting with LuaBind in Ogre
- 2.16.2 Squirrel Scripting Language
- 2.16.3 ScriptFX
- 2.17 External Snippets
- 2.18 Networking
- 2.18.1 Using OgreSocks with Ogre
- 2.18.2 OpenTNL
- 2.1 Geometry
- 3 Simple text in MOGRE
- 4 Application Design
- 5 Experiences
- 6 OgreArticles
- 6.1 Non-Photorealistic Rendering
- 6.1.1 Edge techniques
- 6.1.2 Artistic media overlay
- 6.2 NestedTransparentSurfaces
- 6.3 Coding and Design philosophy
- 6.4 Ogre Mac
- 6.4.1 MacCommonErrors
- 6.4.2 MacDotScene
- 6.4.3 MacLibrary
- 6.4.4 MacXMLConverter
- 6.5 Intel article "How to optimize Ogre applications using Intels VTune using SIMD and Multi threading
- 6.6 OgreStereoVisionProblems
- 6.7 Prototype steps of GUI development
- 6.8 Binary Script Format Plugin
- 6.9 Script Cache Plugin
- 6.1 Non-Photorealistic Rendering
- 7 Articles And Sources
- 8 DotScene
- 8.1 DotSceneFormat
- 9 SceneManagersFAQ
- 10 TOC Cookbook
- 1 CodeBank :
Ogre Snippet'O'Matic - 2
- 2.1 Geometry :
Snippets related to geometry- 2.1.1 Vertex and Index Buffers :
Geometry snippets about vertex and index buffers- 2.1.1.1 Sharing buffers :
Sharing vertex and index buffers across multiple meshes - 2.1.1.2 Generating A Mesh :
creating a mesh in memory using a index and vertex buffer - 2.1.1.3 RetrieveVertexData :
Retrieving vertex data from a mesh - 2.1.1.4 Line 3D :
A fine code snippet to create a line in 3D space - 2.1.1.5 DynamicGrowingBuffers :
Dynamically growing vertex buffers - 2.1.1.6 DynamicLineDrawing :
A way to draw lines dynamically - 2.1.1.7 ManualSphereMeshes :
Creating a sphere mesh manually with nice texture coordinates and normals - 2.1.1.8 SuperEllipsoid :
Using super ellipsoid for creating simple 3d primitives - 2.1.1.9 GeometricMesh :
Creating various geometric/geodesic shapes - 2.1.1.10 A Series Of Tubes :
Creates a set of tubes along a path - 2.1.1.11 Changing Coordinate Handedness :
Function to change the handedness of a loaded mesh
- 2.1.1.1 Sharing buffers :
- 2.1.2 Manual Object :
Geometry snippets using ManualObjects- 2.1.2.1 ManualObject :
A class for easy creation of custom 2D/3D objects by code - 2.1.2.2 ManualObject 2D :
Demonstrates an easy way to use ManualObject for creating 2D overlays - 2.1.2.3 ManualObject AxisObject :
A simple Axis Object for debug purposes - 2.1.2.4 EditorGridSystem :
A dynamically changing grid system for editors and the like - 2.1.2.5 Loading from VRML 2.0 - X3D :
A VRML loader using the X3D format - 2.1.2.6
- 2.1.2.1 ManualObject :
- 2.1.3 General :
Geometry snippets in the general category- 2.1.3.1 Setting a vector's length :
When you need to arbitrarily set the length of a Vector3 - 2.1.3.2 Nearest point on a line :
Find the point on a line that is nearest to a given point - 2.1.3.3 2D line intersection :
Test intersection between two lines - 2.1.3.4 Find Spline index :
Find the index of a point on a spline - 2.1.3.5 Raycasting to the polygon level :
Using Ray queries for accurate picking - 2.1.3.6 GetScreenspaceCoords :
Get screenspace coordinates of a MovableObject - 2.1.3.7 Projecting 3D position and size to 2D :
Projecting 3D objects and position to a 2D plane - 2.1.3.8 Equal Length Spline :
Generating new spline which has equal distance between points - 2.1.3.9 Nearest point on a Spline :
Quadratic Minimization Method combined with Newton Raphson - 2.1.3.10 Get XZ coordinates :
Mouse picking on the XZ plane - 2.1.3.11
- 2.1.3.1 Setting a vector's length :
- 2.1.1 Vertex and Index Buffers :
- 2.2 Rendering :
Snippets about rendering- 2.2.1 SpriteManager2d :
A simple way of drawing 2D objects to the screen - 2.2.2 Line 3D :
A fine code snippet to create a line in 3D space - 2.2.3 DynamicLineDrawing :
A way to draw lines dynamically - 2.2.4 Debug Drawing Utility Class :
Utility class for rendering simple primitives like 3D lines, quads and cuboids. - 2.2.5 Circle3D :
Drawing Circles in 3D - 2.2.6 Displaying 2D Backgrounds :
How to display a background 2D image using Rectangle2D - 2.2.7 Displaying LensFlare :
The lens flare effect in 3D- 2.2.7.1 LensFlare.h :
Displaying LensFlare - header - 2.2.7.2 LensFlare.cpp :
Displaying LensFlare - implementation - 2.2.7.3 Lensflare.material :
Displaying LensFlare - material
- 2.2.7.1 LensFlare.h :
- 2.2.8 Faking HDR :
HDR Effects Without Using Full Floating Point Textures - 2.2.9 MovableText :
Billboard-style Text in 3D - 2.2.10 OgreSprites :
A More In-Depth Version of the 2D Sprite Manager - 2.2.11 Oriented Bounding Box :
A class which renders an Oriented Bounding Box using SimpleRenderable. - 2.2.12 Technique Switcher :
Switch render modes between textured, solid, wireframe and hidden lines. - 2.2.13 Multiple Render Targets :
Setting up a Multiple Render Target and associated materials/shaders without using compositors. - 2.2.14
- 2.2.15
- 2.2.16
- 2.2.17
- 2.2.1 SpriteManager2d :
- 2.3
- 2.4 Materials and Textures :
Snippets demonstrating the use of materials and textures- 2.4.1 URLArchive :
Archive class for loading resources from an URL - 2.4.2 Merging and transforming archives :
A proxy archive that provides various transforms, like resource overrides, file name prefixes - 2.4.3 Creating dynamic textures :
Minimal example of how you can create dynamic textures - 2.4.4 Saving dynamic textures :
Saving the contents of a rendertarget to disk - 2.4.5 Per renderable transparency :
Changing the material properties of a mesh without affecting other meshes using the same material - 2.4.6 Exporting3DTextures :
Saving to various 3D formats, like raw, DDS - 2.4.7 MaterialExamples :
Material script examples - 2.4.8 RotatingATextureUsingGetYaw :
Rotating a texture using the getYaw() function - 2.4.9 ObjectTextDisplay :
Displaying 3D Object Text in 2D Without Using Billboards - 2.4.10 PolygonFont :
create polygon based text as 2D or 3D - 2.4.11 MovableTextOverlay :
Displaying non-overlapping Text Overlays above Ogre MovableObjects - 2.4.12 ObjectTitle :
Display a title (text overlay) above a MovableObject - 2.4.13 PGF :
Source code for loading PGF images using libPGF in Ogre - 2.4.14 TerrainMeshDecal :
Using a mesh decal to show a marker on the terrain for terrain selection - 2.4.15 Light mapping :
A class used to do lightmapping in ogre - 2.4.16 Reloading materials and parsing material scripts :
Ogre helper methods to reload all the materials found in a material script - 2.4.17 Extending the Ogre GUI demo to reload textures on the fly :
A small extension to add a reload button to the Ogre GUI demo that makes customizing TaharezLook.tga faster - 2.4.18 ColoredTextAreaOverlayElement :
A class to allow Quake 3 style color codes to be inserted into text overlay elements - 2.4.19 FadeEffectOverlay :
Create an overlay that lets you create fade in/out effects in your scene - 2.4.20 CropImage :
Crop an Image into a smaller image - 2.4.21 Creating transparency based on a key colour in code :
Utility function that generates a texture with transparency based on a certain colour value - 2.4.22 Merge exe with a media zip :
Embed a zip file of media within an ogre application executable - 2.4.23 Render entitys to rttTex :
Rendering an Entity to a texture for use in HUDS and the like - 2.4.24 Compositor :
The Compositor Framework - 2.4.25 CompositorLogic Framework :
The CompositorLogic framework is a small addon framework for Ogre that aims to make advanced compositors dynamically loadable - 2.4.26
- 2.4.1 URLArchive :
- 2.5 Particles :
Particles in Ogre- 2.5.1 ParticleExampleSun :
A particle effect like a sun - 2.5.2 Moving Space Dust Effect :
How to code a particle effect attached to a moving SceneNode, so that the particle effect follows it - 2.5.3 InterpolationAffector :
A particle affector to vary size, rotation and velocity of particles - 2.5.4 IteratedFractal :
Using ManualObjects as Point Sprites to create a Pickover attractor - 2.5.5 Heat Shimmer Manager :
A simple to use manager for adding a particle based heat shimmer effect - 2.5.6 ParticleSmoke :
A nice smoke particle effect - 2.5.7 MeshEmitter :
A plugin mesh emitter where by each vertex in the the mesh is treated as an emitter - 2.5.8
- 2.5.1 ParticleExampleSun :
- 2.6 Shaders :
Snippets about using shaders in Ogre- 2.6.1 ShaderIntroduction :
How to submit a shader - 2.6.2 Getting Started With Ogre CG Materials :
Step by step guide for setting up some very basic CG materials in Ogre - 2.6.3 How To Compile CG Files :
How to check for errors in CG code - 2.6.4 Orange Shader :
Your first and easiest shader - 2.6.5 Fading Object Shader :
A fade-to-dark effect - 2.6.6 Holographe Shader :
A hologram effect - 2.6.7 JaJDoo Shader Guide :
This guide (concentrating on HLSL) will teach you what shaders are, how to understand them, and how to create your own. - 2.6.8 PerPixel Lighting :
A simple, everytime accurate per-pixel cg shader for Ogre, right out of box - 2.6.9 PerPixel Lighting II :
Multipass and One-pass per-pixel lighting shaders - 2.6.10 PerPixel Lighting With Offset(Parallax) Mapping :
Shader in the Per-Pixel Lighting series - 2.6.11 The Monster :
Tuneable parameters, feature-full, 1-pass, max 3 lights - 2.6.12
- 2.6.13
- 2.6.14 Normal AO Specular Mapping Shader :
Normal/diffuse/AO/specular mapping - 2.6.15 Shadows :
How to start on Shadows - 2.6.16 Depth Shadow Mapping :
How to implement depth shadow mapping in your own project as seen in the Shadows demo - 2.6.17 Custom Shadow Mapping :
How to implement a custom shadow technique - 2.6.18 Parallel Split Shadow Mapping :
(PSSM) - A method for high-detail shadows - 2.6.19 Offset Bump Ambient Lightmap :
Offset/Bump with added ambient and optional lightmap - 2.6.20 OceanFog :
Basic underwater "depth" effect using the Ocean Shader - 2.6.21 Volumetric LightShafts :
Demo of gpu-based volumetric lightshafts from GPUGems3 - 2.6.22 Smoke Trails :
Adding some turbulence to your ribbon trails - 2.6.23 Terrain Alpha Splatting :
Basic terrain shader with up to 8 splat textures- 2.6.23.1 Terrain Alphasplat Material :
Terrain Alpha Splatting - material - 2.6.23.2 Terrain Alphasplat Program :
Terrain Alpha Splatting - program - 2.6.23.3 Terrain Alphasplat Shader :
Terrain Alpha Splatting - shader - 2.6.23.4 Terrain Alphasplat Terrain Configuration File :
Terrain Alpha Splatting - terrain configuration file
- 2.6.23.1 Terrain Alphasplat Material :
- 2.6.24 Screen Space Effects :
Say you have a shader effect that you simply want to render to a texture without using a compositor - 2.6.25 HLSL :
Using HLSL in OGRE - 2.6.26 Glow :
A glow compositor method using 'Glow masks' - 2.6.27 Normal Mapping with Hardware Skinning and Specular :
Combined normal mapping and hardware skinning - 2.6.28
- 2.6.29
- 2.6.30 Accurate per-pixel sphere mapping with normal map influence :
Using lambert diffuse model and phong highlight specular. - 2.6.31 Accurate per-pixel cube mapping with normal map influence :
Using lambert diffuse model and phong highlight specular - 2.6.32
- 2.6.33
- 2.6.34
- 2.6.35
- 2.6.36
- 2.6.37 Atmosphere Shader :
Atmosphere shader as viewed from space - 2.6.38
- 2.6.39
- 2.6.40
- 2.6.41
- 2.6.42
- 2.6.43
- 2.6.1 ShaderIntroduction :
- 2.7 Animation and Movement :
Snippets about animation, movement camera systems etc- 2.7.1 RotateYawOnly :
Rotating yaw while ignoring pitch and roll - 2.7.2 ManuallyControllingBones :
One technique to manually control bones in a skeletally animated character - 2.7.3 3rd person camera system tutorial :
How to create a basic, flexible camera system - 2.7.4 How to limit the pitch of a camera :
Useful snippet to clamp the camera pitch - 2.7.5 Generic Manual Pose Loading :
Code is for manually loading and updating poses - 2.7.6 Make A Character Look At The Camera :
Using quaternions and SLERP to make a character look at a camera (or any other object for that matter) naturally, with constraints on head movement - 2.7.7 Euler Angle Class :
An Ogre compatible class for euler angles- 2.7.7.1
- 2.7.7.2 Euler Angle Class Mogre :
An Ogre compatible class for euler angles
- 2.7.8 How to drive a car :
You have a car, you have a point (i.e. waypoint), but you don't know how to determine side car should turn to drive to point(left or right) - 2.7.9 Controlling car on twisted track :
Controlling car on crazy, twisted tracks using physics engine - 2.7.10 AnimationBlender :
Utility class for transitions between animations - 2.7.11 Morph animation :
How to actually get morph animations to work in the engine - 2.7.12 Simple 3rd person camera :
Orbit camera like in Soul Reaver or Splinter Cell - 2.7.13 Camcorder :
A simple camcorder class for recording & playing back camera paths - 2.7.14 AnimationSerializer :
Simple serializer for animations
- 2.7.1 RotateYawOnly :
- 2.8 Input Snippets :
Using Ogre with various input libraries- 2.8.1 Head Tracking using the WiiMote :
Using this tutorial, you should be able to "create" a Desktop VR Display like Johnny Lee demonstrated in his Video "Head Tracking for Desktop VR Display using the WiiRemote" - 2.8.2
- 2.8.3 ThreeDeeObjectPicking :
3D object picking and dragging - 2.8.4 KeyboardTranslator :
Translate from english keyboard layout to any other, for instance german - 2.8.5 GII :
Using OGRE with the GII input library - 2.8.6 Pick Drag Drop :
How to make drag&drop objects - 2.8.7 Simple keyboard string editing :
A small class to take key presses and edit a string - 2.8.8 Auto Repeat Key Input :
A small class to take key presses and auto repeat keyboard input for GUI - 2.8.9 Using SDL Input :
Adding SDL to an OGRE project
- 2.8.1 Head Tracking using the WiiMote :
- 2.9 GUI Snippets :
Snippets about GUI- 2.9.1 CEGUI Snippets :
Snippets for CEGUI- 2.9.1.1 CEGUICommonFileDialog :
A Common File Dialog window for CEGUI- 2.9.1.1.1 File dialog code CEGUICommonFileDialog.cpp :
A Common File Dialog window for CEGUI - implementation - 2.9.1.1.2 File dialog code CEGUICommonFileDialog.cpp for Linux :
A Common File Dialog window for CEGUI - implementation (Linux) - 2.9.1.1.3 File dialog code CEGUICommonFileDialog.h :
A Common File Dialog window for CEGUI - header - 2.9.1.1.4 File dialog code CEGUICommonFileDialog.h for Linux :
A Common File Dialog window for CEGUI - header (Linux) - 2.9.1.1.5 File dialog code CEGUIHashMapTemplates.h :
A Common File Dialog window for CEGUI - hashmap templates - 2.9.1.1.6 File dialog code CEGUIHashMapTemplates.h for Linux :
A Common File Dialog window for CEGUI - hashmap templates (Linux) - 2.9.1.1.7 File dialog code CEGUISingletonX.h :
A Common File Dialog window for CEGUI - singletonX - 2.9.1.1.8 File dialog code CEGUISingletonX.h for Linux :
A Common File Dialog window for CEGUI - singletonX (Linux) - 2.9.1.1.9 File dialog code CommonFileDialog.layout :
A Common File Dialog window for CEGUI - layout - 2.9.1.1.10 File dialog code ogregui2.layout :
A Common File Dialog window for CEGUI - layout (Demo) - 2.9.1.1.11 File dialog demo code Demo Gui2 for Linux.cpp :
A Common File Dialog window for CEGUI - demo (Linux) - 2.9.1.1.12 File dialog demo code Demo Gui2.cpp :
A Common File Dialog window for CEGUI - demo
- 2.9.1.1.1 File dialog code CEGUICommonFileDialog.cpp :
- 2.9.1.2 Initial Mouse Position With OIS and CEGUI :
How to initialize the mouse cursor to a starting position - 2.9.1.3 CEGUIBuildDialog :
CEGUI dialog which displays rotating 3D meshes on multiple buttons- 2.9.1.3.1 File DialogBuild.cpp :
CEGUI build dialog - implementation - 2.9.1.3.2 File DialogBuild.h :
CEGUI build dialog - header - 2.9.1.3.3 File DialogBuild.layout :
CEGUI build dialog - layout
- 2.9.1.3.1 File DialogBuild.cpp :
- 2.9.1.4 How To Show The Mouse Cursor :
Showing the mouse using CEGUI - 2.9.1.5 Creating a good looking Confirm Dialog with CEGUI :
The Confirm Dialog has a title(like Save, Load), a textarea ("Are you sure you want to overwrite your saved game?") and two buttons("Yes", "No") - 2.9.1.6 Update Ogre source code with latest Cegui source code :
This is how I updated Ogre v1.2 source code with Cegui v0.5.0 (external link) source code - 2.9.1.7 Building CEGUI :
Since the Ogre 1.7 version, CEGUI is not an Ogre dependency anymore using its own basic interface for its samples
- 2.9.1.1 CEGUICommonFileDialog :
- 2.9.2 GUI Toolkits :
Using Ogre with major GUI Toolkits, such as Qt, WxWidgets, GTK- 2.9.2.1 wxWidgets :
Using Ogre with WxWidgets Snippets- 2.9.2.1.1 WxOgre :
A simple rendering widget for wxWindows (OGRE V1.0.1) - 2.9.2.1.2 WxOgre for OGRE v1.2 :
A simple rendering widget for wxWindows (OGRE V1.2) - 2.9.2.1.3 WxOgre for OGRE v1.4 :
A simple rendering widget for wxWindows (OGRE V1.4) - 2.9.2.1.4 WxOgreRenderWindow for Eihort :
Heavily modified version of wxOgre, that decouples the most possible wxWidgets from Ogre - 2.9.2.1.5 WxOgreView :
A minimalistic C++ class providing Ogre render windows within wxWidgets - 2.9.2.1.6 Embedding OGRE Tutorial :
Quick guide to embedding Ogre in wxWidgets 2.8
- 2.9.2.1.1 WxOgre :
- 2.9.2.2 Qt :
Using Ogre with the Qt Toolkit- 2.9.2.2.1 QtOgre :
Embedding Ogre into a qt application
- 2.9.2.2.1 QtOgre :
- 2.9.2.3
- 2.9.2.4 Using Ogre with FLTK :
A way to embed Ogre into FLTK gui toolkit window - 2.9.2.5 Using Ogre with FLTK FLUID :
Creating fltk main window in FLUID - 2.9.2.6 GtkmmOgre :
A GtkmmOgreWidget for embedding Ogre render windows in Gtkmm - 2.9.2.7 GtkOgre :
A GtkWidget for embedding Ogre render windows in GTK
- 2.9.2.1 wxWidgets :
- 2.9.3 Creating Overlays via Code :
Without using overlay scripts - 2.9.4 PieSliceOverlay :
A plugin overlay element for creating pie slices. - 2.9.5
- 2.9.6 How to show the mouse cursor without CEGUI :
Show / display mouse cursor without a GUI library - 2.9.7 Simple Text Output :
Simple debug text output using overlays - 2.9.8 Scrolling Message :
Scrolling messages based on Simple Text Output - 2.9.9 OgreFontHelper :
Utils for rendering text if Ogre::TextAreaOverlayElement is not enough - 2.9.10 Reading a Unicode Multi Language Translation Table :
A How To with code for creating, reading, and using a Unicode translation table - 2.9.11 RenderTTFFontToTexture :
This utility will generate Textures and the fitting .fontdef file for TTF fonts - 2.9.12 Mouse Cursor without using a GUI Toolkit for 1.4.4 (Eihort) :
Based on How to show the Mouse Cursor W/O CEGUI - 2.9.13 Integrating OpenGUI :
Trivial OpenGUI (0.8) Screen viewer - 2.9.14 Simple text :
A common question in the forums is How can I display text quickly and easily? - 2.9.15
- 2.9.1 CEGUI Snippets :
- 2.10 Sound and Multimedia :
Snippets about using multimedia and Ogre- 2.10.1 FMOD SoundManager :
Based on FMOD Ex Version 4.02- 2.10.1.1 File SoundManager.h :
FMOD SoundManager - header - 2.10.1.2 File SoundManager.cpp :
FMOD SoundManager - implementation - 2.10.1.3 File SoundMgrSample.cpp :
FMOD SoundManager - sample
- 2.10.1.1 File SoundManager.h :
- 2.10.2 DirectShow video in ogre texture :
A small code snippet for playing videos on Ogre materials / textures using DirectShow - 2.10.3 OpenAl Soundmanager :
A very simple sound manager using OpenAL- 2.10.3.1 OpenAl SoundManager, dll version :
A very simple sound manager using OpenAL - DLL edition
- 2.10.3.1 OpenAl SoundManager, dll version :
- 2.10.4 Using GStreamer with Ogre :
How to set up a GStreamer playbin2 element to stream video content to an Ogre texture - 2.10.5
- 2.10.1 FMOD SoundManager :
- 2.11 Physics Snippets :
Snippets about using Ogre with various physics engines- 2.11.1 BulletMeshStrider :
A subclass of btStridingMeshInterface which allows one to share the same geometry between both graphics and collision meshes - 2.11.2 BulletDebugDrawer :
Subclass from btIDebugDraw that allows you to visualize collision shapes, contact points and more - 2.11.3 GettingStartedWithOde :
A way to transfer position and orientation info from ode to ogre - 2.11.4 ODE Simulation Stability :
Changing the way ODE is called, changes the behaviour of your simulation - 2.11.5 Collision detection with Newton :
useful information about using Newton found in forum threads or by experience - 2.11.6
- 2.11.1 BulletMeshStrider :
- 2.12
- 2.13 System :
System related Ogre snippets- 2.13.1 Minimal Ogre projects :
Least amount of code Ogre projects- 2.13.1.1 Project base :
A blank project to use as the base of your own. Get all the messy initial details out of the way with this 1000+ line boilerplate - 2.13.1.2 MinimalApplication :
Minimal application not using the example app - 2.13.1.3 Hello World with minimal Ogre init :
Hello World without using ExampleApplication.h or resource scripts - 2.13.1.4 MinimalPracticalApplication :
This is a minimal application using it's own main loop and plugin loading - 2.13.1.5 One Function Ogre :
Exploring how to start Ogre without using ExampleApplication.h or the built in Config Dialog - 2.13.1.6 Simple Win32 Program :
Petzold style Ogre program- 2.13.1.6.1 Ogre32.cpp :
Petzold style Ogre program - code
- 2.13.1.6.1 Ogre32.cpp :
- 2.13.1.1 Project base :
- 2.13.2 Timer :
System snippets using timers- 2.13.2.1 TimerManager :
Wrapping Ogre::Timer to issue callbacks - 2.13.2.2 Assaf Muller's Timer Manager :
A timer manager to help you access timers from anywhere - 2.13.2.3
- 2.13.2.1 TimerManager :
- 2.13.3 Logging :
Snippets for all your Ogre logging needs- 2.13.3.1 DumpingNodeTree :
Dumping a node tree to the log - 2.13.3.2 HTMLLogRenderer :
LogListener derived class which shadows a given Log's output with an html version with additional features
- 2.13.3.1 DumpingNodeTree :
- 2.13.4 Console :
Consoles for Ogre- 2.13.4.1 ConsoleCode :
Creating a Scalable Console - 2.13.4.2 OgreConsole :
A simple graphical console - 2.13.4.3 LuaConsole :
interactive access to Lua
- 2.13.4.1 ConsoleCode :
- 2.13.5 OS tricks :
Operating System specific tricks of the trade- 2.13.5.1 Change of a icon and caption of the Application :
Simple way (Windows) - 2.13.5.2 Custom Icon and Cursor :
Even Simpler Way (Windows) - 2.13.5.3 GetExecutablePath :
Find path names from the location of the executable (Cross platform) - 2.13.5.4 ProjectPaths :
How to make your project paths cross platform - 2.13.5.5 LinuxDrivers :
Installing Video Drivers On Linux - 2.13.5.6 Linux Material Scripts Parsing :
Solve *.material scripts parsing problems on Linux - 2.13.5.7 DetectAC :
Detect AC power status on Windows - 2.13.5.8 Simple Linux Compiler Tool :
A little php script that compiles your application under linux systems - 2.13.5.9 iOS Input via UIView :
This snippet provides an alternative to obtaining user input for iOS applications via UIView; additionally, it provides a strategy for interacting between C++/Objective-C instances/objects.
- 2.13.5.1 Change of a icon and caption of the Application :
- 2.13.6 Scene manager :
SceneManager related snippets- 2.13.6.1 ChangeSceneManagerRunTime :
Change the scenemanager at runtime
- 2.13.6.1 ChangeSceneManagerRunTime :
- 2.13.7 Render system :
RenderSystem specific Ogre snippets- 2.13.7.1 SafelyLoadingRenderSystems :
How to safely load rendersystems without a crash (as in, fail gracefully on systems that lack DirectX or GL) - 2.13.7.2 FlushGPUBuffer :
How to flush the GPU command buffer regularly to avoid stalls or framerate stuttering
- 2.13.7.1 SafelyLoadingRenderSystems :
- 2.13.8 LoadingMeshesWithoutOgre :
Some quick notes on loading meshes without initialising the Ogre renderer - 2.13.9 Loading Animations without a RenderSystem :
A short code snippet that shows how to load and play animations, without using a RenderSystem or RenderWindow (e.g. on dedicated servers) - 2.13.10 Creating A Plugin DLL :
This is a short example on how to create a plugin DLL that is loaded by Ogre at startup - 2.13.11 Loading Meshes From Any Path :
Sometimes we need to load mesh files just like "open file" from any local path, which is not predefined in the resource file - 2.13.12 Ogre on a Cluster :
While many will no doubt never have to run Ogre on a cluster of computers, the procedure to do so could be useful for others who have no root privileges and thus require a special solution - 2.13.13 Hardware Occlusion Query :
Intro to HOQ with Ogre - 2.13.14 Video Setting Manager :
Graphical Video Settings Manager - stores and retrieves saved video settings
- 2.13.1 Minimal Ogre projects :
- 2.14 AI :
A page about Artificial Intelligence- 2.14.1 AI Agent Control :
Seek and Flee using a physics engine
- 2.14.1 AI Agent Control :
- 2.15 Miscellaneous :
Various snippets which does not fit anywhere else (yet)- 2.15.1 OogstsHowTo :
A collection of various smaller snippets - Oogst How-To part I - 2.15.2 OogstsHowTo2 :
A collection of various smaller snippets - Oogst How-To part II - 2.15.3 Easy debug text :
SetDebugText helper - 2.15.4 High resolution screenshots :
Howto create screenshots that exceed the standard video modes - 2.15.5 Printf with ogre :
A simple class that lets you use printf with ogre - 2.15.6 DotScene Loader with User Data :
When you export a .scene file from blender, you have the option of exporting logic properties as userData. Then why not use it? - 2.15.7 DotScene Loader with User Data Class :
Class version of DotScene Loader with User Data - 2.15.8 New DotScene Loader :
Based on DotSceneInterface and DotScene Loader with User Data- 2.15.8.1 New DotSceneLoader header :
New DotScene Loader - header - 2.15.8.2 New DotSceneLoader source :
New DotScene Loader - implementation
- 2.15.8.1 New DotSceneLoader header :
- 2.15.9 RapidXML Dotscene Loader :
Dotscene loader using RapidXML - 2.15.10 Frustum Culling In Object Space :
Frustum culling using a custom SimpleFrustum class - 2.15.11 HowTo: Write text on texture :
How to write text onto a texture - 2.15.12 All-purpose script parser :
Load your own custom data from Ogre-style scripts - 2.15.13 Query Ogre Version :
Shell extension which allows to know the version of Ogre I'm working on (Windows) - 2.15.14 Ogre Compatible HeightMap :
Get height of terrain at (x,z) positions on a server without firing up Ogre - 2.15.15 TinyXMLResource :
Use TinyXML documents via Ogres resource system- 2.15.15.1 TinyXMLResource h :
TinyXMLResource - header - 2.15.15.2 TinyXMLResource cpp :
TinyXMLResource - implementation - 2.15.15.3 TinyXMLResourceManager h :
TinyXMLResource Manager - header - 2.15.15.4 TinyXMLResourceManager cpp :
TinyXMLResource Manager - implementation
- 2.15.15.1 TinyXMLResource h :
- 2.15.16 OgreProfiler :
Using the Ogre Profiler - 2.15.17 SDK Hack :
Changing the logo of the Ogre SDK configuration dialogue (Windows) - 2.15.18 PeerOS :
The Peer Object Subscriber set of classes help us set up an Observer (aka Publisher-Subscriber) design pattern- 2.15.18.1 PeerPublisher :
PeerOS - Class responsible for creating the PeerOS message instances and pushing them out to subscribed readers - 2.15.18.2 PeerMessage :
PeerOS - Message class - 2.15.18.3 PeerReader :
PeerOS - Message handler
- 2.15.18.1 PeerPublisher :
- 2.15.19 Callstack trace through OgreException out of IDE (for windows only) :
Tracing the call stack when ogre throws OgreException out of VS IDE - 2.15.20 ConvertVS2003toVS2002 :
Converting VS 2003 projects to VS 2002 (Historic) - 2.15.21 Premake :
Setting up Ogre projects using premake - 2.15.22
- 2.15.23
- 2.15.24
- 2.15.25
- 2.15.26
- 2.15.1 OogstsHowTo :
- 2.16 Scripting :
Using Ogre with scripting languages such as Lua, Python, Squirrel ...- 2.16.1 Scripting with LuaBind in Ogre :
This tutorial will teach the reader how to use Lua and LuaBind in a simple Ogre application - 2.16.2 Squirrel Scripting Language :
How to set up a very simple application and use Squirrel for scripting - 2.16.3 ScriptFX :
Easy automation and editing of complex in-game graphical effects using Lua
- 2.16.1 Scripting with LuaBind in Ogre :
- 2.17 External Snippets :
A collection of Ogre snippets hosted elsewhere - 2.18 Networking :
Hooking up Ogre with networking- 2.18.1 Using OgreSocks with Ogre :
OgreSocks is an OO wrapper around the winsock dll, enabling you to integrate a networking layer into your Ogre applications with very little code - 2.18.2 OpenTNL :
Very Simple Interface for OpenTNL
- 2.18.1 Using OgreSocks with Ogre :
- 2.1 Geometry :
- 3
- 4 Application Design :
Collection of Ogre related articles on Application Design- 4.1 Architecture and Design in Games :
A list of various must-read articles - 4.2
- 4.3 Managing Game States with OGRE :
Ogre version of Managing Game States in C++ - 4.4 Game State Manager :
Improved version of Managing Game States with OGRE - 4.5 RTS Sample App :
A good starting point for a Real Time Strategy (RTS) style application - 4.6 Optimisation checklist :
Some things to check if your application is running slow - 4.7 Game Object Oriented Framework :
The Game Object Oriented Framework (GOOF) is a game engine (GOOF Engine) and a world editor (GOOF Editor) for Ogre3D- 4.7.1 Game Object Oriented Framework Installation :
Instructions for installing GOOF
- 4.7.1 Game Object Oriented Framework Installation :
- 4.8 Threading :
Three quotes about threading in Ogre
- 4.1 Architecture and Design in Games :
- 5 Experiences :
Ogre3D project post-mortems- 5.1 Experiences:Tibor :
The experiences of the creators of Tibor - 5.2 Experiences:LOCV :
The experiences of the creators of LOCV - 5.3 Experiences:World Under Siege :
The experiences of the creators of World Under Siege
- 5.1 Experiences:Tibor :
- 6 OgreArticles :
Articles about various Ogre topics (no code)- 6.1 Non-Photorealistic Rendering :
Non-photorealistic (NPR) techniques, as presented here, is about creating/rendering content without photo-realism as the goal- 6.1.1 Edge techniques :
Edge techniques in non-photorealistic (NPR) rendering - 6.1.2 Artistic media overlay :
One of the best ways to quickly add artistic feel is to create the look of paper or canvas
- 6.1.1 Edge techniques :
- 6.2 NestedTransparentSurfaces :
Nesting transparent surfaces using culling tricks - 6.3 Coding and Design philosophy :
A quick guide to some design issues. What to use when - 6.4 Ogre Mac :
Various hints and tricks for Mac users- 6.4.1 MacCommonErrors :
Solutions to various Mac OS X specific build errors - 6.4.2 MacDotScene :
How to build dotScene stuff on Mac - 6.4.3 MacLibrary :
How to create a library ( that is, a .dylib or an .bundle) using Ogre3D on Mac OSX - 6.4.4 MacXMLConverter :
How to build XMLConverter on Mac
- 6.4.1 MacCommonErrors :
- 6.5 Intel article "How to optimize Ogre applications using Intels VTune using SIMD and Multi threading :
Hints for optimizing your Ogre application - 6.6
- 6.7
- 6.8
- 6.9
- 6.1 Non-Photorealistic Rendering :
- 7 Articles And Sources :
External resources on general topics such as 3D math, physics libraries, Animation, Artificial Intelligence, Games, Network, Shaders, Sound, Terrain, Texture, etc. - 8 DotScene :
What is DotScene? How do I use it?- 8.1 DotSceneFormat :
Discussion about the DotScene format (historic)
- 8.1 DotSceneFormat :
- 9 SceneManagersFAQ :
Overview of the various scene managers available for Ogre- 9.1 Terrain Scene Manager :
Some information about the Terrain Scene Manager (historic) - 9.2 Portal Connected Zone Scene Manager :
This document gives basic information on the usage of the PCZSceneManager - 9.3 Ogre Terrain System :
Embed terrain to an Ogre application
- 9.1 Terrain Scene Manager :
- 10 TOC Cookbook :
Each and every page in the Cookbook structure
Contributors to this page: jacmoe
.
Page last modified on Sunday 03 of January, 2010 01:20:58 UTC by jacmoe
.
The content on this page is licensed under the terms of the Creative Commons Attribution-ShareAlike License.
As an exception, any source code contributed within the content is released into the Public Domain.
Sidebar
Search box
Online users
65
online users

