13 #ifndef hifi_DeferredFrameTransform_h
14 #define hifi_DeferredFrameTransform_h
16 #include <gpu/Resource.h>
18 #include <render/Forward.h>
19 #include <render/DrawTask.h>
23 class DeferredFrameTransform {
24 friend class GenerateDeferredFrameTransform;
26 using UniformBufferView = gpu::BufferView;
28 DeferredFrameTransform();
30 void update(RenderArgs* args);
32 UniformBufferView getFrameTransformBuffer()
const {
return _frameTransformBuffer; }
38 #include "DeferredTransform_shared.slh"
40 class FrameTransform :
public _DeferredFrameTransform {
42 FrameTransform() { infos.stereoInfo = glm::vec4(0.0f); }
45 UniformBufferView _frameTransformBuffer;
48 using DeferredFrameTransformPointer = std::shared_ptr<DeferredFrameTransform>;
51 class GenerateDeferredFrameTransform {
53 using Output = DeferredFrameTransformPointer;
54 using JobModel = render::Job::ModelO<GenerateDeferredFrameTransform, Output>;
56 GenerateDeferredFrameTransform(uint transformSlot) : _transformSlot(transformSlot) {}
58 void run(
const render::RenderContextPointer& renderContext, Output& frameTransform);