public static void Update(LightingMainBuffer2D buffer) { BufferPreset bufferPreset = buffer.GetBufferPreset(); if (bufferPreset == null) { buffer.DestroySelf(); return; } if (Rendering.LightingMainBuffer.Check.CameraSettings(buffer) == false) { buffer.DestroySelf(); return; } Camera camera = buffer.cameraSettings.GetCamera(); if (camera == null) { return; } Rendering.LightingMainBuffer.Check.RenderTexture(buffer); }
public static void Render(LightingMainBuffer2D buffer) { Camera camera = buffer.cameraSettings.GetCamera(); if (camera == null) { return; } float cameraRotation = LightingPosition.GetCameraRotation(camera); Matrix4x4 matrix = Matrix4x4.TRS(Vector3.zero, Quaternion.Euler(0, 0, cameraRotation), Vector3.one); float sizeY = camera.orthographicSize; float sizeX = sizeY * ((float)camera.pixelWidth / camera.pixelHeight); GL.LoadPixelMatrix(-sizeX, sizeX, -sizeY, sizeY); GL.MultMatrix(matrix); GL.PushMatrix(); BufferPreset bufferPreset = buffer.GetBufferPreset(); Rendering.Day.Main.Draw(camera, bufferPreset); Rendering.Night.Main.Draw(camera, bufferPreset); GL.PopMatrix(); }
public void Initialize(LightingMainBuffer2D mainBuffer) { gameObject.transform.parent = Buffers.Get().transform; meshRenderer = gameObject.AddComponent <MeshRenderer>(); meshRenderer.sharedMaterial = mainBuffer.GetMaterial(); BufferPreset bufferPreset = mainBuffer.GetBufferPreset(); bufferPreset.sortingLayer.ApplyToMeshRenderer(meshRenderer); // Disable Mesh Renderer Settings meshRenderer.shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off; meshRenderer.receiveShadows = false; meshRenderer.lightProbeUsage = UnityEngine.Rendering.LightProbeUsage.Off; meshRenderer.reflectionProbeUsage = UnityEngine.Rendering.ReflectionProbeUsage.Off; meshRenderer.allowOcclusionWhenDynamic = false; UpdatePosition(); meshFilter = gameObject.AddComponent <MeshFilter>(); meshFilter.mesh = LightingRender2D.GetMesh(); }
static public Vector2Int GetScreenResolution(LightingMainBuffer2D buffer) { BufferPreset bufferPreset = buffer.GetBufferPreset(); if (bufferPreset == null) { return(Vector2Int.zero); } Camera camera = buffer.cameraSettings.GetCamera(); if (camera == null) { return(Vector2Int.zero); } float resolution = bufferPreset.lightingResolution; int screenWidth = (int)(camera.pixelRect.width * resolution); int screenHeight = (int)(camera.pixelRect.height * resolution); return(new Vector2Int(screenWidth, screenHeight)); }