public IslandScene(IContentLoader contentLoader, DeferredRenderer renderer) { this.contentLoader = contentLoader; pointLightList = GetPointLights(); ambientColor = new Vector4(0.1f, 0.10f, 0.074f, 1); entityList = GetGeometry(renderer); directionalLight = new DirectionalLight(new Vector4(1f, 0.968f, 0.878f, 1), new Vector3(0.1f, -0.5f, 1f), 1f, new Vector4(1, 1, 1, 1), 255, 0f); directionalLightCamera = new FirstPersonCamera(new Vector3(0, 5f, 5f), 25, 180, Camera.ProjectionType.Orthographic, fov: 1f, width: 100, height: 100, zPlaneNear: 0.1f, zPlaneFar: 700); ITexture2D particleText = contentLoader.Load <ITexture2D>("smoke.jpg"); ParticleSystem system = new ParticleSystem(renderer, contentLoader); //system.SetMaxParticles(1); system.GetDeferredRenderable().SetAlbedoTexture(particleText); system.GetDeferredRenderable().SetAlphaMap(particleText); system.GetShadowRenderable().SetAlbedoTexture(particleText); system.GetShadowRenderable().SetAlphaMap(particleText); system.transform.position = new Vector3(-7.288709f, 12f, 5.872631f); system.spawnIntervallRange = new Range(0.5f, 0.5f); system.lifeTimeRange = new Range(8, 10); system.spawnArea = new Range3D(Vector3.Zero); //new Range3D(new Vector3(-0.5f, 0, -0.5f), new Vector3(0.5f, 0, 0.5f)); system.spawnAcceleration = new Range3D(new Vector3(0, 1.5f, 0), new Vector3(0, 2f, 0)); system.spawnScale = new Range3D(new Vector3(3f, 3f, 3f), new Vector3(5f, 5f, 5)); PModuleAddScale scaleModule = new PModuleAddScale(1f); system.AddParticleGlobalModule(scaleModule); PModuleApplyWind windModule = new PModuleApplyWind(2f, new Vector3(0, 0.3f, 1f), 2); system.AddPerParticleModule(windModule); AddParticleSystem(system); }