Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.16;
Скачать: CL | DM;

Вниз

Оцените возможности 3D OpenGL движка.   Найти похожие ветки 

 
Unknown user ©   (2003-11-28 18:21) [80]

2 MeF88. VCL там нет. Разве, что TList. А OGL совсем не страх, если конечно уметь пользоваться. Ты когда нибудь слышал о проблемах использования OGL на разных конфигурациях? А с DirectX это постоянно происходит.


 
TButton ©   (2003-11-28 18:27) [81]

посмотрел
Duron 700
192 Ram
16Mb video
8-15fps
вообще - красиво... только облака на скайбоксе боком повернуты... и иногда робота изнутри видно...


 
dmk ©   (2003-11-28 22:29) [82]

>> ATi Radeon 9800 Pro - вещь просто супер, самая крутая и
>>дорогая, хотя если принять в расчет 512 Mb Wildcat...
Да кому нужны (кроме специалистов) профессиональные
3D ускорители с кучей собственных GL расширений?
Вон, 3D Labs уже версию 2.0 OpenGL написали.
http://www.3dlabs.com/support/developer/ogl2/index.htm
Делать им больше нечего что-ли? Денег не напасешся =)

А R9800 Pro не самая крутая(Хотя заплатил за нее 495$).
FX 5950 слегка побыстрее. Но "сейчас" выходит Radeon 9900 XT.
Посмотрим кто кого ;)

2 unknown user
А вот робота я что-то не приметил?!!? =)
Только танк один. Хотя следы от робота обнаружил.


 
MrAngel   (2003-11-29 22:13) [83]

Ги - убежал робот :-))))


 
dmk ©   (2003-11-30 15:20) [84]

Не, ну серьезно! Не видел я что-то никакого робота.
Танк видел, горы видел, следы видел и робота и танка,
а вот робота нету =(. И в ручном режиме покатался.
Не нашел.


 
MrAngel   (2003-12-02 04:00) [85]

Unknown user > Набрал информации по поводу скоростной графики.

Самый лучший вариант это использовать GL_ARB_vertex_buffer_object.

Вот список карт которые поддерживают это расширение http://www.delphi3d.net/hardware/extsupport.php?extension=GL_ARB_vertex_buffer_object

А здесь есть пример как это сделать на Дельфи http://www.delphi3d.net/forums/viewtopic.php?t=154

Свою версию я уже сделал, но мне не нравится рехультат (фпс) - надо ещё над этим работать.


 
Unknown user ©   (2003-12-05 12:05) [86]

2 TButton. Ok. Буду работать дальше. А с облаками вроде все нормально -запустил, посмотрел -все стыкуется. Это на верхней плоскости ты заметил баг?
А насчет того, что робота видать изнутри - этот баг известен. Положением камеры я еще не занимался - в будущем размещение камер будет экспортироваться из 3ds max, а пока просто подобрал координаты в тексте программы.
FPS конечно низкий - как выяснилось главный тормоз(кроме бага со следами) это мультитекстурирование, так как текстуры не маленькие и второй слой укладывается в несколько рядов(кол-во задается матрицей текстуры).


 
Unknown user ©   (2003-12-05 12:06) [87]

2 dmk. Вот когда катаешься в ручном режиме(управление клавишами ASDW) -тогда ты и находишся внутри робота и соответственно управляешь им. Чтобы переключить камеру в режим свободного полета нажми F4, обратно в робота -тоже F4. Кстати по задумке роботом(боевой машиной) ты управляешь дистанционно находясь от него за многие километры. Представь, сидишь ты у себя дома за своим компом и через спутниковый канал связи управляешь боевой единицей которая находится где-то в пустыне Гоби и сражается с такими же машинами. Войны будущего. Почитай сценарий рttp://www.delphimaster.ru/cgi-bin/download.pl?look=1&id=1067788632&n=1.


 
Unknown user ©   (2003-12-05 12:06) [88]

2 MrAngel. Да робот у меня шустрый. Но скоро построю границы мира и никто уже не скроется за скайбоксом.
Если не секрет, какое практическое применение твоего рендера? Он используется в каком-то движке, или просто бьешь рекорды?


 
MrAngel   (2003-12-06 17:20) [89]

Unknown user > Такой метод вывода геометрии используется во всех современных игровых движках, поэтому я думаю его лучше использовать, хотя и накладно по времени (много кода).

На счёт рекордов. Верно - но только для себя - хочу знать возможности своей карты.


 
Sapersky ©   (2003-12-09 01:40) [90]

Скачал-посмотрел (только сейчас :))
Celeron 500 / 256 Mb / Geforce2MX400
С FPS происходит нечто странное. Сначала было 16-17. Потом перенёс в другое место, запустил через некоторое время и получил 35-40 :) То ли вертикальная синхронизация отключилась (похоже, т.к. всё равно притормаживает, хотя и меньше), то ли аппаратный T&L включился, то ли какую-то фичу на диске он не нашёл и она вырубилась... то ли считает неправильно. Мультитекстурирование на месте, следы тоже (фирменным образом висят над поверхностью). Незадолго до того запускал "Ил-2" - тоже на OGL, но потом специально перезагрузился - всё равно 40 FPS :)
Тем не менее, повторюсь, некое подтормаживание имеется. Не надо списывать на медленную машину - демка D3D у меня выводит 46000 полигонов со скоростью 250 FPS (правда, без текстур и за один присест). Поэтому:
1) Вслед за MrAngel рекомендую использовать вертексные буферы (в D3D иначе уже и не рендерят). Может улучшить производительность сильнее, чем самые хитроумные оптимизации, т.к. полностью задействуется мощность 3D-ускорителя.
2) Выводить детальную текстуру не на весь ландшафт, а в области вокруг игрока (т.е. всё-таки вторым проходом - поскольку рисуется не весь ландшафт, это не так страшно; освободится проход мультитекстурирования для других полезных вещей). Ну или хотя бы использовать мипмэппинг (mip-mapping).
3) На фон можно смело ставить текстуры 256*256 или даже меньше. Всё равно они так размазаны jpeg"ом и в такой туманной дали, что разницы никто не заметит.

Относительно дизайна. Хорошее ощущение пространства, объёма что ли... задник хорошо сочетается с передником... в смысле, ландшафт с фоном :)
Хотя, признайся честно, это не твоя заслуга, а неведомого дизайнера, который всё это нарисовал (я уже видел в Сети такие картинки).
Модельки симпатичные. Правда, танку лучше бы стоять на месте (музейный экспонат, судя по времени действия), а не прыгать (буквально) по кочкам. Впрочем, по этому поводу здесь уже жаловались. Анимация робота не сильно впечатляет - вместо стрейфа какой-то танец маленького, гм, лебедя. Да и просто ходьба... если она сделана трансформациями, как вращение башни танка, то это зря, наверное. Робот в данном случае - скорее человек, чем танк, т.е. для него лучше покадровая анимация, как в Quake. Это, помнится, ещё в MechWarrior 3 было - когда твоя железяка хлопнется с копыт, она потом ме-едленно, с явным напрягом встаёт.
При средних и больших дистанциях просмотра модели начинают "рябить" - это, видимо, отсутствующий culling. Возможно также не хватает разрядности Z-буфера. Нужно вместе с параметрами камеры устанавливать переднюю/заднюю отсекающие плоскости, чтобы диапазон Z-буфера оставался (хотя бы примерно) тем же. Ну и лоды (которые вообще полезны).


 
Unknown user ©   (2003-12-09 19:28) [91]

2 MrAngel. О возможностях твоей карты польностью расскажут диагностические программы. Тут скорее, проверка своих возможностей, как программиста...


 
Unknown user ©   (2003-12-10 12:34) [92]

А я думал ты давно посмотрел. Судя по подробным комментам.
FPS считает правильно -тут негде ошибиться -разве что спихнуть на Винду, мол неверно возвращает значение фугкция GetTickCount :). Вертикальная синхронизация не может снижать FPS если он не превышает частоту кадров -так что она ни причем, скорее всего был запущен какой-то ресурсоемкий процесс, либо, что еще хуже, еще одна прога OGL(D3D). Другого объяснения я не нахожу. Хотя еще может быть была занята видеопамять и пришлось исп. системную...

Притормаживание конечно имеется и я уже объяснял причины. Баг со следами(2000 лишних текстурированных поверхности в кадре), и вывод TRIANGLE в цикле по-одному. Зато как будет приятно увидеть FPS после исправления этих недочетов :).

Насчет вывода сетки за один присест я все прекрасно понимаю - не доходят пока руки -занимаюсь внедрением спрайтов, взрывов(спасибо, кстати за документацию по Volumetric Explosion).

Текстуры 256х256 на фон -это малое разрешение. За счет того что скайбокс отстоит далеко от камеры, размеры его сторон большие и текстура прилично растягивается. Даже при 512х512 при ближнем рассмотрении(на краю ландшафта) заметна зернистость. Конечно можно добавить тумана побольше :).

Относительно дизайна. Картинки скайбокса я конечно сам не рисовал(надо поставить CopyRigth на небе над горой), а вот ландшафт моделил сам в максе. Текстура ландшафта тоже из сети, но это и заметно -тени которые имеются на ней не совпадают с реальной поверхностью. Не знаешь кстати где найти текстуры земной поверхности(вид сверху с высоты 80-100 метров)? Если можешь дай линки.

Танк там катается для демонстрации следования поверхности ездящими объектами (не очень удачной кстати), шагающие объекты(роботы) перемещаются по иным законам.

Анимацию я делал сам, так что звиняйте... Как умею так и делаю (я и 3д макс то всего 4 месяца знаю). А вот насчет покадровой анимации как в квейке - это ты зря. Робот такой же механизм как и танк. При перемещении его частей деформации сетки не происходит-значит выводить в каждом кадре новую сетку нет нужды (если ты это имел ввиду под покадровой анимацией). Для человека, то да действительно лучше сохранять отдельную сетку для каждого кадра-тогда он не будет похож на робота. Ну а робот должен быть роботом (извиняюсь за тавтологию). В мехвариор используется трансформация на кватерионах, а то что анимация изменялась в зависимости от степени повреждений в этом заслуга интерполяции -смешивались движения нормального перемещния и перемещения с максимальными повреждениями с нужными соотношениями. У меня трансформации задаются матрицами, что позволяет реализовать не только вращение но и перемещение, например камень, что скатывается с горы...

От "ряби" включение CULLFACE не спасает -очевидно все-таки Z-буфер. Какая там разрядность по умолчанию?


 
Unknown user ©   (2003-12-10 12:34) [93]

А я думал ты давно посмотрел. Судя по подробным комментам.
FPS считает правильно -тут негде ошибиться -разве что спихнуть на Винду, мол неверно возвращает значение фугкция GetTickCount :). Вертикальная синхронизация не может снижать FPS если он не превышает частоту кадров -так что она ни причем, скорее всего был запущен какой-то ресурсоемкий процесс, либо, что еще хуже, еще одна прога OGL(D3D). Другого объяснения я не нахожу. Хотя еще может быть была занята видеопамять и пришлось исп. системную...

Притормаживание конечно имеется и я уже объяснял причины. Баг со следами(2000 лишних текстурированных поверхности в кадре), и вывод TRIANGLE в цикле по-одному. Зато как будет приятно увидеть FPS после исправления этих недочетов :).

Насчет вывода сетки за один присест я все прекрасно понимаю - не доходят пока руки -занимаюсь внедрением спрайтов, взрывов(спасибо, кстати за документацию по Volumetric Explosion).

Текстуры 256х256 на фон -это малое разрешение. За счет того что скайбокс отстоит далеко от камеры, размеры его сторон большие и текстура прилично растягивается. Даже при 512х512 при ближнем рассмотрении(на краю ландшафта) заметна зернистость. Конечно можно добавить тумана побольше :).

Относительно дизайна. Картинки скайбокса я конечно сам не рисовал(надо поставить CopyRigth на небе над горой), а вот ландшафт моделил сам в максе. Текстура ландшафта тоже из сети, но это и заметно -тени которые имеются на ней не совпадают с реальной поверхностью. Не знаешь кстати где найти текстуры земной поверхности(вид сверху с высоты 80-100 метров)? Если можешь дай линки.

Танк там катается для демонстрации следования поверхности ездящими объектами (не очень удачной кстати), шагающие объекты(роботы) перемещаются по иным законам.

Анимацию я делал сам, так что звиняйте... Как умею так и делаю (я и 3д макс то всего 4 месяца знаю). А вот насчет покадровой анимации как в квейке - это ты зря. Робот такой же механизм как и танк. При перемещении его частей деформации сетки не происходит-значит выводить в каждом кадре новую сетку нет нужды (если ты это имел ввиду под покадровой анимацией). Для человека, то да действительно лучше сохранять отдельную сетку для каждого кадра-тогда он не будет похож на робота. Ну а робот должен быть роботом (извиняюсь за тавтологию). В мехвариор используется трансформация на кватерионах, а то что анимация изменялась в зависимости от степени повреждений в этом заслуга интерполяции -смешивались движения нормального перемещния и перемещения с максимальными повреждениями с нужными соотношениями. У меня трансформации задаются матрицами, что позволяет реализовать не только вращение но и перемещение, например камень, что скатывается с горы...

От "ряби" включение CULLFACE не спасает -очевидно все-таки Z-буфер. Какая там разрядность по умолчанию?


 
MrAngel   (2003-12-11 01:07) [94]


> Анимацию я делал сам, так что звиняйте... Как умею так и
> делаю (я и 3д макс то всего 4 месяца знаю).

Есть интересная программа, предназначенная специально для аниматоров - Poser v5.0

Анимация там только костная, хотя может она и тебе подойдет для разработки.


 
Unknown user ©   (2003-12-11 13:34) [95]

2 MrAngel. Утилита экспорта в формат моделей моего движка создавалась для 3д макс на его скриптовом языке. И макс меня вполне устраивает, там тоже можно использовать скелетную анимацию, плюс еще всевозможные плагины от сторонних разработчиков. Вообщем, универсальный редактор. А сделать анимацию получше - для этого надо время и терпение (ни того не другого никогда не бывает много). И делать надо отдельную аннимацию для каждого направления движения, не так как в демке, где по диагонали робот движется так же как по прямой. Надо искать художника... Где они вообще водятся?


 
Sapersky ©   (2003-12-13 22:19) [96]

Относительно сценария.
Это оказалось лучше, чем я предполагал (казалось бы, ну чего можно придумать про роботов, кроме ещё одной BattleTech), но придраться всё равно есть к чему. Сама идея "ограниченной войны по правилам" сомнительна. Идея не новая, но почему-то до сих пор ничего подобного в реальности не используется (сценарий ведь должен быть реалистичным, или хотя бы правдоподобным?). То ли дело в том, что всегда найдутся отморозки, которые плюнут на правила и нечестно, но эффективно всех замочат. То ли просто трудно объяснить какой-нибудь мусульманской стране третьего мира, что она должна тратить чудовищные средства на разработку и постройку роботов (или чего там ещё), притом, что США ей всё равно не догнать. Куда как проще подготовить шахида... или предполагается, что подобные страны к тому времени уже вымрут?
Да и рыцарственности в войнах чем дальше (если взять 20-21 века), тем меньше. Хотя - не используют же сейчас ОВ, ядерное, бактериологическое оружие... грозятся  периодически, но не используют. Значит, всё-таки ограничения реальны?
К тому же сюжет можно построить как раз на нарушении правил. Многие в этом мире вовсе не хотят, чтобы их судьба зависела от какого-то геймера - и пытаются взять ситуацию под свой контроль. Планомерным атакам подвергаются как технические системы - сами роботы, каналы связи, компьютерные системы; так и человеческий фактор - виртуальные бойцы и их команды. Сначала странные отказы боевых систем в самый неподходящий момент, кратковременные потери управления, неожиданные проигрыши и подозрительные перемены настроений в стане коллег-бойцов. Потом взрывы подбитых роботов с характерным грибком, приводящие в негодность и арену, и соперников; роботы, выходящие на охоту за пределы арены, ведомые кем угодно, только не официальными хозяевами; бесследные исчезновения виртуальных бойцов даже из правительственных бункеров. И - по нарастающей, так что турнир, который некогда задумывался как бескровная альтернатива войнам, сам становится общемировой "горячей точкой". Сталкиваются интересы спецслужб, корпораций, мафии и бог знает кого ещё; а достаётся, само собой, в первую очередь виртуальным бойцам. Да, очень весело и здорово сидеть за компьютером и решать судьбы наций, но понравятся ли вам также читерство соперников, сделки с Большим Братом и совестью, потеря друзей и внезапное ощущение собственной физической уязвимости?
Как решать эти проблемы - особого выбора нет, поскольку игра action... Будем умиротворять навечно. Но пригодится и умение распознавать потенциальных союзников, возможно, даже помогать и спасать без сиюминутной выгоды - лишь с надеждой, что окупится. Ведь виртуальные бойцы в основной массе не испытывают друг к другу злобы, они скорее спортсмены, и им всем одинаково не нравится, что их спорт превращается в чёрт знает что. Перед лицом общей угрозы вполне реально забыть личные обиды и образовать союз... Да, они всего лишь геймеры, кун-фу их слаб, а "агенты смиты" вот-вот появятся на пороге с самыми скверными намерениями. Но сохранились ещё некоторые каналы связи, есть персоналки со шлемами виртуальной реальности; и - роботы, пусть немного, но, как уже говорилось, это самые совершенные боевые машины...
Конечно, всё вышенаписанное - чистой воды (хех, не очень чистой) фантастика. Движок для этого должен быть не менее чем уровня Doom3, и профессиональная команда, и бюджет с многими нолями, и издатель на западе. Будем считать это попыткой показать, что любой сюжет можно при желании наворотить так, что мало не покажется :)

По техническим вопросам (ответ на предыдущее сообщение) - потом.


 
Unknown user ©   (2003-12-15 17:58) [97]

2 Sapersky. Да, разошелся ты. Дополнение оказалось объемней самого сценария. Спасибо, что поддержал. Я знал, что идея любителям игрушек понравится -ведь как приятно осознать, что ты не занимаешься ерундой дни напролет, а готовишь себя к виртуальным сражениям за свободу нации. Идея насчет правил конечно слабовата, но как ты и говорил никто же не говорит, что правила будут соблюдаться. Немало в человеческой истории фактов нарушения правил (последний случай -нападение США на Ирак, вопреки ООН). А с таким дополнением в игру проникает интрига, причем развить ее можно до невообразимых размеров -вплоть до 4 мировой войны, после которой человечество уже не выжывет. Не пробовал подрабатывать сценаристом?


 
Sapersky ©   (2003-12-26 00:13) [98]

Кажется, "потом" несколько раcтянулось :( Но раз уж обещал - отвечу, хотя, ИМХО, на этом дискуссию следует приостановить (до следующей версии "роботов"?), т.к. она уже давно превратилась в диалог, а мне надо работать :(

Вертикальная синхронизация не может снижать FPS если он не превышает частоту кадров

Немного всё-таки снижает, т.к. FPS округляется в меньшую сторону до значения, кратного частоте обновления монитора. Ну и некоторое ухудшение плавности (тестировал на своих программах) чувствуется. Лечится тройной буферизацией (2 задних буфера) - во всяком случае, в DX SDK так написано.

Относительно дизайна. Картинки скайбокса я конечно сам не рисовал(надо поставить CopyRigth на небе над горой)

:) Ну извиняй, зря я конечно брюзжание устроил. Сам постоянно пользуюсь чужими ресурсами. Но вот начал ковыряться в программе-моделлере и стало доходить, какое же это удовольствие наверное - сделать игру ПОЛНОСТЬЮ собственной, не говоря уже о возможности её продавать :)
Опять же, ландшафтные движки тем и хороши для одинокого программиста, что там многое (по сравнению с indoor) можно сгенерировать программно - сам ландшафт, полигональное небо с закатами/рассветами, как NailMan говорил; текстуры в какой-то степени тоже - допустим, брать несколько базовых, и смешивать их заранее или по ходу дела для получения плавных переходов. Конечно, это будет сложнее, чем намертво зафиксированный мир - но и интересности прибавит.

От "ряби" включение CULLFACE не спасает -очевидно все-таки Z-буфер. Какая там разрядность по умолчанию?

Вообще я имел в виду переднюю/заднюю отсекающие плоскости. Но разрядность (16/32 бит на пиксель, то есть "глубсель" :)) тоже имеет значение, и многие проблемы можно решить, просто поставив 32 бита (на Operation Flashpoint, например, разница хорошо заметна).
А упомянутые плоскости - это, фактически, расстояние, на которое эти биты распределяются. Причём распределяются неравномерно - т.е. чем ближе к камере, тем точность Z-буфера выше, а с удалением она уменьшается то ли в квадрате, то ли ещё как... в общем, сильно уменьшается, так что и 32-битный буфер может не помочь. Поэтому расстояние между отсекающими плоскостями желательно ставить минимально возможным (glFrustum или что-то в этом роде).
Ещё есть разновидность Z-буфера - W-буфер, там всё распределяется равномерно. Можно попробовать (в OGL это скорее всего расширение).
Ну и грамотная оптимизация моделей играет большую роль. Т.е. выкидывание близко расположенных плоскостей, например, внутренних поверхностей, которые могут быть в hi-poly моделях. Использование уровней детализации моделей - чем меньше полигонов, тем больше (должно быть) расстояние между ними.



Страницы: 1 2 3 вся ветка

Текущий архив: 2004.05.16;
Скачать: CL | DM;

Наверх




Память: 0.68 MB
Время: 0.047 c
9-1072167927
Kair
2003-12-23 11:25
2004.05.16
Динамический массив


1-1083057757
ByPass
2004-04-27 13:22
2004.05.16
Memory Mapped Port


1-1083568727
V-Isa
2004-05-03 11:18
2004.05.16
Загрузить BitMap из Project1.res?


3-1082013742
Mamed
2004-04-15 11:22
2004.05.16
Izmeneniya v Clienddataset


3-1082142426
Kein
2004-04-16 23:07
2004.05.16
Помогите разобраться с InterBase ом





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский