|
|
看DX SDK里的说明,好像需要在m_pEffect->SetTexture(TextureHandle, m_pTexture)后要SAFE_RELEASE(m_pTexture)(因为RefCount+1)!
这里有个问题!
如果需要多次向Effect里传同一个纹理,那么SAFE_RELEASE里把m_pTexture设为NULL是怎么回事?
如果不用SAFE_RELEASE,仅仅使用m_pTexture->Release(),那么好像不是把计数器-1,而是真的把纹理释放掉了!因为当我下一次调用m_pEffect->SetTexture(TextureHandle, m_pTexture)时程序崩溃!
如果我什么都不管,不去做任何Release工作,即每次都仅执行m_pEffect->SetTexture(TextureHandle, m_pTexture),那么只有第一次可以正确显示纹理,之后就全黑!
很可惜,DirectX的例子都是只设置一次纹理,没有参考价值。
我想问的是如果同一张纹理需要多次往effect里传,应该怎么做?
靠~~这个帖子在CGD里问,那边的版主~~~唉~不说了~还是GameRes好啊
|
|