Как нарисовать сферу в DirectX 12?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как нарисовать сферу в DirectX 12?

Сообщение Anonymous »

Я хочу нарисовать сферы в моем приложении DirectX 12. Я пока поддерживаю только вершины и пиксельные шейдеры.
Идея состоит в том, чтобы генерировать вершину и индексный буфер для рисования сферы.

Сфера будет иметь следующие свойства: < /strong>

a) Radius 1

b) Center будет будет мировым центром (0,0, 0,0, 0). Подразделение. Управление тем, как генерируются грибные вершины/индексы.
(a) и (b) также позволит мне масштабировать и переводить основную сферу внутри вершин. />

Код: Выделить всё

D3D12_INPUT_ELEMENT_DESC inputLayoutElement[] =
{
{ "POSITION", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0, D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, 0 },
};
затем чертеж: [/b]

Код: Выделить всё

commandList->SetPipelineState(m_PSO);

commandList->SetGraphicsRootSignature(m_rootSignature);
commandList->IASetPrimitiveTopology(D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST);

commandList->IASetVertexBuffers(0, 1, &m_vertexBuffer); // Vertex buffer here
commandList->IASetIndexBuffer(&m_indexBuffer);// Index buffer here

commandList->DrawIndexedInstanced(m_indexCount, 1, 0, 0, 0);
So basically I need to generate an array of vertices for the vertex buffer and an array of indices for the index buffer.
1) Vertex buffer is created using an array of vertices:

Код: Выделить всё

std::vector
2) Индексный буфер создается с использованием массива индексов:

Код: Выделить всё

std::vector
Так как их генерировать? без ответа. И комментарии предлагают использовать шейдер с телеселлом, который я не поддерживаю.
Спасибо за помощь :)

Подробнее здесь: https://stackoverflow.com/questions/796 ... directx-12
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»