Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Мультимедия, OpenGL/DirectX > VertexBuffer


Автор: empter 4.8.2005, 21:44
Подскажите, какой максимальный размер может быть у вершинного буфера, такой код не работает

Код


typedef struct SVertex    
{

    D3DXVECTOR3 coord;        
    DWORD    dwColor;    
    FLOAT    tu, tv;        
 
} D3DVERTEX;

D3DVERTEX* pVertexData;
g_pD3DDevice->CreateVertexBuffer(512*512*sizeof(D3DVERTEX), 
                                        D3DUSAGE_WRITEONLY,
                                        VERTEXTYPE,
                                        D3DPOOL_MANAGED,
                                        &m_pTerrainVB,
                                        NULL);

m_pTerrainVB->Lock(0,0,(void**)&pVertexData,0);


или может я че неправильно делаю?
smile

Автор: empter 5.8.2005, 21:09
Ошибку нашел, но вопрос остается открытый: Чем ограничен размер вершинного буфера в Direct3D smile

Автор: p0s0l 6.8.2005, 18:05
У индексного буффера в Caps'ах (GetDeviceCaps) указывается максимальный размер в поле MaxVertexIndex...
Цитата(MSDN)
MaxVertexIndex
Maximum size of indices supported for hardware vertex processing. It is possible to create 32-bit index buffers by specifying D3DFMT_INDEX32; however, you will not be able to render with the index buffer unless this value is greater than 0x0000FFFF.
Но интересно, что для вершинного буфера такого параметра вроди и нет... Возможно, размер вершинного буфера ограничивается размером видеопамяти...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)