3#include "FourierTransform.h"
4#include "GPGPUQuadRenderer.h"
6#include "Rendering/Common.h"
12 class IGraphicsDevice;
20 void setSize(
const int Nlog2);
22 float setConditions(
const float tileExtent,
23 const float waveNumberMute,
24 const float waveNumberPass,
25 const float significantWavePeriod,
26 const float windSpeed,
27 const float windDirection,
28 const float scale = 0.f,
29 const unsigned int seed = 42);
35 TextureHandle derivativesTex() {
return packed.dxdu_dydv_dzdu_dzdvTex; }
38 float getTileExtent()
const {
return tileExtent; }
40 float getTileExtentAdjust()
const {
return tileExtentAdjust; }
42 float getAdjustedTileExtent()
const {
return tileExtentAdjust*tileExtent; }
49 float tileExtentAdjust;
73 std::vector<glm::vec2>
a;
89 TextureHandle dzdu_dzdv_Tex;
90 RenderTargetHandle xyTarget;
91 RenderTargetHandle zTarget;
92 RenderTargetHandle dzduTarget;
102 float dominantWavePeriod,
105 static void createRandomizedWaveSpectrumInstance(std::vector<glm::vec2>& H,
106 const std::vector<float>& E,
107 const unsigned int seed,
Represents a graphics device used to manage graphics resources and issue drawing commands.
std::vector< glm::vec2 > a
Frequency representation of sea state at t=0.
static float createDirectionalWaveSpectrum(std::vector< float > &E, int N, float L, float freqPassZero, float freqPassOne, float windSpeed, float windDirection, float dominantWavePeriod, float scale=0.f)
Contains all Cogs related functionality.