Add basic texturing support for gltf

This commit is contained in:
2022-10-11 22:03:17 +02:00
parent 9ebdb74e22
commit 91a34e28c5
25 changed files with 281 additions and 696 deletions

View File

@@ -1,7 +1,6 @@
#include "ResourceHandler.h"
#include "../util/Log.h"
#include "CubeMap.h"
#include "Texture.h"
#include <algorithm>
@@ -20,7 +19,6 @@ auto ResourceHandler::registerResource(Param const &...param) -> ResourceId
return resource->id();
}
template ResourceId ResourceHandler::registerResource<Texture>(TextureDescriptor const &);
template ResourceId ResourceHandler::registerResource<TextureCubeMap>(TextureCubeMapDescriptor const &);
template ResourceId ResourceHandler::registerResource<InternalCubeMap>(int const &);
@@ -30,38 +28,9 @@ auto ResourceHandler::resource(const ResourceId resourceId) const -> std::shared
if (resourceIt != m_resources.end()) {
auto resource = resourceIt->second;
if (!resource->isInitialized()) {
resource->initialize();
}
return resource;
}
Log::logger().warn("Could not find resource with id {}", resourceId);
return {};
}
auto ResourceHandler::resource(const std::string &name) const -> std::shared_ptr<Resource>
{
auto resourceIt = std::find_if(m_resources.begin(), m_resources.end(), [&name](const auto &resource) {
if (auto namedResource = std::dynamic_pointer_cast<NamedResource>(resource.second)) {
return namedResource->name() == name;
}
return false;
});
if (resourceIt != m_resources.end()) {
auto resource = resourceIt->second;
if (!resource->isInitialized()) {
resource->initialize();
}
return resource;
}
Log::logger().warn("Could not find resource with unique name \"{}\"", name);
return {};
}