http://www.gamedev.ru/articles/?id=10022
"5 Стараемся использовать как можно меньшее количество буферов вершин. Смена буфера очень
"тяжелая" операция и дорого нам стоит. Поэтому"
Для DX9 ещё актуально?
Кстати у меня 200к+ одинаковых буферов вершин, когда вместо них для каждого квада стал
юзать самый первый, FPS стал лишь в полтора раза выше.
"19 Рисуйте за раз не менее, чем по 200+ вершин."
Аналогично, рисую по 6 вершин за раз, пока не жалуюсь.
офтоп: оу, сколько здесь ваткина внизу http://programming-
lang.com/ru/comp_programming/vatkin/0/j10.html
Аффтар все правилъно делает.
Пишет игру и двиг одновременно.
И идет по принципу наименьшего действия. Там где проблема меньше решается кодом игры - меняет код игры, там где проще менятъ код движка - меняет движoк.
Фух, голова уже не соображает, а уже понедельник нужно что-то выкладывать.
u960
> Epsilon
> > Побегать по уровню из скрина https://yadi.sk/d/EV-GlfCo38xHFF
> Ну как так можно писать на dx9 если она не запускается?
> "невозможно создать устройство DirectX"
> и ни каких логов
Логов не будет, т.к. я понятия не имею, что туда писать.
Может у тебя сглаживание 8х не поддерживается?
Специально для тебя сделал в сборке поддержку отключения сглаживания.
Хз что там ещё может быть.
Как пользоваться.
1) Запустить OverShooter.exe;
2) По окончании беготни по лабиринту нажать Escape.
В файле "Настройки.txt" хранятся имя уровня и использовать ли сглаживание.
Парсер настроек пробелы и табуляции не переваривает. Регистр букв можно любой.
После "Уровень=" сразу же идёт имя файла с данными уровня.
Аналогично про сглаживание, сразу после "Сглаживание=" либо "0", либо "1". 0 - не использовать, 1 - использовать.
По-умолчанию, сглаживание отключено (всё равно кроме как на пушке, и то чуть-чуть, нигде не заметно), уровень = "3.УровеньШутера".
Внимание! "3.УровеньШутера" требует 400МБ оперативки (хз почему, раньше вообще 2Гб было...).
--------------
Про редактор уровней. Писал для себя, но вам тоже можно поглазеть и даже потрогать. Сильно перепиливать под чужие хотелки не буду -- не до него, с шутером бы разобраться...
Как пользоваться:
0) Необязательно: Загрузить уровень через кнопку "Загрузить уровень";
1) Выбрать в палитре "Свободное место", либо "Толща стен". (Можно что-то другое, но оно пока не поддерживает нормально движком, поэтому пока что не толща стен приравнивается к свободному месту.) И обильно повазюкать по клеточному полю зажав ЛевуюКнопкуМыши;
2) Получившийся натюрморт можно скролировать зажатой Правой кнопкой мыши. Скролировать можно вечно ибо карта бесконечна;
3) Но надо помнить, что изменение стартовой позиции игрока ещё не поддерживается, поэтому она находится в самой центральной клетке поля (с координатами 0:0, даже помечена на всякий при запуске редактора);
4) Далее, если под кнопкой "Просчитать структуру стен" ещё ничего не заполнено, нажать на кнопку, для заполнения;
5) Сохранить изменения через кнопку "Сохранить уровень" (запрос на перезапись существующих файлов не запрограммирован, так что аккуратнее с даблкликами).
Доп. п. 1) Остальные поля не нуждаются в заполнении, хотя редактор их нормально заполняет. А вот в движке враги на стенах пока не запроганы, так что можно спокойно пропустить;
Доп. п. 2) Справа от "Просчитать структуру стен" находится статут говорящий о соответствии тайловой структуре мира, структуре просчитанных на его основе стен. Если вдруг случайно кликнешь и изменишь тайл, это поля сразу об этом узнает, о чём и сообщит что мол теперь структура стен "нуждается в обновлении").
Кстати, после просчёта структуры стен можно продолжить редактирование клеточного поля, а потом снова просчитать структуру стен.
Немного про 3 уровень. 200к+ квадов (хм, поллимона полигонов), 1912 стен-коллизий.
Изначально занимал в памяти 1800МБ, ФПС был 1,5.
После перехода к использованию одного квада, рендерящегося с разными матрицами, потребление памяти упало до приемлемых 400 МБ.
После добавления отсечки (все квады дальше сферы действия фонарики не рендерятся), после чего ФПС подскачил до приемлемых 15-30.
Планирую ещё сделать угловую отсечку, чтоб убрать ещё квады расположенные вне конуса фонарика. ФПС должен подскочить ещё на порядок (хотя больше 64 всё равно не будет).
Ещё кстати при сохранении уровня создаётся превью структуры уровня с "высоты птичьего полёта". Для 3 уровня превью запихнул в архив.
u960
Ну как, без сглаживания запустилось?
Вы чё? Никто даже не скачал 2 билд? Народ в этой теме совсем какой-то странный...
Epsilon
> u960
> Ну как, без сглаживания запустилось?
Мы тут с graviman'ом пообсуждали особенности моего освещения. Короче с плоским режимом шейдера однозначно наркомания))
Но выглядит прикольно
![Плоский шейдер Плоский шейдер | шутер [FPS, C++ Builder, DirectX] [закрыто]](https://gamedev.ru/files/images/ploskiy_sheyder.jpg)
Попробовал сделать графон не хуже, чем у саламандра. Пока не очень.

Сссылку на скачивание не дам -- вы всё равно не качаете.
Epsilon
> + Карта 3 уровня
Возьми Tiled. Спрайтами удобней будет карту составлять. Tiled сохраняет карты в XML-формате, но этот формат там настолько простой, что в типовых случаях даже XML не требуется парсить, можно просто найти в файле массив тайловых индексов по ключевому тегу.
Вот из моей игрухи:
Virtex
> Спрайтами удобней будет карту составлять.
Так у меня и так спрайты или ты о чём?
Epsilon
> Сссылку на скачивание не дам -- вы всё равно не качаете.
Ранние билды они такие. А ты видосы выкладывай, я бы посмотрел.
Epsilon
> > Спрайтами удобней будет карту составлять.
> Так у меня и так спрайты или ты о чём?
Про редактор карты. У тебя ведь в реальной игре будет много разных типов блоков, в редакторе карты они изображаются по-разному. Вот Tiled - как раз готовый удобный инструмент для этого.
Он еще и многослойные карты умеет. На одном слое нарисуешь пол, лаву и стены. На втором слое - мосты. На третьем расставишь предметы и врагов. На третьем - потолки...
Тоже самое, но в движении

Virtex
> Epsilon
> > > Спрайтами удобней будет карту составлять.
> > Так у меня и так спрайты или ты о чём?
> Про редактор карты. У тебя ведь в реальной игре будет много разных типов
> блоков, в редакторе карты они изображаются по-разному. Вот Tiled - как раз
> готовый удобный инструмент для этого.
> Он еще и многослойные карты умеет. На одном слое нарисуешь пол, лаву и стены.
> На втором слое - мосты. На третьем расставишь предметы и врагов. На третьем -
> потолки...
Готовый инструмент это хорошо. И, если бы я прогал похуже, я б с тобой согласился.
Но сейчас мне всё же проще допилить свой редактор, чем изучать сторонний.
Тема в архиве.