UpdateLightValues method

  1. @override
void UpdateLightValues(
  1. ShaderD shader,
  2. LightD light
)
override

Implementation

@override
void UpdateLightValues(
  ShaderD shader,
  LightD light,
) => run(
  () => RaylibDebugLabels.UpdateLightValues(shader, light),
  () {
    rl.CoreD.SetShaderValue(
      shader,
      light.enabledLoc,
      [light.enabled.toInt()],
      .SHADER_UNIFORM_INT,
    );

    rl.CoreD.SetShaderValue(
      shader,
      light.typeLoc,
      [light.type.value],
      .SHADER_UNIFORM_INT,
    );

    rl.CoreD.SetShaderValue(
      shader,
      light.positionLoc,
      light.position.toArray(),
      .SHADER_UNIFORM_VEC3,
    );

    rl.CoreD.SetShaderValue(
      shader,
      light.targetLoc,
      light.target.toArray(),
      .SHADER_UNIFORM_VEC3,
    );

    rl.CoreD.SetShaderValue(
      shader,
      light.colorLoc,
      [
        light.color.r / 255,
        light.color.g / 255,
        light.color.b / 255,
        light.color.a / 255,
      ],
      .SHADER_UNIFORM_VEC4,
    );
  },
);