|
|
在18讲的时候,第1个例子和第2个例子都出现未处理 InvalidCallException错误,能帮我解答下吗?代码和例子,教材上都是一样的~~
但是教材带的例子,都可以顺利编译运行。
下面是出错的地方和错误信息,附件是源码~
第1个例子:
private void OnDeviceReset(object sender, EventArgs e)
{
rts = new RenderToSurface(dev, RenderSurfaceSize, RenderSurfaceSize, Format.X8B8G8R8, true, DepthFormat.D16);
renderTexture = new Texture(dev, RenderSurfaceSize, RenderSurfaceSize, 1, Usage.RenderTarget, ormat.X8B8G8R8,Pool.Default);
renderSurface = renderTexture.GetSurfaceLevel(0);
}
运行时,这段代码中的 ( renderTexture = new Texture(dev, RenderSurfaceSize, RenderSurfaceSize, 1, Usage.RenderTarget, ormat.X8B8G8R8,Pool.Default); ) 就会出错,
第2个例子也是出这个错,位置是在
private void OnDeviceReset(object sender, EventArgs e)
{
Device dev = (Device)sender;
rte = new RenderToEnvironmentMap(dev, CubeMapSize, 1, Format.X8B8G8R8, true, DepthFormat.D16);
environment = new CubeTexture(dev, CubeMapSize, 1, Usage.RenderTarget, Format.X8B8G8R8, Pool.Default);
}
environment = new CubeTexture(dev, CubeMapSize, 1, Usage.RenderTarget, Format.X8B8G8R8, Pool.Default)就是这句出错~
VS2005的提示:
未处理 Microsoft.DirectX.Direct3D.InvalidCallException
Message="应用程序中的错误。"
Source="Microsoft.DirectX.Direct3D"
ErrorCode=-2005530516
ErrorString="D3DERR_INVALIDCALL"
StackTrace:
在 Microsoft.DirectX.Direct3D.Texture..ctor(Device device, Int32 width, Int32 height, Int32 numLevels, Usage usage, Format format, Pool pool)
在 test18.Form1.OnDeviceReset(Object sender, EventArgs e) 位置 C:\Documents and Settings\collo\My Documents\Visual Studio 2005\Projects\test18\test18\Form1.cs:行号 88
在 test18.Form1.InitializeGraphics() 位置 C:\Documents and Settings\collo\My Documents\Visual Studio 2005\Projects\test18\test18\Form1.cs:行号 59
在 test18.Program.Main() 位置 C:\Documents and Settings\collo\My Documents\Visual Studio 2005\Projects\test18\test18\Program.cs:行号 21
在 System.AppDomain.nExecuteAssembly(Assembly assembly, String[] args)
在 System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
在 Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
在 System.Threading.ThreadHelper.ThreadStart_Context(Object state)
在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
在 System.Threading.ThreadHelper.ThreadStart()
|
|