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.
If you have problems with this code, be sure to first check and make sure the namespace matches in all sections of your program.
The Program
using System; using System.Collections.Generic; using System.Windows.Forms; using Mogre; namespace Tutorial06 { static class Program { [STAThread] static void Main() { OgreForm form = new OgreForm(); form.Init(); form.Go(); } } } == The Form == using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using Mogre; namespace Tutorial06 { public partial class OgreForm : Form { Root mRoot; RenderWindow mWindow; public OgreForm() { InitializeComponent(); this.Size = new Size(800, 600); Disposed += new EventHandler(OgreForm_Disposed); Resize += new EventHandler(OgreForm_Resize); } void OgreForm_Resize(object sender, EventArgs e) { mWindow.WindowMovedOrResized(); } void OgreForm_Disposed(object sender, EventArgs e) { mRoot.Dispose(); mRoot = null; } public void Go() { Show(); while (mRoot != null && mRoot.RenderOneFrame()) Application.DoEvents(); } public void Init() { // Create root object mRoot = new Root(); // Define Resources ConfigFile cf = new ConfigFile(); cf.Load("resources.cfg", "\t:=", true); ConfigFile.SectionIterator seci = cf.GetSectionIterator(); String secName, typeName, archName; while (seci.MoveNext()) { secName = seci.CurrentKey; ConfigFile.SettingsMultiMap settings = seci.Current; foreach (KeyValuePair<string, string> pair in settings) { typeName = pair.Key; archName = pair.Value; ResourceGroupManager.Singleton.AddResourceLocation(archName, typeName, secName); } } // Setup RenderSystem RenderSystem rs = mRoot.GetRenderSystemByName("Direct3D9 Rendering Subsystem"); // or use "OpenGL Rendering Subsystem" mRoot.RenderSystem = rs; rs.SetConfigOption("Full Screen", "No"); rs.SetConfigOption("Video Mode", "800 x 600 @ 32-bit colour"); // Create Render Window mRoot.Initialise(false, "Main Ogre Window"); NameValuePairList misc = new NameValuePairList(); misc["externalWindowHandle"] = Handle.ToString(); mWindow = mRoot.CreateRenderWindow("Main RenderWindow", 800, 600, false, misc); // Init resources TextureManager.Singleton.DefaultNumMipmaps = 5; ResourceGroupManager.Singleton.InitialiseAllResourceGroups(); // Create a Simple Scene SceneManager mgr = mRoot.CreateSceneManager(SceneType.ST_GENERIC); Camera cam = mgr.CreateCamera("Camera"); cam.AutoAspectRatio = true; mWindow.AddViewport(cam); Entity ent = mgr.CreateEntity("ninja", "ninja.mesh"); mgr.RootSceneNode.CreateChildSceneNode().AttachObject(ent); cam.Position = new Vector3(0, 200, -400); cam.LookAt(ent.BoundingBox.Center); } } }
Alias: Mogre Basic Tutorial 6 Source? (old page name)
Contributors to this page: Beauty
,
Spacegaier
and
jacmoe
.
Page last modified on Wednesday 21 of September, 2011 00:38:53 UTC by Beauty
.
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
60
online users

