mirror of https://github.com/AxioDL/metaforce.git
CFluidPlane: Make Render() non-const
Allows making the shader instances non-mutable.
This commit is contained in:
parent
22eb5c837e
commit
402216447a
|
@ -128,9 +128,9 @@ protected:
|
|||
float x48_rippleIntensity;
|
||||
CFluidUVMotion x4c_uvMotion;
|
||||
|
||||
mutable std::vector<CFluidPlaneShader::Vertex> m_verts;
|
||||
mutable std::vector<CFluidPlaneShader::PatchVertex> m_pVerts;
|
||||
mutable std::optional<CFluidPlaneShader> m_shader;
|
||||
std::vector<CFluidPlaneShader::Vertex> m_verts;
|
||||
std::vector<CFluidPlaneShader::PatchVertex> m_pVerts;
|
||||
std::optional<CFluidPlaneShader> m_shader;
|
||||
|
||||
float ProjectRippleVelocity(float baseI, float velDot) const;
|
||||
float CalculateRippleIntensity(float baseI) const;
|
||||
|
@ -162,7 +162,7 @@ public:
|
|||
virtual void Render(const CStateManager& mgr, float alpha, const zeus::CAABox& aabb, const zeus::CTransform& xf,
|
||||
const zeus::CTransform& areaXf, bool noNormals, const zeus::CFrustum& frustum,
|
||||
const std::optional<CRippleManager>& rippleManager, TUniqueId waterId,
|
||||
const bool* gridFlags, u32 gridDimX, u32 gridDimY, const zeus::CVector3f& areaCenter) const {}
|
||||
const bool* gridFlags, u32 gridDimX, u32 gridDimY, const zeus::CVector3f& areaCenter) {}
|
||||
|
||||
float GetAlpha() const { return x40_alpha; }
|
||||
EFluidType GetFluidType() const { return x44_fluidType; }
|
||||
|
|
|
@ -125,7 +125,7 @@ static const float* InitializeSineWave() {
|
|||
CFluidPlaneShader::RenderSetupInfo CFluidPlaneCPU::RenderSetup(const CStateManager& mgr, float alpha,
|
||||
const zeus::CTransform& xf,
|
||||
const zeus::CTransform& areaXf, const zeus::CAABox& aabb,
|
||||
const CScriptWater* water) const {
|
||||
const CScriptWater* water) {
|
||||
CFluidPlaneShader::RenderSetupInfo out;
|
||||
|
||||
float uvT = mgr.GetFluidPlaneManager()->GetUVT();
|
||||
|
@ -740,7 +740,7 @@ void CFluidPlaneCPU::Render(const CStateManager& mgr, float alpha, const zeus::C
|
|||
const zeus::CTransform& areaXf, bool noNormals, const zeus::CFrustum& frustum,
|
||||
const std::optional<CRippleManager>& rippleManager, TUniqueId waterId,
|
||||
const bool* gridFlags, u32 gridDimX, u32 gridDimY,
|
||||
const zeus::CVector3f& areaCenter) const {
|
||||
const zeus::CVector3f& areaCenter) {
|
||||
SCOPED_GRAPHICS_DEBUG_GROUP("CFluidPlaneCPU::Render", zeus::skCyan);
|
||||
TCastToConstPtr<CScriptWater> water = mgr.GetObjectById(waterId);
|
||||
CFluidPlaneShader::RenderSetupInfo setupInfo = RenderSetup(mgr, alpha, xf, areaXf, aabb, water.GetPtr());
|
||||
|
|
|
@ -96,11 +96,11 @@ public:
|
|||
zeus::CMatrix4f& mtxOut) const;
|
||||
CFluidPlaneShader::RenderSetupInfo RenderSetup(const CStateManager& mgr, float, const zeus::CTransform& xf,
|
||||
const zeus::CTransform& areaXf, const zeus::CAABox& aabb,
|
||||
const CScriptWater* water) const;
|
||||
const CScriptWater* water);
|
||||
void Render(const CStateManager& mgr, float alpha, const zeus::CAABox& aabb, const zeus::CTransform& xf,
|
||||
const zeus::CTransform& areaXf, bool noNormals, const zeus::CFrustum& frustum,
|
||||
const std::optional<CRippleManager>& rippleManager, TUniqueId waterId, const bool* gridFlags,
|
||||
u32 gridDimX, u32 gridDimY, const zeus::CVector3f& areaCenter) const override;
|
||||
u32 gridDimX, u32 gridDimY, const zeus::CVector3f& areaCenter) override;
|
||||
float GetReflectionBlend() const { return x114_reflectionBlend; }
|
||||
float GetSpecularMax() const { return x110_specularMax; }
|
||||
float GetSpecularMin() const { return x10c_specularMin; }
|
||||
|
|
|
@ -15,7 +15,7 @@ CFluidPlaneDoor::CFluidPlaneDoor(CAssetId patternTex1, CAssetId patternTex2, CAs
|
|||
|
||||
CFluidPlaneShader::RenderSetupInfo CFluidPlaneDoor::RenderSetup(const CStateManager& mgr, float alpha,
|
||||
const zeus::CTransform& xf, const zeus::CAABox& aabb,
|
||||
bool noNormals) const {
|
||||
bool noNormals) {
|
||||
CFluidPlaneShader::RenderSetupInfo out;
|
||||
|
||||
float uvT = mgr.GetFluidPlaneManager()->GetUVT();
|
||||
|
@ -62,7 +62,7 @@ void CFluidPlaneDoor::Render(const CStateManager& mgr, float alpha, const zeus::
|
|||
const zeus::CFrustum& frustum,
|
||||
const std::optional<CRippleManager>& rippleManager, TUniqueId waterId,
|
||||
const bool* gridFlags, u32 gridDimX, u32 gridDimY,
|
||||
const zeus::CVector3f& areaCenter) const {
|
||||
const zeus::CVector3f& areaCenter) {
|
||||
SCOPED_GRAPHICS_DEBUG_GROUP("CFluidPlaneDoor::Render", zeus::skCyan);
|
||||
CFluidPlaneShader::RenderSetupInfo setupInfo = RenderSetup(mgr, alpha, xf, aabb, noNormals);
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ class CFluidPlaneDoor final : public CFluidPlane {
|
|||
float xa8_rippleResolution;
|
||||
|
||||
CFluidPlaneShader::RenderSetupInfo RenderSetup(const CStateManager& mgr, float alpha, const zeus::CTransform& xf,
|
||||
const zeus::CAABox& aabb, bool noNormals) const;
|
||||
const zeus::CAABox& aabb, bool noNormals);
|
||||
|
||||
public:
|
||||
CFluidPlaneDoor(CAssetId patternTex1, CAssetId patternTex2, CAssetId colorTex, float tileSize, u32 tileSubdivisions,
|
||||
|
@ -26,7 +26,7 @@ public:
|
|||
void Render(const CStateManager& mgr, float alpha, const zeus::CAABox& aabb, const zeus::CTransform& xf,
|
||||
const zeus::CTransform& areaXf, bool noNormals, const zeus::CFrustum& frustum,
|
||||
const std::optional<CRippleManager>& rippleManager, TUniqueId waterId, const bool* gridFlags,
|
||||
u32 gridDimX, u32 gridDimY, const zeus::CVector3f& areaCenter) const override;
|
||||
u32 gridDimX, u32 gridDimY, const zeus::CVector3f& areaCenter) override;
|
||||
};
|
||||
|
||||
} // namespace urde
|
||||
|
|
Loading…
Reference in New Issue