53 lines
2.0 KiB
C++
53 lines
2.0 KiB
C++
#pragma once
|
|
|
|
namespace RE
|
|
{
|
|
class WaterShaderData
|
|
{
|
|
public:
|
|
// members
|
|
float maxDepth; // 00
|
|
std::uint32_t shallowWaterColor; // 04
|
|
std::uint32_t deepWaterColor; // 08
|
|
float shallowFogColorRange; // 0C
|
|
float deepFogColorRange; // 10
|
|
float shallowAlpha; // 14
|
|
float deepAlpha; // 18
|
|
float shallowFogAlphaRange; // 1C
|
|
float deepFogAlphaRange; // 20
|
|
std::uint32_t underwaterFogColor; // 24
|
|
float underwaterFogAmount; // 28
|
|
float underwaterFogDistNear; // 2C
|
|
float underwaterFogDistFar; // 30
|
|
float normalMagnitude; // 34
|
|
float normalFalloffShallow; // 38
|
|
float normalFalloffDeep; // 3C
|
|
float reflectionAmount; // 40
|
|
float fresnelAmount; // 44
|
|
float surfaceEffectFalloff; // 48
|
|
float displacementForce; // 4C
|
|
float displacementVelocity; // 50
|
|
float displacementFalloff; // 54
|
|
float displacementDampener; // 58
|
|
float displacementSize; // 5C
|
|
std::uint32_t reflectionWaterColor; // 60
|
|
float sunSpecularPower; // 64
|
|
float sunSpecularMagnitude; // 68
|
|
float sunSparklePower; // 6C
|
|
float sunSparkleMagnitude; // 70
|
|
float lightRadius; // 74
|
|
float lightBrightness; // 78
|
|
float shininess; // 7C
|
|
float noiseWindDirections[3]; // 80
|
|
float noiseWindSpeeds[3]; // 8C
|
|
float amplitude[3]; // 98
|
|
float uvScales[3]; // A4
|
|
float noiseFalloff[3]; // B0
|
|
float siltAmount; // BC
|
|
std::uint32_t lightSiltColor; // C0
|
|
std::uint32_t darkSiltColor; // C4
|
|
bool ssrEnabled; // C8
|
|
};
|
|
static_assert(sizeof(WaterShaderData) == 0xCC);
|
|
}
|