Проблема в свойствах "FullScreen" и "Windowed"

Работа с 2D и 3D графикой, видео, звуком.

Модератор: Mikle

DrKillJoy
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 56
Зарегистрирован: 10.04.2011 (Вс) 10:06

Проблема в свойствах "FullScreen" и "Windowed"

Сообщение DrKillJoy » 07.08.2011 (Вс) 10:57

У меня виснет программа когда пытаюсь запустить ее... Уверен это из-за неправильных свойств режимов "FullScreen" и "Windowed".
Вот, что я сам смог найти в сети:
Код: Выделить всё
presentParamsW = New PresentParameters()
        presentParamsW.Windowed = True
        presentParamsW.SwapEffect = SwapEffect.Discard
        presentParamsW.BackBufferFormat = Format.A16B16G16R16
        presentParamsW.PresentationInterval = PresentInterval.One

        presentParamsF = New PresentParameters()
        presentParamsF.Windowed = False
        presentParamsF.SwapEffect = SwapEffect.Discard
        presentParamsF.BackBufferFormat = Format.A8R8G8B8
        presentParamsF.BackBufferCount = 1
        presentParamsF.BackBufferWidth = 640
        presentParamsF.BackBufferHeight = 480
        presentParamsW.PresentationInterval = PresentInterval.One

        Direct3D_PresentParameters = presentParamsF
        Direct3D_Device = New Direct3D.Device(0, Direct3D.DeviceType.Hardware, Me.Handle, CreateFlags.SoftwareVertexProcessing, Direct3D_PresentParameters)

Чего у меня не хватает или, что сделано не так???
P.S. А почему кроме меня, никто ничего не спрашивает, все всё знают???

FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Re: Проблема в свойствах "FullScreen" и "Windowed"

Сообщение FireFenix » 07.08.2011 (Вс) 11:36

DrKillJoy писал(а):У меня виснет программа когда пытаюсь запустить ее... Вот, что я сам смог найти в сети:

Причём тут сеть? ты свой код выложи!
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる

DrKillJoy
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 56
Зарегистрирован: 10.04.2011 (Вс) 10:06

Re: Проблема в свойствах "FullScreen" и "Windowed"

Сообщение DrKillJoy » 07.08.2011 (Вс) 11:49

Я использовал вот эти настройки для "оконного" режима. Этот код работает.
Код: Выделить всё
Direct3D_PresentParameters.Windowed = True
        Direct3D_PresentParameters.PresentationInterval = PresentInterval.Immediate
        Direct3D_PresentParameters.SwapEffect = SwapEffect.Discard
        Direct3D_PresentParameters.EnableAutoDepthStencil = True
        Direct3D_PresentParameters.AutoDepthStencilFormat = DepthFormat.D16

Потом решил сделать так, чтобы можно было переключаться между "FullScreen" и "Windowed".
Я заменил Windowed = True на Windowed = False и программа выдала ошибку, я понял, что нахватает каких-то св-ств и решил поискать в интернете.
Все, что я нашел я написал в первом сообщении... Но этот код не работает... А хотелось бы сделать "FullScreen".

DrKillJoy
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 56
Зарегистрирован: 10.04.2011 (Вс) 10:06

Re: Проблема в свойствах "FullScreen" и "Windowed"

Сообщение DrKillJoy » 07.08.2011 (Вс) 12:48

Все, разобрался... теперь все работает. Вот:
Код: Выделить всё
        presentParamsW = New PresentParameters()
        presentParamsW.Windowed = True
        presentParamsW.SwapEffect = SwapEffect.Discard
        'presentParamsW.BackBufferFormat = Format.D16
        presentParamsW.PresentationInterval = PresentInterval.Immediate
        presentParamsW.EnableAutoDepthStencil = True
        presentParamsW.AutoDepthStencilFormat = DepthFormat.D16

        presentParamsF = New PresentParameters()
        presentParamsF.Windowed = False
        presentParamsF.SwapEffect = SwapEffect.Discard
        presentParamsF.BackBufferFormat = Format.A8R8G8B8
        presentParamsF.BackBufferCount = 1
        presentParamsF.BackBufferWidth = 1280
        presentParamsF.BackBufferHeight = 960
        presentParamsF.PresentationInterval = PresentInterval.Immediate
        presentParamsF.EnableAutoDepthStencil = True
        presentParamsF.AutoDepthStencilFormat = DepthFormat.D16


        Direct3D_PresentParameters = presentParamsF
        Direct3D_Device = New Direct3D.Device(0, Direct3D.DeviceType.Hardware, Me.Handle, CreateFlags.SoftwareVertexProcessing, Direct3D_PresentParameters)


Но возник вопрос. В полно экранном режиме изображение растягивается(у меня широко экранный монитор 16:9) как избавиться от этого?

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Проблема в свойствах "FullScreen" и "Windowed"

Сообщение Mikle » 08.08.2011 (Пн) 8:52

DrKillJoy писал(а):В полно экранном режиме изображение растягивается(у меня широко экранный монитор 16:9) как избавиться от этого?

Подставить в матрицу проекции новое значение Aspect.

DrKillJoy
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 56
Зарегистрирован: 10.04.2011 (Вс) 10:06

Re: Проблема в свойствах "FullScreen" и "Windowed"

Сообщение DrKillJoy » 08.08.2011 (Пн) 10:52

Подставить в матрицу проекции новое значение Aspect.

Спасибо, теперь все работает!!! Блин... из-за двух чисел...


Вернуться в Мультимедиа

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6

    TopList