Cogs.Core
Source
Renderer
Tasks
MipLevelsTask.h
1
#pragma once
2
3
#include "PostProcessTask.h"
4
5
#include "Rendering/Common.h"
6
7
namespace
Cogs
8
{
9
namespace
Core
10
{
11
struct
MipLevelsTask
:
public
PostProcessTask
12
{
13
virtual
~MipLevelsTask
() {}
14
virtual
void
initialize(
RenderTaskContext
* context)
override
;
15
void
initialize(
RenderTaskContext
* context,
const
RenderTaskDefinition
& taskDefinition);
16
void
cleanup(
RenderTaskContext
* context)
override
;
17
void
apply(
RenderTaskContext
* context)
override
;
18
19
ExpressionValue<size_t>
firstLevel = 0;
20
ExpressionValue<size_t>
lastLevel = ~0u;
21
22
protected
:
23
std::vector<glm::ivec2> sizes;
24
BufferHandle
parameterHandle =
BufferHandle::NoHandle
;
25
ConstantBufferBindingHandle
parameterBufferBinding =
ConstantBufferBindingHandle::NoHandle
;
26
27
private
:
28
void
draw(
RenderTaskContext
* context,
29
RenderTarget
* renderTarget,
30
RenderTexture
* targetSource,
31
TextureBindingHandle
&targetSourceHandle,
32
const
size_t
srcLevel,
const
size_t
dstLevel);
33
};
34
}
35
}
Cogs
Contains all Cogs related functionality.
Definition:
FieldSetter.h:23
Cogs::Core::ExpressionValue
Definition:
Expressions.h:99
Cogs::Core::MipLevelsTask
Definition:
MipLevelsTask.h:12
Cogs::Core::PostProcessTask
Definition:
PostProcessTask.h:12
Cogs::Core::RenderTarget
Definition:
RenderTarget.h:18
Cogs::Core::RenderTaskContext
Definition:
RenderTask.h:53
Cogs::Core::RenderTaskDefinition
Definition:
RenderPipelineDefinition.h:80
Cogs::Core::RenderTexture
Definition:
RenderTexture.h:20
Cogs::Handle_t< BufferTag >
Cogs::Handle_t< BufferTag >::NoHandle
static const Handle_t NoHandle
Represents a handle to nothing.
Definition:
Common.h:78
Generated by
1.9.6