aboutsummaryrefslogtreecommitdiff
path: root/src/scene/light_impl.h
blob: 3191a50c10d52b6d5b8c29d39815af3d1579c21f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#pragma once

#include <gfx/scene.h>

/// An environment light.
typedef struct EnvironmentLight {
  const Texture* environment_map;
  const Texture* irradiance_map;              // Renderer implementation.
  const Texture* prefiltered_environment_map; // Renderer implementation.
  int max_reflection_lod; // Mandatory when prefiltered_environment_map is
  // given.
} EnvironmentLight;

/// A scene light.
typedef struct Light {
  LightType type;
  union {
    EnvironmentLight environment;
  };
} Light;