Raytracer
|
Static Public Member Functions | |
template<typename I , typename E > requires isValidEnum<E, ConfigTextures> | |
static std::shared_ptr< I > | get (const std::string &name, std::shared_ptr< Interfaces::IArguments > args) |
template<typename I , typename E > requires isValidEnum<E, ConfigEffects> | |
static std::shared_ptr< I > | get (const std::string &name, std::shared_ptr< Interfaces::IArguments > args) |
template<typename I , typename E > requires isValidEnum<E, ConfigMaterials> | |
static std::shared_ptr< I > | get (const std::string &name, std::shared_ptr< Interfaces::IArguments > args) |
template<typename I , typename E > requires isValidEnum<E, ConfigShapes> | |
static std::shared_ptr< I > | get (const std::string &name, std::shared_ptr< Interfaces::IArguments > args) |
Static Public Attributes | |
static FactoryMap< Raytracer::Interfaces::ITexture, ConfigTextures > | textures |
Factory map for textures. | |
static FactoryMap< Raytracer::Interfaces::IHittable, ConfigEffects > | effects |
Factory map for effects. | |
static FactoryMap< Raytracer::Interfaces::IMaterial, ConfigMaterials > | materials |
Factory map for materials. | |
static FactoryMap< Raytracer::Interfaces::IHittable, ConfigShapes > | shapes |
Factory map for shapes. | |
|
static |
Factory map for effects.
This map is used to create effects based on their name. The key is the name of the effect and the value is a lambda function that creates the effect.
|
static |
Factory map for materials.
This map is used to create materials based on their name. The key is the name of the material and the value is a lambda function that creates the material.
|
static |
Factory map for shapes.
This map is used to create shapes based on their name. The key is the name of the shape and the value is a lambda function that creates the shape.
|
static |
Factory map for textures.
This map is used to create textures based on their name. The key is the name of the texture and the value is a lambda function that creates the texture.