Guest User

Wesser's code

a guest
Jun 17th, 2014
213
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. void CVisibilityPlugins__RenderAlphaAtomics(CLinkList<AlphaObjectInfo> &list)
  2. {
  3.     char *nodeName;
  4.  
  5.     for(CLink<AlphaObjectInfo> *entry = list.m_tail.m_pNext; entry != &list.m_head; entry = entry->m_pNext)
  6.     {
  7.         nodeName = GetFrameNodeName(entry->m_info.m_pAtomic->object.object.parent);
  8.  
  9.         if(!strncmp(nodeName, "moving_rotor", 11))
  10.         {
  11.             // Here is the trick.
  12.             {
  13.                 RwRenderStateSet(rwRENDERSTATEALPHATESTFUNCTION, rwALPHATESTFUNCTIONEQUAL);
  14.                 RwRenderStateSet(rwRENDERSTATEALPHATESTFUNCTIONREF, 255);
  15.  
  16.                 //AtomicDefaultRenderCallBack(entry->m_info.m_pAtomic);
  17.                 entry->m_info.m_pCallback(entry->m_info.m_pAtomic, entry->m_info.depth);
  18.  
  19.                 RwRenderStateSet(rwRENDERSTATEZWRITEENABLE, false);
  20.                 RwRenderStateSet(rwRENDERSTATEVERTEXALPHAENABLE, true);
  21.                 RwRenderStateSet(rwRENDERSTATEALPHATESTFUNCTION, rwALPHATESTFUNCTIONLESS);
  22.  
  23.                 //AtomicDefaultRenderCallBack(entry->m_info.m_pAtomic);
  24.                 entry->m_info.m_pCallback(entry->m_info.m_pAtomic, entry->m_info.depth);
  25.             }
  26.  
  27.             // Restore renderstates.
  28.             RwRenderStateSet(rwRENDERSTATEZWRITEENABLE, true);
  29.             RwRenderStateSet(rwRENDERSTATEVERTEXALPHAENABLE, false);
  30.             RwRenderStateSet(rwRENDERSTATEALPHATESTFUNCTION, rwALPHATESTFUNCTIONGREATER);
  31.             RwRenderStateSet(rwRENDERSTATEALPHATESTFUNCTIONREF, 100);
  32.         }
  33.         else
  34.         {
  35.             //AtomicDefaultRenderCallBack(entry->m_info.m_pAtomic);
  36.             entry->m_info.m_pCallback(entry->m_info.m_pAtomic, entry->m_info.depth);
  37.         }
  38.     }
  39. }
Advertisement
Add Comment
Please, Sign In to add comment