#c# #xna
#c# #xna
Вопрос:
Я работаю над алгоритмом генерации гладкой местности на C # и использую XNA для отображения данных.
Я делаю это так, чтобы он создавал новую точку на полпути между каждой точкой за итерацию, на случайной высоте между ними. Это работает нормально, и я получаю текущий результат, случайно размещенные баллы.
Теперь то, что я хочу сделать, это превратить эти точки в примитив (я думаю, что это так и есть) и отобразить его в виде горы, очевидно, используя текстуру горы. Пример ниже (с использованием различных точечных данных, выполненных в paint)
Мы будем очень признательны за любую помощь или советы и с нетерпением ждем ваших ответов.
Спасибо.
Нервный
Ответ №1:
Вы можете рисовать треугольные полосы, чередующиеся между точками вашего примитива и нижней частью экрана с той же координатой x, что и точка непосредственно перед ней, шагая по нижней части экрана.
Я не знаком с рисованием примитивов в XNA (только OpenGL), но это должно быть похоже.
Вы берете свои точки, например, A, B, C и D, чтобы нарисовать полосы. ваши вершины будут упорядочены как;
vertex1= A
vertex2 = point(A.x, 0)
vertex3= B
vertex4 = point(B.x, 0)
vertex5= C
vertex6 = point(C.x, 0)
vertex7= D
vertex8 = point(D.x, 0)
(Я предполагаю, что нижняя часть экрана имеет координату y, равную 0, это может быть высота экрана или любой другой y, который вы выберете)
Комментарии:
1. Не могли бы вы подробнее остановиться на этом? Приведите мне пример?