Вложений: 2
Доброе время суток всем желающим написать на Блице Варкрафт-4!
So, не растекаясь мыслию по древу, сразу к примеру. :) В прикрепленном архиве два .ББ файла: "1" и "2" соответственно, запустив которые можно посмотреть демку террана с лесом и летающей сверху камерой. Всё почти как в стратегиях, только нет орков и камера управляется клавишами управления курсора. Файл "1" демонстрирует "принципиально простой", иначе- "классический"- метод реализации этого-самого леса. Файл "2" демонстрирует "принципиально правильный" метод. Понять чем они отличаются просто: первый у меня выдает 70ФПС когда в кадре нет вообще ничего и 40- когда в кадре много деревьев. Кроме того, он может просто заглючить на некоторых машинах (глюк Блица с террайнами) и исправить это будет невозможно. Никак. Второй выдает соответсвенно 3000 и 150 ФПС, никогда не заглючит и если убрать деревья, станет видно, что террайн освещается заметно красивее. Недостатка два: тоннельный эффект на деревьях и долгая генерация террайна. P.S. 2Новички: Комментов в примерах необходимый минимум. Однако, не смотря на внешнюю навороченность, даже во втором примере код предельно прост и требует лишь внимательного прочтения. Обратите внимание на алгоритмы соединения мешей, рендер-твининга и генерации террайна. Удачи! :ok: |
Что, так плохо, что ни у кого даже ругательных комментариев не возникло?
Как демка-то? Показатели ФПС как, меняются от способа оптимизации? Шо ж вы так пассивно? :) |
в первом примере все работает довольно нормально ФПС у меня 40 даже если ничего в экране нет, а если на гору заберешься, чтоб много деревьев в экране было, то до 20 опускается...
второй пример работает принципиально быстрей, только глючит неимоверно, типа кадры прокрутятся быстро, а потом машина ждет до конца секунды... и так каждую секунду... и ФПС прыгает с 50 до 30 (причем прыгает по 5 раз в секунду). :) |
чет терейн тормозной... :))
МА-ЛА-ДЕЦ ;) вообщем а чембы ненаписать функцию гемора... ой... generate :) типа ланджафта ? ну чтобы типа... типа генерить типа ланджафт из типа типа... короче картинки типа под типа названием в типа карта типа высот... :lol: ps. злостный пост но БЕЗ ОФФТОПА Я НАПИСАЛ! :rolleyes: |
Во втором исходнике при медленном поворачивании камеры деревья, которые находятся рядом, "мелькают": как будто верхушка одного дерева вдруг оказывается скрыта другим деревом, хотя последнее находится дальше.
Но я не исключаю, что это все из-за моих тупых дров для видяхи. |
Цитата:
Знаешь, попробуй может вот какие варианты: 1. уменьшить количество деревьев в два раза (в обоих примерах для чистоты эксперимента): Если компьютер не очень крутой, то при ФПС<10-20 твиннинг и таймер обновления камеры будут глючить; 2. убрать вообще задержку "Delay 20" в модуле обновления камеры (тоже в обоих примерах); 3. снести к чертям рендер-твининг во втором примере (убрать CaptureWorld() и поставить просто "RenderWorld()" вместо RenderWorld(Twining/100)) Если всё это не поможет- значит или код косой, или железо... :SOS: Цитата:
Цитата:
|
ОГО!!! :blink: ПРИКОЛЬНО!!! ОСОБЕНО ТУМАН МЕЖДУ ДЕРЕВЬЯМИ ПОНРАВИЛСЯ!!
Жалько только что у меня комп тупой, подвисает всё |
а у меня скорость держится такая как указал дипломат
хотя процесор в несколько раз тормознее :lol: глюков ненайдено - видяха XFX 6600GT , дрова 77.72 |
Интересный примерчик.
Дома у меня оба примера работали одинаково медленно - около 20 кадров. Это на Celeron 433, 224 Mb ОЗУ, GF2MX200 64 Mb На более крутом компе -AMD Sempron 2600+, 512 Mb ОЗУ, RADEON9550 128 Mb- 2 пример быстрее: в 1ом примере: 40 кадров ВСЕГДА - странно... так не должно быть по-мойму... во 2ом: 80-110 кадров, если камера смотрит только на поле, и больше 1000, если в пустоту. Во втором примере при движении или повороте текстура земли размазывается (рябь какая-то), после остановки нормальной становится. Деревья тоже "мелькают"... ПС: я не понял, зачем нужен флаг 256 для текстуры детализации. Пробовал убрать флаг вообще - рябь исчезает, но и вид немного другой... |
Ну, на слабых компах 20ФПС выводится по той простой, что счетчик ФПС возвращает данные 10 раз в секунду, округляя точность 10 да еще и завышает на 10ФПС... Зачем? Раньше юзал для техданных- потом забыл исправить. :)
Корректно получать данные о ФПС можно заменив его код на следующий: Код:
;FPS counter Эта фича по определению- "складирует текстуру в видеопамять". А по сути- она выключает мипмаппинг (размытие) текстур, что очень важно при изображении детайлмаппов на террайнах итп... Ну, 20% ФПС жреть... :) |
На моей машине (Celeron D 2400 / GF MX400 64MB / 512MB Dual) FPS примерно 20(на горе)-40(просто на карте) во втором примере.
Если установить режим цвета в 16 бит то FPS вырастает до 35-55 соответственно. Без твининга FPS вырастает на 5-10 к/с, но зато дергается камера (надо написать функцию обработки камеры) А в общем примерчик неплохой :) |
Кстати при флаге 256 (Store texture in vram) выключается мипмеппинг текстур, а следовательно и их сглаживание. В этом режиме (256) у меня пример 2 работает чуть медленнее.
|
Вложений: 2
Цитата:
Код:
Function GenerateTerrain%(SizeX#,SizeZ#,MaxHeight#,HeightMapFile$,Detail,VertexColorsMap$="") А это измененный код примера... |
Цитата:
Не забываем писать закрывающие теги ;) |
Просто соединение с инетом через мабильник и часто глючит, по этому сообщение не полностью дошло!:'((
|
Часовой пояс GMT +4, время: 04:08. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot