游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2554|回复: 4

光栅化问题,请大家帮帮忙

[复制链接]

30

主题

146

帖子

152

积分

注册会员

Rank: 2

积分
152
发表于 2008-10-19 13:12:00 | 显示全部楼层 |阅读模式
我想试着重写3D渲染流水线,但是最后的光栅化要怎么做呢?
我能想出的方案是
1,使用Direct3D创建设备,然后锁住backbuffer,直接进行像素填充。不过划线什么的函数都要自己写了。
2,使用Direct3D创建设备,然后锁住backbuffer,获取HDC,用GDI画。但是看了下帮助,要成功获取HDC限制颇多,尤其是表面格式不能支持alpha通道最老火。
3,不用DirectX,就用GDI画算了
应该有很棒的方法才是吧,大家指教一下吧,谢谢了。

19

主题

638

帖子

638

积分

高级会员

Rank: 4

积分
638
发表于 2008-10-20 17:41:00 | 显示全部楼层

Re:光栅化问题,请大家帮帮忙

1.写到dib位图里,然后用gdi blit到屏幕上。
2.写到DirectDraw的Surface上

Direct3D的backbuffer是不为cpu读写优化的,这么用多数情况下效率偏低

30

主题

146

帖子

152

积分

注册会员

Rank: 2

积分
152
 楼主| 发表于 2008-10-20 18:13:00 | 显示全部楼层

Re: Re:光栅化问题,请大家帮帮忙

qrli: Re:光栅化问题,请大家帮帮忙

1.写到dib位图里,然后用gdi blit到屏幕上。
2.写到DirectDraw的Surface上

Direct3D的backbuffer是不为cpu读写优化的,这么用多数情况下效率偏低

谢谢啊,终于有回复了。
这两种方法都不支持alpha通道吧?有支持alpha的方法吗?还是自己计算alpha?
原来backbuffer不是为了cpu读写优化的啊,我还想了半天backbuffer是放在哪种内存池里的。

19

主题

638

帖子

638

积分

高级会员

Rank: 4

积分
638
发表于 2008-10-21 17:09:00 | 显示全部楼层

Re:光栅化问题,请大家帮帮忙

屏幕上的像素没有alpha,现在还没有家用的透明显示器。
绘制过程中的alpha是你的光栅化的工作

30

主题

146

帖子

152

积分

注册会员

Rank: 2

积分
152
 楼主| 发表于 2008-10-21 19:08:00 | 显示全部楼层

Re:光栅化问题,请大家帮帮忙

谢谢,明白了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-21 02:23

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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