Составители:
Рубрика:
16
hRes = pD3DDevice->CreateIndexBuffer(sizeof(short) * ildxNum,
D3DUSAGE_WRITEONLY, D3DFMT_INDEX16, D3DPOOL_DEFAULT, &iBuffer,
0);
if (FAILED(hRes)) return;
// Блокировка буфера индексов и заполнение
hRes = iBuffer->Lock(0, sizeof(short) * ildxNum, &pBuf, 0);
if (FAILED(hRes)) return;
memcpy(pBuf, Idxes, sizeof(short) * ildxNum);
iBuffer->Unlock();
}
sVertex - структура, которая описывает точку и состоит из трех
вещественных чисел — координат точки и двойное целое число, описывающее
цвет точки:
struct sVertex {
float х, у, z; DWORD color;
} ;
После инициализации Direct3D, в качестве матрицы отображения
используется единичная матрица, при которой текущее положение камеры
находится в нулевой точке. В Direct3D эта матрица объявлена как d3dmatrix и
имеет следующий вид:
typedef struct _d3dmatrix { union {
struct {
float _11, _12, _13, _14;
float _21, _22, _23, _24;
float _31, _32, _33, _34;
float _41, _42, _43, _44;
};
float m[4][4];
};
} D3DMATRIX;
Числа
_
41, _42, _43 - координаты X, Y, Z камеры соответственно. Для
применения изменений необходимо вызвать функцию:
pD3DDevice->SetTransform (D3DTS_VIEW, &View);
Задание:
Создать трёхмерную сцену. Задать способ проецирования. Задать различные
режимы воспроизведения полигонов (точками, линиями, сплошное заполнение).
Вариант
Графический объект Режим
воспроизведения
Способ
проецирования
1 Конус точками параллельная
2 Цилиндр точками перспективная
3 Пирамида линиями параллельная
4 Усеченный конус линиями перспективная
5 Призма сплошное параллельная
6 Параллелепипед сплошное перспективная
hRes = pD3DDevice->CreateIndexBuffer(sizeof(short) * ildxNum, D3DUSAGE_WRITEONLY, D3DFMT_INDEX16, D3DPOOL_DEFAULT, &iBuffer, 0); if (FAILED(hRes)) return; // Блокировка буфера индексов и заполнение hRes = iBuffer->Lock(0, sizeof(short) * ildxNum, &pBuf, 0); if (FAILED(hRes)) return; memcpy(pBuf, Idxes, sizeof(short) * ildxNum); iBuffer->Unlock(); } sVertex - структура, которая описывает точку и состоит из трех вещественных чисел — координат точки и двойное целое число, описывающее цвет точки: struct sVertex { float х, у, z; DWORD color; } ; После инициализации Direct3D, в качестве матрицы отображения используется единичная матрица, при которой текущее положение камеры находится в нулевой точке. В Direct3D эта матрица объявлена как d3dmatrix и имеет следующий вид: typedef struct _d3dmatrix { union { struct { float _11, _12, _13, _14; float _21, _22, _23, _24; float _31, _32, _33, _34; float _41, _42, _43, _44; }; float m[4][4]; }; } D3DMATRIX; Числа _41, _42, _43 - координаты X, Y, Z камеры соответственно. Для применения изменений необходимо вызвать функцию: pD3DDevice->SetTransform (D3DTS_VIEW, &View); Задание: Создать трёхмерную сцену. Задать способ проецирования. Задать различные режимы воспроизведения полигонов (точками, линиями, сплошное заполнение). Вариант Графический объект Режим Способ воспроизведения проецирования 1 Конус точками параллельная 2 Цилиндр точками перспективная 3 Пирамида линиями параллельная 4 Усеченный конус линиями перспективная 5 Призма сплошное параллельная 6 Параллелепипед сплошное перспективная 16
Страницы
- « первая
- ‹ предыдущая
- …
- 12
- 13
- 14
- 15
- 16
- …
- следующая ›
- последняя »