Atlassian uses cookies to improve your browsing experience, perform analytics and research, and conduct advertising. Accept all cookies to indicate that you agree to our use of cookies on your device. Atlassian cookies and tracking notice, (opens new window)

Enlighten SDK 3.10 Documentation
Results will update as you type.
  • Welcome to Enlighten
  • How Enlighten works
  • Artist workflow
  • Install Enlighten
  • Libraries
  • Implementation guide
  • Technical reference
    • Output formats
    • Albedo handling
    • Lightmap lighting models
    • Light probe evaluation
    • Local IBL reflections
    • Light visibility data
    • Custom direct lights
    • Precompute pipeline
    • Low level precompute API
    • Debugging the precompute
    • The low level runtime
      • Low level runtime walkthrough
      • Input lighting
        • Input lighting concepts
        • Half-precision input lighting
        • Bounce Resampling
        • Probe bounce updates
        • Static destruction
      • Debug the low level runtime
    • Baked lighting
    • Performance tuning
    • Technical troubleshooting
    • Terrain LOD
    • Probe LOD
    • Lightmap LOD
  • Advanced techniques
  • Tools
  • Enlighten Mobile
  • White papers
  • Third-party licences
  • Release notes
    Calendars

You‘re viewing this with anonymous access, so some content might be blocked.
/
Half-precision input lighting

    This is the documentation for Enlighten.

    Half-precision input lighting

    Nov 21, 2019

    To save memory, it's possible to use half-precision InputLightingBuffer and IncidentLightingBuffer objects, which store lighting with 16-bit float precision. This may have a performance impact, depending on platform, so it's important to consider your individual integration requirements. Xbox One, PS4 and Neon can do the conversion for minimal cost, but there is a more significant cost for SSE2 platforms.

    The following function definitions specify the input lighting precision hint.

    Geo::u32 GEO_CALL CalcIncidentLightingBufferSize(const Enlighten::InputWorkspace* inputWorkspace, PrecisionHint::Value precision = PrecisionHint::DEFAULT_PRECISION);
    Geo::u32 GEO_CALL GetIncidentLightingBufferSize(const Enlighten::IncidentLightingBuffer* incidentLightingBuffer, PrecisionHint::Value precision = PrecisionHint::DEFAULT_PRECISION);
    Enlighten::IncidentLightingBuffer* GEO_CALL CreateIncidentLightingBuffer(void* memory, const Enlighten::InputWorkspace* inputWorkspace, PrecisionHint::Value precision=PrecisionHint::DEFAULT_PRECISION);
    Geo::u32 GEO_CALL CalcInputLightingBufferSize(const InputWorkspace* inputWorkspace, PrecisionHint::Value precisionHint = PrecisionHint::DEFAULT_PRECISION);
    InputLightingBuffer* GEO_CALL CreateInputLightingBuffer(void* memory, const InputWorkspace* inputWorkspace, PrecisionHint::Value precisionHint = PrecisionHint::DEFAULT_PRECISION);
    Geo::u32 GEO_CALL CalcEnvironmentInputLightingBufferSize(Geo::s32 environmentResolution, PrecisionHint::Value precisionHint = PrecisionHint::DEFAULT_PRECISION);
    InputLightingBuffer* GEO_CALL CreateEnvironmentInputLightingBuffer(void* memory, Geo::s32 environmentResolution, PrecisionHint::Value precisionHint = PrecisionHint::DEFAULT_PRECISION);
    
    , multiple selections available,
    {"serverDuration": 8, "requestCorrelationId": "d05c21b787be4da8ba162d8be7ed2b9f"}