- 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.4.1 Editor Grid System Source Code
- 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.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.2 Rendering
- 2.2.1 SpriteManager2d
- 2.2.2 Line 3D
- 2.2.3 DynamicLineDrawing
- 2.2.5 Circle3D
- 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.2.18 Skeleton Debugger
- 2.2.19 Render to SVG
- 2.2.20 Native Rendersystem Calls
- 2.2.21 Render Target to QImage [QT]
- 2.4.1 URLArchive
- 2.4.5 Saving dynamic textures
- 2.4.7 Exporting3DTextures
- 2.4.8 MaterialExamples
- 2.4.10 ObjectTextDisplay
- 2.4.11 PolygonFont
- 2.4.12 MovableTextOverlay
- 2.4.13 ObjectTitle
- 2.4.14 PGF
- 2.4.15 TerrainMeshDecal
- 2.4.16 Light mapping
- 2.4.20 FadeEffectOverlay
- 2.4.21 CropImage
- 2.4.23 Merge exe with a media zip
- 2.4.24 Render entitys to rttTex
- 2.4.25 Compositor
- 2.4.26 CompositorLogic Framework
- 2.4.27 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 Stencil Glow
- 2.6.2 ShaderIntroduction
- 2.6.4 How To Compile CG Files
- 2.6.5 Orange Shader
- 2.6.6 Fading Object Shader
- 2.6.7 Holographe Shader
- 2.6.8 JaJDoo Shader Guide
- 2.6.8.1.2 Basics - JaJDoo Shader Guide - Basics
- 2.6.8.3 test menu
- 2.6.9 PerPixel Lighting
- 2.6.10 PerPixel Lighting II
- 2.6.12 The Monster
- 2.6.12.1 All-In-Wonder-cg
- 2.6.12.2 All-In-Wonder-material
- 2.6.13 Monster oFusion
- 2.6.13.1 Monster-program
- 2.6.13.2 Monster-source
- 2.6.14 The Monster v2
- 2.6.14.1 Monster-2-program
- 2.6.14.2 Monster-2-material
- 2.6.14.3 Monster-2-cg
- 2.6.16 Shadows
- 2.6.17 Depth Shadow Mapping
- 2.6.18 Custom Shadow Mapping
- 2.6.20 Offset Bump Ambient Lightmap
- 2.6.21 OceanFog
- 2.6.22 Volumetric LightShafts
- 2.6.23 Smoke Trails
- 2.6.24 Terrain Alpha Splatting
- 2.6.24.1 Terrain Alphasplat Material
- 2.6.24.2 Terrain Alphasplat Program
- 2.6.24.3 Terrain Alphasplat Shader
- 2.6.25 Screen Space Effects
- 2.6.26 HLSL
- 2.6.27 Glow
- 2.6.29 GlowBalloon CG Shader
- 2.6.30 Enhanced CelShading
- 2.6.30.1 CelShading.material
- 2.6.30.2 CelShading.program
- 2.6.30.3 CelShading.cg
- 2.6.30.4 Outline.material
- 2.6.30.5 Outline.program
- 2.6.30.6 VertEdge.cg
- 2.6.33 Your First Direct3D11 Shader
- 2.6.34 Animated Particle (HLSL)
- 2.6.36 Shader Model 2 Glass
- 2.6.37 Shader Model 2 Plastic
- 2.6.38 Atmosphere Shader
- 2.6.39 Shader Model 2 Stone
- 2.6.42 Velvet X-ray Shader
- 2.6.43 RasterTek Fire Shader
- 2.8.1 RotateYawOnly
- 2.8.2 ManuallyControllingBones
- 2.8.5 Simple 3rd person camera
- 2.8.9 Euler Angle Class
- 2.8.9.1 Euler Angle Class C#
- 2.8.9.2 Euler Angle Class Mogre
- 2.8.10 How to drive a car
- 2.8.12 AnimationBlender
- 2.8.13 Morph animation
- 2.8.14 Camcorder
- 2.8.14.1 Camcorder-h
- 2.8.14.2 Camcorder-cpp
- 2.8.15 AnimationSerializer
- 2.8.15.1 AnimationSerializer-h
- 2.8.15.2 AnimationSerializer-cpp
- 2.9 Input Snippets
- 2.9.3 Selection Buffer
- 2.9.4 ThreeDeeObjectPicking
- 2.9.5 KeyboardTranslator
- 2.9.6 GII
- 2.9.7 Pick Drag Drop
- 2.9.9 Auto Repeat Key Input
- 2.9.10 Using SDL Input
- 2.10 GUI Snippets
- 2.10.1 CEGUI Snippets
- 2.10.1.1 CEGUICommonFileDialog
- 2.10.1.1.1 File dialog code CEGUICommonFileDialog.cpp
- 2.10.1.1.3 File dialog code CEGUICommonFileDialog.h
- 2.10.1.1.5 File dialog code CEGUIHashMapTemplates.h
- 2.10.1.1.7 File dialog code CEGUISingletonX.h
- 2.10.1.1.8 File dialog code CEGUISingletonX.h for Linux
- 2.10.1.1.9 File dialog code CommonFileDialog.layout
- 2.10.1.1.10 File dialog code ogregui2.layout
- 2.10.1.1.11 File dialog demo code Demo Gui2 for Linux.cpp
- 2.10.1.1.12 File dialog demo code Demo Gui2.cpp
- 2.10.1.3 CEGUIBuildDialog
- 2.10.1.3.1 File DialogBuild.cpp
- 2.10.1.3.2 File DialogBuild.h
- 2.10.1.3.3 File DialogBuild.layout
- 2.10.1.4 How To Show The Mouse Cursor
- 2.10.1.7 Building CEGUI
- 2.10.2 GUI Toolkits
- 2.10.2.1 wxWidgets
- 2.10.2.1.1 WxOgre
- 2.10.2.1.2 WxOgre for OGRE v1.2
- 2.10.2.1.3 WxOgre for OGRE v1.4
- 2.10.2.1.4 WxOgreRenderWindow for Eihort
- 2.10.2.1.5 WxOgreView
- 2.10.2.1.6 Embedding OGRE in wxWidgets 2.8
- 2.10.2.2 Qt
- 2.10.2.2.1 QtOgre
- 2.10.2.2.2 Ogre overlays using Qt
- 2.10.2.2.3 Integrating Ogre into QT5
- 2.10.2.3 Using Ogre with FLTK
- 2.10.2.4 Using Ogre with FLTK FLUID
- 2.10.2.5 GtkmmOgre
- 2.10.2.6 GtkOgre
- 2.10.3 Creating Overlays via Code
- 2.10.4 PieSliceOverlay
- 2.10.5 Ogre Line Chart
- 2.10.7 Simple Text Output
- 2.10.8 Scrolling Message
- 2.10.9 OgreFontHelper
- 2.10.11 RenderTTFFontToTexture
- 2.10.13 Integrating OpenGUI
- 2.10.14 Simple text
- 2.10.15 Using A Cocoa Window
- 2.10.16 Minimal Berkelium Integration
- 2.11 Sound and Multimedia
- 2.11.1 FMOD SoundManager
- 2.11.1.1 File SoundManager.h
- 2.11.1.2 File SoundManager.cpp
- 2.11.1.3 File SoundMgrSample.cpp
- 2.11.3 OpenAl Soundmanager
- 2.11.3.1 OpenAl SoundManager, dll version
- 2.11.4 Using GStreamer with Ogre
- 2.11.5 Another FMOD SoundManager
- 2.12 Physics Snippets
- 2.12.1 BulletMeshStrider
- 2.12.2 BulletDebugDrawer
- 2.12.3 GettingStartedWithOde
- 2.12.4 ODE Simulation Stability
- 2.12.6 BulletSharpDebugDrawer
- 2.14 System
- 2.14.1 Minimal Ogre projects
- 2.14.1.1 Project base
- 2.14.1.2 MinimalApplication
- 2.14.1.3 Hello World with minimal Ogre init
- 2.14.1.4 MinimalPracticalApplication
- 2.14.1.5 One Function Ogre
- 2.14.1.6 Simple Win32 Program
- 2.14.1.6.1 Ogre32.cpp
- 2.14.2 Timer
- 2.14.2.1 TimerManager
- 2.14.2.2 Assaf Muller's Timer Manager
- 2.14.2.3 Timer class with queued callbacks
- 2.14.3 Logging
- 2.14.3.1 DumpingNodeTree
- 2.14.3.2 HTMLLogRenderer
- 2.14.4 Console
- 2.14.4.1 ConsoleCode
- 2.14.4.2 OgreConsole
- 2.14.4.3 LuaConsole
- 2.14.5 OS tricks
- 2.14.5.2 Custom Icon and Cursor
- 2.14.5.3 GetExecutablePath
- 2.14.5.4 ProjectPaths
- 2.14.5.5 LinuxDrivers
- 2.14.5.6 Linux Material Scripts Parsing
- 2.14.5.7 DetectAC
- 2.14.5.8 Simple Linux Compiler Tool
- 2.14.5.9 iOS Input via UIView
- 2.14.6 Scene manager
- 2.14.6.1 ChangeSceneManagerRunTime
- 2.14.7 Render system
- 2.14.7.1 SafelyLoadingRenderSystems
- 2.14.7.2 FlushGPUBuffer
- 2.14.8 LoadingMeshesWithoutOgre
- 2.14.10 Creating A Plugin DLL
- 2.14.11 Loading Meshes From Any Path
- 2.14.12 Ogre on a Cluster
- 2.14.13 Hardware Occlusion Query
- 2.14.14 Video Setting Manager
- 2.14.15 Loading skeletons from any path
- 2.15 AI
- 2.15.1 AI Agent Control
- 2.16 Miscellaneous
- 2.16.1 OogstsHowTo
- 2.16.2 OogstsHowTo2
- 2.16.3 Easy debug text
- 2.16.4 High resolution screenshots
- 2.16.5 Printf with ogre
- 2.16.8 New DotScene Loader
- 2.16.8.1 New DotSceneLoader header
- 2.16.8.2 New DotSceneLoader source
- 2.16.9 RapidXML Dotscene Loader
- 2.16.9.1 RapidXML Dotsceneloader-h
- 2.16.9.2 RapidXML Dotsceneloader-cpp
- 2.16.9.3 RapidXML Dotsceneloader Sample Scene
- 2.16.10 Frustum Culling In Object Space
- 2.16.11 HowTo: Write text on texture
- 2.16.12 All-purpose script parser
- 2.16.13 Query Ogre Version
- 2.16.14 Ogre Compatible HeightMap
- 2.16.15 TinyXMLResource
- 2.16.15.1 TinyXMLResource h
- 2.16.15.2 TinyXMLResource cpp
- 2.16.15.3 TinyXMLResourceManager h
- 2.16.15.4 TinyXMLResourceManager cpp
- 2.16.16 OgreProfiler
- 2.16.17 SDK Hack
- 2.16.19 ConvertVS2003toVS2002
- 2.16.20 Premake
- 2.16.21 Notepad Highlighter
- 2.16.25 Colour Gradient
- 2.16.26 Simple config text parser
- 2.16.27 Name Generator
- 2.17 Scripting
- 2.17.2 Squirrel Scripting Language
- 2.17.3 ScriptFX
- 2.18 External Snippets
- 2.19 Networking
- 2.19.1 Using OgreSocks with Ogre
- 2.19.2 OpenTNL
- 10.4 Game State Manager
- 10.5 RTS Sample App
- 10.8 Threading
- 11 Experiences
- 11.1 Experiences:Tibor
- 11.2 Experiences:LOCV
- 12 OgreArticles
- 12.1.1 Edge techniques
- 12.1.2 Artistic media overlay
- 12.4 Ogre Mac
- 12.4.1 MacCommonErrors
- 12.4.2 MacDotScene
- 12.4.3 MacLibrary
- 12.4.4 MacXMLConverter
- 12.9 Script Cache Plugin
- 12.10 HDR (High Dynamic Range)
- 14 DotScene
- 14.1 DotSceneFormat
- 15.3 Ogre Terrain System
- 16 TOC Cookbook
- 2 Snippets
- 2.1.1.7 Creating a sphere mesh manually with nice texture coordinates and normals : ManualSphereMeshes
- 2.1.2.6 Read raw data from ManualObject
- 2.1.3.11 OgrePlant
- 2.2.4 Utility class for rendering simple primitives like 3D lines, quads and cuboids. : Debug Drawing Utility Class
- 2.2.11 A class which renders an Oriented Bounding Box using SimpleRenderable. : Oriented Bounding Box
- 2.2.12 Switch render modes between textured, solid, wireframe and hidden lines. : Technique Switcher
- 2.2.13 Setting up a Multiple Render Target and associated materials/shaders without using compositors. : Multiple Render Targets
- 2.2.14 PixelCountLodStrategy
- 2.2.15 ScreenRatioLodStrategy
- 2.2.16 Light Attenuation Shortcut
- 2.2.17 Simple SSAO
- 2.2.18 Skeleton Debugger
- 2.2.19 Render to SVG
- 2.2.20 Native Rendersystem Calls
- 2.2.21 Render Target to QImage [QT]
- 2.4.3 A proxy archive that provides various transforms, like resource overrides, file name prefixes : Merging and transforming archives
- 2.4.6 Changing the material properties of a mesh without affecting other meshes using the same material : Per renderable transparency
- 2.4.17 Ogre helper methods to reload all the materials found in a material script : Reloading materials and parsing material scripts
- 2.4.18 A small extension to add a reload button to the Ogre GUI demo that makes customizing TaharezLook.tga faster : Extending the Ogre GUI demo to reload textures on the fly
- 2.4.19 A class to allow Quake 3 style color codes to be inserted into text overlay elements : ColoredTextAreaOverlayElement
- 2.4.22 Utility function that generates a texture with transparency based on a certain colour value : Creating transparency based on a key colour in code
- 2.4.26 The CompositorLogic framework is a small addon framework for Ogre that aims to make advanced compositors dynamically loadable : CompositorLogic Framework
- 2.4.27 Loading Image from Disk
- 2.5.2 How to code a particle effect attached to a moving SceneNode, so that the particle effect follows it : Moving Space Dust Effect
- 2.5.5 A simple to use manager for adding a particle based heat shimmer effect : Heat Shimmer Manager
- 2.5.7 A plugin mesh emitter where by each vertex in the the mesh is treated as an emitter : MeshEmitter
- 2.5.8 Explosion
- 2.6.3 Step by step guide for setting up some very basic CG materials in Ogre : Getting Started With Ogre CG Materials
- 2.6.8 This guide (concentrating on HLSL) will teach you what shaders are, how to understand them, and how to create your own. : JaJDoo Shader Guide
- 2.6.8.1.2 Basics - JaJDoo Shader Guide - Basics
- 2.6.8.3 test menu
- 2.6.9 A simple, everytime accurate per-pixel cg shader for Ogre, right out of box : PerPixel Lighting
- 2.6.12.1 All-In-Wonder-cg
- 2.6.12.2 All-In-Wonder-material
- 2.6.13 Monster oFusion
- 2.6.13.1 Monster-program
- 2.6.13.2 Monster-source
- 2.6.14 The Monster v2
- 2.6.14.1 Monster-2-program
- 2.6.14.2 Monster-2-material
- 2.6.14.3 Monster-2-cg
- 2.6.17 How to implement depth shadow mapping in your own project as seen in the Shadows demo : Depth Shadow Mapping
- 2.6.24.4 Terrain Alpha Splatting - terrain configuration file : Terrain Alphasplat Terrain Configuration File
- 2.6.25 Say you have a shader effect that you simply want to render to a texture without using a compositor : Screen Space Effects
- 2.6.28 Combined normal mapping and hardware skinning : Normal Mapping with Hardware Skinning and Specular
- 2.6.29 GlowBalloon CG Shader
- 2.6.30 Enhanced CelShading
- 2.6.30.1 CelShading.material
- 2.6.30.2 CelShading.program
- 2.6.30.3 CelShading.cg
- 2.6.30.4 Outline.material
- 2.6.30.5 Outline.program
- 2.6.30.6 VertEdge.cg
- 2.6.31 Using lambert diffuse model and phong highlight specular. : Accurate per-pixel sphere mapping with normal map influence
- 2.6.32 Using lambert diffuse model and phong highlight specular : Accurate per-pixel cube mapping with normal map influence
- 2.6.33 Your First Direct3D11 Shader
- 2.6.34 Animated Particle (HLSL)
- 2.6.36 Shader Model 2 Glass
- 2.6.37 Shader Model 2 Plastic
- 2.6.39 Shader Model 2 Stone
- 2.6.42 Velvet X-ray Shader
- 2.6.43 RasterTek Fire Shader
- 2.8.2 One technique to manually control bones in a skeletally animated character : ManuallyControllingBones
- 2.8.8 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 : Make A Character Look At The Camera
- 2.8.9.1 Euler Angle Class C#
- 2.8.10 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) : How to drive a car
- 2.8.11 Controlling car on crazy, twisted tracks using physics engine : Controlling car on twisted track
- 2.8.14.1 Camcorder-h
- 2.8.14.2 Camcorder-cpp
- 2.8.15.1 AnimationSerializer-h
- 2.8.15.2 AnimationSerializer-cpp
- 2.9.1 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" : Head Tracking using the WiiMote
- 2.9.3 Selection Buffer
- 2.9.9 A small class to take key presses and auto repeat keyboard input for GUI : Auto Repeat Key Input
- 2.10.1.1.1 A Common File Dialog window for CEGUI - implementation : File dialog code CEGUICommonFileDialog.cpp
- 2.10.1.1.2 A Common File Dialog window for CEGUI - implementation (Linux) : File dialog code CEGUICommonFileDialog.cpp for Linux
- 2.10.1.1.3 A Common File Dialog window for CEGUI - header : File dialog code CEGUICommonFileDialog.h
- 2.10.1.1.4 A Common File Dialog window for CEGUI - header (Linux) : File dialog code CEGUICommonFileDialog.h for Linux
- 2.10.1.1.5 A Common File Dialog window for CEGUI - hashmap templates : File dialog code CEGUIHashMapTemplates.h
- 2.10.1.1.6 A Common File Dialog window for CEGUI - hashmap templates (Linux) : File dialog code CEGUIHashMapTemplates.h for Linux
- 2.10.1.1.8 A Common File Dialog window for CEGUI - singletonX (Linux) : File dialog code CEGUISingletonX.h for Linux
- 2.10.1.1.9 A Common File Dialog window for CEGUI - layout : File dialog code CommonFileDialog.layout
- 2.10.1.1.10 A Common File Dialog window for CEGUI - layout (Demo) : File dialog code ogregui2.layout
- 2.10.1.1.11 A Common File Dialog window for CEGUI - demo (Linux) : File dialog demo code Demo Gui2 for Linux.cpp
- 2.10.1.2 How to initialize the mouse cursor to a starting position : Initial Mouse Position With OIS and CEGUI
- 2.10.1.5 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") : Creating a good looking Confirm Dialog with CEGUI
- 2.10.1.6 This is how I updated Ogre v1.2 source code with Cegui v0.5.0 (external link) source code : Update Ogre source code with latest Cegui source code
- 2.10.1.7 Since the Ogre 1.7 version, CEGUI is not an Ogre dependency anymore using its own basic interface for its samples : Building CEGUI
- 2.10.2.1.4 Heavily modified version of wxOgre, that decouples the most possible wxWidgets from Ogre : WxOgreRenderWindow for Eihort
- 2.10.2.2.2 Ogre overlays using Qt
- 2.10.2.2.3 Integrating Ogre into QT5
- 2.10.5 Ogre Line Chart
- 2.10.6 Show / display mouse cursor without a GUI library : How to show the mouse cursor without CEGUI
- 2.10.10 A How To with code for creating, reading, and using a Unicode translation table : Reading a Unicode Multi Language Translation Table
- 2.10.11 This utility will generate Textures and the fitting .fontdef file for TTF fonts : RenderTTFFontToTexture
- 2.10.12 Based on How to show the Mouse Cursor W/O CEGUI : Mouse Cursor without using a GUI Toolkit for 1.4.4 (Eihort)
- 2.10.15 Using A Cocoa Window
- 2.11.2 A small code snippet for playing videos on Ogre materials / textures using DirectShow : DirectShow video in ogre texture
- 2.11.4 How to set up a GStreamer playbin2 element to stream video content to an Ogre texture : Using GStreamer with Ogre
- 2.11.5 Another FMOD SoundManager
- 2.12.1 A subclass of btStridingMeshInterface which allows one to share the same geometry between both graphics and collision meshes : BulletMeshStrider
- 2.12.2 Subclass from btIDebugDraw that allows you to visualize collision shapes, contact points and more : BulletDebugDrawer
- 2.12.4 Changing the way ODE is called, changes the behaviour of your simulation : ODE Simulation Stability
- 2.12.5 useful information about using Newton found in forum threads or by experience : Collision detection with Newton
- 2.12.6 BulletSharpDebugDrawer
- 2.14.1.1 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 : Project base
- 2.14.1.3 Hello World without using ExampleApplication.h or resource scripts : Hello World with minimal Ogre init
- 2.14.1.4 This is a minimal application using it's own main loop and plugin loading : MinimalPracticalApplication
- 2.14.1.5 Exploring how to start Ogre without using ExampleApplication.h or the built in Config Dialog : One Function Ogre
- 2.14.2.3 Timer class with queued callbacks
- 2.14.3.2 LogListener derived class which shadows a given Log's output with an html version with additional features : HTMLLogRenderer
- 2.14.5.8 A little php script that compiles your application under linux systems : Simple Linux Compiler Tool
- 2.14.5.9 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. : iOS Input via UIView
- 2.14.7.1 How to safely load rendersystems without a crash (as in, fail gracefully on systems that lack DirectX or GL) : SafelyLoadingRenderSystems
- 2.14.7.2 How to flush the GPU command buffer regularly to avoid stalls or framerate stuttering : FlushGPUBuffer
- 2.14.8 Some quick notes on loading meshes without initialising the Ogre renderer : LoadingMeshesWithoutOgre
- 2.14.9 A short code snippet that shows how to load and play animations, without using a RenderSystem or RenderWindow (e.g. on dedicated servers) : Loading Animations without a RenderSystem
- 2.14.10 This is a short example on how to create a plugin DLL that is loaded by Ogre at startup : Creating A Plugin DLL
- 2.14.11 Sometimes we need to load mesh files just like "open file" from any local path, which is not predefined in the resource file : Loading Meshes From Any Path
- 2.14.12 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 : Ogre on a Cluster
- 2.14.14 Graphical Video Settings Manager - stores and retrieves saved video settings : Video Setting Manager
- 2.14.15 Loading skeletons from any path
- 2.16.6 When you export a .scene file from blender, you have the option of exporting logic properties as userData. Then why not use it? : DotScene Loader with User Data
- 2.16.9.1 RapidXML Dotsceneloader-h
- 2.16.9.2 RapidXML Dotsceneloader-cpp
- 2.16.9.3 RapidXML Dotsceneloader Sample Scene
- 2.16.13 Shell extension which allows to know the version of Ogre I'm working on (Windows) : Query Ogre Version
- 2.16.14 Get height of terrain at (x,z) positions on a server without firing up Ogre : Ogre Compatible HeightMap
- 2.16.18 Tracing the call stack when ogre throws OgreException out of VS IDE : Callstack trace through OgreException out of IDE (for windows only)
- 2.16.21 Notepad Highlighter
- 2.16.25 Colour Gradient
- 2.16.26 Simple config text parser
- 2.16.27 Name Generator
- 2.17.1 This tutorial will teach the reader how to use Lua and LuaBind in a simple Ogre application : Scripting with LuaBind in Ogre
- 2.17.2 How to set up a very simple application and use Squirrel for scripting : Squirrel Scripting Language
- 2.19.1 OgreSocks is an OO wrapper around the winsock dll, enabling you to integrate a networking layer into your Ogre applications with very little code : Using OgreSocks with Ogre
- 10.7 The Game Object Oriented Framework (GOOF) is a game engine (GOOF Engine) and a world editor (GOOF Editor) for Ogre3D : Game Object Oriented Framework
- 12.1 Non-photorealistic (NPR) techniques, as presented here, is about creating/rendering content without photo-realism as the goal : Non-Photorealistic Rendering
- 12.1.2 One of the best ways to quickly add artistic feel is to create the look of paper or canvas : Artistic media overlay
- 12.4.3 How to create a library ( that is, a .dylib or an .bundle) using Ogre3D on Mac OSX : MacLibrary
- 12.5 Hints for optimizing your Ogre application : Intel article "How to optimize Ogre applications using Intels VTune using SIMD and Multi threading
- 12.9 Script Cache Plugin
- 12.10 HDR (High Dynamic Range)
- 13 External resources on general topics such as 3D math, physics libraries, Animation, Artificial Intelligence, Games, Network, Shaders, Sound, Terrain, Texture, etc. : Articles And Sources
- 15.2 This document gives basic information on the usage of the PCZSceneManager : Portal Connected Zone Scene Manager
THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
1. Definitions
- "Collective Work" means a work, such as a periodical issue, anthology or encyclopedia, in which the Work in its entirety in unmodified form, along with a number of other contributions, constituting separate and independent works in themselves, are assembled into a collective whole. A work that constitutes a Collective Work will not be considered a Derivative Work (as defined below) for the purposes of this License.
- "Derivative Work" means a work based upon the Work or upon the Work and other pre-existing works, such as a translation, musical arrangement, dramatization, fictionalization, motion picture version, sound recording, art reproduction, abridgment, condensation, or any other form in which the Work may be recast, transformed, or adapted, except that a work that constitutes a Collective Work will not be considered a Derivative Work for the purpose of this License. For the avoidance of doubt, where the Work is a musical composition or sound recording, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered a Derivative Work for the purpose of this License.
- "Licensor" means the individual or entity that offers the Work under the terms of this License.
- "Original Author" means the individual or entity who created the Work.
- "Work" means the copyrightable work of authorship offered under the terms of this License.
- "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
- "License Elements" means the following high-level license attributes as selected by Licensor and indicated in the title of this License: Attribution, ShareAlike.
2. Fair Use Rights
Nothing in this license is intended to reduce, limit, or restrict any rights arising from fair use, first sale or other limitations on the exclusive rights of the copyright owner under copyright law or other applicable laws.
3. License Grant
Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
- to reproduce the Work, to incorporate the Work into one or more Collective Works, and to reproduce the Work as incorporated in the Collective Works;
- to create and reproduce Derivative Works;
- to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission the Work including as incorporated in Collective Works;
- to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission Derivative Works.
- For the avoidance of doubt, where the work is a musical composition:
- Performance Royalties Under Blanket Licenses. Licensor waives the exclusive right to collect, whether individually or via a performance rights society (e.g. ASCAP, BMI, SESAC), royalties for the public performance or public digital performance (e.g. webcast) of the Work.
- Mechanical Rights and Statutory Royalties. Licensor waives the exclusive right to collect, whether individually or via a music rights society or designated agent (e.g. Harry Fox Agency), royalties for any phonorecord You create from the Work ("cover version") and distribute, subject to the compulsory license created by 17 USC Section 115 of the US Copyright Act (or the equivalent in other jurisdictions).
- Webcasting Rights and Statutory Royalties. For the avoidance of doubt, where the Work is a sound recording, Licensor waives the exclusive right to collect, whether individually or via a performance-rights society (e.g. SoundExchange), royalties for the public digital performance (e.g. webcast) of the Work, subject to the compulsory license created by 17 USC Section 114 of the US Copyright Act (or the equivalent in other jurisdictions).
The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. All rights not expressly granted by Licensor are hereby reserved.
4. Restrictions
The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
- You may distribute, publicly display, publicly perform, or publicly digitally perform the Work only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy or phonorecord of the Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Work that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Work itself to be made subject to the terms of this License. If You create a Collective Work, upon notice from any Licensor You must, to the extent practicable, remove from the Collective Work any credit as required by clause 4(c), as requested. If You create a Derivative Work, upon notice from any Licensor You must, to the extent practicable, remove from the Derivative Work any credit as required by clause 4(c), as requested.
- You may distribute, publicly display, publicly perform, or publicly digitally perform a Derivative Work only under the terms of this License, a later version of this License with the same License Elements as this License, or a Creative Commons iCommons license that contains the same License Elements as this License (e.g. Attribution-ShareAlike 2.5 Japan). You must include a copy of, or the Uniform Resource Identifier for, this License or other license specified in the previous sentence with every copy or phonorecord of each Derivative Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Derivative Works that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder, and You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Derivative Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Derivative Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Derivative Work itself to be made subject to the terms of this License.
- If you distribute, publicly display, publicly perform, or publicly digitally perform the Work or any Derivative Works or Collective Works, You must keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or (ii) if the Original Author and/or Licensor designate another party or parties (e.g. a sponsor institute, publishing entity, journal) for attribution in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; the title of the Work if supplied; to the extent reasonably practicable, the Uniform Resource Identifier, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and in the case of a Derivative Work, a credit identifying the use of the Work in the Derivative Work (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). Such credit may be implemented in any reasonable manner; provided, however, that in the case of a Derivative Work or Collective Work, at a minimum such credit will appear where any other comparable authorship credit appears and in a manner at least as prominent as such other comparable authorship credit.
5. Representations, Warranties and Disclaimer
UNLESS OTHERWISE AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE MATERIALS, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
6. Limitation on Liability.
EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
7. Termination
- This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Derivative Works or Collective Works from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
- Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.
8. Miscellaneous
- Each time You distribute or publicly digitally perform the Work or a Collective Work, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
- Each time You distribute or publicly digitally perform a Derivative Work, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License.
- If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
- No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
- This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.