demos/teapot: Add a flat shading toggle.

This commit is contained in:
Henri Verbeet
2025-07-11 22:37:51 +02:00
parent 8d4222764c
commit 53dd048ad5
Notes: Henri Verbeet 2025-07-21 12:35:29 +02:00
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1625
3 changed files with 22 additions and 8 deletions

View File

@@ -22,7 +22,7 @@ cbuffer teapot_cb : register(b0)
{
float4x4 mvp_matrix;
float level;
uint wireframe;
uint wireframe, flat;
};
struct control_point
@@ -166,6 +166,14 @@ void gs_main(triangle struct gs_in i[3], inout TriangleStream<struct ps_in> stre
v[2].normal = i[2].normal;
v[2].barycentric = float2(0.0, 0.0);
if (flat)
{
n = normalize(cross(i[1].pos - i[0].pos, i[2].pos - i[0].pos));
v[0].normal = n;
v[1].normal = n;
v[2].normal = n;
}
stream.Append(v[0]);
stream.Append(v[1]);
stream.Append(v[2]);