Подскажите пожалуйста как отредиктировать AttributeTable у Mesh'a.
Мои действия:
1. Создаю D3DXMesh и забиваю VertexBuffer, IndexBuffer нужными значениями.
2. pMesh->OptimizeInplace(D3DXMESHOPT_ATTRSORT, NULL, NULL, NULL, NULL);
3. Проверяю:
pMesh->GetAttributeTable(pA,&count);
до сих пор всё работает: имеется таблица с одной структурой типа D3DXATTRIBUTERANGE
4. Вот начинается моя проблема:
LPD3DXATTRIBUTERANGE pAttr;
pMesh->LockAttributeBuffer(NULL, (DWORD**)&pAttr);
memcpy(pAttr,p_Attributes,dwAttrSize);
pMesh->UnlockAttributeBuffer();
pMesh->GetAttributeTable(pA2,&count2);//проверка: таблица пустая!!!
-Перепробовал все возможные флаги для LockAttributeBuffer() — эффект тот же, за исключением D3DLOCK_READONLY(с ним всё понятно)
-p_Attribute(моя таблица) сгенерирована правильно, проверял. dwAttrSize — тоже правильный размер.
-с помощью GetAttributeTable() можно только получить таблицу, не редактировать.
-проверял возвращаемый HRESULT всех функций — D3D_OK
Я думаю, что LockAttributeBuffer() работает как-то по-особому, но как???