Куда делись функции рисования фигур в DirectX10? - PullRequest
1 голос
/ 03 февраля 2012

, например, функция CreateTeapot - http://msdn.microsoft.com/en-us/library/windows/desktop/bb172798(v=vs.85).aspx

Есть ли эквивалент в DX10?Если да, то как мне его использовать?

В DX9 вы ..

Объявлено:

LPD3DXMESH meshTeapot;

Инициализировано:

D3DXCreateTeapot(device, &meshTeapot, NULL);

Дрю:

meshTeapot->DrawSubset(0);  

Выпущено:

meshTeapot->Release();

Существует ли эквивалентный набор методов для рисования примитивов?(честно говоря, сфера для меня более интересна, чем чайник!)

1 Ответ

1 голос
/ 16 февраля 2012

Библиотека D3DX немного изменилась с DirectX9 на DirectX11.Многие вспомогательные функции были удалены, включая функции рисования фигур.Однако библиотека DirectX11 DXUT содержит многие из тех функций, которые вы ищете.В проекте DXUTOptional есть файл DXUTShaped.h, который содержит DXUTCreateTeapot ().Вот все функции создания фигур, которые он поддерживает ...

HRESULT WINAPI DXUTCreateBox( ID3D10Device* pDevice, float fWidth, float fHeight, float fDepth, ID3DX10Mesh** ppMesh );
HRESULT WINAPI DXUTCreateCylinder( ID3D10Device* pDevice, float fRadius1, float fRadius2, float fLength, UINT uSlices, UINT uStacks, ID3DX10Mesh** ppMesh );
HRESULT WINAPI DXUTCreatePolygon( ID3D10Device* pDevice, float fLength, UINT uSides, ID3DX10Mesh** ppMesh );
HRESULT WINAPI DXUTCreateSphere( ID3D10Device* pDevice, float fRadius, UINT uSlices, UINT uStacks, ID3DX10Mesh** ppMesh );
HRESULT WINAPI DXUTCreateTorus( ID3D10Device* pDevice, float fInnerRadius, float fOuterRadius, UINT uSides, UINT uRings, ID3DX10Mesh** ppMesh );
HRESULT WINAPI DXUTCreateTeapot( ID3D10Device* pDevice, ID3DX10Mesh** ppMesh );

Вы можете найти библиотеку DXUT, в которой вы установили DirectX SDK.Мой находится по адресу "C: \ Program Files (x86) \ Microsoft DirectX SDK (август 2009) \ Samples \ C ++ \ DXUT11"

Если вы не хотите использовать DXUT в своем проекте, вы можете просто посмотреть наисходный код в проекте DXUTOptional и адаптируйте его для своих собственных целей.Весь исходный код DXUT доступен в проектах DXUTCore и DXUTOptional.

Удачи!

...