Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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();
        }
Ejemplo n.º 3
0
    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();
    }
Ejemplo n.º 4
0
        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));
        }