2010-11-18 2 views
1

Так что мне нужно немного подтолкнуть или нажать в правильном направлении. Я пытаюсь настроить радиальную сетку. На вершине радиальной сетки будут сферы, сама сетка предназначена для наблюдателя, чтобы заметить изменение направления и направленное осознание. Концепция - это сетка, позволяющая пользователям перемещаться по «солнечной системе» и лучше знать трехмерное пространство.Создание радиальной сетки в openGL C++

(сетка не будет malliable, как пространственно-временных сетки, которые показывают деформацию из-за массы объектов, планета будет, как несколько выше самой сетки. В некотором смысле, статическая радиальная решетки.)

Любая помощь приветствуется.

ответ

1

Просто из головы. Если бы я хотел создать типичную 2D-сетку, я бы использовал два вложенных цикла для создания соответствующих glQuads в списке отображения, а затем пусть он будет нарисован как каркас (см. How do you render primitives as wireframes in OpenGL?).

Чтобы изменить это на радиальную сетку, в основном вы перебираете угол и величину вместо x, y. Затем вы используете функции sin() или cos() для правильного вычисления координат x/y ваших четырехугольников.

Недостатком этого решения является то, что если ваша сетка недостаточно мелкая, пользователь может отвлечься от того факта, что радиальные линии, которые вы рисуете, не являются кривыми.

Надеюсь, это поможет вам в дальнейшем.

+0

Спасибо, и да, отсутствие кривых - еще одна проблема, я думаю. – Jim

+1

Итак, дешевый недорогой способ состоит в том, чтобы разделить это на два метода: один рисует круги, один рисует линии, а результат - это своего рода градиентная сетка. – Jim

Смежные вопросы