sead
Loading...
Searching...
No Matches
seadPrimitiveRendererBase.h
Go to the documentation of this file.
1#ifndef SEAD_PRIMITIVE_RENDERER_BASE_H_
2#define SEAD_PRIMITIVE_RENDERER_BASE_H_
3
4#include <math/seadMatrix.h>
5#include <prim/seadSafeString.h>
6
7namespace sead {
8
9class Heap;
10class Camera;
11struct Color4f;
12class Projection;
13class Texture;
14
16{
17public:
18 virtual void prepareFromBinaryImpl(Heap* heap, const void* bin_data, u32 bin_size) = 0;
19 virtual void prepareImpl(Heap* heap, const SafeString& path) = 0;
20 virtual void setCameraImpl(const Camera& camera) = 0;
21 virtual void setProjectionImpl(const Projection& projection) = 0;
22 virtual void beginImpl() = 0;
23 virtual void endImpl() = 0;
24 virtual void drawQuadImpl(const Matrix34f& model_mtx, const Color4f& colorL, const Color4f& colorR) = 0;
25 virtual void drawQuadImpl(const Matrix34f& model_mtx, const Texture& texture, const Color4f& colorL, const Color4f& colorR, const Vector2f& uv_src, const Vector2f& uv_size) = 0;
26 virtual void drawBoxImpl(const Matrix34f& model_mtx, const Color4f& colorL, const Color4f& colorR) = 0;
27 virtual void drawCubeImpl(const Matrix34f& model_mtx, const Color4f& c0, const Color4f& c1) = 0;
28 virtual void drawWireCubeImpl(const Matrix34f& model_mtx, const Color4f& c0, const Color4f& c1) = 0;
29 virtual void drawLineImpl(const Matrix34f& model_mtx, const Color4f& c0, const Color4f& c1) = 0;
30 virtual void drawSphere4x8Impl(const Matrix34f& model_mtx, const Color4f& north, const Color4f& south) = 0;
31 virtual void drawSphere8x16Impl(const Matrix34f& model_mtx, const Color4f& north, const Color4f& south) = 0;
32 virtual void drawDisk16Impl(const Matrix34f& model_mtx, const Color4f& center, const Color4f& edge) = 0;
33 virtual void drawDisk32Impl(const Matrix34f& model_mtx, const Color4f& center, const Color4f& edge) = 0;
34 virtual void drawCircle16Impl(const Matrix34f& model_mtx, const Color4f& edge) = 0;
35 virtual void drawCircle32Impl(const Matrix34f& model_mtx, const Color4f& edge) = 0;
36 virtual void drawCylinder16Impl(const Matrix34f& model_mtx, const Color4f& top, const Color4f& btm) = 0;
37 virtual void drawCylinder32Impl(const Matrix34f& model_mtx, const Color4f& top, const Color4f& btm) = 0;
38};
39#ifdef cafe
40static_assert(sizeof(PrimitiveRendererBase) == 4, "sead::PrimitiveRendererBase size mismatch");
41#endif // cafe
42
43} // namespace sead
44
45#endif // SEAD_PRIMITIVE_RENDERER_BASE_H_
Definition seadCamera.h:16
Definition seadHeap.h:23
Definition seadPrimitiveRendererBase.h:16
virtual void drawSphere8x16Impl(const Matrix34f &model_mtx, const Color4f &north, const Color4f &south)=0
virtual void endImpl()=0
virtual void setCameraImpl(const Camera &camera)=0
virtual void drawDisk32Impl(const Matrix34f &model_mtx, const Color4f &center, const Color4f &edge)=0
virtual void prepareFromBinaryImpl(Heap *heap, const void *bin_data, u32 bin_size)=0
virtual void drawCircle32Impl(const Matrix34f &model_mtx, const Color4f &edge)=0
virtual void drawCylinder32Impl(const Matrix34f &model_mtx, const Color4f &top, const Color4f &btm)=0
virtual void drawCylinder16Impl(const Matrix34f &model_mtx, const Color4f &top, const Color4f &btm)=0
virtual void drawDisk16Impl(const Matrix34f &model_mtx, const Color4f &center, const Color4f &edge)=0
virtual void beginImpl()=0
virtual void drawCircle16Impl(const Matrix34f &model_mtx, const Color4f &edge)=0
virtual void drawWireCubeImpl(const Matrix34f &model_mtx, const Color4f &c0, const Color4f &c1)=0
virtual void drawQuadImpl(const Matrix34f &model_mtx, const Texture &texture, const Color4f &colorL, const Color4f &colorR, const Vector2f &uv_src, const Vector2f &uv_size)=0
virtual void drawQuadImpl(const Matrix34f &model_mtx, const Color4f &colorL, const Color4f &colorR)=0
virtual void setProjectionImpl(const Projection &projection)=0
virtual void drawCubeImpl(const Matrix34f &model_mtx, const Color4f &c0, const Color4f &c1)=0
virtual void drawBoxImpl(const Matrix34f &model_mtx, const Color4f &colorL, const Color4f &colorR)=0
virtual void prepareImpl(Heap *heap, const SafeString &path)=0
virtual void drawLineImpl(const Matrix34f &model_mtx, const Color4f &c0, const Color4f &c1)=0
virtual void drawSphere4x8Impl(const Matrix34f &model_mtx, const Color4f &north, const Color4f &south)=0
Definition seadProjection.h:19
Definition seadTexture.h:9
Definition seadAssert.h:44
Vector2< f32 > Vector2f
Definition seadVector.h:238
SafeStringBase< char > SafeString
Definition seadSafeString.h:409
Matrix34< f32 > Matrix34f
Definition seadMatrix.h:342
Definition seadColor.h:9