port from perforce
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
#pragma once
|
||||
|
||||
#include "IEngine.h"
|
||||
#include "IShader.h"
|
||||
#include "ITexture.h"
|
||||
#include "IRenderCommandNode.h"
|
||||
#include "IResourceFactory.h"
|
||||
#include "IPingPongBuffer.h"
|
||||
|
||||
|
||||
class PingPongBuffer
|
||||
: public IPingPongBuffer
|
||||
{
|
||||
public:
|
||||
PingPongBuffer(IEngine& argEngine);
|
||||
virtual ~PingPongBuffer();
|
||||
|
||||
virtual ITexture& get_InputTexture() const;
|
||||
virtual void set_InputTexture(ITexture& argTexture);
|
||||
|
||||
virtual ITexture& get_OutputTexture() const;
|
||||
|
||||
virtual const PingPongBufferDescription& get_Descriptor() const;
|
||||
virtual void set_Descriptor(const PingPongBufferDescription& argValue);
|
||||
virtual IRenderCommandNode& get_RootNode() const;
|
||||
virtual IRenderCommandNode& get_PreProcessNode() const;
|
||||
|
||||
protected:
|
||||
void Rebuild(const PingPongBufferDescription& argValue);
|
||||
|
||||
private:
|
||||
IEngine& m_Engine;
|
||||
|
||||
PingPongBufferDescription m_Descriptor;
|
||||
|
||||
ITexture* m_InputTexture;
|
||||
|
||||
IRenderCommandNode* m_RootNode;
|
||||
IRenderCommandNode* m_PreProcessNode;
|
||||
IRenderCommandNode* m_RenderTargetNodeA;
|
||||
IRenderCommandNode* m_RenderTargetNodeB;
|
||||
IShader* m_ShaderA;
|
||||
IShader* m_ShaderB;
|
||||
IShader* m_ShaderPreProcess;
|
||||
IRenderTargetTexture* m_TextureA;
|
||||
IRenderTargetTexture* m_TextureB;
|
||||
IGeometryBuffer* m_ScreenQuad;
|
||||
IShaderParameterCollection* m_ShaderParameterA;
|
||||
IShaderParameterCollection* m_ShaderParameterB;
|
||||
IShaderParameterCollection* m_ShaderParameterPreProcess;
|
||||
};
|
||||
Reference in New Issue
Block a user