2010-07-01 2 views
1

Я хочу создать игру, в которой будут использоваться несколько мониторов. Например, если у пользователя есть 3 монитора рядом, я хочу, чтобы программа распространяла изображение на всех 3 мониторах.Каков наилучший способ работы с несколькими мониторами?

Как я должен это делать? Могу ли я просто создать одно действительно большое окно, или мне нужно сделать 3 отдельных окна? И если мне нужно делать отдельные окна, как узнать ориентацию мониторов?

Заранее благодарен!

+1

Вы используете DirectX или OpenGL? – SLaks

+0

Я использую OpenGL – spinon

ответ

2

Windows предоставляет «виртуальный рабочий стол», поэтому вы можете просто создать Windows на рабочем столе и позволить ОС справляться с сопоставлением этих данных с физическими мониторами. Когда/если вам нужно знать, какие части виртуального рабочего стола будут отображаться на каких мониторах, вы можете использовать EnumDisplayMonitors (в нескольких вариантах) для этого.

+0

Я не совсем понимаю. Так, например, если бы я хотел развернуть окно через 2 монитора, как с 1024x768, должен ли я создать большое окно размером 2048x768 или два отдельных окна 1024x768? – spinon

+0

Если вы хотите создать одно окно, которое охватывает оба монитора, вы должны сделать версию 2048x768. Мой совет, однако, заключался бы в том, чтобы позволить пользователю упорядочить свои окна по своему усмотрению и сохранить соглашение между сеансами. Когда вы начинаете сеанс, убедитесь, что виртуальный рабочий стол не изменился (это раздражает, когда окна создаются за пределами экрана). –

2

Сделайте свою игру масштабируемой до любого размера, и ваши видеодрайверы масштабируют ее по мониторам по-своему.

+1

ОС выполняет абстрактные «некоторые» вещи. –

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