mirror of
https://github.com/MonsterDruide1/OdysseyDecomp
synced 2026-04-30 04:24:17 +00:00
43 lines
1.1 KiB
C++
43 lines
1.1 KiB
C++
#pragma once
|
|
|
|
#include <math/seadVector.h>
|
|
|
|
#include "Library/Nerve/NerveExecutor.h"
|
|
|
|
namespace agl {
|
|
class DrawContext;
|
|
class RenderTargetDepth;
|
|
class TextureData;
|
|
} // namespace agl
|
|
|
|
namespace al {
|
|
class ExecuteDirector;
|
|
class GraphicsSystemInfo;
|
|
class SceneCameraInfo;
|
|
|
|
class SubCameraRenderer : public NerveExecutor {
|
|
public:
|
|
SubCameraRenderer(agl::DrawContext*, GraphicsSystemInfo*, ExecuteDirector*, SceneCameraInfo*);
|
|
~SubCameraRenderer() override;
|
|
|
|
void endInit();
|
|
void draw(agl::DrawContext*, const agl::TextureData*, const agl::TextureData*,
|
|
const agl::TextureData*, const agl::TextureData*, const agl::RenderTargetDepth*,
|
|
bool);
|
|
void tryCapture();
|
|
void update();
|
|
|
|
void exeCapture();
|
|
void exeCaptureFinish();
|
|
bool isCaptureFinish() const;
|
|
void* findCameraSubAreaScreenInfo(const sead::Vector3f&) const; // TODO unknown return type
|
|
void calcOnScreenPos(sead::Vector3f*, const sead::Vector3f&) const;
|
|
|
|
private:
|
|
void* _10[0x4a];
|
|
};
|
|
|
|
static_assert(sizeof(SubCameraRenderer) == 0x260);
|
|
|
|
} // namespace al
|