Remove all QUADS usage. Replaced with TRIANGLES and TRIANGLE_STRIP. May do another pass and replace un-textured TRIANGLE_STRIPs with TRIANGLES to reduce flush calls.

This commit is contained in:
Shyotl
2017-02-11 02:03:06 -06:00
parent 271c37442d
commit 693781a014
29 changed files with 599 additions and 837 deletions

View File

@@ -610,43 +610,55 @@ void LLManipScale::renderFaces( const LLBBox& bbox )
{
gGL.color4fv( default_normal_color.mV );
LLGLDepthTest gls_depth(GL_FALSE);
gGL.begin(LLRender::QUADS);
gGL.begin(LLRender::TRIANGLES);
{
// Face 0
gGL.vertex3f(min.mV[VX], max.mV[VY], max.mV[VZ]);
gGL.vertex3f(min.mV[VX], min.mV[VY], max.mV[VZ]);
gGL.vertex3f(max.mV[VX], min.mV[VY], max.mV[VZ]);
gGL.vertex3f(max.mV[VX], max.mV[VY], max.mV[VZ]);
gGL.vertex3f(max.mV[VX], max.mV[VY], max.mV[VZ]);
gGL.vertex3f(min.mV[VX], min.mV[VY], max.mV[VZ]);
gGL.vertex3f(max.mV[VX], min.mV[VY], max.mV[VZ]);
// Face 1
gGL.vertex3f(max.mV[VX], min.mV[VY], max.mV[VZ]);
gGL.vertex3f(max.mV[VX], min.mV[VY], min.mV[VZ]);
gGL.vertex3f(max.mV[VX], max.mV[VY], min.mV[VZ]);
gGL.vertex3f(max.mV[VX], max.mV[VY], max.mV[VZ]);
gGL.vertex3f(max.mV[VX], max.mV[VY], max.mV[VZ]);
gGL.vertex3f(max.mV[VX], min.mV[VY], min.mV[VZ]);
gGL.vertex3f(max.mV[VX], max.mV[VY], min.mV[VZ]);
// Face 2
gGL.vertex3f(min.mV[VX], max.mV[VY], min.mV[VZ]);
gGL.vertex3f(min.mV[VX], max.mV[VY], max.mV[VZ]);
gGL.vertex3f(max.mV[VX], max.mV[VY], max.mV[VZ]);
gGL.vertex3f(max.mV[VX], max.mV[VY], min.mV[VZ]);
gGL.vertex3f(max.mV[VX], max.mV[VY], min.mV[VZ]);
gGL.vertex3f(min.mV[VX], max.mV[VY], max.mV[VZ]);
gGL.vertex3f(max.mV[VX], max.mV[VY], max.mV[VZ]);
// Face 3
gGL.vertex3f(min.mV[VX], max.mV[VY], max.mV[VZ]);
gGL.vertex3f(min.mV[VX], max.mV[VY], min.mV[VZ]);
gGL.vertex3f(min.mV[VX], min.mV[VY], min.mV[VZ]);
gGL.vertex3f(min.mV[VX], min.mV[VY], max.mV[VZ]);
gGL.vertex3f(min.mV[VX], min.mV[VY], max.mV[VZ]);
gGL.vertex3f(min.mV[VX], max.mV[VY], min.mV[VZ]);
gGL.vertex3f(min.mV[VX], min.mV[VY], min.mV[VZ]);
// Face 4
gGL.vertex3f(min.mV[VX], min.mV[VY], max.mV[VZ]);
gGL.vertex3f(min.mV[VX], min.mV[VY], min.mV[VZ]);
gGL.vertex3f(max.mV[VX], min.mV[VY], min.mV[VZ]);
gGL.vertex3f(max.mV[VX], min.mV[VY], max.mV[VZ]);
gGL.vertex3f(max.mV[VX], min.mV[VY], max.mV[VZ]);
gGL.vertex3f(min.mV[VX], min.mV[VY], min.mV[VZ]);
gGL.vertex3f(max.mV[VX], min.mV[VY], min.mV[VZ]);
// Face 5
gGL.vertex3f(min.mV[VX], min.mV[VY], min.mV[VZ]);
gGL.vertex3f(min.mV[VX], max.mV[VY], min.mV[VZ]);
gGL.vertex3f(max.mV[VX], max.mV[VY], min.mV[VZ]);
gGL.vertex3f(max.mV[VX], min.mV[VY], min.mV[VZ]);
gGL.vertex3f(max.mV[VX], min.mV[VY], min.mV[VZ]);
gGL.vertex3f(min.mV[VX], max.mV[VY], min.mV[VZ]);
gGL.vertex3f(max.mV[VX], max.mV[VY], min.mV[VZ]);
}
gGL.end();
}