游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2684|回复: 7

大家好, 请教两个问题, 关于DirectX的, 谁能帮我, 多谢!!

[复制链接]

1

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2006-7-18 10:18:00 | 显示全部楼层 |阅读模式
请教两个问题关于DirectX的
1:我用DirectDraw的GetCaps()方法读显卡显存为什么数值要比实际的要小呢
还是这种方法根本不行呢?例如我的显卡是64M的,读的是60M.
2:怎样才能实现类似显示器上的明亮/对比控制呢?
多谢大家, 小弟今天刚来, 请大家指教

18

主题

573

帖子

573

积分

高级会员

Rank: 4

积分
573
发表于 2006-7-18 13:59:00 | 显示全部楼层

Re:大家好, 请教两个问题, 关于DirectX的, 谁能帮我, 多谢!!

第一个问题:在建立好了DDRAW后,DDRAW自己好要消耗一些显存用来存储PrimarySurface等,肯定比64M小呀!或者就是1024和1000的关系。
第二个问题:明亮对比和对比控制比较麻烦,记得DDRAW里面好像有个接口可以做,但是需要显卡支持(抱歉,接口名字忘了)。另外,就是可以自己控制PrimarySurface里面的所有像素,自己做明亮和对比控制。与其这么麻烦,还不如用D3D或OpenGL呢。

1

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
 楼主| 发表于 2006-7-18 14:23:00 | 显示全部楼层

Re: 大家好, 请教两个问题, 关于DirectX的, 谁能帮我, 多谢!!

等了好久,终于有人回复了, 多谢楼上大哥
我还想问一下, 如果这样读显存不行的话, 还有没有别的方法读显存呢?
小弟我接的任务是读全部的显存, 不管用什么方法只要能再用程序读出来就行
还有第二个, 如果用D3D的话, 用哪个借口实现呢, 我对D3D不怎么孰, DirectDraw好一点, 毕竟接口少, 多谢, 麻烦哪位达人再帮一下

18

主题

573

帖子

573

积分

高级会员

Rank: 4

积分
573
发表于 2006-7-18 23:44:00 | 显示全部楼层

Re:大家好, 请教两个问题, 关于DirectX的, 谁能帮我, 多谢!!

为啥要读全部的显存,是个啥程序?是不是截取屏幕的程序?
我记得在OpenGL下,要实现明亮和对比,有glPixelMap和glPixelTransfer等函数可以使用,你可以参考红宝书。D3d下的明亮处理,加个灯光,不断改变其亮度,不就实现明亮了吗?或者就用PixelShader,要可以,你可以参考很多这方面的书,我也是初学者。

1

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
 楼主| 发表于 2006-7-19 08:11:00 | 显示全部楼层

Re: 大家好, 请教两个问题, 关于DirectX的, 谁能帮我, 多谢!!

多谢楼上的, 我不是要截屏, 而是我就职于台湾的笔记本制造公司
工作需要, 当测试笔记本的性能时需要读出全部的显存大小, 但又找
不到合适的方法, 所以只好用DirectX, 但我又不熟, 所以想向各位请教
希望大家指点我喔, 同样, 调节亮度/对比也是这个原因

1

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
 楼主| 发表于 2006-7-24 08:31:00 | 显示全部楼层

Re:大家好, 请教两个问题, 关于DirectX的, 谁能帮我, 多谢!!

怎么没人会吗?
其实功能很简单啊, 就跟一般的游戏里一样, 就像星际争霸, 魔兽争霸一样
里面都有明亮控制的,他们可以, 我们一样也可以的,
达人知道的请教一下啊

5

主题

27

帖子

33

积分

注册会员

Rank: 2

积分
33
发表于 2006-7-24 11:03:00 | 显示全部楼层

Re:大家好, 请教两个问题, 关于DirectX的, 谁能帮我, 多谢!!

DirectDraw里面是有一个类用于调节屏幕亮度与对比度的,还可以对整个屏幕加上某种颜色,以实现在游戏中的水下效果等,不过年代太久远了,我也忘了这个类具体叫什么名字,我以前做的一个图形引擎中曾用过这个类,不过现在代码不在我身边

1

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
 楼主| 发表于 2006-7-24 14:18:00 | 显示全部楼层

Re:大家好, 请教两个问题, 关于DirectX的, 谁能帮我, 多谢!!

太好了,
请问确定是DirectDraw里面的接口吗?
我找遍了也没找到, 只是在DirectShow里面找到一个, 叫IAMVideoProtAMp::Set(), 不知你说的是这个吗?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-25 00:08

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表