#pragma once #include "IPingPongBuffer.h" struct CommonCubeVertex { D3DXVECTOR3 Pos; D3DXVECTOR3 Normal; D3DXVECTOR3 Tangent; D3DXVECTOR2 Tex; }; struct CommonQuadVertex { D3DXVECTOR3 Pos; D3DXVECTOR3 Normal; D3DXVECTOR2 Tex; }; struct IGeometryBuffer; struct __declspec(novtable) ICommonObjectFactory { virtual ~ICommonObjectFactory() {} virtual IPingPongBuffer* CreatePingPongBuffer(ITexture& argInputTexture, const PingPongBufferDescription& argDescriptor) = 0; virtual IGeometryBuffer* CreateCube(float argWidth, float argHeight, float argDepth, bool argInverted, const string8& argName = "") = 0; virtual IGeometryBuffer* CreateQuad(float argWidth, float argHeight, bool argTwoSided, const string8& argName = "") = 0; };