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; }
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; }