SkyRiver Forum http://forum.skyriver.ru/ |
|
Подпольные М3 http://forum.skyriver.ru/viewtopic.php?f=26&t=3387 |
Страница 19 из 21 |
Автор: | Pingvin [ Вс 25 окт 2009 22:15 ] |
Заголовок сообщения: | |
Судя по всему глюк с PhysX связан с прогой, а не с компом, т.к. он есть и на XP, и на Viste, и на семёрке, и на ноутбуке, и на стационарном. От видеокарты он тоже не шибко зависит. |
Автор: | Krogoth [ Вс 25 окт 2009 22:18 ] |
Заголовок сообщения: | |
Хотя PhysX я не ставил, у меня только OGRE стоит, а там только базовые библиотеки. |
Автор: | smt005 [ Вс 25 окт 2009 22:21 ] |
Заголовок сообщения: | |
2 Razum и Krogoth писал(а): Да, управление жуть, глайдер еле поворачивает Сделайте ролик - чтобы посмотреть, что у вас творится. Добавлено спустя 1 минуту 18 секунд: Krogoth писал(а): Хотя PhysX я не ставил Дык в архиве есть требуемые библотеки...
|
Автор: | Krogoth [ Вс 25 окт 2009 22:26 ] |
Заголовок сообщения: | |
smt005 писал(а): Дык в архиве есть требуемые библотеки... Да, т.е. мутить чего-то еще вроде как не надо.
|
Автор: | Razum [ Пн 26 окт 2009 1:11 ] |
Заголовок сообщения: | |
Ролик делать не буду, ибо нечем. А творится у меня все именно так, как надо. Как у тебя в ролике на сайте. |
Автор: | Pingvin [ Чт 29 окт 2009 17:20 ] |
Заголовок сообщения: | |
Да!!! Я запустил его. Но есть лишь одна проблема: "Расширение GL_ ARB_shader_objects не поддреживается. Добавлено спустя 38 секунд: Очень сильно тормозит. |
Автор: | Razum [ Чт 29 окт 2009 18:36 ] |
Заголовок сообщения: | |
Поудаляй лишние длл-ки из папки с программой. Мне помогло. Если и тебе поможет, выдам приз. |
Автор: | Pingvin [ Чт 29 окт 2009 18:55 ] |
Заголовок сообщения: | |
Мне тоже помогло. |
Автор: | Razum [ Чт 29 окт 2009 19:21 ] |
Заголовок сообщения: | |
Приз - плюха за нечитание темы и задавание вопросов, на которые был получен ответ несколько постов назад. Когда отправлять? |
Автор: | smt005 [ Чт 29 окт 2009 21:07 ] |
Заголовок сообщения: | |
Pingvin писал(а): Мне тоже помогло. Какие библиотеки потребовались?
|
Автор: | Pingvin [ Чт 29 окт 2009 23:06 ] |
Заголовок сообщения: | |
smt005 писал(а): Какие библиотеки потребовались?
NxCooking.dll, glut32.dll, PhysXLoader.dll Добавлено спустя 18 секунд: И дрова к видеокарте. |
Автор: | Shaman [ Пн 26 май 2014 5:09 ] |
Заголовок сообщения: | Re: Подпольные М3 |
Почему-то лето вдохновляет меня попрограммить. Эх, классно было бы с кем-нить вместе командно пилить движок М3, но, похоже, объединить людей над чем-то подобным может только зарплата. В Скаев я уже вырос чтобы верить, так что своими силами и на энтузиазме. Интерес у меня не в том, чтобы сделать "хоть что-то", а в том, чтобы сделать лучше, чем было. Это может показаться наивной затеей, но мне иные варианты просто вот не интересны и всё тут - т.е. или лучше, или ничего вообще. Коды свои я не скрываю, так что присоединяйтесь, если есть желание. Решил начать с ландшафта. Хочу вот необъятные территории. Ачивка есть - дальность видимости в 16км мне кажется неплохим результатом. Вот демошка (архив проекта для Вижуалки, 7мБ): https://docs.google.com/uc?export=downl ... 3J0R0ZfamM Даже немного реал-тайм терраформинга есть - можно плюхать кратеры на карте. Ковыряйте код, кому интересно, кому нет - можете просто полетать. Сделано так: карта высот имеет 8 уровней детализации: 0 - это первый, базовый уровень, где расстояние между вершинами считается равным 1м; номер 1 - это второй уровень, расстояние между вершинами 2м. Таким образом каждый последующий уровень детализации карты в два раза шире по обоим измерениям, хотя содержит столько же вершин. Т.е. каждая вершина следующего уровня детализации - это среднее арифметическое 4-х смежных вершин предыдущего уровня. Т.е. каждый последующий уровень детализации - это размытый вариант рельефа предыдущего уровня, но охватывающий в 2 раза бОльшую территорию. При рендере область в непосредственной близости от игрока рендерится квадратным куском карты из 0-го уровня, область за ней - куском карты из уровня 1 и т.д. - т.е. чем дальше рендеримый треугольник, тем больше его размер, хотя с точки зрения игрока, за счёт перспективы создаётся впечатление, что все треуги одного размера. Запустите ехешник, ткните кнопку М и всё станет наглядно. Карта разбита на кусочки 1024х1024 вершины, формат данных - float. При перемещении камеры менеджер карты подгружает эти кусочки с диска, выдирает из каждого уровня детализации участок рядом с камерой, размером 256х256 вершин, и полученный пирожок (256х256)х8 пихает в видеопамять как текстуру типа GL_TEXTURE_2D_ARRAY, одноканальную с типом данных GL_R32F (32-битный float). Благодаря загрузке карты высот в видеопамять под видом текстуры, вершинный шейдер при рисовке имеет доступ ко всем смежным вершинам, поэтому может вычислять нормали сам (а ещё и тангенты с битангентами впридачу). Таким образом при изменении карты необходимо лишь перезагрузить (256*256*8*4=2МБ) данных в видеопамять - это делает возможным апдэйтать карту высот чуть ли не каждый кадр при необходимости без заметных лагов видео. Ну а при желании, терраформинг вообще можно осуществлять рендером паттернов гор, кратеров, холмов и прочих картовысотных примитивов в текстуру карты высот, сделав его полностью реал-таймовой фичей игрового движка. Но я до этого ещё не дошёл - пока что кратеры появляются за счёт модификации карты в обычной памяти. Следующий этап, который я себе наметил - это текстурирование карты. Помимо высоты вершины нужно хранить также и данные о материале поверхности - какую текстуру использовать. Щас она одна - сраная трава. А хочется песочка, камешков, дёрна, опавших листьев, пожухлой травки, хвои, клеверочка, грязи, асфальта, бетона и пр. - палитру материалов. И чтобы текстуры красиво переходили из одной в другую между вершинами. Учитывая то, что на небольшом участке карты может использоваться большое количество материалов, все они должны торчать в видеопамяти. Ящитаю, слоистый тип текстуры GL_TEXTURE_2D_ARRAY подходит для хранения всей палитры материалов идеально, позволяя хранить все текстуры в одном текстурном слоте. Т.к. каждый квадратик, рисуемый при рендере карты высот, опирается на 4 вершины, каждая из которых может иметь разный номер текстуры, то на каждом кваде может смешиваться до 4-х разных текстур. В Мехах так и есть - текстуры смешиваются между вершинами. НО! Линейное смешивание выглядит не реалистично: если на одной вершине трава, на другой - песок, то между вершинами мы видим полупрозрачные травинки через которые просвечиваются песчинки. Это как бы не логично: переход от травы к песку в реале выглядит как уменьшение концентрации травинок. И вот чё я подумал: если текстуре травы добавить альфа-канал, и пикселям травинок задать альфу выше, чем пикселям дёрна, а в текстуре песочка альфу задать среднего значения, то можно контролировать приоритет элементов текстуры при смешивани, умножая линейно-интерполируемую между вершинами альфу каждой текстуры на альфу конкретного пикселя: пусть рисуется пиксель той текстуры, чья альфа тупо больше (а не среднее арифметическое от смешивания). Таким образом переход между текстурами будет более реалистичным. -Upd: не мудрено, что я не первый до этого додумался: http://www.gamasutra.com/blogs/AndreyMi ... atting.php Ну и тут мене нужна помощь. Собсно, я не знаю, чем такие особые текстуры рисовать - кто-нить может посоветовать инструментарий для создания 4-хкомпонетных (RGBA) текстур? И желательно ещё и с бамп- и оффсет-мапами чтобы можно было? |
Автор: | Krogoth [ Пн 26 май 2014 12:36 ] |
Заголовок сообщения: | Re: Подпольные М3 |
У меня твоя прога вылетает сразу. |
Автор: | watcover3396 [ Пн 26 май 2014 13:06 ] |
Заголовок сообщения: | Re: Подпольные М3 |
аналогично |
Автор: | Shaman [ Пн 26 май 2014 13:37 ] |
Заголовок сообщения: | Re: Подпольные М3 |
И как вылетает? Что пишет? Щас скачал, запустил - у меня пашет. Значит, дело в отсутствии каких-нето длл-ек (как обычно, блин, ну до чего ж задолбала эта традиция вижуалки не включать всё что требуется в ехе-шник...). Так какой длл-ки не хватает? |
Автор: | Shaman [ Пн 26 май 2014 13:54 ] |
Заголовок сообщения: | Re: Подпольные М3 |
Перекомпилил ехе-шник в release конфигурации - может, поможет: Вложение:
|
Автор: | Krogoth [ Пн 26 май 2014 17:22 ] |
Заголовок сообщения: | Re: Подпольные М3 |
Нет. |
Автор: | watcover3396 [ Пн 26 май 2014 17:52 ] |
Заголовок сообщения: | Re: Подпольные М3 |
Шаман, по всей видимости проблема где то в коде, ошибок нет, твой Mech Engine запускается и больше не подает признаков жизни, процесс висит и жрет порядка 30 метров оперативки. Были бы логи, я бы слил. |
Автор: | Shaman [ Пн 26 май 2014 23:35 ] |
Заголовок сообщения: | Re: Подпольные М3 |
А, ну это первый раз подвисон может быть секунд на 5 (или дольше - зависит от железа) - там идёт рассчёт тангент и битангент глайда и оптимизация меша, после чего появится Yastreb.glm файл в папке Models, а также ландшафт сгенерится в папке Maps. Какое железо? |
Автор: | watcover3396 [ Ср 28 май 2014 2:56 ] |
Заголовок сообщения: | Re: Подпольные М3 |
Шаман, Процессор DualCore 2x3.1ггц, Видюха nvidia geforce gt240 1гб, Оперативки 4гб, жесткий 500гб. |
Автор: | Shaman [ Ср 28 май 2014 14:44 ] |
Заголовок сообщения: | Re: Подпольные М3 |
Либо драйвера к видюхе старые, либо действительно что-то у меня в коде не так. Обнаружил, что в Release конфигурации ехе-шника даже у меня стало иногда вылетать при составлении отсутствующего куска карты. Так что где-то что-то не так, скорее всего, в моих ассемблернутых функциях. Я щас переписываю ФСЁ, переводя все операции над ландшафтом (составление, извлечение кусков, модификацию и пр.) на видюху. В случае успеха будет терраформинг на видюхе. Затребует OpenGL 3.2. Если интересно, что может Ваше железо, скачайте прогу GLview, которая анализирует все поддерживаемые Вашей видеокартой фичи: http://www.realtech-vr.com/glview/download.php |
Автор: | SHW [ Пн 2 июн 2014 15:48 ] |
Заголовок сообщения: | Re: Подпольные М3 |
Выкладывай лучше на github, или еще какой онлайн репозиторий. Обмениваться кодом в архивах не кошерно :-) |
Автор: | Shaman [ Вт 3 июн 2014 0:35 ] |
Заголовок сообщения: | Re: Подпольные М3 |
гитхуб не пошёл - его примочкам винда 7 требуется, у меня ХР. А чем плох Гугл-драйв? Без рекламы же, бесплатный, и лимита овердофига? |
Автор: | SHW [ Вт 3 июн 2014 12:08 ] |
Заголовок сообщения: | Re: Подпольные М3 |
Шаман писал(а): гитхуб не пошёл - его примочкам винда 7 требуется, у меня ХР. А чем плох Гугл-драйв? Без рекламы же, бесплатный, и лимита овердофига? Я пользовался github-ом и на XP. Там же любым клиентом можно цепляться. А сравнивать систему контроля версий с файлопомойкой несколько некорректно. Это всё-таки разные вещи. git, svn - для хранения кода, google-drive, yandex.диск для обмена файлами. Можно, впринципе, хранить репозиторий в google-drive, но он пару раз херил мне файлы при возникновении конфликтов. После чего я отказался от такой практики. |
Автор: | Shaman [ Вт 1 июл 2014 3:44 ] |
Заголовок сообщения: | Re: Подпольные М3 |
Ах, ну и ехе-шник полапать же нужно дать публике (архив 14МБ)! Средняя кнопка мыши переключает между режимом фулскрина с управлением камерой и в режимом окна с курсором; левая и правая кнопки увеличивают и уменьшают дальность видимости, соответственно (вот только туман всё равно на месте останется, гы). Кнопки WSAD - движения вперёд/назад/влево/вправо, пробел - вверх, С - вниз, QE наклоняют камеру набок, кручение колёсика мыши меняет скорость перемещения; кнопка R переключает между режимом обычного рендеринга и вайрфреймом. Esc - выход. При нажатии кнопки М на карту рядом с камерой плюхается гора. В рандомной ориентации, но стандартного размера (что-то около сотни метров у основания). Учтите, перемещаясь по карте вы заставляете движок генерировать и сохранять на диск в папку Map новые фрагменты карты (каждый по 8МБ размером), так что размер папки будет расти. У меня вот уже за 2.5ГБ перевалил размер, пока я скалы плюхал для красочной картинки да слетал к дальнему горному хребту. Если в папке отсутствуют куски карты (изначально я оттуда всё убрал), то несколько кусков высшего уровня детализации будет сгенерено автоматом (на картинке - это те горы вдалеке). Всё остальное, что наплюхаете, будет сохраняться. |
Автор: | watcover3396 [ Вт 1 июл 2014 18:46 ] |
Заголовок сообщения: | Re: Подпольные М3 |
Шаман, ну да дальность прорисовки впечатляет, только кому такая прорисовка нужна, ведь это смерть компу если нормальные модели запилить. Почему ты не возьмешься за нормальный готовый движок? Ведь Unreal Engine 4 есть исходный код на плюсах, что тебе мешает сделать Механоиды на нем, а не делать свой велосипед. |
Автор: | Вадим [ Вт 1 июл 2014 20:34 ] |
Заголовок сообщения: | Re: Подпольные М3 |
А при движении горные пики также пляшут, как и раньше, или ты это поборол? |
Автор: | GranMinigun [ Вт 1 июл 2014 21:18 ] |
Заголовок сообщения: | Re: Подпольные М3 |
Ватковер, цыц. Не мешай Шаману шаманить чудеса. Вадим, пляшущие горные пики - неустранимое зло (разве что отключить динамическое преобразование из одного уровня детализации в другой, но тогда ландшафт будет страшно резко дергаться). Иначе я бы не жаловался на UDK, а у Epic Games не было бы конкурентов. Шаман, снимаю шляпу. Просто великолепно. Раскатаю, однако, губу: можно в следующий раз отключаемый туман и возможность двигать координаты источника освещения? |
Автор: | Вадим [ Вт 1 июл 2014 21:41 ] |
Заголовок сообщения: | Re: Подпольные М3 |
GranMinigun писал(а): Вадим, пляшущие горные пики - неустранимое зло Могу ошибаться, но в Батле3 такого не было, хотя по вторичным признакам вроде как видно, что там используется именно шамановская система с уровнями детализации.
|
Страница 19 из 21 | Часовой пояс: UTC + 4 часа |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |