я в настоящее время имеет следующие данные вершин (для пирамиды) выкладываюсь так:Эффективных средства рисования облицованной границы для твердой формы
float4 vertexData[ 18 ] =
{
// front
{ 1.0f, 0.0f, 1.0f, 1.0f }, // front right
{ 0.0f, 1.0f, 0.0f, 1.0f }, // top
{ -1.0, 0.0f, 1.0f, 1.0f }, // front left
// right
{ 1.0f, 0.0f, 1.0f, 1.0f }, // right front
{ 0.0f, 1.0f, 0.0f, 1.0f }, // top
{ 1.0f, 0.0f, -1.0f, 1.0f }, // right back
// back
{ 1.0f, 0.0f, -1.0f, 1.0f }, // back right
{ 0.0f, 1.0f, 0.0f, 1.0f }, // top
{ -1.0, 0.0f, -1.0f, 1.0f }, // back left
// left
{ -1.0f, 0.0f, -1.0f, 1.0f }, // left back
{ 0.0f, 1.0f, 0.0f, 1.0f }, // top
{ -1.0f, 0.0f, 1.0f, 1.0f }, // left front
// bottom back major
{ -1.0f, 0.0f, 1.0f, 1.0f }, // bottom left front
{ -1.0f, 0.0f, -1.0f, 1.0f }, // bottom left back
{ 1.0f, 0.0f, -1.0f, 1.0f }, // bottom right back
// bottom front major
{ 1.0f, 0.0f, -1.0f, 1.0f }, // bottom right back
{ 1.0f, 0.0f, 1.0f, 1.0f }, // bottom right front
{ -1.0f, 0.0f, 1.0f, 1.0f }, // bottom left front
};
я хотел бы в принципе взять мою пирамиду, а также использование шейдеры (если возможно), чтобы вычислить ребра между двумя вершинами, а затем отправить то, что было бы «линией» видов в шейдер фрагмента.
Я знаю, что я мог бы просто использовать «GL_LINES» и установить новый однородный цвет, но я думаю, что это будет не очень эффективно. Может, я ошибаюсь?
В любом случае, основная причина, по которой я изначально думал о шейдерах, заключается в том, что они были бы прекрасным способом сделать это: я мог бы написать программу, которая могла бы добавить некоторые интересные эффекты для границ. С точки зрения того, как это сделать с помощью одной шейдерной программы, я полностью в тупике.
Любые идеи относительно хорошего подхода для этого?