Some PostEffect

This commit is contained in:
robojumper
2025-03-20 16:42:31 +01:00
parent 217851300a
commit bd2c72d8c2
12 changed files with 381 additions and 30 deletions
+2 -1
View File
@@ -67,7 +67,8 @@ public:
UNKTYPE func_80086C8C(UNKTYPE);
void allocTexBuffer();
void allocTexBufferAndHeader();
void setColor(u16, u16, GXColor);
void setColor(u16 x, u16 y, GXColor color);
GXColor getColor(u16 x, u16 y) const;
bool checkIsConfigure() const {
return mFlags & CONFIGURED;
+2 -2
View File
@@ -31,8 +31,8 @@ protected:
void setMatInd();
void setMatPE();
void setBlendModeInternal();
static void fn_804AF040(GXColor &, const GXColor &, bool, f32);
static void fn_804AF1B0(GXColor &, const GXColor &, const GXColor &, f32);
static void scaleColor(GXColor &, const GXColor &, bool, f32);
static void lerpColor(GXColor &, const GXColor &, const GXColor &, f32);
void getBaseTexMtx(nw4r::math::MTX34 *mtx) const;
static void setProjection(const EGG::Screen &screen);
+27 -5
View File
@@ -2,21 +2,43 @@
#define EGG_POST_EFFECT_BLUR_H
#include "common.h"
#include "egg/egg_types.h"
#include "egg/gfx/eggPostEffectBase.h"
namespace EGG {
class PostEffectBlur {
class PostEffectBlur : PostEffectBase {
struct Kernel {
/* 0x00 */ u8 field_0x00;
/* 0x01 */ GXColor field_0x01;
/* 0x08 */ f32 field_0x08;
/* 0x0C */ f32 field_0x0C;
void init(GXColor clr) {
field_0x00 = 16;
field_0x01 = clr;
field_0x08 = 1.0f;
field_0x0C = 0.0f;
}
};
public:
PostEffectBlur();
~PostEffectBlur() {}
virtual ~PostEffectBlur() {}
virtual void draw(f32 width, f32 height) override; // at 0xC
void setField0x30(f32 val) {
field_0x30 = val;
}
private:
u8 _0x00[0x30 - 0x00];
f32 field_0x30;
u8 _0x03[0x78 - 0x34];
void drawInternal(u8, u8, f32, f32);
/* 0x2C */ u8 field_0x2C;
/* 0x30 */ f32 field_0x30;
/* 0x34 */ f32 field_0x34;
/* 0x38 */ Kernel field_0x38[4];
};
} // namespace EGG
+26 -1
View File
@@ -1,6 +1,31 @@
#ifndef EGG_POST_EFFECT_UNK1_H
#define EGG_POST_EFFECT_UNK1_H
namespace EGG {} // namespace EGG
#include "egg/gfx/eggCpuTexture.h"
#include "egg/gfx/eggPostEffectBase.h"
#include "rvl/GX/GXTypes.h"
namespace EGG {
class PostEffectUnk1 : public PostEffectBase {
// Size 0x18
struct Kernel {
/* 0x00 */ EGG::CpuTexture *field_0x00;
/* 0x04 */ GXTexMapID mTexMapId;
/* 0x08 */ GXColor field_0x08;
/* 0x0C */ f32 field_0x0C;
/* 0x10 */ u8 field_0x10;
};
public:
PostEffectUnk1();
virtual void setMaterialInternal() override;
/* 0x2C */ u8 field_0x2C;
/* 0x2D */ u8 field_0x2D;
/* 0x30 */ f32 field_0x30;
/* 0x34 */ Kernel field_0x34[3];
};
} // namespace EGG
#endif