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
+7 -2
View File
@@ -1101,8 +1101,13 @@ void ParticleSystem::draw(Graphics *gfx, const Matrix4 &m)
Graphics::TempTransform transform(gfx, m);
int count = quadIndices.getIndexCount(getCount());
gfx->drawIndexed(PRIMITIVE_TRIANGLES, count, 1, quadIndices.getType(), quadIndices.getBuffer(), 0, vertexAttributes, vertexbuffers, texture);
Graphics::DrawIndexedCommand cmd(&vertexAttributes, &vertexbuffers, quadIndices.getBuffer());
cmd.primitiveType = PRIMITIVE_TRIANGLES;
cmd.indexBufferOffset = 0;
cmd.indexCount = (int) quadIndices.getIndexCount(pCount);
cmd.indexType = quadIndices.getType();
cmd.texture = texture;
gfx->draw(cmd);
}
bool ParticleSystem::getConstant(const char *in, AreaSpreadDistribution &out)