Генератор ландшафтов

Обсуждение проектов наших жителей.
Вы можете выставить проект на тест или найти помощников для его реализации.

Модератор: BV

Ariman
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 817
Зарегистрирован: 02.09.2003 (Вт) 16:23
Откуда: Великая наша держава, г.Москва

Генератор ландшафтов

Сообщение Ariman » 19.05.2005 (Чт) 22:10

Вот, появилось свободное время, сподобился дописать....
Прога написана на VC++, имеет размер 25 КБ, генерирует ВСЕ - и ландшафт и текстуры к нему.
Минус: не успел доработать, так что интерфейс почти нулевой, индикатора генерации нету - запускаете, возникают последовательно окошки, сообщающие, что генерируется. Нажимаем ОК - генерируется дальше. Понятное дело,при новом запуске проги ландшафт каждый раз новый.
http://goblin-wars.narod.ru/LandscapeGen_25KB.rar
Да, ДЛЛка с прогой тоже моя, тоже на VC++. Не подумайте плохого :D
Да, такой вопрос к пишущим на VС++:
Я выбрал Link MFC as shared DLL(или что-то вроде того).
Это уменьшило размер но не будет ли моя прога нуждаться в каких-либо дллках, как в рантаймах? Или они по стандарту с виндами идут?
Последний раз редактировалось Ariman 20.05.2005 (Пт) 0:10, всего редактировалось 1 раз.

Александр80
Bonachón
Bonachón
 
Сообщения: 659
Зарегистрирован: 20.03.2004 (Сб) 23:50
Откуда: г.Москва

Сообщение Александр80 » 19.05.2005 (Чт) 23:22

:roll: Здорово, молодец !!! :wink: :lol:

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 19.05.2005 (Чт) 23:41

Ariman писал(а):Не подумайте плохого :D


Да уж... На форумах VB выставлять проект на C++... :evil:
Это как я щас пойду на форумы Delphi и выложу свой проект на VB!...
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

Ariman
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 817
Зарегистрирован: 02.09.2003 (Вт) 16:23
Откуда: Великая наша держава, г.Москва

Сообщение Ariman » 20.05.2005 (Пт) 0:09

Александр80
А что за ROLLING EYES?
Без намеков, пожалуйста! :roll: :lol:
BV Да ладно тебе! Форум называется "Наши проекты", а не "Наши проекты на ВБ" :lol: :lol:
А если серьезно - просто это лучший форум, из всех, что я видел. Честно.
И люди здесь замечательные, и интерфейс хороший, и админы не злые :)
А по существу, по проекту "предложения, замечания есть" ?
P.S.
Не подумайте плохого :D
Это я не к "тоже на VC++", а к тому, что "ДЛЛка с прогой тоже моя" :wink:

Ariman
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 817
Зарегистрирован: 02.09.2003 (Вт) 16:23
Откуда: Великая наша держава, г.Москва

Сообщение Ariman » 24.05.2005 (Вт) 1:05

По той же ссылке доступна новая версия. В ней по ландшафту можно ходить.
Убедительная просьба за границу ландшафта не выходить. Или не пинать меня за то, что за ней твориться :lol:
Там как в сказке -
В одну сторону пойдешь - свалишься(это я программировал, правда неглубоко, немного ниже нулевого уровня)
В другую - ACCESS VIOLATION получишь(Это я понимаю, но пофиксить не успел)
А в третью - ПО ВОЗДУХУ ХОДИТЬ БУДЕШЬ! Этого я не писал. Не могу понять, откуда прога берет значение высот, при этом ничего не рисуя :roll:
У квадратов, правда, четыре стороны... Но что будет на четвертой(точнее, после нее) я не знаю. :D
Да, чтобы упасть вниз нужно после загрузки, не сворачивая, пятится взад :wink:
Что будет в других местах - сами проверяйте.

Ariman
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 817
Зарегистрирован: 02.09.2003 (Вт) 16:23
Откуда: Великая наша держава, г.Москва

Сообщение Ariman » 24.05.2005 (Вт) 1:09

Кстати, ув. тов. BV, ты что-то говорил(или мне показалось?) про какую-то свою программу, где тоже строится ландшафт по карте высот.
Не нужна ли тебе помощь с генерацией карты высот?
Используя ту самую пресловутую ДЛЛку, написанную на С++ - скорость будет выше, чем если все это реализовывать на ВБ!

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 24.05.2005 (Вт) 1:21

Я такое говорил?!!! Когда? :roll:

Нет, мне генерировать ландшафты не надо. И программы такой "моей" у меня нет. Это ты меня с кем-то путаешь. Я всё гну палку насчёт ИИ. :) Сделал для него (ИИ) уже уровень (на 80%). Вот теперь с d3drm, наверно, будем браться за его (ИИ) мозги. :)


Да... Насчёт генератора... Сыроват, но ничего, совсем ничего! :wink:
Возможно ли от тебя ожидать движка на OpenGL?
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

Ariman
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 817
Зарегистрирован: 02.09.2003 (Вт) 16:23
Откуда: Великая наша держава, г.Москва

Сообщение Ariman » 24.05.2005 (Вт) 1:36

BV
Ох, ща ведь процитирую......
:lol: Вот, это кто говорил:

Тем более я сейчас под этот движок делаю 3D долину с мешами (*.x) для ИИ. Так что если перейдешь на iRender, может сможешь помочь в разработке 3D интерфейса.

Ariman
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 817
Зарегистрирован: 02.09.2003 (Вт) 16:23
Откуда: Великая наша держава, г.Москва

Сообщение Ariman » 24.05.2005 (Вт) 1:43

BV писал(а):Да... Насчёт генератора... Сыроват, но ничего, совсем ничего! :wink:
Возможно ли от тебя ожидать движка на OpenGL?


Ну разумеется сыроват :lol: Одни прогулки по воздуху, при которых непонятно откуда берется значение высоты, чего стоят!
А если не брать во внимание все связанное с ошибками выхода за границу - какие-нибудь еще замечания есть? Где еще "сырость"?

Насчет движка..... Я пока написал класс, призванный облегчить инициализацию OpenGl. Мне пока этого хватает, но по мере надобности буду добавлять новое....

Хотя.... Что ты вкладываешь в понятие "движок"? Что он должен уметь и что из себя представлять?
Последний раз редактировалось Ariman 24.05.2005 (Вт) 1:46, всего редактировалось 1 раз.

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 24.05.2005 (Вт) 1:44

Э... Ну ведь это... Как это...

Ладно, забросил я этот ландшафт (пока), и сделал закрытую карту (для увеличения fps). Как возьмусь за него снова, буду иметь ввиду и твой проект. :)
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

Ariman
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 817
Зарегистрирован: 02.09.2003 (Вт) 16:23
Откуда: Великая наша держава, г.Москва

Сообщение Ariman » 24.05.2005 (Вт) 1:48

BV
Эй, эй, а что насчет "сырости" проекта, что подправить-то??(не считая границ)

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 24.05.2005 (Вт) 1:56

Управление: нельзя одновременно двигаться вперёд и влево...
Заострённые углы: можно воспользоваться сглаживанием, но на мой взгляд лучше увеличить число вертексов.

Пока всё.
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

Ariman
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 817
Зарегистрирован: 02.09.2003 (Вт) 16:23
Откуда: Великая наша держава, г.Москва

Сообщение Ariman » 24.05.2005 (Вт) 2:22

BV
Управление . ладно, подумаю.... Хотя и не знаю, как это сделать в VC++......
Придется, наверное, по-старинке - GetAsyncKeyState();
А вот насчет углов... Тут я даже и не знию, с чего начать...
У меня каждему пикселю карты высот соответствут вершина треугольника.... Ну предположим, я и увеличу количество вертексов... А какое им брать значение высоты? Хотя, наверное, можно воспользоваться той же функцией, что и для создания шума Перлина - интерполяцией......

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 24.05.2005 (Вт) 13:01

Ariman писал(а):А какое им брать значение высоты?


Ну как же какое? Карта, надо понимать, это пикселы с разной яркостью... Что тебе мешает подбирать возле вершин схожие значения?
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 24.05.2005 (Вт) 13:17

Ariman писал(а):Хотя.... Что ты вкладываешь в понятие "движок"? Что он должен уметь и что из себя представлять?


Движок (3D):

Это, равно как и ActiveX, элемент, упрощающий работу с D3D или OpenGL. Но вот весь вопрос в том, НАСКОЛЬКО УПРОЩАЮЩИЙ. Тут если он будет сильно упрощать работу, то более или менее опытному разработчику 3D будет невозможно изменить некоторые тонкие параметры, но если он будет слишком сложным в настройке и использовании, то в нём отпадёт смысл (уже легче писать на чистом OpenGL). Тут главное - подобрать золотую середину.
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 24.05.2005 (Вт) 15:33

ничего интересного, обыкновенный угловатый ландшафт, нет сглаженности. генерация текстур.... это что, раскрасить квадратик где "выше белым, где ниже - зеленым" - называется текстурой? опять же, нет никаких оптимизаций... кому это надо? лучше сделать свой ланд с лодами, толку больше будет.

без обид.
ХЎ

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 24.05.2005 (Вт) 16:30

Ну если он (генератор) будет экспортировать этот ландшафт в формат *.x или ещё какой, и иметь сглаживание, то это окажется вполне полезной утилиткой...
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

Ariman
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 817
Зарегистрирован: 02.09.2003 (Вт) 16:23
Откуда: Великая наша держава, г.Москва

Сообщение Ariman » 24.05.2005 (Вт) 18:57

d3drm
Над сглаженностью я работаю, а вот насчет текстур ты зря. Если ты заметил, они не однотонные.
И потом, он генерирует карту высот, а не строит по уже готовой.
ланд с лодами

Ланд с чем?
без обид

Да никаких обид, но ИМХО ты слишком критичен.

Ariman
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 817
Зарегистрирован: 02.09.2003 (Вт) 16:23
Откуда: Великая наша держава, г.Москва

Сообщение Ariman » 24.05.2005 (Вт) 19:03

BV
это окажется вполне полезной утилиткой

Я не ставил себе задачу написать утилиту - эта программа не несет практической ценности для пользователей. Главное там - классы, реализующие генерацию и построение ландшафта.

Ariman
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 817
Зарегистрирован: 02.09.2003 (Вт) 16:23
Откуда: Великая наша держава, г.Москва

Сообщение Ariman » 24.05.2005 (Вт) 19:05

нет никаких оптимизаций

А что должно быть?

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 24.05.2005 (Вт) 19:16

Ariman писал(а):
нет никаких оптимизаций

А что должно быть?


LOD и должен быть или еще что-либо. level Of Detail. уменьшение детализации при увеличении расстояния от камеры до куска ланда. трудно сделать, но ресурсы экономит - замечательно.

а на счет категоричности... ты здесь вывесил пример в проектах, хотя такие вещи довольно просты, вот и получай критику )
ХЎ

Ariman
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 817
Зарегистрирован: 02.09.2003 (Вт) 16:23
Откуда: Великая наша держава, г.Москва

Сообщение Ariman » 24.05.2005 (Вт) 19:31

d3drm
Да ладно, довольно просты :)
На ******** VC++ писать все это с нуля, учитывая реализацию Шума и прочее - не так то уж и просто. К тому же я не претендую на законченный проект, как я уже сказал - здесь главное классы.....

Насчет LOD - ИМХО, не так сложно сделать..... Слушай, а ничего будет, если за начальный уровень детализации принять то, что сейчас?
И увеличивать ее....
Да, я думаю, при ландшафте такого размера сия штуковина не слишком ускорит процесс выполнения - ландшафт небольшой, да и к тому же, на таком небольшом ландшафте сразу будет видно изменение детализации, пусть даже самой дальней точки....
Это надо делать, если он до горизонта........
Так что это я пока отложу, а вот экспорт его в какие-нибудь форматы...
Если не трудно, киньте описание формата .X...

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 24.05.2005 (Вт) 19:40

хе, спроси у билли ))

а вообще забивай вертексами меш и сохраняй его, гемору меньше будет...
ХЎ

Ariman
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 817
Зарегистрирован: 02.09.2003 (Вт) 16:23
Откуда: Великая наша держава, г.Москва

Сообщение Ariman » 24.05.2005 (Вт) 19:58

d3drm
Не забывай, это не Д3Д, а ОПенГл - там нету поддержки каких-либо форматов, ни загрузки, ни сохранения. Все нужно самому делать, все самому :D .

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 26.05.2005 (Чт) 19:34

Ariman, ага, а в DX есть готовые моули для создания игр типа DOOM III, HL2, FarCry :lol:

принципиальной разницы нет, с OGL я тоже общался неплохо.

если нужен формат х, тогда могу посоветовать открыть блокнотиком какой-либо х файл и изучить его :)
ХЎ


Вернуться в Наши проекты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15

    TopList