Merge remote-tracking branch 'origin/gi' into large-worlds

# Conflicts:
#	Source/Engine/Graphics/PostProcessSettings.cpp
#	Source/Engine/Level/Actors/SkyLight.cpp
#	Source/Engine/Renderer/GBufferPass.cpp
#	Source/Engine/Renderer/GI/GlobalSurfaceAtlasPass.cpp
#	Source/Engine/Renderer/GlobalSignDistanceFieldPass.cpp
#	Source/Engine/Renderer/GlobalSignDistanceFieldPass.h
#	Source/Engine/Renderer/RenderList.h
This commit is contained in:
Wojtek Figat
2022-06-13 00:46:33 +02:00
53 changed files with 2309 additions and 218 deletions

View File

@@ -156,28 +156,24 @@ public:
return _viewport;
}
const CustomBuffer* FindCustomBuffer(const StringView& name) const;
template<class T>
const T* FindCustomBuffer(const StringView& name) const
{
for (CustomBuffer* e : CustomBuffers)
{
if (e->Name == name)
return (const T*)e;
}
return nullptr;
return (const T*)FindCustomBuffer(name);
}
template<class T>
T* GetCustomBuffer(const StringView& name)
{
for (CustomBuffer* e : CustomBuffers)
CustomBuffer* result = (CustomBuffer*)FindCustomBuffer(name);
if (!result)
{
if (e->Name == name)
return (T*)e;
result = New<T>();
result->Name = name;
CustomBuffers.Add(result);
}
CustomBuffer* result = New<T>();
result->Name = name;
CustomBuffers.Add(result);
return (T*)result;
}