2010-01-06 2 views
2

Моя ситуация следующая. Я делаю игры, которые используют фон фиксированного размера (скажем, 800x600). Когда игроки идут в полноэкранном режиме на широкоэкранном мониторе, я добавляю черные полосы в стороны, чтобы убедиться, что игра не выглядит растянутой.Полноэкранный просмотр на широкоформатных мониторах

Есть несколько способов сделать это, хотя, и мне интересно, что это лучший подход:

1) Найти решение, которое точно соответствует нативному соотношению сторон монитора, а также масштабировать до изображаемого образа, чтобы соответствовать высота. Например, мой монитор составляет 1280x800, поэтому я установил это разрешение и масштабировал изображения на 1,33 - он занимает 1066x800, но выглядит отлично. Недостатки: масштабирование, но масштабирование равномерное (так что пиксели по-прежнему квадратные)

2) Установите 800x600 в полноэкранном режиме, уменьшив ширину на 0,625, чтобы отображаемое изображение выглядело не растянутым. Недостатки: неравномерное масштабирование. Это хорошо выглядит?

3) Что-то еще

Как вы думаете, это лучший способ сделать это?

ответ

4

Я также предлагаю ваш вариант 1. В частности, вы хотите оставить разрешение экрана в собственном разрешении монитора, если это вообще возможно. Большинство людей сегодня используют ЖК-дисплеи, и если выходное разрешение не соответствует собственному разрешению экрана (или это не очень удобно несколько), вы можете получить некоторые ужасные артефакты и размытие. Так что обязательно начинайте с родного разрешения, выясните меньшее измерение (вероятно, высоту, так как широкоэкранный - это все ярость) и доты боков. Вы определенно хотите сохранить квадратные пиксели. Вы даже можете найти (в зависимости от соотношения размеров между вашими игровыми активами и выходом), что вы получите лучшие результаты, если вы уменьшите масштаб.

3

Решение 1) звучит для меня наилучшим образом (легко реализовать и улучшить производительность).

Вы также можете сделать свою игру в виде текстуры фиксированного размера (800x600), а затем отобразить квадрант (два треугольника, выровненных по экрану), на собственное разрешение экрана, прямо посередине, с включенным текстурированием и фиксированным -размерная текстура, привязанная к конвейеру.

1

В действительности нет большого опыта в этом, но важно ли, чтобы весь фон был виден? Если нет, как насчет масштабирования, как вы можете делать с фоном в окнах: Заполните экран и клип краев, которые выходят наружу снизу и сверху (или влево и вправо). Таким образом, соотношение сторон изображения не будет испорчено.

Если качество плохое, как насчет увеличения изображения и уменьшения масштаба? Должно быть лучше качество, чем масштабирование, по крайней мере.

0

Mhn ... насколько я знаю, это уже сделано большинством драйверов в качестве опции, не требуя особого кодирования. (По крайней мере, у Intel есть и работает отлично. Он имеет три режима: растяжение неограниченное, растяжение с сохранением пропорций (с черными полосами), центрированное (без растяжения))

В любом случае, если вам нужно его кодировать, с равномерным масштабированием, иначе вы получите плохие результаты. : P

Смежные вопросы