Тема: Sigel
Показать сообщение отдельно
Старый 29.04.2009, 03:21   #637
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Sigel

напишу свои плюсы и минусы каждого метода:

1. плюсы:
* мне ничего писать не надо
* абсолютная гибкость
минусы:
* пользователю писать много. то не один десяток строчек кода скорее всего.

2. плюсы:
* все понятно. нет никаких "тонкостей"
минусы:
* нужно внимательн смотреть при создании screenspace текстур,незабыть добавить ее в етот список (это скорее всего будет просто tex->ScreenSpace(true);, ну или что то в этом роде

3. плюсы:
* все работает автомаически
минусы:
* все работает автомаически
т.е. если нам нужна именно текстура 1024 на 768, и она случайно совпадет с размероим экрана - то она запишется как screenspace, и никак от етого не уйти.

4. сочетает плюсы 2 и 3-его метода. если ето просто текстура то и выкидываем ее из списка. если не просто - то все работает на автомате.


Это ведь в разы лучше, чем полностью перегружать ВСЮ медию и всё пересоздовать (ведь при потери графикс девайса, вся медия теряется и вся видео память от этого приложения отчищается, так ведь).
дык я о чем. вся фишка етого ChangeResolution в том, что не нужно перезагружать медиа, шейдеры и прочее. само изменение работает за 1-2 секунды. единственное что нужно будет пересоздавать - ето renderable текстуры. все остальное не теряется, даже при переходах fullscreen \ windowed.

Вот ещё моммент: 2D, как с ним будет дело обстоять при смене разрешения?
тут есть тонкость...
по умолчанию 2д будет рисоваться тупо, т.е. если мы сделали, меню например, для 1024 на 768, то в разрешении 1600 на 1200 ето меню будет в левом верхнем углу. НО! если до вывода писать Start2D(1024 на 768 ) то ето меню растянется на весь екран. Причем коррекция происходит на уровне обработки вершин, т.е. качество будет не сильно теряться, как, например при рендере в текстуру и растягивание на весь кран. + граница картинка будет четкой, и даже сглаженной при включеном антиалиасинге.

кстати,добавил Destroy.
DeInit теперь считается deprecated.

Последний раз редактировалось HolyDel, 29.04.2009 в 03:32.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
moka (29.04.2009)