Создание текстурированного 2D-спрайта с использованием точек в XNA

#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, который вы выберете)

http://en.wikipedia.org/wiki/Triangle_strip

Комментарии:

1. Не могли бы вы подробнее остановиться на этом? Приведите мне пример?