1#ifndef NXDK_PGRAPH_TESTS_LIGHTING_SPOTLIGHT_TESTS_H
2#define NXDK_PGRAPH_TESTS_LIGHTING_SPOTLIGHT_TESTS_H
9#include "xbox_math_types.h"
12namespace PBKitPlusPlus {
16using namespace PBKitPlusPlus;
45 Spotlight(
const XboxMath::vector_t& position,
const XboxMath::vector_t& direction,
float phi,
float theta,
46 float attenuation_1,
float attenuation_2,
float attenuation_3,
float falloff_1,
float falloff_2,
48 void Commit(uint32_t light_index,
const XboxMath::matrix4_t& view_matrix)
const;
50 XboxMath::vector_t position;
52 XboxMath::vector_t direction;
74 void Test(
const std::string& name,
const Spotlight& light);
75 void TestFixed(
const std::string& name,
const Spotlight& light);
77 void CreateGeometry();
80 std::shared_ptr<VertexBuffer> vertex_buffer_plane_;
81 std::shared_ptr<VertexBuffer> vertex_buffer_cylinder_;
Definition lighting_spotlight_tests.h:40
void Deinitialize() override
Called to tear down the test suite.
Definition lighting_spotlight_tests.cpp:167
void Initialize() override
Called to initialize the test suite.
Definition lighting_spotlight_tests.cpp:130
Definition test_host.h:33
Definition test_suite.h:20
Definition lighting_spotlight_tests.h:44
float theta
umbra (inner cone) angle in degrees.
Definition lighting_spotlight_tests.h:58
float phi
penumbra (outer cone) angle in degrees.
Definition lighting_spotlight_tests.h:55
float attenuation[3]
Attenuation: {constant, linear (distance), quadratic (distance^2)}.
Definition lighting_spotlight_tests.h:61
float falloff[3]
Raw nv2a falloff coefficients.
Definition lighting_spotlight_tests.h:64