bool JRenderServer::UnlockIB( int ibID ) { if (ibID < 0 || ibID >= m_IBuffers.size()) return false; IDirect3DIndexBuffer8* pBuffer = m_IBuffers[ibID].m_pBuffer; if (!pBuffer) return NULL; HRESULT hRes = pBuffer->Unlock(); return (hRes == S_OK); } // JRenderServer::UnlockIB
int JRenderServer::ClearIB( int ibID ) { if (ibID < 0 || ibID >= m_IBuffers.size()) return -1; IDirect3DIndexBuffer8* pBuffer = m_IBuffers[ibID].m_pBuffer; if (!pBuffer) return false; BYTE* pData = NULL; HRESULT hRes = pBuffer->Lock( 0, m_IBuffers[ibID].m_Size, &pData, D3DLOCK_DISCARD ); if (hRes != S_OK) return -1; pBuffer->Unlock(); m_IBuffers[ibID].m_CurIteration++; return m_IBuffers[ibID].m_CurIteration; } // JRenderServer::ClearIB