mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-08 14:24:56 +00:00
Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde
This commit is contained in:
@@ -687,7 +687,7 @@ void CBooRenderer::EnablePVS(const CPVSVisSet& set, u32 areaIdx) {
|
||||
xe0_pvsAreaIdx = areaIdx;
|
||||
}
|
||||
|
||||
void CBooRenderer::DisablePVS() { xc8_pvs = std::experimental::nullopt; }
|
||||
void CBooRenderer::DisablePVS() { xc8_pvs = rstl::nullopt; }
|
||||
|
||||
void CBooRenderer::UpdateAreaUniforms(int areaIdx, bool shadowRender, bool activateLights) {
|
||||
SetupRendererStates();
|
||||
|
||||
@@ -100,7 +100,7 @@ class CBooRenderer final : public IRenderer {
|
||||
zeus::CPlane xb0_viewPlane = {0.f, 1.f, 0.f, 0.f};
|
||||
|
||||
enum class EPVSMode { Mask, PVS, PVSAndMask } xc4_pvsMode = EPVSMode::Mask;
|
||||
std::experimental::optional<CPVSVisSet> xc8_pvs;
|
||||
rstl::optional<CPVSVisSet> xc8_pvs;
|
||||
u32 xe0_pvsAreaIdx = 0;
|
||||
|
||||
// boo::ITextureS* xe4_blackTex = nullptr;
|
||||
@@ -142,7 +142,7 @@ class CBooRenderer final : public IRenderer {
|
||||
float x2f8_thermColdScale = 0.f;
|
||||
zeus::CColor x2fc_tevReg1Color = {1.f, 0.f, 1.f, 1.f};
|
||||
CThermalColdFilter m_thermColdFilter;
|
||||
std::experimental::optional<CThermalHotFilter> m_thermHotFilter;
|
||||
rstl::optional<CThermalHotFilter> m_thermHotFilter;
|
||||
|
||||
std::vector<CLight> x300_dynamicLights;
|
||||
|
||||
|
||||
@@ -97,7 +97,7 @@ struct SShader {
|
||||
std::vector<TCachedToken<CTexture>> x0_textures;
|
||||
std::unordered_map<int, CModelShaders::ShaderPipelines> m_shaders;
|
||||
MaterialSet m_matSet;
|
||||
std::experimental::optional<GeometryUniformLayout> m_geomLayout;
|
||||
rstl::optional<GeometryUniformLayout> m_geomLayout;
|
||||
int m_matSetIdx;
|
||||
SShader(int idx) : m_matSetIdx(idx) {
|
||||
x0_textures.clear();
|
||||
|
||||
@@ -765,7 +765,7 @@ void CBooModel::UVAnimationBuffer::Update(u8*& bufOut, const MaterialSet* matSet
|
||||
return;
|
||||
}
|
||||
|
||||
std::experimental::optional<std::array<zeus::CMatrix4f, 2>> specialMtxOut;
|
||||
rstl::optional<std::array<zeus::CMatrix4f, 2>> specialMtxOut;
|
||||
if (flags.m_extendedShader == EExtendedShader::Thermal) {
|
||||
/* Special Mode0 matrix for exclusive Thermal Visor use */
|
||||
specialMtxOut.emplace();
|
||||
|
||||
@@ -18,7 +18,7 @@ class CSimpleShadow {
|
||||
bool x48_24_collision : 1;
|
||||
bool x48_25_alwaysCalculateRadius : 1;
|
||||
bool x48_26_radiusCalculated : 1;
|
||||
mutable std::experimental::optional<CTexturedQuadFilter> m_filter;
|
||||
mutable rstl::optional<CTexturedQuadFilter> m_filter;
|
||||
|
||||
public:
|
||||
CSimpleShadow(float scale, float userAlpha, float maxObjHeight, float displacement);
|
||||
|
||||
@@ -23,7 +23,7 @@ CSkinnedModel::CSkinnedModel(IObjectStore& store, CAssetId model, CAssetId skinR
|
||||
store.GetObj(SObjectTag{FOURCC('CINF'), layoutInfo}), shaderIdx, drawInsts) {}
|
||||
|
||||
void CSkinnedModel::Calculate(const CPoseAsTransforms& pose, const CModelFlags& drawFlags,
|
||||
const std::experimental::optional<CVertexMorphEffect>& morphEffect,
|
||||
const rstl::optional<CVertexMorphEffect>& morphEffect,
|
||||
const float* morphMagnitudes) {
|
||||
if (morphEffect || g_PointGenFunc) {
|
||||
if (boo::ObjToken<boo::IGraphicsBufferD> vertBuf = m_modelInst->UpdateUniformData(drawFlags, nullptr, nullptr)) {
|
||||
|
||||
@@ -35,7 +35,7 @@ public:
|
||||
const TLockedToken<CCharLayoutInfo>& GetLayoutInfo() const { return x1c_layoutInfo; }
|
||||
|
||||
void Calculate(const CPoseAsTransforms& pose, const CModelFlags& drawFlags,
|
||||
const std::experimental::optional<CVertexMorphEffect>& morphEffect, const float* morphMagnitudes);
|
||||
const rstl::optional<CVertexMorphEffect>& morphEffect, const float* morphMagnitudes);
|
||||
void Draw(const CModelFlags& drawFlags) const;
|
||||
|
||||
typedef void (*FPointGenerator)(void* item, const std::vector<std::pair<zeus::CVector3f, zeus::CVector3f>>& vn);
|
||||
|
||||
@@ -204,11 +204,11 @@ static std::string_view DisintegratePostHLSL = FOG_STRUCT_HLSL
|
||||
" float4 addColor;\n"
|
||||
" Fog fog;\n"
|
||||
"};\n"
|
||||
"float4 DisintegratePostFunc(float4 colorIn)\n"
|
||||
"static float4 DisintegratePostFunc(in VertToFrag vtf, float4 colorIn)\n"
|
||||
"{\n"
|
||||
" float4 texel0 = extTex7.Sample(samp, vtf.extTcgs[0]);\n"
|
||||
" float4 texel1 = extTex7.Sample(samp, vtf.extTcgs[1]);\n"
|
||||
" colorIn = mix(float4(0.0), texel1, texel0);\n"
|
||||
" colorIn = lerp(float4(0.0,0.0,0.0,0.0), texel1, texel0);\n"
|
||||
" colorIn.rgb += addColor.rgb;\n" FOG_ALGORITHM_HLSL
|
||||
"}\n"
|
||||
"\n"sv;
|
||||
|
||||
@@ -7,7 +7,7 @@ namespace urde {
|
||||
|
||||
class CWorldShadowShader {
|
||||
boo::ObjToken<boo::ITextureR> m_tex;
|
||||
std::experimental::optional<CTexturedQuadFilter> m_prevQuad;
|
||||
rstl::optional<CTexturedQuadFilter> m_prevQuad;
|
||||
u32 m_w, m_h;
|
||||
|
||||
struct Uniform {
|
||||
|
||||
Reference in New Issue
Block a user