X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fwindingtest.cpp;h=0b8218adbf2773971b589c89cccefa134d403788;hp=de9e0a2530562a33deb9e84a61e5d691dafa8bd8;hb=91d3eac06389c0bb0363f643790581403b5fca1b;hpb=2e7f19b895424c3a77940e648639f8df2b395d0f diff --git a/source/windingtest.cpp b/source/windingtest.cpp index de9e0a25..0b8218ad 100644 --- a/source/windingtest.cpp +++ b/source/windingtest.cpp @@ -15,12 +15,10 @@ void operator>>(const LexicalConverter &conv, FaceWinding &winding) } WindingTest::WindingTest(): - test(false), winding(COUNTERCLOCKWISE) { } WindingTest::WindingTest(FaceWinding w): - test(true), winding(w) { } @@ -28,13 +26,8 @@ void WindingTest::bind() const { if(set_current(this)) { - if(test) - { - glEnable(GL_CULL_FACE); - glFrontFace(winding); - } - else - glDisable(GL_CULL_FACE); + glEnable(GL_CULL_FACE); + glFrontFace(winding); } } @@ -44,13 +37,21 @@ void WindingTest::unbind() glDisable(GL_CULL_FACE); } -WindingTest &WindingTest::clockwise() +const WindingTest &WindingTest::get_reverse() const +{ + if(winding==CLOCKWISE) + return counterclockwise(); + else + return clockwise(); +} + +const WindingTest &WindingTest::clockwise() { static WindingTest test(CLOCKWISE); return test; } -WindingTest &WindingTest::counterclockwise() +const WindingTest &WindingTest::counterclockwise() { static WindingTest test(COUNTERCLOCKWISE); return test;