sead
Loading...
Searching...
No Matches
seadPrimitiveRendererCafe.h
Go to the documentation of this file.
1#ifndef SEAD_PRIMITIVE_RENDERER_CAFE_H_
2#define SEAD_PRIMITIVE_RENDERER_CAFE_H_
3
4#include <gfx/seadPrimitiveRendererBase.h>
5#include <gfx/seadPrimitiveRendererUtil.h>
6
7#include <cafe.h>
8
9namespace sead {
10
12{
13public:
15
16 virtual void prepareFromBinaryImpl(Heap* heap, const void* bin_data, u32);
17 virtual void prepareImpl(Heap* heap, const SafeString& path);
18 virtual void setCameraImpl(const Camera& camera);
19 virtual void setProjectionImpl(const Projection& projection);
20 virtual void beginImpl();
21 virtual void endImpl();
22 virtual void drawQuadImpl(const Matrix34f& model_mtx, const Color4f& colorL, const Color4f& colorR);
23 virtual void drawQuadImpl(const Matrix34f& model_mtx, const Texture& texture, const Color4f& colorL, const Color4f& colorR, const Vector2f& uv_src, const Vector2f& uv_size);
24 virtual void drawBoxImpl(const Matrix34f& model_mtx, const Color4f& colorL, const Color4f& colorR);
25 virtual void drawCubeImpl(const Matrix34f& model_mtx, const Color4f& c0, const Color4f& c1);
26 virtual void drawWireCubeImpl(const Matrix34f& model_mtx, const Color4f& c0, const Color4f& c1);
27 virtual void drawLineImpl(const Matrix34f& model_mtx, const Color4f& c0, const Color4f& c1);
28 virtual void drawSphere4x8Impl(const Matrix34f& model_mtx, const Color4f& north, const Color4f& south);
29 virtual void drawSphere8x16Impl(const Matrix34f& model_mtx, const Color4f& north, const Color4f& south);
30 virtual void drawDisk16Impl(const Matrix34f& model_mtx, const Color4f& center, const Color4f& edge);
31 virtual void drawDisk32Impl(const Matrix34f& model_mtx, const Color4f& center, const Color4f& edge);
32 virtual void drawCircle16Impl(const Matrix34f& model_mtx, const Color4f& edge);
33 virtual void drawCircle32Impl(const Matrix34f& model_mtx, const Color4f& edge);
34 virtual void drawCylinder16Impl(const Matrix34f& model_mtx, const Color4f& top, const Color4f& btm);
35 virtual void drawCylinder32Impl(const Matrix34f& model_mtx, const Color4f& top, const Color4f& btm);
36
37 virtual ~PrimitiveRendererCafe() { }
38
39 void drawTriangles_(const Matrix34f& model_mtx, const Color4f& c0, const Color4f& c1, PrimitiveRendererUtil::Vertex* vtx, u32 vtx_num, u16* idx, u32 idx_num, const GX2Texture* tex);
40 void drawLines_(const Matrix34f& model_mtx, const Color4f& c0, const Color4f& c1, PrimitiveRendererUtil::Vertex* vtx, u32 vtx_num, u16* idx, u32 idx_num);
41
42private:
60
61 // Quad, Box
62 PrimitiveRendererUtil::Vertex* mQuadVertexBuf;
65
66 // Line
67 PrimitiveRendererUtil::Vertex* mLineVertexBuf;
69
70 // Cube
71 PrimitiveRendererUtil::Vertex* mCubeVertexBuf;
73
74 // WireCube
75 PrimitiveRendererUtil::Vertex* mWireCubeVertexBuf;
77
78 // SphereS
79 PrimitiveRendererUtil::Vertex* mSphereSVertexBuf;
81
82 // SphereL
83 PrimitiveRendererUtil::Vertex* mSphereLVertexBuf;
85
86 // DiskS, DiskL, CircleS, CircleL
87 PrimitiveRendererUtil::Vertex* mDiskSVertexBuf;
89 PrimitiveRendererUtil::Vertex* mDiskLVertexBuf;
93
94 // CylinderS
95 PrimitiveRendererUtil::Vertex* mCylinderSVertexBuf;
97
98 // CylinderL
99 PrimitiveRendererUtil::Vertex* mCylinderLVertexBuf;
101};
102static_assert(sizeof(PrimitiveRendererCafe) == 0x18C, "sead::PrimitiveRendererCafe size mismatch");
103
104} // namespace sead
105
106#endif // SEAD_PRIMITIVE_RENDERER_H_
Definition seadCamera.h:16
Definition seadHeap.h:23
Definition seadPrimitiveRendererBase.h:16
Definition seadPrimitiveRendererCafe.h:12
virtual void prepareImpl(Heap *heap, const SafeString &path)
Definition seadPrimitiveRendererCafe.cpp:202
virtual void drawCylinder32Impl(const Matrix34f &model_mtx, const Color4f &top, const Color4f &btm)
Definition seadPrimitiveRendererCafe.cpp:335
virtual void drawLineImpl(const Matrix34f &model_mtx, const Color4f &c0, const Color4f &c1)
Definition seadPrimitiveRendererCafe.cpp:279
u32 mParamUserOffset
Definition seadPrimitiveRendererCafe.h:48
virtual void drawCircle32Impl(const Matrix34f &model_mtx, const Color4f &edge)
Definition seadPrimitiveRendererCafe.cpp:321
virtual void drawCircle16Impl(const Matrix34f &model_mtx, const Color4f &edge)
Definition seadPrimitiveRendererCafe.cpp:314
u16 * mSphereLIndexBuf
Definition seadPrimitiveRendererCafe.h:84
PrimitiveRendererCafe(Heap *heap)
Definition seadPrimitiveRendererCafe.cpp:17
PrimitiveRendererUtil::Vertex * mDiskSVertexBuf
Definition seadPrimitiveRendererCafe.h:87
virtual void prepareFromBinaryImpl(Heap *heap, const void *bin_data, u32)
Definition seadPrimitiveRendererCafe.cpp:23
virtual void drawCylinder16Impl(const Matrix34f &model_mtx, const Color4f &top, const Color4f &btm)
Definition seadPrimitiveRendererCafe.cpp:328
PrimitiveRendererUtil::Vertex * mDiskLVertexBuf
Definition seadPrimitiveRendererCafe.h:89
virtual void drawCubeImpl(const Matrix34f &model_mtx, const Color4f &c0, const Color4f &c1)
Definition seadPrimitiveRendererCafe.cpp:265
u32 mParamTexLocation
Definition seadPrimitiveRendererCafe.h:52
virtual void drawQuadImpl(const Matrix34f &model_mtx, const Texture &texture, const Color4f &colorL, const Color4f &colorR, const Vector2f &uv_src, const Vector2f &uv_size)
Definition seadPrimitiveRendererCafe.cpp:249
GX2Sampler mDrawQuadSampler
Definition seadPrimitiveRendererCafe.h:59
virtual ~PrimitiveRendererCafe()
Definition seadPrimitiveRendererCafe.h:37
PrimitiveRendererUtil::Vertex * mCylinderLVertexBuf
Definition seadPrimitiveRendererCafe.h:99
GX2FetchShader mFetchShader
Definition seadPrimitiveRendererCafe.h:58
GX2VertexShader * mVertexShader
Definition seadPrimitiveRendererCafe.h:45
u16 * mWireCubeIndexBuf
Definition seadPrimitiveRendererCafe.h:76
GX2PixelShader * mPixelShader
Definition seadPrimitiveRendererCafe.h:46
u32 mAttrColorRateLocation
Definition seadPrimitiveRendererCafe.h:55
u16 * mCylinderLIndexBuf
Definition seadPrimitiveRendererCafe.h:100
PrimitiveRendererUtil::Vertex * mQuadVertexBuf
Definition seadPrimitiveRendererCafe.h:62
GX2AttribStream mAttributes[3]
Definition seadPrimitiveRendererCafe.h:56
u16 * mCircleSIndexBuf
Definition seadPrimitiveRendererCafe.h:91
PrimitiveRendererUtil::Vertex * mCubeVertexBuf
Definition seadPrimitiveRendererCafe.h:71
u32 mParamColor0Offset
Definition seadPrimitiveRendererCafe.h:50
u16 * mQuadIndexBuf
Definition seadPrimitiveRendererCafe.h:63
u32 mAttrVertexLocation
Definition seadPrimitiveRendererCafe.h:53
u16 * mBoxIndexBuf
Definition seadPrimitiveRendererCafe.h:64
u32 mAttrTexCoord0Location
Definition seadPrimitiveRendererCafe.h:54
virtual void setProjectionImpl(const Projection &projection)
Definition seadPrimitiveRendererCafe.cpp:220
u16 * mDiskLIndexBuf
Definition seadPrimitiveRendererCafe.h:90
u16 * mLineIndexBuf
Definition seadPrimitiveRendererCafe.h:68
virtual void drawSphere8x16Impl(const Matrix34f &model_mtx, const Color4f &north, const Color4f &south)
Definition seadPrimitiveRendererCafe.cpp:293
PrimitiveRendererUtil::Vertex * mWireCubeVertexBuf
Definition seadPrimitiveRendererCafe.h:75
virtual void drawDisk32Impl(const Matrix34f &model_mtx, const Color4f &center, const Color4f &edge)
Definition seadPrimitiveRendererCafe.cpp:307
u16 * mDiskSIndexBuf
Definition seadPrimitiveRendererCafe.h:88
PrimitiveRendererUtil::Vertex * mSphereSVertexBuf
Definition seadPrimitiveRendererCafe.h:79
virtual void drawBoxImpl(const Matrix34f &model_mtx, const Color4f &colorL, const Color4f &colorR)
Definition seadPrimitiveRendererCafe.cpp:258
PrimitiveRendererUtil::Vertex * mCylinderSVertexBuf
Definition seadPrimitiveRendererCafe.h:95
u16 * mCircleLIndexBuf
Definition seadPrimitiveRendererCafe.h:92
virtual void endImpl()
Definition seadPrimitiveRendererCafe.cpp:238
Matrix34f mCameraMtx
Definition seadPrimitiveRendererCafe.h:43
PrimitiveRendererUtil::Vertex * mSphereLVertexBuf
Definition seadPrimitiveRendererCafe.h:83
void drawLines_(const Matrix34f &model_mtx, const Color4f &c0, const Color4f &c1, PrimitiveRendererUtil::Vertex *vtx, u32 vtx_num, u16 *idx, u32 idx_num)
Definition seadPrimitiveRendererCafe.cpp:366
virtual void drawWireCubeImpl(const Matrix34f &model_mtx, const Color4f &c0, const Color4f &c1)
Definition seadPrimitiveRendererCafe.cpp:272
PrimitiveRendererUtil::Vertex * mLineVertexBuf
Definition seadPrimitiveRendererCafe.h:67
u16 * mCylinderSIndexBuf
Definition seadPrimitiveRendererCafe.h:96
Matrix44f mProjectionMtx
Definition seadPrimitiveRendererCafe.h:44
u32 mParamRateOffset
Definition seadPrimitiveRendererCafe.h:49
u16 * mCubeIndexBuf
Definition seadPrimitiveRendererCafe.h:72
virtual void drawSphere4x8Impl(const Matrix34f &model_mtx, const Color4f &north, const Color4f &south)
Definition seadPrimitiveRendererCafe.cpp:286
void drawTriangles_(const Matrix34f &model_mtx, const Color4f &c0, const Color4f &c1, PrimitiveRendererUtil::Vertex *vtx, u32 vtx_num, u16 *idx, u32 idx_num, const GX2Texture *tex)
Definition seadPrimitiveRendererCafe.cpp:342
virtual void beginImpl()
Definition seadPrimitiveRendererCafe.cpp:225
virtual void drawQuadImpl(const Matrix34f &model_mtx, const Color4f &colorL, const Color4f &colorR)
Definition seadPrimitiveRendererCafe.cpp:242
u32 mParamWVPOffset
Definition seadPrimitiveRendererCafe.h:47
u16 * mSphereSIndexBuf
Definition seadPrimitiveRendererCafe.h:80
virtual void drawDisk16Impl(const Matrix34f &model_mtx, const Color4f &center, const Color4f &edge)
Definition seadPrimitiveRendererCafe.cpp:300
void * mFetchShaderBufPtr
Definition seadPrimitiveRendererCafe.h:57
u32 mParamColor1Offset
Definition seadPrimitiveRendererCafe.h:51
virtual void setCameraImpl(const Camera &camera)
Definition seadPrimitiveRendererCafe.cpp:215
Definition seadProjection.h:19
Definition seadTexture.h:9
Definition seadAssert.h:44
Vector2< f32 > Vector2f
Definition seadVector.h:238
Matrix44< f32 > Matrix44f
Definition seadMatrix.h:343
SafeStringBase< char > SafeString
Definition seadSafeString.h:409
Matrix34< f32 > Matrix34f
Definition seadMatrix.h:342
Definition seadColor.h:9