diff options
| author | Tony Wasserka <neobrainx@gmail.com> | 2014-08-12 11:59:21 +0200 |
|---|---|---|
| committer | Tony Wasserka <neobrainx@gmail.com> | 2014-08-12 11:59:21 +0200 |
| commit | d03e91962e9c7cb5a51693086df2ecaa50ec8c12 (patch) | |
| tree | 77ebbdf72b21419a3238d6ebb33d6096b3efb946 /Source/Core/VideoBackends/Software/Clipper.cpp | |
| parent | a46151e14690bdba78c5d8844e2c369b2c7a64e2 (diff) | |
| parent | bcd10bfda657d6af2d43c22de20b1d924e482b98 (diff) | |
Merge pull request #779 from lioncash/software-cleanup
Small software backend cleanup.
Diffstat (limited to 'Source/Core/VideoBackends/Software/Clipper.cpp')
| -rw-r--r-- | Source/Core/VideoBackends/Software/Clipper.cpp | 45 |
1 files changed, 33 insertions, 12 deletions
diff --git a/Source/Core/VideoBackends/Software/Clipper.cpp b/Source/Core/VideoBackends/Software/Clipper.cpp index 5e0398f540..f0ef19cd4e 100644 --- a/Source/Core/VideoBackends/Software/Clipper.cpp +++ b/Source/Core/VideoBackends/Software/Clipper.cpp @@ -45,7 +45,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. namespace Clipper { - enum { NUM_CLIPPED_VERTICES = 33, NUM_INDICES = NUM_CLIPPED_VERTICES + 3 }; + enum + { + NUM_CLIPPED_VERTICES = 33, + NUM_INDICES = NUM_CLIPPED_VERTICES + 3 + }; static float m_ViewOffset[2]; @@ -72,7 +76,8 @@ namespace Clipper } - enum { + enum + { SKIP_FLAG = -1, CLIP_POS_X_BIT = 0x01, CLIP_NEG_X_BIT = 0x02, @@ -86,12 +91,25 @@ namespace Clipper { int cmask = 0; Vec4 pos = v->projectedPosition; - if (pos.w - pos.x < 0) cmask |= CLIP_POS_X_BIT; - if (pos.x + pos.w < 0) cmask |= CLIP_NEG_X_BIT; - if (pos.w - pos.y < 0) cmask |= CLIP_POS_Y_BIT; - if (pos.y + pos.w < 0) cmask |= CLIP_NEG_Y_BIT; - if (pos.w * pos.z > 0) cmask |= CLIP_POS_Z_BIT; - if (pos.z + pos.w < 0) cmask |= CLIP_NEG_Z_BIT; + + if (pos.w - pos.x < 0) + cmask |= CLIP_POS_X_BIT; + + if (pos.x + pos.w < 0) + cmask |= CLIP_NEG_X_BIT; + + if (pos.w - pos.y < 0) + cmask |= CLIP_POS_Y_BIT; + + if (pos.y + pos.w < 0) + cmask |= CLIP_NEG_Y_BIT; + + if (pos.w * pos.z > 0) + cmask |= CLIP_POS_Z_BIT; + + if (pos.z + pos.w < 0) + cmask |= CLIP_NEG_Z_BIT; + return cmask; } @@ -209,7 +227,8 @@ namespace Clipper indices[0] = inlist[0]; indices[1] = inlist[1]; indices[2] = inlist[2]; - for (int j = 3; j < n; ++j) { + for (int j = 3; j < n; ++j) + { indices[numIndices++] = inlist[0]; indices[numIndices++] = inlist[j - 1]; indices[numIndices++] = inlist[j]; @@ -276,9 +295,11 @@ namespace Clipper if (!CullTest(v0, v1, v2, backface)) return; - int indices[NUM_INDICES] = { 0, 1, 2, SKIP_FLAG, SKIP_FLAG, SKIP_FLAG, SKIP_FLAG, SKIP_FLAG, SKIP_FLAG, - SKIP_FLAG, SKIP_FLAG, SKIP_FLAG, SKIP_FLAG, SKIP_FLAG, SKIP_FLAG, - SKIP_FLAG, SKIP_FLAG, SKIP_FLAG, SKIP_FLAG, SKIP_FLAG, SKIP_FLAG }; + int indices[NUM_INDICES] = { + 0, 1, 2, SKIP_FLAG, SKIP_FLAG, SKIP_FLAG, SKIP_FLAG, SKIP_FLAG, SKIP_FLAG, + SKIP_FLAG, SKIP_FLAG, SKIP_FLAG, SKIP_FLAG, SKIP_FLAG, SKIP_FLAG, + SKIP_FLAG, SKIP_FLAG, SKIP_FLAG, SKIP_FLAG, SKIP_FLAG, SKIP_FLAG + }; int numIndices = 3; if (backface) |
