作者Killercat (杀人猫™)
看板GameDesign
标题Re: [请益] 在双萤幕环境下做全萤幕输出
时间Wed Mar 17 14:55:30 2010
※ 引述《pychang78 (BU)》之铭言:
: 我想要扩大我萤幕的范围
: 所以我用了两个萤幕输出
: 将两个萤幕以水平延伸桌面合在一起
: 解析度变为2048*768 (两倍萤幕宽)
: 我使用win32+opengl
: 我初始化将萤幕范围设为2048*768
: 并开启fullscreen模式
: 但是执行後解析度自动会缩回1024*768
: 所以第2台萤幕看到的东西还是桌面
: 请问有什麽方法可以开启我要的功能?
: 谢谢
这样当然不行 = =
(我用DX来讲,GL有对应的请自己找)
两个萤幕基本上在硬体HAL上看到的会是两个Adapter
DX有个应该大家都很眼熟的函式
CreateDevice(D3DADAPTER_DEFAULT, .....)
这边的Adapter在普通电脑上就是指你一个萤幕
(以全萤幕来讲... 视窗化的话情况不同, 视窗化的话一个视窗就是一个Adapter)
(ATi的Eyefinity技术是个例外,後面会提)
简单的说,你发现了吗?一个萤幕就是一个Adapter
(在技术文件上, CreateDevice的参数说明得很清楚)
所以你要做跨萤幕输出,基本上在DX来讲就需要做两个Device
然後自己去决定每个Device要画哪个部分
ATi Eyefinity技术则是针对这个问题而研发的技术
他可以把数个萤幕并接成一个Adapter,所以你就可以直接一次指定萤幕解析度
他就可以自己帮你计算各个萤幕应该要输出多少
所以你这个问题来讲, Eyefinity已经帮你做好了...er...当然你要买ATI的卡 XD
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.208.83.250
1F:推 bignose1007:当然你也可以开一个两个萤幕大的视窗代替看看 03/17 23:46
2F:→ Killercat:那个就是上面推文说的了,one window per device的做法 03/18 00:07
3F:→ Killercat:不过全萤幕做法理论上没Eyefinity Tech下的确得开2dev 03/18 00:07
4F:推 wupojung:我用伪视窗作过...but OpenCV = = 不过也是NV的卡 03/21 14:00
5F:→ wupojung:一般来说伪视窗的方式应该可以做到把... 03/21 14:00
6F:推 bignose1007:nvidia的卡也行,有选项可以把两个萤幕合成一大个 03/21 23:30
7F:→ bignose1007:我试过了1680*2 * 1050 全萤幕的程式 03/21 23:32
8F:推 pychang78:楼上的做法我之後有做出来 可是我是开去除边框的视窗 03/22 09:28
9F:→ pychang78:但是如果是开full screen mode就会缩回一个桌面大小 03/22 09:30
10F:→ bignose1007:我是开全萤幕的模式耶,两个萤幕大的,用directx 9.0 03/28 15:57