nxdk_pgraph_tests
A collection of tests for the Xbox nv2a graphics processor
 
Loading...
Searching...
No Matches
TexgenNormalMapTests Class Reference

#include <texgen_normal_map_tests.h>

Inheritance diagram for TexgenNormalMapTests:
Collaboration diagram for TexgenNormalMapTests:

Public Member Functions

 TexgenNormalMapTests (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.
 
- Public Member Functions inherited from TestSuite
 TestSuite (TestHost &host, std::string output_dir, std::string suite_name, const Config &config, bool interactive_only=false)
 
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, uint32_t test_index=0, uint32_t total_tests=0)
 
void RunAll (bool include_interactive)
 
bool IsInteractiveOnly () const
 
void SetSavingAllowed (bool enable=true)
 

Additional Inherited Members

- Static Public Member Functions inherited from TestSuite
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.
 
- Protected Member Functions inherited from TestSuite
void SetDefaultTextureFormat () const
 
void FinishDraw (const std::string &name, bool save_zbuffer=false)
 
void FinishDrawNoSave (const std::string &name, bool save_zbuffer=false)
 
- Protected Attributes inherited from TestSuite
TestHost & host_
 
std::string output_dir_
 
std::string suite_name_
 
bool interactive_only_
 
bool allow_saving_ {true}
 
std::map< std::string, std::function< void()> > tests_ {}
 
std::set< std::string > interactive_only_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_
 

Detailed Description

Tests texture coordinate generation using normal mapping NV097_SET_TEXGEN_S_V_NORMAL_MAP with non-flat geometry.

Constructor & Destructor Documentation

◆ TexgenNormalMapTests()

TexgenNormalMapTests::TexgenNormalMapTests ( TestHost &  host,
std::string  output_dir,
const Config &  config 
)

Tests NormalMap TexGen with non-flat geometry. Coordinates are generated from eye-space vertex normals, producing smooth variation across the surface.

Remarks
Basic_InfiniteViewer Tests NormalMap TexGen with infinite viewer model and identity texture matrix under STAGE_2D_PROJECTIVE. Normal vectors are viewer-independent, producing the same output as Identity.
MatrixOff Tests NormalMap TexGen with texture matrix disabled under STAGE_2D_PROJECTIVE on a non-flat mesh. Untransformed [-1, 1] normals lack [0, 1] remap bias, sampling the texture boundary color.
Identity Tests NormalMap TexGen with identity texture matrix under STAGE_2D_PROJECTIVE on a non-flat mesh.
Double Tests NormalMap TexGen with 2x scaling texture matrix under STAGE_2D_PROJECTIVE on a non-flat mesh.
Half Tests NormalMap TexGen with 0.5x scaling texture matrix under STAGE_2D_PROJECTIVE on a non-flat mesh.
ShiftHPlus Tests NormalMap TexGen with +0.5 horizontal translation texture matrix under STAGE_2D_PROJECTIVE on a non-flat mesh.
ShiftHMinus Tests NormalMap TexGen with -0.5 horizontal translation texture matrix under STAGE_2D_PROJECTIVE on a non-flat mesh.
ShiftVPlus Tests NormalMap TexGen with +0.5 vertical translation texture matrix under STAGE_2D_PROJECTIVE on a non-flat mesh.
ShiftVMinus Tests NormalMap TexGen with -0.5 vertical translation texture matrix under STAGE_2D_PROJECTIVE on a non-flat mesh.
RotateX Tests NormalMap TexGen with 90 deg X-rotation texture matrix under STAGE_2D_PROJECTIVE on a non-flat mesh.
RotateY Tests NormalMap TexGen with 90 deg Y-rotation texture matrix under STAGE_2D_PROJECTIVE on a non-flat mesh.
RotateZ Tests NormalMap TexGen with 90 deg Z-rotation texture matrix under STAGE_2D_PROJECTIVE on a non-flat mesh.
Negate Tests NormalMap TexGen with -1.0 negation texture matrix under STAGE_2D_PROJECTIVE on a non-flat mesh.
Arbitrary Tests NormalMap TexGen with arbitrary 4x4 texture matrix under STAGE_2D_PROJECTIVE on a non-flat mesh.
PassThrough_MatrixOff Tests NormalMap TexGen with texture matrix disabled under STAGE_PASS_THROUGH summed with a positive texture on a non-flat mesh.
PassThrough_Identity Tests NormalMap TexGen with identity texture matrix under STAGE_PASS_THROUGH summed with a positive texture on a non-flat mesh.
PassThrough_Double Tests NormalMap TexGen with 2x scaling texture matrix under STAGE_PASS_THROUGH summed with a positive texture on a non-flat mesh.
PassThrough_Half Tests NormalMap TexGen with 0.5x scaling texture matrix under STAGE_PASS_THROUGH summed with a positive texture on a non-flat mesh.
PassThrough_ShiftHPlus Tests NormalMap TexGen with +0.5 horizontal translation texture matrix under STAGE_PASS_THROUGH summed with a positive texture on a non-flat mesh.
PassThrough_ShiftHMinus Tests NormalMap TexGen with -0.5 horizontal translation texture matrix under STAGE_PASS_THROUGH summed with a positive texture on a non-flat mesh, evaluating coordinate clamping across curved surface normals.
PassThrough_ShiftVPlus Tests NormalMap TexGen with +0.5 vertical translation texture matrix under STAGE_PASS_THROUGH summed with a positive texture on a non-flat mesh.
PassThrough_ShiftVMinus Tests NormalMap TexGen with -0.5 vertical translation texture matrix under STAGE_PASS_THROUGH summed with a positive texture on a non-flat mesh, evaluating coordinate clamping across curved surface normals.
PassThrough_RotateX Tests NormalMap TexGen with 90 deg X-rotation texture matrix under STAGE_PASS_THROUGH summed with a positive texture on a non-flat mesh.
PassThrough_RotateY Tests NormalMap TexGen with 90 deg Y-rotation texture matrix under STAGE_PASS_THROUGH summed with a positive texture on a non-flat mesh.
PassThrough_RotateZ Tests NormalMap TexGen with 90 deg Z-rotation texture matrix under STAGE_PASS_THROUGH summed with a positive texture on a non-flat mesh.
PassThrough_Negate Tests NormalMap TexGen with -1.0 negation texture matrix under STAGE_PASS_THROUGH summed with a positive texture on a non-flat mesh, evaluating whether negative coordinates clamp to zero or darken below the positive texture.
PassThrough_Arbitrary Tests NormalMap TexGen with arbitrary 4x4 texture matrix under STAGE_PASS_THROUGH summed with a positive texture on a non-flat mesh.

Member Function Documentation

◆ Deinitialize()

void TexgenNormalMapTests::Deinitialize ( )
overridevirtual

Called to tear down the test suite.

Reimplemented from TestSuite.

◆ Initialize()

void TexgenNormalMapTests::Initialize ( )
overridevirtual

Called to initialize the test suite.

Reimplemented from TestSuite.


The documentation for this class was generated from the following files: