मेरे पास एक कक्षा है जो घन खींचती है और घूमती है। हर बार जब मैं घन घुमाता हूं तो मैं घन के लिए नए मानों के साथ बफर को फिर से लोड करता हूं।क्यूब ड्राइंग करते समय आउटऑफमेमरी अपवाद
public void LoadBuffer(GraphicsDevice graphicsDevice)
{
buffer = new VertexBuffer(graphicsDevice, VertexPositionNormalTexture.VertexDeclaration, triangles * 3, BufferUsage.None);
buffer.SetData<VertexPositionNormalTexture>(verts);
graphicsDevice.SetVertexBuffer(buffer);
}
public void Draw(GraphicsDevice graphicsDevice)
{
graphicsDevice.DrawPrimitives(PrimitiveType.TriangleList, 0, triangles);
}
तो कुछ मिनटों के बाद Game.Draw
protected override void Draw(GameTime gameTime)
{
GraphicsDevice.Clear(ClearOptions.DepthBuffer | ClearOptions.Target, Color.White, 1f, 0);
basicEffect.Parameters["WorldViewProj"].SetValue(world * view * projection);
EffectPass pass = basicEffect.CurrentTechnique.Passes[0];
if (pass != null)
{
pass.Apply();
cube1.LoadBuffer(GraphicsDevice);
cube1.Draw(GraphicsDevice);
cube2.LoadBuffer(GraphicsDevice);
cube2.Draw(GraphicsDevice);
cube3.LoadBuffer(GraphicsDevice);
cube3.Draw(GraphicsDevice);
}
base.Draw(gameTime);
}
में Cube.Draw विधि कॉल या तो मैं लाइन पर एक OutOfMemory अपवाद प्राप्त करें:
buffer.SetData<VertexPositionNormalTexture>(verts);
सकता है किसी को कृपया बताएं कि यह क्यों हो रहा है और मैं इसे हल करने के लिए क्या कर सकता हूं।
हाय , @harryovers, क्या आपको इस तरह के "बग" के साथ एक काम मिल गया, मुझे एक्सएनए चुनने में बहुत दुःख हुआ। –
@DuSijun मुझे यह काम करने के लिए मिला लेकिन यह 2 था।5 साल पहले तो मुझे खेद है कि मुझे इसके बारे में अधिक जानकारी याद नहीं है। – harryovers