示例#1
0
        public override void FrameUpdate(PipelineCamera camera, ref PipelineCommandData data)
        {
            CommandBuffer buffer = data.buffer;

            handle.Complete();
            SkyboxPreviewMatrix last = IPerCameraData.GetProperty(camera, () => new SkyboxPreviewMatrix());

            buffer.SetGlobalMatrix(_InvSkyVP, job.invViewProj);
            buffer.SetGlobalMatrix(_LastSkyVP, last.lastViewProj);
            targetIdentifiers[0] = camera.targets.renderTargetIdentifier;
            targetIdentifiers[1] = ShaderIDs._CameraMotionVectorsTexture;
            buffer.SetRenderTarget(colors: targetIdentifiers, depth: ShaderIDs._DepthBufferTexture);
            buffer.DrawMesh(GraphicsUtility.mesh, Matrix4x4.identity, skyboxMaterial, 0, 0);
            last.lastViewProj = job.viewProj;
        }
示例#2
0
        public override void FrameUpdate(PipelineCamera camera, ref PipelineCommandData data)
        {
            CommandBuffer buffer = data.buffer;

            handle.Complete();
            SkyboxPreviewMatrix last = IPerCameraData.GetProperty(camera, () => new SkyboxPreviewMatrix());

            buffer.SetGlobalMatrix(_LastSkyVP, last.lastViewProj);
            targetIdentifiers[0] = camera.targets.renderTargetIdentifier;
            targetIdentifiers[1] = ShaderIDs._CameraMotionVectorsTexture;
            buffer.SetRenderTarget(colors: targetIdentifiers, depth: ShaderIDs._DepthBufferTexture);
            data.ExecuteCommandBuffer();
            data.context.DrawSkybox(camera.cam);
            last.lastViewProj = job.viewProj;
        }