![]() |
Страницы (2): [1] 2 » Показать все 20 сообщений этой темы на одной странице |
HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- OpenGL (https://hlfx.ru/forum/forumdisplay.php?forumid=7)
-- Полноэкранный режим DirectX (https://hlfx.ru/forum/showthread.php?threadid=6090)
Полноэкранный режим DirectX
Пытаюсь разобраться с фуллскрином в D3D, и вроде всё работает, но только с определенными разрешениями, а вот другие вроде 320х240, 512х512 ломаются. С чем это связано? Даже если я отфильтрую рабочие разрешения, где гарантии что на других машинах они не будут ломаться? Пример на который я ориентировался, я приложил ниже.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
От фуллскрина лучше отказаться в наше время. Используй безрамочное окно.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Дядя Миша
А как сохранить соотношение сторон тогда? При d3dpp.Windowed = TRUE; в "фуллскрине" если разрешение не соответсвует соотношениям монитора - растягивается. Единственное что остаётся самому высчитывать соотношение разрешения пользователя, а пользователю предоставлять выбирать только высоту, типа 720p, 1080p и т.д.
С одной стороны - хорошо что не будет черных полосок, с другой почему то так никто не делает, возможно есть на это какие то причины или более простые решения.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Фуллскрин - это фишка для CRT-мониторов, которые при любом разрешении могли показывать не мыльную картинку. Для TFT он очевидно потерял смысл, но его использовали ещё долгие годы по инерции.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
>вроде всё работает, но только с определенными разрешениями, а вот другие вроде 320х240, 512х512 ломаются. С чем это связано?
Если ты меняешь видеорежим монитору, то тут всё очевидно -- просто в монитор не зашито такое разрешение. Его можно задать вручную, но тогда недостаточно просто указать ширину и высоту, нужно сверху ещё задать hbp, hfp, hsync, vbp, vfp, vsync и pixelclock. Могу рассказать почему так, если не в курсе
Но лучше этим не заниматься. По-хорошему не стоит выходить за пределы нативного разрешения LCD панели, а если нужно снизить разрешение, то рисовать в FBO, а там можно и сохранение соотношения сторон реализовать.
__________________
Xash3D FWGS форк
Я думаю, хотя и не уверен на 100%, что полноэкранный режим появился в винде специально для ускорителей 3DFX, т.к. их первые версии подключались как бы последовательно с видеокартой по VGA-разъему и не могли рендерить изображение в окошке. К тому же у них предельное разрешение обычно было ниже того, которое использовали на рабочем столе. Вполне могла быть ситуация, когда на рабочем столе 800х600, а 3Dfx тянул максимум 640х480. Опять же там был ограничение на размер текстур 128х128. И вот собственно ради них этот режим и был введён. А потом его юзали на CRT-мониторах для увеличения быстродействия. С переходом на TFT начались конкретные проблемы с разрешениями, когда какой-нибудь репак настроен на одно разрешение, ты включаешь на своём компьютере и получаешь Out Of Range. Это конечно проблема не монитора, а самого игрового движка, но я сталкивался с этим на разных движках.
Поэтому самый оптимальный выбор - полный отказ от фуллскрина и использование безрамочного окна. Ну или рамочного, т.к. безрамочное глючит. Визуально разницы всё равно нет.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
ZGreen это понятно. Смысл полноэкранного режима - как раз в отличии от рабочего разрешения стола. Что утратило смысл при переходе на TFT-экраны.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
__________________
Xash3D FWGS форк
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Фигня какая то. Причём тут CRT когда он рисует всё тоже самое что и LCD. Хотите сказать что CRT не может рисовать безрамочное окно родного разрешения или что? Или это всё только ради vsync? Занимаетесь переливанием из пустого в порожнее. Лучше покажите пример как создавать нормально безрамочное окно по канонам.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Временная зона GMT. Текущее время 14:17. | Страницы (2): [1] 2 » Показать все 20 сообщений этой темы на одной странице |
На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024