mirror of
https://git.ryujinx.app/ryubing/ryujinx.git
synced 2026-04-24 15:33:02 +00:00
47 lines
1.4 KiB
C#
47 lines
1.4 KiB
C#
namespace Ryujinx.Graphics.Shader
|
|
{
|
|
public enum InputTopology : byte
|
|
{
|
|
Points,
|
|
Lines,
|
|
LinesAdjacency,
|
|
Triangles,
|
|
TrianglesAdjacency,
|
|
}
|
|
|
|
static class InputTopologyExtensions
|
|
{
|
|
extension(InputTopology topology)
|
|
{
|
|
public string GlslString => topology switch
|
|
{
|
|
InputTopology.Points => "points",
|
|
InputTopology.Lines => "lines",
|
|
InputTopology.LinesAdjacency => "lines_adjacency",
|
|
InputTopology.Triangles => "triangles",
|
|
InputTopology.TrianglesAdjacency => "triangles_adjacency",
|
|
_ => "points",
|
|
};
|
|
|
|
public int InputVertexCount => topology switch
|
|
{
|
|
InputTopology.Points => 1,
|
|
InputTopology.Lines => 2,
|
|
InputTopology.LinesAdjacency => 4,
|
|
InputTopology.Triangles => 3,
|
|
InputTopology.TrianglesAdjacency => 6,
|
|
_ => 1,
|
|
};
|
|
|
|
public int InputVertexCountNoAdjacency => topology switch
|
|
{
|
|
InputTopology.Points => 1,
|
|
InputTopology.Lines or
|
|
InputTopology.LinesAdjacency => 2,
|
|
InputTopology.Triangles or
|
|
InputTopology.TrianglesAdjacency => 3,
|
|
_ => 1,
|
|
};
|
|
}
|
|
}
|
|
}
|