Caleb Cornett 917cba04e8 | ||
---|---|---|
BasicCompute | ||
BasicTriangle | ||
ClearScreen | ||
ClearScreen_MultiWindow | ||
CompressedTextures | ||
ComputeUniforms | ||
CopyTexture | ||
Cube | ||
CullFace | ||
DrawIndirect | ||
GetBufferData | ||
InstancingAndOffsets | ||
MSAA | ||
Mipmaps | ||
MoonWorks.Test.Common | ||
RenderTexture3D | ||
RenderTextureCube | ||
Texture3D | ||
TexturedAnimatedQuad | ||
TexturedQuad | ||
TriangleVertexBuffer | ||
VertexSampler | ||
VideoPlayer | ||
.gitignore | ||
MoonWorksGraphicsTests.sln | ||
README.md |
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.
InstancingAndOffsets
Draws 16 instanced triangles. Tests DrawPrimitivesInstanced, vertex offsets, and index offsets.
CompressedTextures
Loads a series of compressed textures, then displays them for viewing. Tests compressed texture loading.
CopyTexture
Loads an image, then makes three copies of the image. One is a 1:1 scale image, another is a half-sized image (to test linear/nearest blitting), and the final copy is to a buffer. The buffer bytes are then compared with the original texture bytes to verify the copy's correctness. Tests CopyTextureToTexture and CopyTextureToBuffer.
VideoPlayer
Plays a sample Ogg Theora video file. Tests YUV textures and video rendering.
Texture3D
Displays 2D slices of a 3D texture. Tests creating and drawing 3D textures.
VertexSampler
Displays a triangle whose colors are driven by sampling a texture in the vertex shader.
RenderTexture3D
Fades through 2D slices of a 3D render texture. Tests binding and sampling 3D render textures.
RenderTextureCube
Displays a cubemap generated by rendering to a cube render target. Tests binding and sampling cube render textures.
Mipmaps
Displays a quad that can be scaled to reveal various mip levels. The mips are solid colors, generated by clearing various levels of the texture. Tests rendering to mipmap levels of a texture and rendering mipmaps.