游戏开发论坛

 找回密码
 立即注册
搜索
查看: 984|回复: 0

请教:D3D使用Cg的VS后恢复固定流水线有问题

[复制链接]

1

主题

1

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2006-4-23 00:41:00 | 显示全部楼层 |阅读模式
我在D3D里用Cg的VS渲完后想用fixed-function pipeline渲其他mesh,于是cgD3D9BindeProgram(NULL),然后渲mesh,但这时候渲出来的mesh纹理都没掉了,变得红红的(前面用的VS输出的颜色都是红的)

为了试验,我在一段工作正常的使用fixed pipeline的代码前面加了这么两行:
cgD3D9BingProgram(CGProgram);
cgD3D9BindProgram(NULL);
然后运行,结果屏幕就什么都没有了

我怀疑是Cg修改了某些渲染状态,于是用IDirect3DStateBlock9保存状态并在Cg用完后恢复状态,然后用固定管线渲其他mesh,结果其他mesh还是有问题,就是颜色比最早的“红红的”深了一点

现在就是这样,从Cg的VS恢复fixed-function pipeline有问题,请高手帮忙啊~~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-24 07:04

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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