Пример #1
0
        /// <summary>
        /// Add a pipeline function.
        /// </summary>
        /// <param name="function">Pipeline function.</param>
        /// <returns>Pipeline.</returns>
        public Pipeline AddFunction(PipelineFunction function)
        {
            if (function == null)
            {
                throw new ArgumentNullException(nameof(function));
            }

            functions.Add(function);
            return(this);
        }
Пример #2
0
    private void OnPreRender()
    {
        Matrix4x4 projMat = cam.projectionMatrix;

        PipeLine.projMatrix   = GL.GetGPUProjectionMatrix(projMat, false);
        PipeLine.rtProjMatrix = GL.GetGPUProjectionMatrix(projMat, true);
        PipeLine.lastVPMatrix = PipeLine.rtProjMatrix * PipeLine.viewMatrix;
        PipeLine.viewMatrix   = Camera.current.worldToCameraMatrix;
        PipelineFunction.geometryCommandBuffer      = geometryBuffer;
        PipelineFunction.motionVectorsCommandBuffer = motionVectorBuffer;
        PipelineFunction.ClearBuffer();
        foreach (var i in onPreRenderEvents)
        {
            i.OnPreRenderEvent();
        }
    }