Exemplo n.º 1
0
    // Mesh-Render Mode Drawing
    static public void OnRender(LightingMainBuffer2D mainBuffer)
    {
        Camera camera = mainBuffer.cameraSettings.GetCamera();

        if (camera == null)
        {
            return;
        }

        if (mainBuffer.cameraSettings.renderMode == CameraSettings.RenderMode.Disabled)
        {
            return;
        }

        if (Lighting2D.RenderingMode != RenderingMode.OnRender)
        {
            return;
        }

        OnRenderMode onRenderMode = OnRenderMode.Get(mainBuffer);

        if (onRenderMode == null)
        {
            return;
        }

        onRenderMode.UpdatePosition();

        if (onRenderMode.meshRenderer != null)
        {
            if (mainBuffer.cameraSettings.renderMode == CameraSettings.RenderMode.Hidden)
            {
                onRenderMode.meshRenderer.enabled = false;
                return;
            }

            onRenderMode.meshRenderer.enabled = true;
            if (onRenderMode.meshRenderer.sharedMaterial != mainBuffer.GetMaterial())
            {
                onRenderMode.meshRenderer.sharedMaterial = mainBuffer.GetMaterial();
            }

            if (onRenderMode.meshRenderer.sharedMaterial == null)
            {
                onRenderMode.meshRenderer.sharedMaterial = mainBuffer.GetMaterial();
            }
        }
    }
Exemplo n.º 2
0
    // Post-Render Mode Drawing
    public static void PostRender(LightingMainBuffer2D mainBuffer)
    {
        Camera camera = mainBuffer.cameraSettings.GetCamera();

        if (camera == null)
        {
            return;
        }

        if (mainBuffer.cameraSettings.renderMode == CameraSettings.RenderMode.Disabled)
        {
            return;
        }

        if (Lighting2D.RenderingMode != RenderingMode.OnPostRender)
        {
            return;
        }

        if (Camera.current != camera)
        {
            return;
        }

        Rendering.Universal.Texture.Draw(mainBuffer.GetMaterial(), LightingPosition.GetCameraPlanePosition(camera), GetSize(camera), camera.transform.eulerAngles.z, LightingPosition.GetCameraPlanePosition(camera).z);
    }
Exemplo 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();
    }
Exemplo n.º 4
0
    // Graphics.Draw() Mode Drawing
    static public void PreRender(LightingMainBuffer2D mainBuffer)
    {
        Camera camera = mainBuffer.cameraSettings.GetCamera();

        if (camera == null)
        {
            return;
        }

        if (mainBuffer.cameraSettings.renderMode == CameraSettings.RenderMode.Disabled)
        {
            return;
        }

        if (Lighting2D.RenderingMode != RenderingMode.OnPreRender)
        {
            return;
        }

        Graphics.DrawMesh(LightingRender2D.GetMesh(), Matrix4x4.TRS(LightingPosition.GetCameraPlanePosition(camera), camera.transform.rotation, GetSize(camera)), mainBuffer.GetMaterial(), 0, camera);
    }