Allow fully flexible display of position&other component on meshes

* You can choose which component will be used as 'position' when rendering
  vertex inputs. Helpful if a position component isn't auto-detected, or
  if you want to render UV co-ordinates onto the screen.
* Instead of fixed TEXCOORD0/Color options for solid shading onto the mesh
  you can choose a secondary column yourself.
* Also the solid shading options are available on vertex output meshes as
  well as inputs.
This commit is contained in:
baldurk
2014-11-13 18:37:58 +00:00
parent ef65ad65f1
commit 551b0372c8
14 changed files with 832 additions and 361 deletions
+35
View File
@@ -58,6 +58,41 @@ namespace renderdocui.Code
hex = h;
}
public override bool Equals(Object obj)
{
return obj is FormatElement && this == (FormatElement)obj;
}
public override int GetHashCode()
{
int hash = name.GetHashCode() * 17;
hash = hash * 17 + buffer.GetHashCode();
hash = hash * 17 + offset.GetHashCode();
hash = hash * 17 + format.GetHashCode();
hash = hash * 17 + perinstance.GetHashCode();
hash = hash * 17 + rowmajor.GetHashCode();
hash = hash * 17 + matrixdim.GetHashCode();
hash = hash * 17 + hex.GetHashCode();
return hash;
}
public static bool operator ==(FormatElement x, FormatElement y)
{
if ((object)x == null) return false;
if ((object)y == null) return false;
return x.name == y.name &&
x.buffer == y.buffer &&
x.offset == y.offset &&
x.format == y.format &&
x.perinstance == y.perinstance &&
x.rowmajor == y.rowmajor &&
x.matrixdim == y.matrixdim &&
x.hex == y.hex;
}
public static bool operator !=(FormatElement x, FormatElement y)
{
return !(x == y);
}
public uint ByteSize
{
get