Cogs.Core
Extensions
Terrain
Source
FourierTransform.h
1
#pragma once
2
3
#include "Rendering/Common.h"
4
5
namespace
Cogs
6
{
7
class
GPGPUQuadRenderer;
8
class
IGraphicsDevice;
9
struct
RenderContext;
10
11
class
FourierTransform2D
12
{
13
public
:
14
FourierTransform2D
() :device(
nullptr
), log2N(0) {}
15
16
void
initialize(
IGraphicsDevice
* device,
GPGPUQuadRenderer
& gpgpuQuadRenderer);
17
18
void
setSize(
int
log2N);
19
20
void
inverseFourierTransform(
RenderContext
& context,
21
GPGPUQuadRenderer
& gpgpuQuadRenderer,
22
RenderTargetHandle
& target,
23
TextureHandle
& source,
24
bool
doubleData =
false
);
25
26
27
protected
:
28
IGraphicsDevice
* device;
29
int
log2N;
30
31
EffectHandle
passRadix2x2;
32
InputLayoutHandle
passRadix2x2InputLayout;
33
34
EffectHandle
passRadix2x2Double;
35
InputLayoutHandle
passRadix2x2DoubleInputLayout;
36
37
BufferHandle
constantBuffer;
38
39
TextureHandle
tableTex;
40
41
TextureHandle
scratchTex[2];
42
RenderTargetHandle
scratchTarget[2];
43
44
TextureHandle
scratchDoubleTex[2];
45
RenderTargetHandle
scratchDoubleTarget[2];
46
47
static
TextureHandle
createBakedTable(
IGraphicsDevice
* device,
const
int
log2N);
48
};
49
50
}
Cogs::FourierTransform2D
Definition:
FourierTransform.h:12
Cogs::GPGPUQuadRenderer
Definition:
GPGPUQuadRenderer.h:11
Cogs::IGraphicsDevice
Represents a graphics device used to manage graphics resources and issue drawing commands.
Definition:
IGraphicsDevice.h:169
Cogs
Contains all Cogs related functionality.
Definition:
FieldSetter.h:23
Cogs::Handle_t< RenderTargetTag >
Cogs::RenderContext
Definition:
RenderContext.h:150
Generated by
1.9.6