#include <lighting_spotlight_tests.h>
Classes | |
struct | Spotlight |
Public Types | |
typedef struct LightingSpotlightTests::Spotlight | Spotlight |
Public Member Functions | |
LightingSpotlightTests (TestHost &host, std::string output_dir, const Config &config) | |
void | Initialize () override |
Called to initialize the test suite. | |
void | Deinitialize () override |
Called to tear down the test suite. | |
![]() | |
TestSuite (TestHost &host, std::string output_dir, std::string suite_name, const Config &config) | |
const std::string & | Name () const |
virtual void | SetupTest () |
Called before running an individual test within this suite. | |
virtual void | TearDownTest () |
Called after running an individual test within this suite. | |
void | DisableTests (const std::set< std::string > &tests_to_skip) |
std::vector< std::string > | TestNames () const |
bool | HasEnabledTests () const |
void | Run (const std::string &test_name) |
void | RunAll () |
void | SetSavingAllowed (bool enable=true) |
Additional Inherited Members | |
![]() | |
static void | TagNV2ATrace (uint32_t num_nops) |
Inserts a pattern of NV097_NO_OPERATION's into the pushbuffer to allow identification when viewing nv2a traces. | |
![]() | |
void | SetDefaultTextureFormat () const |
![]() | |
TestHost & | host_ |
std::string | output_dir_ |
std::string | suite_name_ |
bool | allow_saving_ {true} |
std::map< std::string, std::function< void()> > | tests_ {} |
PGRAPHDiffToken | pgraph_diff_ |
bool | enable_progress_log_ |
bool | enable_pgraph_region_diff_ |
uint32_t | delay_milliseconds_between_tests_ |
std::shared_ptr< FTPLogger > | ftp_logger_ |
Tests the behavior of spotlight falloff and attenuation settings.
The spotlight is placed at {0, 0, -7} (the camera position) pointing directly into the screen, with a maximum range of 15.f. A plane is rendered at {0, 0, 0}, and a cylinder at ~ {1, 1, 0}.
For the "At" prefixed tests, the attenuation factor of the light is adjusted. This factor should decrease the light intensity relative to the distance between the vertex and the light.
For the "Fo" prefixed tests, the falloff factor of the light is adjusted. This factor modifies how the intensity falls off in the zone between the penumbra (the outermost illuminated region) and the umbra (the region within which the light's full intensity is applied). Note that all pixels are still modified by attenuation, which is set to a constant value.
For the "PT" prefixed tests, the phi (penumbra) and theta (umbra) angles are set to various values, including some that would be prevented by DirectX.
See https://learn.microsoft.com/en-us/windows/uwp/graphics-concepts/attenuation-and-spotlight-factor
Describes a spotlight. See https://learn.microsoft.com/en-us/windows/uwp/graphics-concepts/attenuation-and-spotlight-factor
|
overridevirtual |
Called to tear down the test suite.
Reimplemented from TestSuite.
|
overridevirtual |
Called to initialize the test suite.
Reimplemented from TestSuite.