Приветствую всех, заглянувших в эту тему...
Вот, появилась у меня задумка, и одновременно с задумкой - проблема с выбором средства реализации... Дело в следующем... Мне для одного моего проекта (проект, в принципе, не игровой, но поскольку в играх нечто подобное может встречаться часто - спрошу здесь) понадобилась реализация замкнутого пространства с возможностью свободного перемещения по нему... Все бы ничего, если бы пространство включало в себя комнату, скажем, 10*10 метров и 3 метров высоты...
В моем случае все гораздо сложнее - приблизительные размеры помещения оцениваются в 50 (длина) километров и порядка 20 километров высоты, и в этом "помещении" нужно реализовать передвижение человека (ну, пусть будет перемещение камеры на высоте от человеческого роста до, скажем, одного километра) - что будет равноценно перемещению человека на ногах или на вертолете...
Если быть совсем точным, лучше всего объект, который я хочу реализовать, описывается так: полый цилиндр диаметром 20 километров длиной 50 километров, вид изнутри (Олег, ты правильно догадался, именно это я и хочу сделать ), с возможностью установки в произвольных местах некоторых объектов (кубов, шаров, более сложных объектов, неважно, главное - реализовать сам объект и перемещение по нему, дальше я разберусь), с возможностью также перемещения "под водой", "в тумане", "в облаках", и т.п. эффекты...
Собственно вопрос: что лучше использовать (для успешной реализации всех перечисленных спецэффектов, и максимально реалистичного отображения объекта)? В принципе, доступными средствами на данный момент являются DirectX или OpenGL, среда разработки - предпочтительно Дельфи (возможно - FPC), но возможен переход на C++ (под OpenGL)... Если у кого был опыт разработки трехмерного мира подобного масштаба - просьба откликнуться, рассказать, с какими сложностями можно столкнуться в процессе разработки, возможно, есть какие-то сторонние (желательно - FreeWare) библиотеки, использование которых облегчит разработку?
Впринципе для этого можно использовать http://dronprogs.mirgames.ru/dgle.php, но если хочеться, чтобы фпс было побольше и порыться глубже, то Opengl ИМХО он проще и удобнее, правда от DirectX, имхо, можно добиться большей производительности. А так, и OpenGL и DirectX есть и под Delphi, все зависит от твоего желания, но OpenGL имхо менно для твоей задумки будет значительно проще!
Я извиняюсь за вторжение - не считаю себя специалистом в этом вопросе. Но один пункт меня заинтересовал..
Почему ты считаешь, что комната - это мало, а 50 км - много? Ведь ясно, что вопрос только в отношении размеров объема к размеру деталей. То есть, если мы захотим в комнате рассматривать микронные неровности, то задача усложнится больше, чем рассматривание метровых деталей в 50 км..
А если так, то на первый план выступает способ отображения объекта с разными уровнями детализации. И тут полагаться на графические библиотеки, имхо, не стоит. Надо иметь специальный движок, наподобие того, что используется во flight-симуляторах. Наверняка такие движки есть - хотя я их не знаю, как неспециалист.. Мне кажется, такую штуку интересно было бы разработать самому - но это вопрос желания и наличия времени.. - последнего как правило нету .
Я правильно понял суть вопроса?
то что ты говоришь реализуеться достаточно легко, алгоритм бсп деревьев, его легко редактировать набором констант и блаагодаря этому можно редактировать детализация объектов.
Volvo , поведай тайну, что это такое?
А по поводу графики, то действительно, это очень похоже на классический пример для бсп деревьев.
Классический? Ты работал с DirectX ВООБЩЕ когда-нибудь (не на уровне "Hello, World!")? Можно посмотреть твои работы? Аналогично - с OpenGL, ссылку на ТВОИ программы приведи...
В directX работал только с directdraw, а для dricetX 3d знаю только теорию, на практике ничего на нем не делал, а вот OPENGL использовал и в достаточно большом количестве, и огромные ландшафты делал!