Cogs.Core
Effect.h
1#pragma once
2
3#include <string>
4
5#include "Rendering/IEffects.h"
6
7#include "ResourceBase.h"
8#include "EffectDefinition.h"
9
10namespace Cogs
11{
12 namespace Core
13 {
23 struct Effect : public ResourceBase
24 {
26 Effect() = default;
27
29 Effect(Effect && other) noexcept = default;
30
32 Effect & operator=(Effect && other) noexcept = default;
33
34 EffectDefinition definition;
35
37 struct Material * material = nullptr;
38
40 bool delayLoad = false;
41 };
42 }
43}
Contains all Cogs related functionality.
Definition: FieldSetter.h:23
Defines a loadable effect.
Effect resources contain data to control the shader stages of the GPU pipeline.
Definition: Effect.h:24
Effect & operator=(Effect &&other) noexcept=default
Move assign effect from other.
Effect()=default
Default construct an Effect.
bool delayLoad
If the effect should be loaded or delayed.
Definition: Effect.h:40
Effect(Effect &&other) noexcept=default
Move construct effect from other.
struct Material * material
Owning material resource.
Definition: Effect.h:37
Material resources define the how of geometry rendering (the what is defined by Mesh and Texture reso...
Definition: Material.h:82
Base class for engine resources.
Definition: ResourceBase.h:107