#include #include #include #include using namespace XCEngine::Rendering::Pipelines; using namespace XCEngine::Resources; using namespace XCEngine::RHI; TEST(BuiltinForwardPipeline_Test, UsesFloat3PositionInputLayoutForStaticMeshVertices) { const InputLayoutDesc inputLayout = BuiltinForwardPipeline::BuildInputLayout(); ASSERT_EQ(inputLayout.elements.size(), 2u); const InputElementDesc& position = inputLayout.elements[0]; EXPECT_EQ(position.semanticName, "POSITION"); EXPECT_EQ(position.semanticIndex, 0u); EXPECT_EQ(position.format, static_cast(Format::R32G32B32_Float)); EXPECT_EQ(position.inputSlot, 0u); EXPECT_EQ(position.alignedByteOffset, 0u); const InputElementDesc& texcoord = inputLayout.elements[1]; EXPECT_EQ(texcoord.semanticName, "TEXCOORD"); EXPECT_EQ(texcoord.semanticIndex, 0u); EXPECT_EQ(texcoord.format, static_cast(Format::R32G32_Float)); EXPECT_EQ(texcoord.inputSlot, 0u); EXPECT_EQ(texcoord.alignedByteOffset, static_cast(offsetof(StaticMeshVertex, uv0))); }