forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Blitz3D (http://forum.boolean.name/forumdisplay.php?f=45)
-   -   Непропорцональность разрешений (http://forum.boolean.name/showthread.php?t=14007)

Черный крыс 09.03.2011 09:35

Ответ: Непропорцональность разрешений
 
Есть красивое решение этой проблемы в последних версиях БМакса. Там как известно юзается виртуалные разрешения. И еще как известно...исходники БМакса распространяются по лицензии BSSC -> вывод : кто ищет, тот всегда найдет!

Но вот тебе подсказака от туда же (метод находящийся в классе D3D7Max2D)

Цитата:

Method SetResolution( width#,height# )
Local gw=GraphicsWidth()
Local gh=GraphicsHeight()
Local world#[]=[..
gw/width,0.0,0.0,0.0,..
0.0,gh/height,0.0,0.0,..
0.0,0.0,1.0,0.0,..
0.0,0.0,0.0,1.0 ]
device.SetTransform D3DTS_WORLD,world
Local proj#[]=[..
2.0/gw,0.0,0.0,0.0,..
0.0,-2.0/gh,0.0,0.0,..
0.0,0.0,1.0,0.0,..
-1-(1.0/gw),1+(1.0/gh),1.0,1.0]
device.SetTransform D3DTS_PROJECTION,proj
End Method
Но ты не обольщайся...это еще не полное решение, необходимо создать всему этому оббертку с интерфейсом, вот их как раз ищи в сторонем модуле (для БМакса) под названием odd.Aspect

ЗЫ. Все эти примудрости можно перенести в Б3Д, конечно перенести без косяков не получится, так как Б3Д это закрытая система. Ну а на FastImage это реализовать проще простого. =)


Часовой пояс GMT +4, время: 10:08.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot