/// <summary> /// Adjusts brightness /// </summary> /// <param name="value">Value of the slider</param> public void AdjustBrightness(float value) { PostProcessing postProcess = FindObjectOfType <PostProcessing>(); PlayerPrefs.SetFloat("brightness", postProcess.BrightnessValue = value); }
void Start() { redNum = 1; blackNum = 0; greyNum = 0; sumNum = redNum + blackNum + greyNum; second = false; third = false; //gameOver = false; player = GameObject.Find("PlayerBall").GetComponent <Player>(); inputManager = gameObject.GetComponent <InputManager>(); // Friend.asHP = false; ui = GameObject.Find("Canvas").GetComponent <UIManager>(); audioSource = GetComponent <AudioSource>(); InitializeBalls(); PostProcessing.SetVignette(0.443f, 0.26f); PostProcessing.SetTemperature(0); PostProcessing.SetTint(25); PostProcessing.SetContrast(-4); PostProcessing.SetSaturation(20); }
public override void End() { base.End(); GameManager.SetTime(1f, .2f); PostProcessing.SetChromaticAberration(0f, .2f); }
/// <summary> /// Adjusts contrast /// </summary> /// <param name="value">Value of the slider</param> public void AdjustContrast(float value) { PostProcessing postProcess = FindObjectOfType <PostProcessing>(); PlayerPrefs.SetFloat("contrast", postProcess.ContrastValue = value); }
void OnTriggerEnter2D(Collider2D other) { if (other.tag == "Player") { Instantiate(EnemyExplosion, transform.position, Quaternion.identity); //ReSpawn(); _uiManager.UpdateScore(5); AudioSource.PlayClipAtPoint(_audioClip, Camera.main.transform.position); //Destroy(gameObject); gameObject.SetActive(false); } if (other.tag == "Projectile") { Instantiate(EnemyExplosion, transform.position, Quaternion.identity); //ReSpawn(); _uiManager.UpdateScore(10); AudioSource.PlayClipAtPoint(_audioClip, Camera.main.transform.position); PostProcessing Procesado = FindObjectOfType <PostProcessing>(); if (Procesado != null) { Procesado.FlashBangEffect(); } //Destroy(gameObject); gameObject.SetActive(false); } }
public static void Run() { try { // ExStart:RenderFisheyeLensEffectof3DScene // The path to the documents directory. string dataDir = RunExamples.GetDataDir(); //load the scene Scene scene = new Scene(dataDir + "VirtualCity.glb"); //create a camera for capturing the cube map Camera cam = new Camera(ProjectionType.Perspective) { NearPlane = 0.1, FarPlane = 200, RotationMode = RotationMode.FixedDirection }; scene.RootNode.CreateChildNode(cam).Transform.Translation = new Vector3(5, 6, 0); //create two lights to illuminate the scene scene.RootNode.CreateChildNode(new Light() { LightType = LightType.Point }).Transform.Translation = new Vector3(-10, 7, -10); scene.RootNode.CreateChildNode(new Light() { Color = new Vector3(Color.CadetBlue) }).Transform.Translation = new Vector3(49, 0, 49); //create a renderer using (var renderer = Renderer.CreateRenderer()) { //Create a cube map render target with depth texture, depth is required when rendering a scene. IRenderTexture rt = renderer.RenderFactory.CreateCubeRenderTexture(new RenderParameters(false), 512, 512); //create a 2D texture render target with no depth texture used for image processing IRenderTexture final = renderer.RenderFactory.CreateRenderTexture(new RenderParameters(false, 32, 0, 0), 1024, 1024); //a viewport is required on the render target rt.CreateViewport(cam, RelativeRectangle.FromScale(0, 0, 1, 1)); renderer.Render(rt); //execute the fisheye projection post-processing with the previous rendered cube map as input //the fisheye can have field of view more than 180 degree, so a cube map with all direction is required. PostProcessing fisheye = renderer.GetPostProcessing("fisheye"); // we can change the fov to 360 instead of the default value 180. fisheye.FindProperty("fov").Value = 360.0; //Specify the cube map rendered from the scene as this post processing's input fisheye.Input = rt.Targets[0]; //Execute the post processing effect and save the result to render target final renderer.Execute(fisheye, final); //save the texture into disk ((ITexture2D)final.Targets[0]).Save(dataDir + "fisheye.png", ImageFormat.Png); } // ExEnd:RenderFisheyeLensEffectof3DScene } catch (Exception ex) { Console.WriteLine(ex.Message); } }
private void Awake() { post = this; profile.TryGet <Vignette>(out vignette); profile.TryGet <SplitToning>(out toning); profile.TryGet <WhiteBalance>(out balance); profile.TryGet <ColorAdjustments>(out adjustment); }
public MultiPieceSong(params string[] songs) { foreach (string alpha in songs) { this.songs.Add(new Song(alpha)); } PostProcessing.Add((IUpdating)this); }
public override void Continue() { base.Continue(); GameManager.UI.EnableSelfAndChildren("PlayerUI"); GameManager.SetTime(.2f); PostProcessing.SetChromaticAberration(.7f); }
public Blurb() { PostProcessing.Add((IUpdating)this); if (showAll) { ShowAll(); } }
public static Image LinearFilter1d(Image img, double[] values, PostProcessing op) { Image rowimg = new Image(img.Width, img.Height, img.Components); Image finalimg = new Image(img.Width, img.Height, img.Components); int mid = values.GetLength(0) / 2; byte accR = 0, accG = 0, accB = 0; Pixel p = new Pixel(); #region 1d mask go over rows for (uint j = 0; j < img.Height; ++j) { for (uint i = 0; i < img.Width; ++i) { for (int k = (int)i - mid, maskind = 0; k < (mid + i); ++k, ++maskind) { if (k >= 0 && k < img.Width) { p = img.getPixel((uint)k, j); accR += (byte)(p.R * values[maskind]); accG += (byte)(p.G * values[maskind]); accB += (byte)(p.B * values[maskind]); } } p.R = accR; p.G = accG; p.B = accB; rowimg.setPixel(i, j, p); accR = 0; accG = 0; accB = 0; } } #endregion #region 1d mask go over columns for (uint i = 0; i < img.Width; ++i) { for (uint j = 0; j < img.Height; ++j) { for (int k = (int)j - mid, maskind = 0; k < (mid + j); ++k, ++maskind) { if (k >= 0 && k < img.Height) { p = rowimg.getPixel(i, (uint)k); accR += (byte)(p.R * values[maskind]); accG += (byte)(p.G * values[maskind]); accB += (byte)(p.B * values[maskind]); } } p.R = accR; p.G = accG; p.B = accB; finalimg.setPixel(i, j, p); accR = 0; accG = 0; accB = 0; } } #endregion return(finalimg); }
private void OnSetExclusivePostProcessing(object sender, EventArgs e) { if (sender == btnFisheye) { PostProcessing fisheye = renderView1.Renderer.GetPostProcessing("fisheye"); btnFisheye.Checked = !btnFisheye.Checked; renderView1.CubeBasedPostProcessing = btnFisheye.Checked ? fisheye : null; } }
public void SetPostProcessings(List <string> postProcessingEffects) { renderer.PostProcessings.Clear(); foreach (string effectId in postProcessingEffects) { PostProcessing pp = renderer.GetPostProcessing(effectId); renderer.PostProcessings.Add(pp); } Invalidate(); }
public static void Run() { try { // ExStart:RenderPanaromaViewof3DScene //load the scene Scene scene = new Scene(RunExamples.GetDataFilePath("VirtualCity.glb")); //create a camera for capturing the cube map Camera cam = new Camera(ProjectionType.Perspective) { NearPlane = 0.1, FarPlane = 200, RotationMode = RotationMode.FixedDirection }; scene.RootNode.CreateChildNode(cam).Transform.Translation = new Vector3(5, 6, 0); //create two lights to illuminate the scene scene.RootNode.CreateChildNode(new Light() { LightType = LightType.Point }).Transform.Translation = new Vector3(-10, 7, -10); scene.RootNode.CreateChildNode(new Light() { Color = new Vector3(Color.CadetBlue) }).Transform.Translation = new Vector3(49, 0, 49); //create a renderer using (var renderer = Renderer.CreateRenderer()) { //Create a cube map render target with depth texture, depth is required when rendering a scene. IRenderTexture rt = renderer.RenderFactory.CreateCubeRenderTexture(new RenderParameters(false), 512, 512); //create a 2D texture render target with no depth texture used for image processing IRenderTexture final = renderer.RenderFactory.CreateRenderTexture(new RenderParameters(false, 32, 0, 0), 1024 * 3, 1024); //a viewport is required on the render target rt.CreateViewport(cam, RelativeRectangle.FromScale(0, 0, 1, 1)); renderer.Render(rt); //execute the equirectangular projection post-processing with the previous rendered cube map as input PostProcessing equirectangular = renderer.GetPostProcessing("equirectangular"); //Specify the cube map rendered from the scene as this post processing's input equirectangular.Input = rt.Targets[0]; //Execute the post processing effect and save the result to render target final renderer.Execute(equirectangular, final); //save the texture into disk ((ITexture2D)final.Targets[0]).Save(RunExamples.GetOutputFilePath("panaroma.png"), ImageFormat.Png); } // ExEnd:RenderPanaromaViewof3DScene } catch (Exception ex) { Console.WriteLine(ex.Message); } }
private void RegisterLate() { if (!IsServer || _registerLate) { return; } Definitions.Register(); Drones.Drones.Register(); PostProcessing.Register(); MyAPIGateway.Utilities.InvokeOnGameThread(() => SetUpdateOrder(MyUpdateOrder.NoUpdate)); GeneralLog.WriteToLog("Core", $"RegisterLate Complete... {UpdateOrder}"); _registerLate = true; }
/// <summary> /// Change the post processing for a download (slot) /// </summary> /// <param name="id">string with the id of the slot</param> /// <param name="postProcessing">PostProcessing</param> /// <param name="cancellationToken">CancellationToken</param> public async Task ChangePostProcessingAsync(string id, PostProcessing postProcessing, CancellationToken cancellationToken = default) { // api?mode=change_opts&value=SABnzbd_nzo_zt2syz&value2=0 var changePostProcessingUri = SabNzbApiUri.ExtendQuery(new Dictionary <string, string> { { "mode", "change_opts" }, { "value", id }, { "value2", ((int)postProcessing).ToString() } }); _behaviour.MakeCurrent(); await changePostProcessingUri.GetAsAsync <string>(cancellationToken); }
public static void SetTime(float time, float duration = 0) { if (duration <= 0) { Time.timeScale = time; return; } Instance.StartCoroutine(PostProcessing.AnimateEffect((float value) => { Time.timeScale = value; }, Time.timeScale, time, duration)); }
//@imyjimmy called by PostProcessing.GenerateMeshes(List<Vector3> vertices, List<Vector3> normals, //List<int> triangles, List<Color32> colors, int[] ss, //string tag="RibbonObj", string gameobj="Ribbons") public List <Mesh> Split(MeshData mData, PostProcessing postprocessing) { Debug.Log("inside Split(mData);"); if (pp == null) { pp = postprocessing; } LoadBox = GameObject.Find("LoadBox"); triangles = mData.triangles; vertices = mData.vertices; normals = mData.normals; colors = mData.colors; meshes = new List <Mesh>(); //get the mapping of each individual residue to its associated normals, triangles, vertices, colors. residueSeq = mData.residueSeq; if (UI.UIData.isGLIC) { vertexLimit = 59520; } // Small meshes don't need to be split if (mData.vertices.Length < vertexLimit) { Debug.Log("Within vertex limit.\nVertices size : " + vertices.Length); Debug.Log("triangle size : " + triangles.Length); debug(); Mesh mesh = new Mesh(); mesh.vertices = vertices; mesh.triangles = triangles; mesh.normals = normals; mesh.colors32 = colors; meshes.Add(mesh); return(meshes); } lastIndex = triangles.Length; int resNum = 0; while (currentIndex < lastIndex) { FillMesh(resNum); } return(meshes); }
private static void Close() { if (!IsServer) { return; } GeneralLog.WriteToLog("Core", "Unloading..."); CubeProcessing.Close(); Drones.Drones.Close(); PostProcessing.Close(); Definitions.Close(); Messaging.Close(); ProfilerLog.Close(); GeneralLog.Close(); }
protected override void OnRenderFrame(FrameEventArgs e) { base.OnRenderFrame(e); Time.AddTime((float)e.Time); DateTime frameStart = DateTime.Now; PostProcessing.GetInstance().PreRender(); Render(); PostProcessing.GetInstance().Prepare2D(); Render2D(); PostProcessing.GetInstance().PostRender(); this.SwapBuffers(); if (GlobalSettings.Default.improvedLatency) { GL.Finish(); } #region "Framerate logic" DateTime frameEnd = DateTime.Now; if (GlobalSettings.Default.frameCap > 0 && (frameEnd - frameStart).TotalMilliseconds < 1000.0f / GlobalSettings.Default.frameCap) { Thread.Sleep((int)((1000.0f / GlobalSettings.Default.frameCap) - (frameEnd - frameStart).TotalMilliseconds)); } ++framesLastSecond; Time.lastFrameTime = (frameEnd - frameStart).TotalSeconds; if ((DateTime.Now - lastFrameCollection).TotalMilliseconds >= 1000) { OneSecondPassed(); //Logging.Write(1000.0f/(frameEnd-frameStart).TotalMilliseconds + "FPS"); for (int i = 0; i < 99; ++i) { frameRateGraph[i + 1] = frameRateGraph[i]; } frameRateGraph[99] = (int)(1000.0f / (frameEnd - frameStart).TotalMilliseconds); framesLastSecond = 0; lastFrameCollection = DateTime.Now; } #endregion if (firstFrameRendered) { return; } firstFrameRendered = true; }
private Vector3 CharacterSwim() { if (!IsStay) { IsCrouching = true; CharacterCrouch(); } if (MainCamera.transform.position.y <= WaterType.WaterLevelY) { IsDiving = true; if (!IsNewPostProcessingProfile) { IsNewPostProcessingProfile = true; PostProcessing.GetComponent <PostProcessVolume>().profile = WaterType.Profile; } } else { IsDiving = false; if (IsNewPostProcessingProfile) { IsNewPostProcessingProfile = false; PostProcessing.GetComponent <PostProcessVolume>().profile = DefaultPostProcessingProfile; } } CurrentAir = IsDiving ? CurrentAir - Time.deltaTime : Air; Vector2 movementDirection = PlayerControls.Player.Move.ReadValue <Vector2>(); Vector3 resultMoveVector = Vector3.zero; if (CurrentSpeedXZ < SwimingSpeed) { CurrentSpeedXZ += SwimingAcceleratorSpeed * Time.deltaTime; } if (PlayerControls.Player.Move.phase == InputActionPhase.Started) { resultMoveVector = MainCamera.transform.forward * movementDirection.y * CurrentSpeedXZ + MainCamera.transform.right * movementDirection.x * CurrentSpeedXZ / 2; } else { CurrentSpeedXZ = 0; } resultMoveVector.y += CurrentSpeedY; return(resultMoveVector); }
// ExStart:RenderSceneWithPanoramaInDepth public static void Run() { // The path to the documents directory. string dataDir = RunExamples.GetDataDir(); //load the scene Scene scene = new Scene(dataDir + "skybox.obj"); //create a camera for capturing the cube map Camera cam = new Camera(ProjectionType.Perspective); cam.NearPlane = 0.1; cam.FarPlane = 200; scene.RootNode.CreateChildNode(cam).Transform.Translation = new Vector3(5, 6, 0); cam.RotationMode = RotationMode.FixedDirection; //create two lights to illuminate the scene scene.RootNode.CreateChildNode(new Light() { LightType = LightType.Point }).Transform.Translation = new Vector3(-10, 7, -10); scene.RootNode.CreateChildNode(new Light() { LightType = LightType.Point, ConstantAttenuation = 0.1, Color = new Vector3(Color.CadetBlue) }).Transform.Translation = new Vector3(49, 0, 49); //create a render target using (var renderer = Renderer.CreateRenderer()) { //Create a cube map render target with depth texture, depth is required when rendering a scene. IRenderTexture rt = renderer.RenderFactory.CreateCubeRenderTexture(new RenderParameters(false), 512, 512); //create a 2D texture render target with no depth texture used for image processing IRenderTexture final = renderer.RenderFactory.CreateRenderTexture(new RenderParameters(false, 32, 0, 0), 1024 * 3, 1024); //a viewport is required on the render target rt.CreateViewport(cam, RelativeRectangle.FromScale(0, 0, 1, 1)); renderer.ShaderSet = CreateDepthShader(renderer); renderer.Render(rt); //execute the equirectangular projection post-processing with the previous rendered cube map as input PostProcessing equirectangular = renderer.GetPostProcessing("equirectangular"); equirectangular.Input = rt.Targets[0]; renderer.Execute(equirectangular, final); //save the texture into disk ((ITexture2D)final.Targets[0]).Save(dataDir + "RenderSceneWithPanoramaInDepth_Out.png", ImageFormat.Png); } }
public BattleMenu() { PostProcessing.Add((IRequireResource)this); punch = new Button(); punch.Area = new Rectangle(19, 515, 125, 61); punch.OnMouseUp = delegate { }; jump = new Button(); jump.Area = new Rectangle(147, 515, 125, 61); jump.OnMouseUp = delegate { }; arms = new Button(); arms.Area = new Rectangle(274, 515, 125, 61); arms.OnMouseUp = delegate { currState = BMenuState.ARMS; }; magick = new Button(); magick.Area = new Rectangle(402, 515, 125, 61); magick.OnMouseUp = delegate { currState = BMenuState.SKILL; }; items = new Button(); items.Area = new Rectangle(529, 515, 125, 61); items.OnMouseUp = delegate { currState = BMenuState.ITEM; }; run = new Button(); run.Area = new Rectangle(657, 515, 125, 61); run.OnMouseUp = delegate { }; menu = new Menu(); menu.Add(punch); menu.Add(jump); menu.Add(arms); menu.Add(magick); menu.Add(items); menu.Add(run); }
private void Awake() { if (Instance != null) { Destroy(gameObject); return; } Instance = this; DontDestroyOnLoad(gameObject); Environment = gameObject.GetComponentInChildren <Environment>(); Camera = player.GetComponent <CameraBehaviour>(); UI = gameObject.GetComponentInChildren <UserInterface>(); PostProcessing.Initialize(GetComponent <Volume>()); SceneManager.sceneLoaded += OnSceneLoaded; }
/// <summary> /// LoadContent will be called once per game and is the place to load /// all of your content. /// </summary> protected override void LoadContent() { // Create a new SpriteBatch, which can be used to draw textures. spriteBatch = new SpriteBatch(GraphicsDevice); Resources.InitResources(Content); whitePixel = new Texture2D(GraphicsDevice, 1, 1); whitePixel.SetData <Color>(new Color[] { Color.White }); PostProcessing.Res(Content); Convo.Conversation.LoadRes(Content); StickXNAEngine.Audio.Song.Repeat = true; MediaPlayer.Volume = 0.8f; // TODO: use this.Content to load your game content here }
/// <summary> /// Allows the game to perform any initialization it needs to before starting to run. /// This is where it can query for any required services and load any non-graphic /// related content. Calling base.Initialize will enumerate through any components /// and initialize them as well. /// </summary> protected override void Initialize() { // TODO: Add your initialization logic here Room tr = new TestRoom(); StaticVars.CurrRoom = tr; StaticVars.player = new Protagonist(); StaticVars.player.Loc = new Point(588, 696); StaticVars.adamenu = new ADAMenu(); new DerelictLaboratory.Room1(); StaticVars.inst = this; PostProcessing.Init(); Console.WriteLine("This Console Box is here for debug testing purposes ONLY!\n"); base.Initialize(); }
public void Update() { if (ribbons == null) { ribbons = scene.ribbons; } if (postprocessing == null) { postprocessing = ribbons.postprocessing; } if (split == null) { split = postprocessing.split; } if (!SplitRegisteredEvents) { SplitRegisteredEvents = split.RegisterEvents(); } // Debug.Log("splitting script: " + split); }
public override void Init() { Icon = System.Drawing.Icon.ExtractAssociatedIcon(AppDomain.CurrentDomain.FriendlyName); Title = "race test"; PostProcessing.GetInstance().frameBufferMaterial = new MaterialBuilder() .Build() .SetName("Standard Object Material") .Attach(new Shader("Shaders\\2D\\vert.glsl", ShaderType.VertexShader)) .Attach(new Shader("Shaders\\Framebuffer\\frag.glsl", ShaderType.FragmentShader)) .Link() .GetMaterial(); currentScreen = new Splash(); currentScreen.Init(); label = new BitmapLabel(new BitmapFont(TextureLoader.LoadAsset("Content\\Fonts\\5x10mono.png"), new Vector2(5, 10), new Vector2(0, 0), new char[] { '!', '\"', '#', '$', '%', '&', '\'', '(', ')', '*', '+', ',', '-', '.', '/', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ':', ';', '<', '=', '>', '?', '@', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '[', '\\', ']', '^', '_', '`', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '{', '|', '}', '~', '¦' }), new Vector2(16, 16), ""); mainGame = new GameScreen(); mainGame.Init(); }
//Chamado apenas uma vez quando inicializa a janela protected override void OnLoad(EventArgs e) { // Carrega o arquivo da cena e consequentemente os modelos 3D listados no arquivo json scene = new Scene.Scene("scenes/scene.json"); GL.ClearColor(0.2f, 0.3f, 0.3f, 1.0f); GL.Enable(EnableCap.Multisample); GL.Enable(EnableCap.DepthTest); GL.DepthFunc(DepthFunction.Less); GL.DepthMask(true); GL.DepthRange(scene._camera._near, scene._camera._far); // Carrega o shader de pós processamento para aplicar na cena quando a tecla P ser pressionada postProcessing = new PostProcessing(Width, Height, "./examples_shader/quad_shader.vert", "./examples_shader/quad_shader.frag"); CursorVisible = false; CursorGrabbed = true; // Carrega o shader do skybox com as imagens skybox_[direcao].jpg skybox = new Skybox("skybox"); base.OnLoad(e); }
public static Image SobelEdgeMagnitude(Image img1, Image img2, PostProcessing op) { Image nimage = new Image(img1.Width, img1.Height, img1.Components); for (uint i = 0; i < img1.Height; ++i) { for (uint j = 0; j < img1.Width; ++j) { Pixel p1 = img1.getPixel(j, i); Pixel p2 = img2.getPixel(j, i); double rr = p1.R + p2.R; double gg = p1.G + p2.G; double bb = p1.B + p2.B; Pixel np = new Pixel(); if (op == PostProcessing.CUTOFF) { rr = Clamp(0, 255, rr); gg = Clamp(0, 255, gg); bb = Clamp(0, 255, bb); np = new Pixel((byte)rr, (byte)gg, (byte)bb, 0); } else if (op == PostProcessing.NORMALIZATION) { rr = Normalization(0, 500, rr); gg = Normalization(0, 500, gg); bb = Normalization(0, 500, bb); np = new Pixel((byte)(rr * 255), (byte)(gg * 255), (byte)(bb * 255), 0); } nimage.setPixel(j, i, np); } } //Image nimage = ImageOperation.Add(img1, img2, 1); return(nimage); }
public static Image SobelEdgeMagnitude(Image img1, Image img2, PostProcessing op) { Image nimage = new Image(img1.Width, img1.Height, img1.Components); for (uint i = 0; i < img1.Height;++i ) { for (uint j = 0; j < img1.Width; ++j) { Pixel p1 = img1.getPixel(j, i); Pixel p2 = img2.getPixel(j, i); double rr = p1.R + p2.R; double gg = p1.G + p2.G; double bb = p1.B + p2.B; Pixel np = new Pixel(); if (op == PostProcessing.CUTOFF) { rr = Clamp(0, 255, rr); gg = Clamp(0, 255, gg); bb = Clamp(0, 255, bb); np = new Pixel((byte)rr, (byte)gg, (byte)bb, 0); } else if (op == PostProcessing.NORMALIZATION) { rr = Normalization(0, 500, rr); gg = Normalization(0, 500, gg); bb = Normalization(0, 500, bb); np = new Pixel((byte)(rr * 255), (byte)(gg * 255), (byte)(bb * 255), 0); } nimage.setPixel(j, i, np); } } //Image nimage = ImageOperation.Add(img1, img2, 1); return nimage; }
void Awake() { finale = FindObjectOfType<FinaleController>(); playerFX = transform.Find("PlayerPedestal/Player/PlayerCamera").GetComponent<PostProcessing>(); playerFlare = transform.Find("PlayerPedestal/Player/PlayerCamera").GetComponent<FlareLayer>(); destroyables = FindObjectsOfType<PortalDestroy>(); stateAudio = transform.Find("GameAudio/StateAudio").GetComponents<AudioSource>(); pauseMenu = transform.Find("GameUI/PauseMenu").GetComponent<PauseMenu>(); if (GAME_COMPLETE && FindObjectOfType<LivingRoomController>() != null) canPause = false; }
public static Image LinearFilter(Image img, double[,] values, int OriginX, int OriginY, PostProcessing op) { Image nimage = new Image(img.Width, img.Height, img.Components); int top = OriginY; int down = values.GetLength(0) - top; int left = OriginX; int right = values.GetLength(1) - left; double[,] reds = new double[img.Height, img.Width]; double[,] greens = new double[img.Height, img.Width]; double[,] blues = new double[img.Height, img.Width]; double min = double.MaxValue; double max = double.MinValue; for (uint i = 0; i < img.Height; ++i) { for (uint j = 0; j < img.Width; ++j) { uint nx = 0; uint ny = 0; double rr = 0; double gg = 0; double bb = 0; for (int x = (int)(i - top); x < (int)(i + down); ++x, nx++) { for (int y = (int)(j - left); y < (int)(j + right); ++y, ny++) { Pixel p; if (x < 0 || x >= img.Height || y < 0 || y >= img.Width) p = new Pixel(0, 0, 0, 0); else { p = img.getPixel((uint)y, (uint)x); } rr += p.R * values[ny, nx]; gg += p.G * values[ny, nx]; bb += p.B * values[ny, nx]; } ny = 0; } min = Math.Min(min, Math.Min(rr, Math.Min(gg, bb))); max = Math.Max(max, Math.Max(rr, Math.Max(gg, bb))); reds[i, j] = rr; greens[i, j] = gg; blues[i, j] = bb; } } for (uint i = 0; i < img.Height; ++i) { for (uint j = 0; j < img.Width; ++j) { double rr = reds[i, j]; double gg = greens[i, j]; double bb = blues[i, j]; Pixel np = new Pixel(); if (op == PostProcessing.NO) { np = new Pixel((byte)rr, (byte)gg, (byte)bb, 0); } else if (op == PostProcessing.ABSOLUTE) { rr = Math.Abs(rr); gg = Math.Abs(gg); bb = Math.Abs(bb); np = new Pixel((byte)rr, (byte)gg, (byte)bb, 0); } else if (op == PostProcessing.CUTOFF) { rr = Clamp(0, 255, rr); gg = Clamp(0, 255, gg); bb = Clamp(0, 255, bb); np = new Pixel((byte)rr, (byte)gg, (byte)bb, 0); } else if (op == PostProcessing.NORMALIZATION) { rr = Normalization(min, max, rr); gg = Normalization(min, max, gg); bb = Normalization(min, max, bb); np = new Pixel((byte)(rr * 255), (byte)(gg * 255), (byte)(bb * 255), 0); } nimage.setPixel(j, i, np); } } return nimage; }
public static Image LinearFilter(Image img, double[,] values, int OriginX, int OriginY, PostProcessing op) { Image nimage = img.Clone(); int top = values.GetLength(0) - OriginY; int down = values.GetLength(0) - top; int left = values.GetLength(1) - OriginX; int right = values.GetLength(1) - left; for (uint i = 0; i < img.Height; ++i) { for (uint j = 0; j < img.Width; ++j) { uint nx = 0; uint ny = 0; double rr = 0; double gg = 0; double bb = 0; for (int x = (int)(i - top); x < (int)(i + down); ++x, nx++) { for (int y = (int)(j - left); y < (int)(j + right); ++y, ny++) { Pixel p; if (x < 0 || x >= img.Height || y < 0 || y >= img.Width) p = new Pixel(0, 0, 0, 0); else { p = img.getPixel((uint)y, (uint)x); } rr += p.R * values[nx, ny]; gg += p.G * values[nx, ny]; bb += p.B * values[nx, ny]; } ny = 0; } Pixel np = new Pixel(); if (op == PostProcessing.NO) { np = new Pixel((byte)rr, (byte)gg, (byte)bb, 0); } else if (op == PostProcessing.ABSOLUTE) { } else if (op == PostProcessing.CUTOFF) { rr = Clamp(0, 255, rr); gg = Clamp(0, 255, gg); bb = Clamp(0, 255, bb); np = new Pixel((byte)rr, (byte)gg, (byte)bb, 0); } else if (op == PostProcessing.NORMALIZATION) { rr = rr / (/*values.GetLength(0) * values.GetLength(1) */ 255.0); gg = gg / (/*values.GetLength(0) * values.GetLength(1) */ 255.0); bb = bb / (/*values.GetLength(0) * values.GetLength(1) */ 255.0); np = new Pixel((byte)(rr * 255), (byte)(gg * 255), (byte)(bb * 255), 0); } nimage.setPixel(j, i, np); } } return nimage; }
public static Image LinearFilter1d(Image img, double[] values, PostProcessing op) { Image rowimg = new Image(img.Width,img.Height,img.Components); Image finalimg = new Image(img.Width, img.Height, img.Components); int mid = values.GetLength(0) / 2; byte accR = 0, accG = 0, accB = 0; Pixel p = new Pixel(); #region 1d mask go over rows for (uint j = 0; j < img.Height; ++j) { for (uint i = 0; i < img.Width; ++i) { for (int k = (int)i - mid, maskind = 0; k < (mid + i); ++k, ++maskind) { if (k >= 0&&k<img.Width) { p = img.getPixel((uint)k, j); accR += (byte)(p.R * values[maskind]); accG += (byte)(p.G * values[maskind]); accB += (byte)(p.B * values[maskind]); } } p.R = accR; p.G = accG; p.B = accB; rowimg.setPixel(i, j, p); accR = 0; accG = 0; accB = 0; } } #endregion #region 1d mask go over columns for (uint i = 0; i < img.Width; ++i) { for (uint j = 0; j < img.Height; ++j) { for (int k = (int)j - mid, maskind = 0; k < (mid + j); ++k, ++maskind) { if (k >= 0 && k < img.Height) { p = rowimg.getPixel(i, (uint)k); accR += (byte)(p.R * values[maskind]); accG += (byte)(p.G * values[maskind]); accB += (byte)(p.B * values[maskind]); } } p.R = accR; p.G = accG; p.B = accB; finalimg.setPixel(i, j, p); accR = 0; accG = 0; accB = 0; } } #endregion return finalimg; }
/// <summary> /// Reads the whole configuration /// </summary> private void ReadConfig() { try { ExtensionSettings mplayerSetting = new ExtensionSettings(".mplayer", PlayMode.Unrecognized, "", true); _extensionSettings = new Dictionary<string, ExtensionSettings>(); _extensionSettings.Add(mplayerSetting.Name, mplayerSetting); _extensionSettingsExtPlayer = new Dictionary<string, ExtensionSettings>(); _extensionSettingsExtPlayer.Add(mplayerSetting.Name, mplayerSetting); ExtensionSettings settings; using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings(Config.GetFile(Config.Dir.Config, "MediaPortal.xml"))) { _osdMode = (OSDMode)xmlreader.GetValueAsInt("mplayer", "osd", (int)OSDMode.InternalMPlayer); _rebuildIndex = xmlreader.GetValueAsBool("mplayer", "rebuildIndex", false); _priorityBoost = xmlreader.GetValueAsBool("mplayer", "priorityBoost", true); _framedrop = xmlreader.GetValueAsBool("mplayer", "framedrop", false); _doubleBuffering = xmlreader.GetValueAsBool("mplayer", "doubleBuffering", true); _directRendering = xmlreader.GetValueAsBool("mplayer", "directRendering", true); _audioNormalize = xmlreader.GetValueAsBool("mplayer", "audioNormalize", false); _passthroughAC3_DTS = xmlreader.GetValueAsBool("mplayer", "passthroughAC3DTS", false); _soundOutputDriver = (SoundOutputDriver)xmlreader.GetValueAsInt("mplayer", "soundOutputDriver", (int)SoundOutputDriver.DirectSound); _soundOutputDevice = xmlreader.GetValueAsInt("mplayer", "soundOutputDevice", 0); _deinterlace = (Deinterlace)xmlreader.GetValueAsInt("mplayer", "deinterlace", (int)Deinterlace.Adaptive); _aspectRatio = (AspectRatio)xmlreader.GetValueAsInt("mplayer", "aspectRatio", (int)AspectRatio.Automatic); _postProcessing = (PostProcessing)xmlreader.GetValueAsInt("mplayer", "postProcessing", (int)PostProcessing.Maximum); _audioChannels = (AudioChannels)xmlreader.GetValueAsInt("mplayer", "audioChannels", (int)AudioChannels.Default); _noiseDenoise = (NoiseDenoise)xmlreader.GetValueAsInt("mplayer", "noise", (int)NoiseDenoise.Nothing); _cacheSize = xmlreader.GetValueAsInt("mplayer", "cacheSize", 0); _audioDelayStep = xmlreader.GetValueAsInt("mplayer", "audioDelayStep", 100); _subtitleDelayStep = xmlreader.GetValueAsInt("mplayer", "subtitleDelayStep", 100); _subtitlePosition = xmlreader.GetValueAsInt("mplayer", "subtitlePosition", 100); _subtitleSize = xmlreader.GetValueAsInt("mplayer", "subtitleSize", 5); string subtitleFontName = xmlreader.GetValueAsString("mplayer", "subtitleFontName", "Arial"); _subtitleFontSet = CheckSubtitleFont(subtitleFontName, out _subtitleFontFileName); _mplayerPath = xmlreader.GetValueAsString("mplayer", "mplayerPath", "C:\\Program Files\\MPlayer\\"); xmlreader.GetValueAsString("mplayer", "mplayerPath", "C:\\Program Files\\MPlayer\\Mplayer.exe"); string arguments = xmlreader.GetValueAsString("mplayer", "generalArguments", ""); settings = new ExtensionSettings("general", PlayMode.Unrecognized, arguments, false); _extensionSettings.Add(settings.Name, settings); arguments = xmlreader.GetValueAsString("mplayer", "dvdArguments", String.Empty); settings = new ExtensionSettings("dvd://", PlayMode.Video, arguments, false); _extensionSettings.Add(settings.Name, settings); arguments = xmlreader.GetValueAsString("mplayer", "vcdArguments", String.Empty); settings = new ExtensionSettings("vcd://", PlayMode.Video, arguments, false); _extensionSettings.Add(settings.Name, settings); arguments = xmlreader.GetValueAsString("mplayer", "svcdArguments", String.Empty); settings = new ExtensionSettings("svcd://", PlayMode.Video, arguments, false); _extensionSettings.Add(settings.Name, settings); arguments = xmlreader.GetValueAsString("mplayer", "cueArguments", String.Empty); settings = new ExtensionSettings("cue://", PlayMode.Unrecognized, arguments, false); _extensionSettings.Add(settings.Name, settings); arguments = xmlreader.GetValueAsString("mplayer", "ftpArguments", String.Empty); settings = new ExtensionSettings("ftp://", PlayMode.Unrecognized, arguments, false); _extensionSettings.Add(settings.Name, settings); arguments = xmlreader.GetValueAsString("mplayer", "httpArguments", String.Empty); settings = new ExtensionSettings("http://", PlayMode.Unrecognized, arguments, false); _extensionSettings.Add(settings.Name, settings); settings = new ExtensionSettings("http_proxy://", PlayMode.Unrecognized, arguments, false); _extensionSettings.Add(settings.Name, settings); arguments = xmlreader.GetValueAsString("mplayer", "mmsArguments", String.Empty); settings = new ExtensionSettings("mms://", PlayMode.Unrecognized, arguments, false); _extensionSettings.Add(settings.Name, settings); settings = new ExtensionSettings("mmst://", PlayMode.Unrecognized, arguments, false); _extensionSettings.Add(settings.Name, settings); arguments = xmlreader.GetValueAsString("mplayer", "mpstArguments", String.Empty); settings = new ExtensionSettings("mpst://", PlayMode.Unrecognized, arguments, false); _extensionSettings.Add(settings.Name, settings); arguments = xmlreader.GetValueAsString("mplayer", "rtspArguments", String.Empty); settings = new ExtensionSettings("rtsp://", PlayMode.Unrecognized, arguments, false); _extensionSettings.Add(settings.Name, settings); settings = new ExtensionSettings("rtp://", PlayMode.Unrecognized, arguments, false); _extensionSettings.Add(settings.Name, settings); arguments = xmlreader.GetValueAsString("mplayer", "sdpArguments", String.Empty); settings = new ExtensionSettings("sdp://", PlayMode.Unrecognized, arguments, false); _extensionSettings.Add(settings.Name, settings); arguments = xmlreader.GetValueAsString("mplayer", "udpArguments", String.Empty); settings = new ExtensionSettings("udp://", PlayMode.Unrecognized, arguments, false); _extensionSettings.Add(settings.Name, settings); arguments = xmlreader.GetValueAsString("mplayer", "unsvArguments", String.Empty); settings = new ExtensionSettings("unsv://", PlayMode.Unrecognized, arguments, false); _extensionSettings.Add(settings.Name, settings); _enableSubtitles = xmlreader.GetValueAsBool("mplayer", "enableSubtitles", false); _videoOutputDriver = (VideoOutputDriver)xmlreader.GetValueAsInt("mplayer", "videoOutputDriver", (int)VideoOutputDriver.DirectX); string timeout = (xmlreader.GetValueAsString("movieplayer", "skipsteptimeout", "1500")); if (timeout == string.Empty) _seekStepTimeout = 1500; else _seekStepTimeout = Convert.ToInt16(timeout); String m_strLanguage = xmlreader.GetValueAsString("skin", "language", "English"); LocalizeStrings.Load(m_strLanguage); } LoadXMLData(); } catch (Exception e) { Log.Error(e); } _supportedExtensions = new String[_extensionSettingsExtPlayer.Count]; _extensionSettingsExtPlayer.Keys.CopyTo(_supportedExtensions, 0); }
void Awake() { // If there's no save file, don't bother with any loading. Just go straight to the living room if (!File.Exists(filename)) { SceneManager.LoadScene(1); return; } // Otherwise, we have something to load. Get the data from the save file and store it BinaryFormatter bf = new BinaryFormatter(); FileStream file = File.Open(filename, FileMode.Open); data = (GameSaveData)bf.Deserialize(file); file.Close(); printGameSaveData(data); text = GameObject.Find("Text").GetComponent<Text>(); textActive = GameObject.Find("TextActive").GetComponent<Text>(); textDisabled = GameObject.Find("TextDisabled").GetComponent<Text>(); textOutline = GameObject.Find("Text").GetComponent<Outline>(); textActiveOutline = GameObject.Find("TextActive").GetComponent<Outline>(); textDisabledOutline = GameObject.Find("TextDisabled").GetComponent<Outline>(); sounds = GetComponents<AudioSource>(); fx = FindObjectOfType<PostProcessing>(); audioExtrasPlayer = transform.Find("AudioExtras").GetComponent<AudioSource>(); dataCompletion = gameCompletion(data); tMain[0] = "== " + dataCompletion + "% COMPLETE ==" + tMain[0]; }