public void Initialization(PloobsEngine.Engine.GraphicInfo ginfo, PloobsEngine.Engine.GraphicFactory factory, PloobsEngine.SceneControl.IObject obj) { RenderTargetCube = factory.CreateRenderTargetCube(512,SurfaceFormat.Color,false,DepthFormat.Depth24Stencil8,0,RenderTargetUsage.PreserveContents); ForwardEnvironmentShader = new ForwardEnvironmentShader(RenderTargetCube,1,true); ForwardEnvironmentShader.Initialize(ginfo, factory, obj); }
public void Initialization(PloobsEngine.Engine.GraphicInfo ginfo, PloobsEngine.Engine.GraphicFactory factory, PloobsEngine.SceneControl.IObject obj) { RenderTargetCube = factory.CreateRenderTargetCube(128, SurfaceFormat.Color, false, DepthFormat.Depth24Stencil8, 0, RenderTargetUsage.DiscardContents); ForwardEnvironmentShader = new ForwardEnvironmentShader(RenderTargetCube, 0.5f, false); ForwardEnvironmentShader.Initialize(ginfo, factory, obj); //ForwardEnvironmentShader.EnvironmentMapEffect.EnableDefaultLighting(); }
protected override void LoadContent(GraphicInfo GraphicInfo, GraphicFactory factory ,IContentManager contentManager) { base.LoadContent(GraphicInfo, factory, contentManager); { SimpleModel simpleModel = new SimpleModel(factory, "Model//cenario"); simpleModel.SetTexture(factory.CreateTexture2DColor(1,1,Color.Gray), TextureType.MULTITEX1); TriangleMeshObject tmesh = new TriangleMeshObject(simpleModel, Vector3.Zero, Matrix.Identity, Vector3.One, MaterialDescription.DefaultBepuMaterial()); //ForwardDualTextureShader shader = new ForwardDualTextureShader(); ForwardEnvironmentShader shader = new ForwardEnvironmentShader(factory.GetTextureCube("Textures//grassCUBE")); ForwardMaterial fmaterial = new ForwardMaterial(shader); IObject obj = new IObject(fmaterial, simpleModel, tmesh); this.World.AddObject(obj); } { SimpleModel simpleModel = new SimpleModel(factory, "Model//uzi"); TriangleMeshObject tmesh = new TriangleMeshObject(simpleModel, new Vector3(100,10,10), Matrix.Identity, Vector3.One * 10, MaterialDescription.DefaultBepuMaterial()); ForwardXNABasicShader shader = new ForwardXNABasicShader(ForwardXNABasicShaderDescription.Default()); ForwardMaterial fmaterial = new ForwardMaterial(shader); IObject obj = new IObject(fmaterial, simpleModel, tmesh); this.World.AddObject(obj); } this.World.CameraManager.AddCamera(new CameraFirstPerson(GraphicInfo)); this.RenderTechnic.AddPostEffect(new BlackWhitePostEffect()); }
protected override void LoadContent(PloobsEngine.Engine.GraphicInfo GraphicInfo, PloobsEngine.Engine.GraphicFactory factory, IContentManager contentManager) { base.LoadContent(GraphicInfo, factory, contentManager); #region Models { simpleModel = new SimpleModel(factory, "..\\Content\\Model\\teapot"); simpleModel.SetTexture(factory.CreateTexture2DColor(1, 1, Color.Red), TextureType.DIFFUSE); GhostObject tmesh = new GhostObject(Vector3.Zero, Matrix.Identity, Vector3.One * 2); ///Environment Map Shader, there are 2 options, the first is a fully reflective surface (dont use the object texture) and the second ///is a mix of the object texture and the environment texture ///Used to fake ambient reflection, give metal appearence to an object .... shader = new ForwardEnvironmentShader(factory.GetTextureCube("Textures\\cubeMap"),1,false); ForwardMaterial fmaterial = new ForwardMaterial(shader); IObject tea = new IObject(fmaterial, simpleModel, tmesh); tea.OnUpdate += new OnUpdate(tea_OnUpdate); this.World.AddObject(tea); } //{ // SimpleModel simpleModel = new SimpleModel(factory, "Model//block"); // simpleModel.SetTexture(factory.CreateTexture2DColor(1, 1, Color.White), TextureType.DIFFUSE); // BoxObject tmesh = new BoxObject(new Vector3(0,-20,0), 1, 1, 1, 10, new Vector3(200, 1, 200), Matrix.Identity, MaterialDescription.DefaultBepuMaterial()); // tmesh.isMotionLess = true; // DeferredNormalShader shader = new DeferredNormalShader(); // DeferredMaterial fmaterial = new DeferredMaterial(shader); // IObject obj = new IObject(fmaterial, simpleModel, tmesh); // this.World.AddObject(obj); //} #endregion cam = new RotatingCamera(this); this.World.CameraManager.AddCamera(cam); SkyBoxSetTextureCube stc = new SkyBoxSetTextureCube("Textures//cubeMap"); CommandProcessor.getCommandProcessor().SendCommandAssyncronous(stc); }
protected override void LoadContent(GraphicInfo GraphicInfo, GraphicFactory factory, IContentManager contentManager) { RasterizerState = new Microsoft.Xna.Framework.Graphics.RasterizerState(); RasterizerState.FillMode = FillMode.WireFrame; BloomPostEffect = new BloomPostEffect(); BloomPostEffect.Enabled = false; this.RenderTechnic.AddPostEffect(BloomPostEffect); base.LoadContent(GraphicInfo, factory, contentManager); { SimpleModel simpleModel = new SimpleModel(factory, "Model//cena"); TriangleMeshObject tmesh = new TriangleMeshObject(simpleModel, Vector3.Zero, Matrix.Identity, Vector3.One, MaterialDescription.DefaultBepuMaterial()); ForwardXNABasicShaderDescription ForwardXNABasicShaderDescription = ForwardXNABasicShaderDescription.Default(); ForwardXNABasicShaderDescription.EnableTexture = true; ForwardXNABasicShaderDescription.EnableLightning = true; ForwardXNABasicShaderDescription.DefaultLightning = true; shader = new ForwardXNABasicShader(ForwardXNABasicShaderDescription); ForwardMaterial fmaterial = new ForwardMaterial(shader); IObject obj = new IObject(fmaterial, simpleModel, tmesh); shader.Initialize(GraphicInfo, factory, obj); this.World.AddObject(obj); } { SimpleModel simpleModel = new SimpleModel(factory, "Model//cilos"); ///tem mais de um cilo neste mesh, tem q setar as texturas de todo mundo .... Texture2D tex = factory.CreateTexture2DColor(1, 1, Color.White); for (int i = 0; i < simpleModel.MeshNumber; i++) { simpleModel.SetTexture(tex, TextureType.DIFFUSE,i,0); } TriangleMeshObject tmesh = new TriangleMeshObject(simpleModel, Vector3.Zero, Matrix.Identity, Vector3.One, MaterialDescription.DefaultBepuMaterial()); shader2 = new ForwardEnvironmentShader(factory.GetTextureCube("Textures//cubeMap"),1,false); ForwardMaterial fmaterial = new ForwardMaterial(shader2); IObject obj = new IObject(fmaterial, simpleModel, tmesh); this.World.AddObject(obj); } shader.BasicEffect.FogEnabled = true; shader.BasicEffect.FogColor = new Vector3(0.1f, 0.1f, 0.1f); // Dark grey shader.BasicEffect.FogStart = 30; shader.BasicEffect.FogEnd = 1000; shader2.EnvironmentMapEffect.FogEnabled = true; shader2.EnvironmentMapEffect.FogColor = new Vector3(0.1f, 0.1f, 0.1f); // Dark grey shader2.EnvironmentMapEffect.FogStart = 30; shader2.EnvironmentMapEffect.FogEnd = 1000; cam = new RotatingCamera(this); this.World.CameraManager.AddCamera(cam); }