|
09.10.2014, 20:44
|
#481
|
Дэвелопер
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений (для 1,540 пользователей)
|
Ответ: [TrueHorror] - разработка
А разрешение экрана тогда менять через ChangeDisplaySettings(...)?
Делаю сохранения. Вопрос такой: сделать чекпоинты или свободное сохранение\загрузку?
И еще как проще избежать такого:
map<string,string> localization;
...
(runtime)
DrawText( localization[ "foo" ], ... );
__________________
|
(Offline)
|
|
09.10.2014, 20:59
|
#482
|
Мастер
Регистрация: 12.01.2009
Сообщений: 979
Написано 388 полезных сообщений (для 631 пользователей)
|
Ответ: [TrueHorror] - разработка
Разрешение экрана при borderless видимо никак, но можно попробовать сменить разрешение бэкбуфера.
Я за грамотно расставленные чекпоинты, но видимо будет критика...
localization очень длинное название переменной.
А почему map? У тебя есть язык, название куска текста и сам текст, то есть 3 поля.
Язык и текст желательно менять извне, а в код вставить выбор где какой текст выводить.
В общем подробней опиши в чём проблема.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
09.10.2014, 21:03
|
#483
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: [TrueHorror] - разработка
А разрешение экрана тогда менять через ChangeDisplaySettings(...)?
|
об этом не думал что-то, обычно юзал разрешение = разрешению десктопа)
ну можно рендерить игру в другом разрешении, а потом рисовать квад в десктопном с изображением игры)
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
09.10.2014, 21:18
|
#484
|
Дэвелопер
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений (для 1,540 пользователей)
|
Ответ: [TrueHorror] - разработка
localization очень длинное название переменной.
А почему map? У тебя есть язык, название куска текста и сам текст, то есть 3 поля.
Язык и текст желательно менять извне, а в код вставить выбор где какой текст выводить.
В общем подробней опиши в чём проблема.
|
Суть в том что я делаю игру с локализацией( то бишь переводом на другие языки ). Ну и там при загрузке, например, уровня я загружаю файл соответствующий( посмотри папку data\lang\rus ) и парсю его, и потом там где надо отрисовать текст, передаю текст в виде loc[ "foo" ]. Я не думаю что это хорошая идея использовать string в качестве ключа . Но и плодить кучу переменных для каждой строки тоже не очень весело. Поэтому и спрашиваю, может кто знает как про-разрабы с этим справляются.
Вообще если посмотреть на современные игры, то складывается ощущение что разрабам глубоко похер на оптимизацию. Но чет мне не хочется уподобляться сим говнокодерам.
__________________
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо mr.DIMAS за это полезное сообщение:
|
|
09.10.2014, 21:49
|
#485
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: [TrueHorror] - разработка
а надо ли получать новые стринги из localization[] каждый кадр? скорее всего это будет происходить крайне редко - наверное ок и стрингом.
там где часто одни и те же, можно один раз получить значение из массива в обычную переменную и выводить её.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
09.10.2014, 22:10
|
#486
|
Мастер
Регистрация: 12.01.2009
Сообщений: 979
Написано 388 полезных сообщений (для 631 пользователей)
|
Ответ: [TrueHorror] - разработка
Сообщение от mr.DIMAS
Суть в том что я делаю игру с локализацией( то бишь переводом на другие языки ). Ну и там при загрузке, например, уровня я загружаю файл соответствующий( посмотри папку data\lang\rus ) и парсю его, и потом там где надо отрисовать текст, передаю текст в виде loc[ "foo" ]. Я не думаю что это хорошая идея использовать string в качестве ключа . Но и плодить кучу переменных для каждой строки тоже не очень весело. Поэтому и спрашиваю, может кто знает как про-разрабы с этим справляются.
Вообще если посмотреть на современные игры, то складывается ощущение что разрабам глубоко похер на оптимизацию. Но чет мне не хочется уподобляться сим говнокодерам.
|
Да ты полиглот!
На самом деле std очень хорошо оптимизирована, просто шаблоны выглядят монстрообразно, так как там куча параметров, но после инстанцирования получается более простой код.
Джонатан Блоу внушает доверие, поэтому хоть я сам и не пробовал эту штуку, но порекомендую её тебе: http://number-none.com/blow/code/mo_file/index.html
(заодно и проверишь как там))
Сообщение от Mr_F_
ну можно рендерить игру в другом разрешении, а потом рисовать квад в десктопном с изображением игры)
|
Я видел такое в ArmA 2 -- можно ещё настраивать положение этого квада на экране.
Можно также оставлять рисовать оверлей с 2д графикой в нативном разрешении, чтобы интерфейс не смызывался.
Но я только что проверил у себя -- достаточно поставить меньшее разрешение бэкбуфера в D3DPRESENT_PARAMETERS и оно само растянется до размеров окна.
Так что не стоит усложнять если не требуется доп. функционал с квадом.
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо Samodelkin за это полезное сообщение:
|
|
09.10.2014, 22:32
|
#487
|
Дэвелопер
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений (для 1,540 пользователей)
|
Ответ: [TrueHorror] - разработка
а надо ли получать новые стринги из localization[] каждый кадр? скорее всего это будет происходить крайне редко - наверное ок и стрингом.
|
В свое время сделал ГУЙ как в юнити, для отрисовки текста используется просто вызов DrawText который в движке засовывает экземпляр Text в queue и отправляет на рендер. Показалось очень удобным, теперь же у меня бомбит от того что это все отжирает ресурсы на обращение в рантайме к map<string,string>.
Наверное сделаю обертку на своим же высером, ибо переделывать движок а потом и в игре переделывать некоторые моменты с гуем, как-то не очень радует.
Обертка будет содержать текст и параметры отрисовки, хоть так удастся избежать постоянного обращения к map по string.
__________________
|
(Offline)
|
|
09.10.2014, 22:38
|
#488
|
Мастер
Регистрация: 12.01.2009
Сообщений: 979
Написано 388 полезных сообщений (для 631 пользователей)
|
Ответ: [TrueHorror] - разработка
В map там же упорядоченное дерево, так что сравнивается быстро.
Один раз за кадр ничего страшного.
Вон у тебя там софтварный скиннинг куда больше отжирает -- его бы на шейдер перенести.
Да и вообще у меня 60 фпс везде, давай уже карту пробуй делать больше и детальней.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
09.10.2014, 22:47
|
#489
|
Дэвелопер
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений (для 1,540 пользователей)
|
Ответ: [TrueHorror] - разработка
Как сделать пятно у фонаря? Как проецировать текстуру на пятно от спотлайта?
__________________
|
(Offline)
|
|
09.10.2014, 23:30
|
#490
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: [TrueHorror] - разработка
делаешь матрицу типа как для камеры и фигачишь наподобие
float4 projPos = mul(float4(worldPos,1), projectionMatrix);
projPos.xyz /= projPos.w;
float2 projTexCoords = projPos.xy*0.5+0.5;
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
09.10.2014, 23:35
|
#491
|
Дэвелопер
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений (для 1,540 пользователей)
|
Ответ: [TrueHorror] - разработка
ZBuffer должен быть выключен при отрисовке?
__________________
|
(Offline)
|
|
10.10.2014, 00:10
|
#492
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: [TrueHorror] - разработка
... это код для получения спроецированных текскоорд. а где ты его выполняешь уже другой вопрос.
по идее раз у тебя деферные споты, то в шейдере спота и выполняй, передай ему только матрицу для проецирования и текстуру.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
10.10.2014, 16:10
|
#493
|
Дэвелопер
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений (для 1,540 пользователей)
|
Ответ: [TrueHorror] - разработка
__________________
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
10.10.2014, 16:31
|
#494
|
ТЫ ЧООО?
Регистрация: 26.02.2007
Сообщений: 3,369
Написано 2,020 полезных сообщений (для 7,192 пользователей)
|
Ответ: [TrueHorror] - разработка
Сообщение от mr.DIMAS
|
«Наша цель — 30 кадров в секунду. 60 к/с нормально смотрятся в шутере, но не в экшен-приключении. Меньшая частота кадров более удобна пользователям»
|
А 1280 на 720 даёт более детальную картинку лучше воспринимается глазами. Отвечаю.
__________________
Вертекс в глаз или в пиксель раз?
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
10.10.2014, 17:11
|
#495
|
Мастер
Регистрация: 12.01.2009
Сообщений: 979
Написано 388 полезных сообщений (для 631 пользователей)
|
Ответ: [TrueHorror] - разработка
Лет 10-15 назад играл в разрешении 640х480 в некоторые новые по тем временам игры они казались очень детализированными, сейчас же на 1080р в тех же играх углы да мыло.
К слову Crytek сегодня (10 октября) релизит RYSE с поддержкой 4К.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 08:43.
|