Donner SVG 0.8.0-pre
SVG editor and embeddable C⁠+⁠+⁠20 engine.
Loading...
Searching...
No Matches
donner::gpu::shader::programs::LightingParams Struct Reference

Host-shareable layout of the lighting parameter storage buffer. More...

#include "donner/gpu/shader/programs/LightingBindings.h"

Public Attributes

float surfaceScale = 0.0f
 Height represented by alpha one.
float lightingConstant = 0.0f
 Diffuse or specular scale factor.
float specularExponent = 0.0f
 Phong exponent; unused by diffuse lighting.
float pad0 = 0.0f
 Keeps the leading group 16 bytes wide.
float lightR = 0.0f
 Straight red light component.
float lightG = 0.0f
 Straight green light component.
float lightB = 0.0f
 Straight blue light component.
uint32_t lightType = 0
 Zero distant, one point, two spot.
float azimuthRad = 0.0f
 Distant-light azimuth in radians.
float elevationRad = 0.0f
 Distant-light elevation in radians.
float lightX = 0.0f
 Device-space light x.
float lightY = 0.0f
 Device-space light y.
float lightZ = 0.0f
 Device-space light z.
float userLightX = 0.0f
 User-space light x.
float userLightY = 0.0f
 User-space light y.
float userLightZ = 0.0f
 User-space light z.
float pointsAtX = 0.0f
 Device-space spotlight target x.
float pointsAtY = 0.0f
 Device-space spotlight target y.
float pointsAtZ = 0.0f
 Device-space spotlight target z.
float spotExponent = 0.0f
 Spotlight falloff exponent.
float userPointsAtX = 0.0f
 User-space spotlight target x.
float userPointsAtY = 0.0f
 User-space spotlight target y.
float userPointsAtZ = 0.0f
 User-space spotlight target z.
float coneAngleRad = 0.0f
 Limiting cone angle in radians.
float pixelToUser0 = 0.0f
 Pixel-x coefficient of user x.
float pixelToUser1 = 0.0f
 Pixel-y coefficient of user x.
float pixelToUser2 = 0.0f
 Constant term of user x.
float pixelToUser3 = 0.0f
 Pixel-x coefficient of user y.
float pixelToUser4 = 0.0f
 Pixel-y coefficient of user y.
float pixelToUser5 = 0.0f
 Constant term of user y.
uint32_t hasShear = 0
 Nonzero selects the user-space spotlight calculation.
uint32_t hasConeAngle = 0
 Nonzero enables limiting-cone attenuation.
int32_t sampleMinX = 0
 Inclusive sample subregion minimum x.
int32_t sampleMinY = 0
 Inclusive sample subregion minimum y.
int32_t sampleMaxX = 0
 Inclusive sample subregion maximum x.
int32_t sampleMaxY = 0
 Inclusive sample subregion maximum y.

Detailed Description

Host-shareable layout of the lighting parameter storage buffer.

Member Data Documentation

◆ azimuthRad

float donner::gpu::shader::programs::LightingParams::azimuthRad = 0.0f

Distant-light azimuth in radians.

◆ coneAngleRad

float donner::gpu::shader::programs::LightingParams::coneAngleRad = 0.0f

Limiting cone angle in radians.

◆ elevationRad

float donner::gpu::shader::programs::LightingParams::elevationRad = 0.0f

Distant-light elevation in radians.

◆ hasConeAngle

uint32_t donner::gpu::shader::programs::LightingParams::hasConeAngle = 0

Nonzero enables limiting-cone attenuation.

◆ hasShear

uint32_t donner::gpu::shader::programs::LightingParams::hasShear = 0

Nonzero selects the user-space spotlight calculation.

◆ lightB

float donner::gpu::shader::programs::LightingParams::lightB = 0.0f

Straight blue light component.

◆ lightG

float donner::gpu::shader::programs::LightingParams::lightG = 0.0f

Straight green light component.

◆ lightingConstant

float donner::gpu::shader::programs::LightingParams::lightingConstant = 0.0f

Diffuse or specular scale factor.

◆ lightR

float donner::gpu::shader::programs::LightingParams::lightR = 0.0f

Straight red light component.

◆ lightType

uint32_t donner::gpu::shader::programs::LightingParams::lightType = 0

Zero distant, one point, two spot.

◆ lightX

float donner::gpu::shader::programs::LightingParams::lightX = 0.0f

Device-space light x.

◆ lightY

float donner::gpu::shader::programs::LightingParams::lightY = 0.0f

Device-space light y.

◆ lightZ

float donner::gpu::shader::programs::LightingParams::lightZ = 0.0f

Device-space light z.

◆ pad0

float donner::gpu::shader::programs::LightingParams::pad0 = 0.0f

Keeps the leading group 16 bytes wide.

◆ pixelToUser0

float donner::gpu::shader::programs::LightingParams::pixelToUser0 = 0.0f

Pixel-x coefficient of user x.

◆ pixelToUser1

float donner::gpu::shader::programs::LightingParams::pixelToUser1 = 0.0f

Pixel-y coefficient of user x.

◆ pixelToUser2

float donner::gpu::shader::programs::LightingParams::pixelToUser2 = 0.0f

Constant term of user x.

◆ pixelToUser3

float donner::gpu::shader::programs::LightingParams::pixelToUser3 = 0.0f

Pixel-x coefficient of user y.

◆ pixelToUser4

float donner::gpu::shader::programs::LightingParams::pixelToUser4 = 0.0f

Pixel-y coefficient of user y.

◆ pixelToUser5

float donner::gpu::shader::programs::LightingParams::pixelToUser5 = 0.0f

Constant term of user y.

◆ pointsAtX

float donner::gpu::shader::programs::LightingParams::pointsAtX = 0.0f

Device-space spotlight target x.

◆ pointsAtY

float donner::gpu::shader::programs::LightingParams::pointsAtY = 0.0f

Device-space spotlight target y.

◆ pointsAtZ

float donner::gpu::shader::programs::LightingParams::pointsAtZ = 0.0f

Device-space spotlight target z.

◆ sampleMaxX

int32_t donner::gpu::shader::programs::LightingParams::sampleMaxX = 0

Inclusive sample subregion maximum x.

◆ sampleMaxY

int32_t donner::gpu::shader::programs::LightingParams::sampleMaxY = 0

Inclusive sample subregion maximum y.

◆ sampleMinX

int32_t donner::gpu::shader::programs::LightingParams::sampleMinX = 0

Inclusive sample subregion minimum x.

◆ sampleMinY

int32_t donner::gpu::shader::programs::LightingParams::sampleMinY = 0

Inclusive sample subregion minimum y.

◆ specularExponent

float donner::gpu::shader::programs::LightingParams::specularExponent = 0.0f

Phong exponent; unused by diffuse lighting.

◆ spotExponent

float donner::gpu::shader::programs::LightingParams::spotExponent = 0.0f

Spotlight falloff exponent.

◆ surfaceScale

float donner::gpu::shader::programs::LightingParams::surfaceScale = 0.0f

Height represented by alpha one.

◆ userLightX

float donner::gpu::shader::programs::LightingParams::userLightX = 0.0f

User-space light x.

◆ userLightY

float donner::gpu::shader::programs::LightingParams::userLightY = 0.0f

User-space light y.

◆ userLightZ

float donner::gpu::shader::programs::LightingParams::userLightZ = 0.0f

User-space light z.

◆ userPointsAtX

float donner::gpu::shader::programs::LightingParams::userPointsAtX = 0.0f

User-space spotlight target x.

◆ userPointsAtY

float donner::gpu::shader::programs::LightingParams::userPointsAtY = 0.0f

User-space spotlight target y.

◆ userPointsAtZ

float donner::gpu::shader::programs::LightingParams::userPointsAtZ = 0.0f

User-space spotlight target z.


The documentation for this struct was generated from the following file: