0 / 0 / 0
Регистрация: 09.03.2013
Сообщений: 17
|
||||||||||||
1 | ||||||||||||
Шумы Перлина09.03.2013, 21:39. Показов 2514. Ответов 7
Метки нет (Все метки)
Доброе время суток!
Друзья, недавно начал изучать OpenGL на Delphi. Делаю программу, которая генерирует псевдо-случайные ландшафты через шум Перлина, но столкнулся с такой проблемой, что получается что-то непонятное. Подскажите, где ошибка? Почему рисует некорректный ландшафт? Вроде карта высот заполняется нормально...
0
|
09.03.2013, 21:39 | |
Ответы с готовыми решениями:
7
Шумы Перлина Массив с шумом перлина Шум перлина: карта нормалей Реализовать двумерный список с шумом Перлина |
11.03.2013, 17:53 | 2 |
А где glViewport? Посмотрите внимательнее на примеры... хотя бы здесь https://www.cyberforum.ru/grap... 83413.html
Ключевая строка начинается с FormResize Что должно в итоге получится 3D-ладшафт?
0
|
0 / 0 / 0
Регистрация: 09.03.2013
Сообщений: 17
|
|
11.03.2013, 18:08 [ТС] | 3 |
По идеи, результатом должна быть некая карта высот, которая при ее выводе через элементы OpenGL должна рисовать ландшафт (заранее неизвестный) через треугольные примитивы
0
|
risenow
|
|
11.03.2013, 22:15 | 4 |
k:=1 to 5 do
for i:=1 to n-2 do for j:=1 to n-2 do z[i,j]:=(z[i-1,j-1]+z[i-1,j]+z[i-1,j+1]+z[i,j-1]+ z[i,j]+z[i,j+1]+z[i+1,j-1]+z[i+1,j]+z[i+1,j+1])/9; Вот это в случае с шумами НЕ нужно. Интерполяция идет в самом шуме Перлина, причем косинусная. |
0 / 0 / 0
Регистрация: 09.03.2013
Сообщений: 17
|
||||||
11.03.2013, 23:03 [ТС] | 5 | |||||
так, покопался на форуме, нашел топик с похожей темой + перемещение в пространстве и получилась занятная вещь.
- как повернуть на 90 градусов поверхность glRotate (либо поменять расположение камеры через gluLookAt); - как ограничить перемещение, т.е. (X,Y) мыши не больше заданных.
0
|
angstrom
|
|
12.03.2013, 00:07 | 6 |
|
0 / 0 / 0
Регистрация: 09.03.2013
Сообщений: 17
|
|
12.03.2013, 08:50 [ТС] | 7 |
Спасибо, помогло)
А если в обработчик события OnKeyDown добавить if (текущее положение <= максимального) then <выполнять перемещение> else <текущее положение-1> то по идеи, должно работать.
0
|
angstrom
|
|
12.03.2013, 13:00 | 8 |
В FormPaint используешь некую переменную для glRotate, в OnKeyDown вычисляешь её.
|
12.03.2013, 13:00 | |
12.03.2013, 13:00 | |
Помогаю со студенческими работами здесь
8
Как использовать функцию шума Перлина? использую шум Перлина и слетает хром и за-за нехватки памяти шумы ОУ OPA552UA Шумы квантования Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |