2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-06-06 12:33:27 +00:00
metaforce/Runtime/Graphics/Shaders/CFogVolumePlaneShader.hpp
Lioncash 902f4fb5c5 Graphics/Shaders: Use forward declarations where applicable
Now, with all of the headers normalized, we can safely convert some
headers into forward declarations without needing to worry about
potentially breaking code in other headers or source files.
2019-11-09 20:22:09 -05:00

38 lines
765 B
C++

#pragma once
#include <cstddef>
#include <vector>
#include <boo/graphicsdev/IGraphicsDataFactory.hpp>
#include <zeus/CRectangle.hpp>
#include <zeus/CVector4f.hpp>
namespace zeus {
class CVector3f;
}
namespace urde {
class CFogVolumePlaneShader {
boo::ObjToken<boo::IGraphicsBufferD> m_vbo;
boo::ObjToken<boo::IShaderDataBinding> m_dataBinds[4];
std::vector<zeus::CVector4f> m_verts;
size_t m_vertCapacity = 0;
void CommitResources(size_t capacity);
public:
static void Initialize();
static void Shutdown();
static const zeus::CRectangle DefaultRect;
void reset(int numVerts) {
m_verts.clear();
m_verts.reserve(numVerts);
}
void addFan(const zeus::CVector3f* verts, int numVerts);
void draw(int pass);
};
} // namespace urde