游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1932|回复: 3

d3d怎么实现剪切?

[复制链接]

6

主题

22

帖子

28

积分

注册会员

Rank: 2

积分
28
发表于 2006-1-11 12:13:00 | 显示全部楼层 |阅读模式
在OpenGl中有剪切的功能,d3d中有没有类似的功能,怎么实现?

比如在OpenGL中下列代码,在D3D中如何等价替换?

glScissor(x,y, width, height);
glEnable(GL_SCISSOR_TEST);
//绘制
...
//只有在矩形(x,y,x+ width, y + height)内的绘制才能看见
glDisable(GL_SCISSOR_TEST);

8

主题

182

帖子

268

积分

中级会员

Rank: 3Rank: 3

积分
268
发表于 2006-1-11 18:03:00 | 显示全部楼层

Re:d3d怎么实现剪切?

HRESULT SetScissorRect(   CONST RECT *pRect); + D3DRS_SCISSORTESTENABLE

6

主题

22

帖子

28

积分

注册会员

Rank: 2

积分
28
 楼主| 发表于 2006-1-11 18:31:00 | 显示全部楼层

Re: d3d怎么实现剪切?

SetScissorRect是dx9的功能,dx8里面没有,而且Scissor testing需要硬件支持,我试了一款sis 651就不支持这个功能,我想还是有大部分的机器不支持的,这样做出来的游戏恐怕...有没有dx8下比较好的办法呢?

17

主题

46

帖子

46

积分

注册会员

Rank: 2

积分
46
发表于 2006-1-11 20:51:00 | 显示全部楼层

Re:d3d怎么实现剪切?

D3D不支持这个,不知道SetViewport能不能满足你的需要。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-23 05:16

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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