mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-09-12 18:50:22 -07:00
demos/teapot: Add a flat shading toggle.
This commit is contained in:
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
@@ -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]);
|
||||
|
Reference in New Issue
Block a user