38 lines
1.2 KiB
C++
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) |