Я хочу нарисовать сферы в моем приложении DirectX 12. Я пока поддерживаю только вершины и пиксельные шейдеры.
Идея состоит в том, чтобы генерировать вершину и индексный буфер для рисования сферы.
Сфера будет иметь следующие свойства: < /strong>
a) Radius 1
b) Center будет будет мировым центром (0,0, 0,0, 0). Подразделение. Управление тем, как генерируются грибные вершины/индексы.
(a) и (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:
Я хочу нарисовать сферы в моем приложении DirectX 12. Я пока поддерживаю только вершины и пиксельные шейдеры. Идея состоит в том, чтобы генерировать вершину и индексный буфер для рисования сферы.
[b] Сфера будет иметь следующие свойства: < /strong>
a) Radius 1
b) Center будет будет мировым центром (0,0, 0,0, 0). Подразделение. Управление тем, как генерируются грибные вершины/индексы. (a) и (b) также позволит мне масштабировать и переводить основную сферу внутри вершин. />[code]D3D12_INPUT_ELEMENT_DESC inputLayoutElement[] = { { "POSITION", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0, D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, 0 }, }; [/code] затем чертеж: [/b] [code]commandList->SetPipelineState(m_PSO);
commandList->IASetVertexBuffers(0, 1, &m_vertexBuffer); // Vertex buffer here commandList->IASetIndexBuffer(&m_indexBuffer);// Index buffer here
commandList->DrawIndexedInstanced(m_indexCount, 1, 0, 0, 0); [/code] So basically i need to generate an array of vertices for the vertex buffer and an array of indices for the index buffer. [b]1) Vertex buffer is created using an array of vertices:[/b] [code]std::vector [/code] [b] 2) Индексный буфер создается с использованием массива индексов: [/b] [code]std::vector [/code] Так как их генерировать? без ответа. И комментарии предлагают использовать шейдер с тесселяцией, который я не поддерживаю. Спасибо за помощь :)
Я хочу нарисовать сферы в моем приложении DirectX 12. Я пока поддерживаю только вершины и пиксельные шейдеры.
Идея состоит в том, чтобы генерировать вершину и индексный буфер для рисования сферы.
Я хочу нарисовать сферы в моем приложении DirectX 12. Я пока поддерживаю только вершины и пиксельные шейдеры.
Идея состоит в том, чтобы генерировать вершину и индексный буфер для рисования сферы.
Я хочу нарисовать сферы в моем приложении DirectX 12. Я пока поддерживаю только вершины и пиксельные шейдеры.
Идея состоит в том, чтобы генерировать вершину и индексный буфер для рисования сферы.
Итак, у меня есть код, который должен переместить каждый пиксель изображения в новую координату, используя формулу
(R - sqrt(r^2 + d^2 ))(sin(arctan(r/d)))
Это необходимо для перемещения изображения с поверхности додекаэдров на поверхность сферы....