1#ifndef NXDK_PGRAPH_TESTS_LIGHTING_SPOTLIGHT_TESTS_H
2#define NXDK_PGRAPH_TESTS_LIGHTING_SPOTLIGHT_TESTS_H
9#include "xbox_math_types.h"
41 Spotlight(
const XboxMath::vector_t& position,
const XboxMath::vector_t& direction,
float phi,
float theta,
42 float attenuation_1,
float attenuation_2,
float attenuation_3,
float falloff_1,
float falloff_2,
44 void Commit(uint32_t light_index,
const XboxMath::matrix4_t& view_matrix)
const;
46 XboxMath::vector_t position;
48 XboxMath::vector_t direction;
70 void Test(
const std::string& name,
const Spotlight& light);
71 void TestFixed(
const std::string& name,
const Spotlight& light);
73 void CreateGeometry();
76 std::shared_ptr<VertexBuffer> vertex_buffer_plane_;
77 std::shared_ptr<VertexBuffer> vertex_buffer_cylinder_;
Definition lighting_spotlight_tests.h:36
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:47
Definition test_suite.h:20
Definition vertex_buffer.h:204
Definition lighting_spotlight_tests.h:40
float theta
umbra (inner cone) angle in degrees.
Definition lighting_spotlight_tests.h:54
float phi
penumbra (outer cone) angle in degrees.
Definition lighting_spotlight_tests.h:51
float attenuation[3]
Attenuation: {constant, linear (distance), quadratic (distance^2)}.
Definition lighting_spotlight_tests.h:57
float falloff[3]
Raw nv2a falloff coefficients.
Definition lighting_spotlight_tests.h:60