Test suite for MoonWorks graphics
 
 
Go to file
Caleb Cornett e9ffc97e1b Added DrawIndirect test 2023-01-03 13:27:48 -05:00
BasicCompute Added new compute uniforms test, reworked existing compute test 2022-12-28 15:31:08 -05:00
BasicTriangle Added gamepad control support, cleaned up GetBufferDataGame for clarity 2022-12-22 23:48:07 -05:00
ClearScreen move shader modules out of class scope and always use TestUtils.GetShaderPath 2022-11-12 11:42:12 -05:00
ClearScreen_MultiWindow add some initial tests 2022-11-09 14:54:42 -05:00
ComputeUniforms Added new compute uniforms test, reworked existing compute test 2022-12-28 15:31:08 -05:00
Cube Added gamepad control support, cleaned up GetBufferDataGame for clarity 2022-12-22 23:48:07 -05:00
CullFace Added gamepad control support, cleaned up GetBufferDataGame for clarity 2022-12-22 23:48:07 -05:00
DrawIndirect Added DrawIndirect test 2023-01-03 13:27:48 -05:00
GetBufferData Added gamepad control support, cleaned up GetBufferDataGame for clarity 2022-12-22 23:48:07 -05:00
MSAA Added gamepad control support, cleaned up GetBufferDataGame for clarity 2022-12-22 23:48:07 -05:00
MoonWorks.Test.Common Added new compute uniforms test, reworked existing compute test 2022-12-28 15:31:08 -05:00
TexturedAnimatedQuad fix shader names in TexturedAnimatedQuad 2022-11-18 15:05:39 -05:00
TexturedQuad Added gamepad control support, cleaned up GetBufferDataGame for clarity 2022-12-22 23:48:07 -05:00
TriangleVertexBuffer Texture format consistency 2022-11-17 12:33:58 -08:00
.gitignore add some initial tests 2022-11-09 14:54:42 -05:00
MoonWorksGraphicsTests.sln Added DrawIndirect test 2023-01-03 13:27:48 -05:00
README.md Added DrawIndirect test 2023-01-03 13:27:48 -05:00

README.md

Tests 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.

GetBufferData

Sets buffer data, gets the data back from the GPU, and prints the results to the console.

Cube

Renders a cubemap skybox and a spinning cube. Tests depth textures, sampling from depth textures, depth-only render passes, cube textures, and 32-bit index buffers.

BasicCompute

Uses compute pipelines to (1) fill a texture with yellow pixels then display it to the screen and (2) calculate the squares of the first 64 integers. Tests compute pipeline creation, compute dispatching, compute textures, and compute buffers.

ComputeUniforms

Uses a compute pipeline to fill a texture with a color gradient. Tests compute uniforms.

DrawIndirect

Draws two triangles via indirect commands. Tests DrawPrimitivesIndirect.