public void OnLoad() { var dir = Directory.GetCurrentDirectory(); ResourceGroupManager.Singleton.AddResourceLocation(dir, "FileSystem"); MaterialManager.Singleton.Initialise(); _scene = _root.CreateSceneManager("DefaultSceneManager", "SLSharpInstance"); _scene.ClearScene(); Bindings.MOGRE.SLSharp.Init(); Shader.DebugMode = true; //Shader.DebugMode = true; _shader = Shader.CreateSharedShader <SimpleShader>(); _patchEntity = _scene.CreateEntity("Box", "box.mesh"); _scene.RootSceneNode.AttachObject(_patchEntity); var mat = _shader.ToMaterial(); var pass = mat.GetTechnique(0).GetPass(0); pass.SetAlphaRejectSettings(CompareFunction.CMPF_GREATER_EQUAL, 128); pass.CullingMode = CullingMode.CULL_NONE; // SL# on OGRE: bind auto semantic to a uniform! // (we might automate this via semantic attributes within the SL# shaders in future!) _shader.SetAuto(() => _shader.ModelviewProjection, GpuProgramParameters.AutoConstantType.ACT_WORLDVIEWPROJ_MATRIX); _shader.Begin(); // Set a texture /* * var smp = _shader.Sampler(() => _shader.Texture); * smp.SetTextureName(TextureManager.Singleton.Load("test.png", ResourceGroupManager.DEFAULT_RESOURCE_GROUP_NAME).Name); * smp.SetTextureName(_wang.AsTexture.Name); * smp.SetTextureFiltering(FilterOptions.FO_POINT, FilterOptions.FO_POINT, FilterOptions.FO_POINT); */ _patchEntity.SetMaterial(mat); _camera = _scene.CreateCamera("MainCamera"); _camera.Position = new Vector3(0, 0, 5); _camera.LookAt(Vector3.ZERO); _camera.NearClipDistance = 0.0001f; _camera.FarClipDistance = 4.0f; _camera.AutoAspectRatio = true; var vp = _window.AddViewport(_camera); vp.BackgroundColour = ColourValue.Blue; }
public void OnLoad() { var dir = Directory.GetCurrentDirectory(); ResourceGroupManager.Instance.AddResourceLocation(dir, "Folder"); //MaterialManager.Instance.Initialize(); _scene = _root.CreateSceneManager("DefaultSceneManager", "SLSharpInstance"); _scene.ClearScene(); Bindings.Axiom.SLSharp.Init(); Shader.DebugMode = true; //Shader.DebugMode = true; _shader = Shader.CreateSharedShader <SimpleShader>(); _patchEntity = _scene.CreateEntity("Box", "box.mesh"); _scene.RootSceneNode.AttachObject(_patchEntity); var mat = _shader.ToMaterial(); var pass = mat.GetTechnique(0).GetPass(0); pass.SetAlphaRejectSettings(CompareFunction.GreaterEqual, 128); pass.CullingMode = CullingMode.None; // SL# on OGRE: bind auto semantic to a uniform! // (we might automate this via semantic attributes within the SL# shaders in future!) _shader.SetAuto(() => _shader.ModelviewProjection, GpuProgramParameters.AutoConstantType.WorldViewProjMatrix); _shader.Begin(); _patchEntity.MaterialName = mat.Name; //_patchEntity.Material = mat; _camera = _scene.CreateCamera("MainCamera"); _camera.Position = new Vector3(0, 0, 5); _camera.LookAt(Vector3.Zero); _camera.Near = 0.00001f; _camera.Far = 4.0f; _camera.AutoAspectRatio = true; var vp = _root.AutoWindow.AddViewport(_camera); vp.BackgroundColor = ColorEx.CornflowerBlue; }