QtCraft API C++ classes QML types Handbook

QcWaterUniforms Struct

The std140 layout of the Water block of water.frag and water_behind.frag (decision E-906). More...

Header: #include <clientcore/light/QcWaterLook.h>

Public Variables

std::array<float, 4> camera
std::array<float, 4> deep
std::array<float, 4> effects
std::array<float, 4> extinction
std::array<float, 4> glow
std::array<float, 4> horizon
std::array<float, 16> inverseViewProjection
std::array<float, 4> lightColour
std::array<float, 4> pixel
std::array<float, 4> toLight
std::array<float, 4> zenith

Detailed Description

Member Variable Documentation

std::array<float, 4> QcWaterUniforms::camera

xyz: the camera's world position modulo QcWaterLook::wavePeriod, w: unused.

std::array<float, 4> QcWaterUniforms::deep

rgb: the colour of the water around a camera under water (underwaterColour), seen where the surface mirrors the water below it; w: unused.

std::array<float, 4> QcWaterUniforms::effects

x: steps of the screen-space reflections (0: none), y: strength of the caustics, zw: unused.

std::array<float, 4> QcWaterUniforms::extinction

rgb: how much of the light the water takes per block (linear), w: unused.

std::array<float, 4> QcWaterUniforms::glow

rgb: the glow around the sun near the horizon, w: +1 or -1, the y of texture coordinates per y of normalised device coordinates.

std::array<float, 4> QcWaterUniforms::horizon

rgb: the sky's horizon, w: 1 when the depth buffer holds the clip depth 0..1.

std::array<float, 16> QcWaterUniforms::inverseViewProjection

Inverse of projection x the camera's rotation: positions relative to the camera (E-883).

std::array<float, 4> QcWaterUniforms::lightColour

rgb: the light's colour on lit surfaces, w: unused.

std::array<float, 4> QcWaterUniforms::pixel

xy: one pixel of the scene in texture coordinates, z: wave octaves, w: refraction strength.

std::array<float, 4> QcWaterUniforms::toLight

xyz: towards the light the water mirrors (the sun by day, the moon by night), w: its strength (0: no highlight, overcast or no light above the horizon).

std::array<float, 4> QcWaterUniforms::zenith

rgb: the sky's zenith (display values), w: the waves' time in seconds (QcWaterLook::waveLoopSeconds).