... или я даже схожу с ума, чтобы даже попробовать?
Как новичок в использовании голых вершин для трехмерной графики, я никогда раньше не работал с буферами вершин и тому подобным. Я предполагаю, что мне следует использовать динамический буфер, потому что моя игра имеет дело с манипулированием, добавлением и удалением примитивов. Но как мне это сделать?
Пока я храню свои индексы в классе Triangle.cs. Треугольники хранятся в четырехугольниках (которые содержат вершины, соответствующие их индексам), квадроциклы хранятся в блоках. В моем методе рисования я перебираю каждый блок, каждый квад в каждом блоке и, наконец, каждый треугольник, применяю соответствующую текстуру к моему эффекту, затем вызываю DrawUserIndexedPrimitives, чтобы нарисовать вершины, хранящиеся в треугольнике.
Я бы хотел использовать буфер вершин, потому что этот метод не поддерживает масштаб, для которого я собираюсь. Я предполагаю, что это будет динамичным. Поскольку мои вершины и индексы хранятся в коллекции отдельных классов, могу ли я по-прежнему эффективно использовать буфер? Глупо ли использовать отдельные буферы для каждого четырехугольника? Возможно ли и эффективно ли мне выгрузить вершины в буфер при первом рисовании квадрата, а затем сохранить, где были эти вершины, чтобы я мог применить это смещение к индексам этого треугольника для последовательных отрисовок? Есть ли реальный способ обработки удаления вершин из буфера в этом сценарии (возможно, основанное на событиях смещение индексов в треугольниках)?
Я прошу прощения, что эти вопросы могут быть либо слишком новыми, либо слишком запутанными / расплывчатыми. Я был бы рад предоставить разъяснения. Но, как я уже сказал, я новичок в этом и, возможно, даже не знаю, о чем говорю ...