WIP: Add graphics test suite #32

Closed
TheSpydog wants to merge 1 commits from TheSpydog:testsuite into main

Adds some basic testing infrastructure. Tests so far include:

ClearScreen
Clears the screen to CornflowerBlue. Mostly useful as a smoke test to make sure basic device init and render passes are working as intended.

ClearScreen_MultiWindow
Similar to above, but with two windows. Useful for testing window claim/unclaim logic and presenting to multiple swapchains.

BasicTriangle
Sets up a graphics pipeline and draws a triangle without vertex buffers. (The vertices are manually positioned in the vertex shader.) Also tests some basic rasterizer state with custom viewports, scissor rects, and fill/wireframe modes.

TriangleVertexBuffer
Similar to above, but using a MoonWorks vertex buffer and custom vertex structs.

TexturedQuad
Draws a textured quad to the screen. Tests texture binding, index buffers, and sampler states.

AnimatedTexturedQuad
Similar to above, but with rotating and color-blending animations. Tests vertex and fragment uniforms.

MSAA
Draws a basic triangle with varying MSAA sample counts.

CullMode
Draws several triangles with various culling modes and winding orders.

Adds some basic testing infrastructure. Tests so far include: **ClearScreen** Clears the screen to CornflowerBlue. Mostly useful as a smoke test to make sure basic device init and render passes are working as intended. **ClearScreen_MultiWindow** Similar to above, but with two windows. Useful for testing window claim/unclaim logic and presenting to multiple swapchains. **BasicTriangle** Sets up a graphics pipeline and draws a triangle without vertex buffers. (The vertices are manually positioned in the vertex shader.) Also tests some basic rasterizer state with custom viewports, scissor rects, and fill/wireframe modes. **TriangleVertexBuffer** Similar to above, but using a MoonWorks vertex buffer and custom vertex structs. **TexturedQuad** Draws a textured quad to the screen. Tests texture binding, index buffers, and sampler states. **AnimatedTexturedQuad** Similar to above, but with rotating and color-blending animations. Tests vertex and fragment uniforms. **MSAA** Draws a basic triangle with varying MSAA sample counts. **CullMode** Draws several triangles with various culling modes and winding orders.
TheSpydog added 1 commit 2022-11-09 19:13:39 +00:00

Closing in favor of keeping these in a separate repository.

Closing in favor of keeping these in a separate repository.
TheSpydog closed this pull request 2022-11-09 19:36:30 +00:00
TheSpydog deleted branch testsuite 2022-11-09 19:36:34 +00:00

Pull request closed

Sign in to join this conversation.
No reviewers
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: MoonsideGames/MoonWorks#32
There is no content yet.