游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3745|回复: 10

请教:DDraw中如何实现对图形的位操作?

[复制链接]

32

主题

1583

帖子

1589

积分

金牌会员

Rank: 6Rank: 6

积分
1589
发表于 2004-9-12 18:27:00 | 显示全部楼层 |阅读模式
DDraw中如何实现对图形的位操作?

在win32API中,有一个BitBlt函数,最后的参数提供位操作方法。
请问在DDraw的各绘图函数中如何实现类似操作??

1

主题

7

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2004-9-13 12:45:00 | 显示全部楼层

Re:请教:DDraw中如何实现对图形的位操作?

lock和UNLOCK函数,查DIRECTSDK就知道了。

33

主题

669

帖子

669

积分

高级会员

Rank: 4

积分
669
QQ
发表于 2004-9-13 18:53:00 | 显示全部楼层

Re:请教:DDraw中如何实现对图形的位操作?

自己操纵显存

32

主题

1583

帖子

1589

积分

金牌会员

Rank: 6Rank: 6

积分
1589
 楼主| 发表于 2004-9-13 20:51:00 | 显示全部楼层

Re: Re:请教:DDraw中如何实现对图形的位操作?

jiajia: Re:请教:DDraw中如何实现对图形的位操作?

lock和UNLOCK函数,查DIRECTSDK就知道了。



麻烦说清楚点好吗??我还是不知道如何进行位操作,DXSDK中我查了,Lock函数好像没有哪个参数是对图像进行位操作的,比如SrcPaint、SrcInvert等等,高手说详细点好吗?? [em24]

63

主题

871

帖子

891

积分

高级会员

Rank: 4

积分
891
QQ
发表于 2004-9-13 21:51:00 | 显示全部楼层

Re:请教:DDraw中如何实现对图形的位操作?

如果显卡不支持这些功能的话
只能LOCK后得到内存地址然后自己上咯
或者用GDI的功能

32

主题

1583

帖子

1589

积分

金牌会员

Rank: 6Rank: 6

积分
1589
 楼主| 发表于 2004-9-15 20:44:00 | 显示全部楼层

Re:请教:DDraw中如何实现对图形的位操作?

但是,如果使用Lock函数并逐一计算各个像素的话岂不大大加重CPU负担而且慢得多??而显卡却基本闲置??

帮忙帮忙……

32

主题

1583

帖子

1589

积分

金牌会员

Rank: 6Rank: 6

积分
1589
 楼主| 发表于 2004-9-15 20:45:00 | 显示全部楼层

Re:请教:DDraw中如何实现对图形的位操作?

仅仅是将源图形和目标图形合并时进行And、Or、Xor等运算啊,没必要那么麻烦吧,Dx应该提供这种基础功能吧……

帮忙帮忙??!!

30

主题

422

帖子

433

积分

中级会员

Rank: 3Rank: 3

积分
433
发表于 2004-9-15 22:16:00 | 显示全部楼层

Re:请教:DDraw中如何实现对图形的位操作?

d3d可以交给显卡去做.ddraw貌似没提供这个(大概觉得给了lock/unlock之后的方法可以由用户自己写已经很强大了吧...)

32

主题

1583

帖子

1589

积分

金牌会员

Rank: 6Rank: 6

积分
1589
 楼主| 发表于 2004-9-17 19:44:00 | 显示全部楼层

Re:请教:DDraw中如何实现对图形的位操作?

哇!难道这样说,用DX还不如用Win32API了???

DDraw的优势呢??

32

主题

377

帖子

378

积分

中级会员

Rank: 3Rank: 3

积分
378
发表于 2004-9-17 22:07:00 | 显示全部楼层

Re: Re:请教:DDraw中如何实现对图形的位操作?

kaikai: Re:请教:DDraw中如何实现对图形的位操作?

d3d可以交给显卡去做.ddraw貌似没提供这个(大概觉得给了lock/unlock之后的方法可以由用户自己写已经很强大了吧...)



我倒是觉得lock/unlock真的很强大了。可以随意控制每个象素了。

至于觉得cpu负担大,现在的cpu倒可以承受。而且2d主要是对象素处理时的整型运算,交给显卡不见得多快。相反,使用cpu的mmx,sse寄存器加速才是不错的方法。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-8-20 16:46

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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