Просто быстрый вопрос. Я изучаю DirectX, и я столкнулся с конфигурацией массива значений вершин. Это делается следующим образом:
VertexPos vertices[] =
{
{ XMFLOAT3( halfWidth, halfHeight, 1.0f ), XMFLOAT2( 1.0f, 0.0f ) },
{ XMFLOAT3( halfWidth, -halfHeight, 1.0f ), XMFLOAT2( 1.0f, 1.0f ) },
{ XMFLOAT3( -halfWidth, -halfHeight, 1.0f ), XMFLOAT2( 0.0f, 1.0f ) },
{ XMFLOAT3( -halfWidth, -halfHeight, 1.0f ), XMFLOAT2( 0.0f, 1.0f ) },
{ XMFLOAT3( -halfWidth, halfHeight, 1.0f ), XMFLOAT2( 0.0f, 0.0f ) },
{ XMFLOAT3( halfWidth, halfHeight, 1.0f ), XMFLOAT2( 1.0f, 0.0f ) },
};
Затем мы передаем это в функцию создания буфера вершин с помощью компонента средства «подресурс». Мой вопрос заключается в том, какова природа, с точки зрения геометрии, системы координат, используемой в отношении этих вышеупомянутых значений. Во-вторых, в чем смысл самих ценностей? Например, я сталкиваюсь с этим в конкретном c примере главы:
VertexPos vertices[] =
{
{ XMFLOAT3( 1.0f, 1.0f, 1.0f ), XMFLOAT2( 1.0f, 1.0f ) },
{ XMFLOAT3( 1.0f, -1.0f, 1.0f ), XMFLOAT2( 1.0f, 0.0f ) },
{ XMFLOAT3( -1.0f, -1.0f, 1.0f ), XMFLOAT2( 0.0f, 0.0f ) },
{ XMFLOAT3( -1.0f, -1.0f, 1.0f ), XMFLOAT2( 0.0f, 0.0f ) },
{ XMFLOAT3( -1.0f, 1.0f, 1.0f ), XMFLOAT2( 0.0f, 1.0f ) },
{ XMFLOAT3( 1.0f, 1.0f, 1.0f ), XMFLOAT2( 1.0f, 1.0f ) },
};
Это может создать прямоугольник / квадрат, охватывающий все окно, поверх которого я накладываю текстуру. Однако, если экстент ширины и высоты задан равным 2, о чем свидетельствует предыдущий фрагмент, как получается, что первоначальный пример работает, учитывая, что их значения равны 128 и 64? Чтобы упростить, какова природа системы координат специально для определения позиций вершин и какие значения используются для определения этих позиций?