Cogs.Core
RenderEffect.h
1#pragma once
2
3#include "RenderResourceBase.h"
4
5#include "Resources/Effect.h"
6
7#include "Services/TaskManager.h"
8
9#include "Rendering/Common.h"
10
11namespace Cogs
12{
13 class IGraphicsDevice;
14
15 namespace Core
16 {
17 struct RenderEffect : public RenderResourceBase<Effect>
18 {
19 ActivationResult update(Effect * effect, IGraphicsDevice * device, class RenderResources * resources);
20 void release(class Renderer * renderer);
21
22 void COGSCORE_DLL_API requestLoad();
23
24 uint16_t generation = 0;
25
28
31
32 Atomic<bool> haveQueued = false;
33 TaskId task = NoTask;
34 };
35 }
36}
Contains render resources used by the renderer.
Core renderer system.
Definition: Renderer.h:28
Represents a graphics device used to manage graphics resources and issue drawing commands.
ActivationResult
Defines results for resource activation.
Definition: ResourceBase.h:14
Contains all Cogs related functionality.
Definition: FieldSetter.h:23
Effect resources contain data to control the shader stages of the GPU pipeline.
Definition: Effect.h:24
Render resources represent Engine resources like Mesh, Effect or MaterialInstance,...
Task id struct used to identify unique Task instances.
Definition: TaskManager.h:20
static const Handle_t NoHandle
Represents a handle to nothing.
Definition: Common.h:77