- Timestamp:
- 06/27/08 13:33:46 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
GTP/trunk/App/Demos/Vis/FriendlyCulling/src/RenderState.cpp
r2800 r2801 12 12 mAlphaTestEnabled(false), 13 13 mTexturesEnabled(false), 14 mMode(RENDER) 14 mMode(RENDER), 15 mIsDepthPass(false) 15 16 { 16 17 Reset(); … … 29 30 if (mode == QUERY) 30 31 { 31 //glDisableClientState(GL_NORMAL_ARRAY); 32 glDisable(GL_LIGHTING); 33 glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE); 32 if (!mIsDepthPass) 33 { 34 glDisable(GL_LIGHTING); 35 glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE); 36 } 37 34 38 glDepthMask(GL_FALSE); 35 39 … … 41 45 //-- restore render state 42 46 43 glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE); 47 if (!mIsDepthPass) 48 { 49 glEnable(GL_LIGHTING); 50 glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE); 51 } 52 44 53 glDepthMask(GL_TRUE); 45 glEnable(GL_LIGHTING);46 54 } 47 55 … … 52 60 void RenderState::SetState(bool texturing, bool alphaTest) 53 61 { 54 if (mTexturesEnabled && !texturing)55 {56 mTexturesEnabled = false;57 glDisable(GL_TEXTURE_2D);58 glDisableClientState(GL_TEXTURE_COORD_ARRAY);59 }60 else if (!mTexturesEnabled && texturing)61 {62 mTexturesEnabled = true;63 //glEnable(GL_TEXTURE_2D);64 //glEnableClientState(GL_TEXTURE_COORD_ARRAY);65 }66 67 62 if (mAlphaTestEnabled && !alphaTest) 68 63 { … … 73 68 { 74 69 mAlphaTestEnabled = true; 75 //glEnable(GL_ALPHA_TEST); 76 //glAlphaFunc(GL_GEQUAL, 0.5f); 70 glEnable(GL_ALPHA_TEST); 71 } 72 73 // allow only alpha textures in depth pass 74 if (mTexturesEnabled && 75 (!texturing || mIsDepthPass && !mAlphaTestEnabled)) 76 { 77 mTexturesEnabled = false; 78 glDisable(GL_TEXTURE_2D); 79 glDisableClientState(GL_TEXTURE_COORD_ARRAY); 80 } 81 else if (!mTexturesEnabled && texturing) 82 { 83 if (!mIsDepthPass || mAlphaTestEnabled) 84 { 85 mTexturesEnabled = true; 86 glEnable(GL_TEXTURE_2D); 87 glEnableClientState(GL_TEXTURE_COORD_ARRAY); 88 } 77 89 } 78 90 }
Note: See TracChangeset
for help on using the changeset viewer.