首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SlimDX -设置状态块

SlimDX -设置状态块
EN

Stack Overflow用户
提问于 2011-09-27 07:06:18
回答 1查看 534关注 0票数 1

我想在SlimDX Direct3d9设备中设置状态。

我在frameRender函数的开头有这段代码。

代码语言:javascript
运行
复制
        device.BeginStateBlock();
        device.SetRenderState(RenderState.ZEnable, false);
        device.SetRenderState(RenderState.Lighting, false);
        device.SetRenderState(RenderState.CullMode, Cull.None);            
        device.EndStateBlock();  

但是我在调试窗口中得到了这个错误:

代码语言:javascript
运行
复制
Object of type SlimDX.Direct3D9.StateBlock was not disposed. Stack trace of object creation:

我得到了上百万条这样的台词。他们说的都是一样的话。我应该如何处理这些状态?如何以恰当的方式制作它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-09-27 07:45:23

根据您的信息,我能给您的唯一提示是,EndStackeBlock应该返回一个StateBlock对象,该对象是可处理的。我的猜测是,你是在LostDevice事件后得到这些的?在重置设备之前,您需要释放所有这些资源。当然,制作StateBlocks的全部原因是为了让您创建它们一次并重用它们,但似乎您每次都在重新创建它们,并且从未应用过它们。因此,过了一段时间后,您创建了许多状态块,但没有使用或处理任何状态块。但也许你可以发布更多的代码或提供更多的信息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7562390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档