Add (low level) functionality to allow rendering 3D Meshes.

- Add love.graphics.setDepthMode(testcomparison, enablewrites).
- Add love.graphics.setMeshCullMode.
- Add love.graphics.setFrontFaceWinding.

Depth testing and depth writes require a depth buffer to work. The mesh cull mode controls whether front/back faces of a mesh are culled. The front face winding determines whether a clockwise or counterclockwise-oriented face in a mesh is considered front facing.

--HG--
branch : minor
This commit is contained in:
Alex Szpakowski
2017-12-09 23:34:08 -04:00
parent 915e6c8eec
commit 7354de2059
21 changed files with 572 additions and 113 deletions
+2 -8
View File
@@ -34,19 +34,12 @@ CompareMode getReversedCompareMode(CompareMode mode)
return COMPARE_GREATER;
case COMPARE_LEQUAL:
return COMPARE_GEQUAL;
case COMPARE_EQUAL:
return COMPARE_EQUAL;
case COMPARE_GEQUAL:
return COMPARE_LEQUAL;
case COMPARE_GREATER:
return COMPARE_LESS;
case COMPARE_NOTEQUAL:
return COMPARE_NOTEQUAL;
case COMPARE_ALWAYS:
return COMPARE_ALWAYS;
case COMPARE_MAX_ENUM:
default:
return COMPARE_MAX_ENUM;
return mode;
}
}
@@ -71,6 +64,7 @@ static StringMap<CompareMode, COMPARE_MAX_ENUM>::Entry compareModeEntries[] =
{ "greater", COMPARE_GREATER },
{ "notequal", COMPARE_NOTEQUAL },
{ "always", COMPARE_ALWAYS },
{ "never", COMPARE_NEVER },
};
static StringMap<CompareMode, COMPARE_MAX_ENUM> compareModes(compareModeEntries, sizeof(compareModeEntries));