Files
FluidSimulation/src/FluidRenderPass.h
T

38 lines
1.2 KiB
C++

#pragma once
#include "Component/Transform.h"
#include "Graphics/Descriptor.h"
#include "Graphics/Initializer.h"
#include "Graphics/RenderPass/RenderPass.h"
#include "MinimalEngine.h"
class FluidRenderPass : public Seele::RenderPass {
public:
FluidRenderPass(Seele::Gfx::PGraphics graphics);
virtual ~FluidRenderPass() override;
virtual void beginFrame(const Seele::Component::Camera &camera, const Seele::Component::Transform &transform) override;
virtual void render() override;
virtual void endFrame() override;
virtual void publishOutputs() override;
virtual void createRenderPass() override;
private:
Seele::Gfx::RenderTargetAttachment colorAttachment;
Seele::Gfx::RenderTargetAttachment depthAttachment;
Seele::Gfx::OTexture2D depthTexture;
Seele::Gfx::ODescriptorSet viewParamsSet;
Seele::Gfx::OPipelineLayout pipelineLayout;
Seele::Gfx::ODescriptorLayout descriptorLayout;
Seele::Gfx::ODescriptorSet descriptorSet;
Seele::Gfx::OVertexShader vertexShader;
Seele::Gfx::OFragmentShader fragmentShader;
Seele::Gfx::PGraphicsPipeline pipeline;
Seele::Gfx::PShaderBuffer vertexBuffer;
Seele::Gfx::PShaderBuffer indexBuffer;
Seele::Gfx::PShaderBuffer surfaceCounts;
};
DEFINE_REF(FluidRenderPass)