3D Boxes

Posts 15 of 5 · Page 1 of 1
3D Boxes
Code:
void CEngine::Draw3DBoundingBox( LTVector mins, LTVector maxs, D3DCOLOR color ) 
{ 
    if( !m_pDevice ) 
        return; 

    const unsigned short index[] = {0, 1, 1, 2, 2, 3, 3, 0, 4, 5, 5, 6, 6, 7, 7, 4, 3, 7, 2, 6, 0, 4, 1, 5}; 

    struct VertexData 
    { 
        float x, y, z; 
        D3DCOLOR color; 
        float tu, tv; 
    }; 

    VertexData ObjectBounds[8]; 

#define SET_OBJECT_BOUNDS_VEC_VALUE( i, o, t, w, c ) \ 
    ObjectBounds[i].x = o; ObjectBounds[i].y = t; ObjectBounds[i].z = w; \ 
    ObjectBounds[i].color = c; ObjectBounds[i].tu = 0.0f; ObjectBounds[i].tv = 0.0f; 

    SET_OBJECT_BOUNDS_VEC_VALUE( 0, mins.x, mins.y, mins.z, color ); 
    SET_OBJECT_BOUNDS_VEC_VALUE( 1, maxs.x, mins.y, mins.z, color ); 
    SET_OBJECT_BOUNDS_VEC_VALUE( 2, maxs.x, mins.y, maxs.z, color ); 
    SET_OBJECT_BOUNDS_VEC_VALUE( 3, mins.x, mins.y, maxs.z, color ); 
    SET_OBJECT_BOUNDS_VEC_VALUE( 4, mins.x, maxs.y, mins.z, color ); 
    SET_OBJECT_BOUNDS_VEC_VALUE( 5, maxs.x, maxs.y, mins.z, color ); 
    SET_OBJECT_BOUNDS_VEC_VALUE( 6, maxs.x, maxs.y, maxs.z, color ); 
    SET_OBJECT_BOUNDS_VEC_VALUE( 7, mins.x, maxs.y, maxs.z, color ); 

    m_pDevice->SetFVF( D3DFVF_XYZ|D3DFVF_DIFFUSE|D3DFVF_TEX1 ); 
    m_pDevice->DrawIndexedPrimitiveUP( D3DPT_LINELIST, 0, 24, 12, (void *)index, D3DFMT_INDEX16, ObjectBounds, sizeof( VertexData ) ); 
} 

void CEngine::Draw3DBoundingBoxChams( LTVector mins, LTVector maxs, D3DCOLOR color1, D3DCOLOR color2 ) 
{ 
    m_pDevice->SetRenderState( D3DRS_ZENABLE, FALSE ); 
    m_pDevice->SetRenderState( D3DRS_ZFUNC, D3DCMP_NEVER ); 

    Draw3DBoundingBox( mins, maxs, color1 ); 

    m_pDevice->SetRenderState( D3DRS_ZENABLE, TRUE ); 
    m_pDevice->SetRenderState( D3DRS_ZFUNC, D3DCMP_LESSEQUAL ); 

    Draw3DBoundingBox( mins, maxs, color2 ); 
}
This is from a CS:S D3D Base BUT it also works on CA

idk who to credit, it randomly popped up in 1 of my many many d3d9 bases on my computer
thanks very good
Credits for s0beit ...
Quote Originally Posted by TokolocoSK View Post
Credits for s0beit ...
the base is from July 2010... so if he made it before that, then the credits are to him
Good Job anyways
Posts 15 of 5 · Page 1 of 1
This thread is closed for replies.

Similar Threads

Tags for this Thread

None

Need help?