/// <summary> /// LoadContent will be called once per game and is the place to load /// all of your content. /// </summary> protected override void LoadContent() { mArena.loadContent(Content, mGraphicsManager); mRenderer.loadContent(Content, mGraphicsManager, mArena.CollisionData.geometry); // load bouncing sphere and apply instancing shader mSphereModel = Content.Load <Model>("Models/soccer_ball_232_tris"); var instancingShader = Content.Load <Effect>("Effects/InstancingShader"); foreach (ModelMesh mesh in mSphereModel.Meshes) { foreach (ModelMeshPart part in mesh.MeshParts) { BasicEffect basicEffect = (BasicEffect)part.Effect; part.Effect = instancingShader.Clone(); part.Effect.Parameters["Texture"].SetValue(basicEffect.Texture); part.Effect.Parameters["LightPosition"].SetValue(new Vector3(100, 130, 0)); part.Effect.Parameters["LightDirection"].SetValue(new Vector3(230.0f, 130.0f, 0f)); part.Effect.Parameters["LightColor"].SetValue(new Vector4(1f, 1f, 1f, 1.0f)); part.Effect.Parameters["AmbientLightColor"].SetValue(new Vector4(0.2f, 0.2f, 0.2f, 1.0f)); part.Effect.Parameters["MaterialColor"].SetValue(new Vector4(0.5f, 0.5f, 0.5f, 1.0f)); part.Effect.Parameters["Shininess"].SetValue(0.1f); part.Effect.Parameters["SpecularPower"].SetValue(4.0f); part.Effect.CurrentTechnique = part.Effect.Techniques["Light"]; } } // load skybox and apply skybox shader mSkyBox = Content.Load <Model>("Models/sky_box"); var envSphereShader = Content.Load <Effect>("Effects/SkyBoxShader"); foreach (ModelMesh mesh in mSkyBox.Meshes) { foreach (ModelMeshPart part in mesh.MeshParts) { BasicEffect e = (BasicEffect)part.Effect; part.Effect = envSphereShader.Clone(); part.Effect.Parameters["Texture"].SetValue(e.Texture); } } // create the simulator mSimulator = new BouncingSphereSimlulator(mArena.CollisionData); mOverlay.loadContent(Content, mGraphicsManager); mArena.noTextures = false; mArena.normalMapping = true; mOverlay.normalMappingEnabled = mArena.normalMapping; mOverlay.texturesEnabled = !mArena.noTextures; mOverlay.drawCollidingTriangles = true; mOverlay.drawCollisionGeometry = false; mPlayer.camera.aspectRatio = mGraphicsManager.GraphicsDevice.Viewport.AspectRatio; }
/// <summary> /// LoadContent will be called once per game and is the place to load /// all of your content. /// </summary> protected override void LoadContent() { mArena.loadContent(Content, mGraphicsManager); mRenderer.loadContent(Content, mGraphicsManager, mArena.CollisionData.geometry); // load bouncing sphere and apply instancing shader mSphereModel = Content.Load<Model>("Models/soccer_ball_232_tris"); var instancingShader = Content.Load<Effect>("Effects/InstancingShader"); foreach (ModelMesh mesh in mSphereModel.Meshes) { foreach (ModelMeshPart part in mesh.MeshParts) { BasicEffect basicEffect = (BasicEffect)part.Effect; part.Effect = instancingShader.Clone(); part.Effect.Parameters["Texture"].SetValue(basicEffect.Texture); part.Effect.Parameters["LightPosition"].SetValue(new Vector3(100, 130, 0)); part.Effect.Parameters["LightDirection"].SetValue(new Vector3(230.0f, 130.0f, 0f)); part.Effect.Parameters["LightColor"].SetValue(new Vector4(1f, 1f, 1f, 1.0f)); part.Effect.Parameters["AmbientLightColor"].SetValue(new Vector4(0.2f, 0.2f, 0.2f, 1.0f)); part.Effect.Parameters["MaterialColor"].SetValue(new Vector4(0.5f, 0.5f, 0.5f, 1.0f)); part.Effect.Parameters["Shininess"].SetValue(0.1f); part.Effect.Parameters["SpecularPower"].SetValue(4.0f); part.Effect.CurrentTechnique = part.Effect.Techniques["Light"]; } } // load skybox and apply skybox shader mSkyBox = Content.Load<Model>("Models/sky_box"); var envSphereShader = Content.Load<Effect>("Effects/SkyBoxShader"); foreach (ModelMesh mesh in mSkyBox.Meshes) { foreach (ModelMeshPart part in mesh.MeshParts) { BasicEffect e = (BasicEffect)part.Effect; part.Effect = envSphereShader.Clone(); part.Effect.Parameters["Texture"].SetValue(e.Texture); } } // create the simulator mSimulator = new BouncingSphereSimlulator(mArena.CollisionData); mOverlay.loadContent(Content, mGraphicsManager); mArena.noTextures = false; mArena.normalMapping = true; mOverlay.normalMappingEnabled = mArena.normalMapping; mOverlay.texturesEnabled = !mArena.noTextures; mOverlay.drawCollidingTriangles = true; mOverlay.drawCollisionGeometry = false; mPlayer.camera.aspectRatio = mGraphicsManager.GraphicsDevice.Viewport.AspectRatio; }