MonoGame: некоторые VertexColorPosition исчезают при рисовании пользовательских примитивов (DrawUserPrimitives).

Я полный новичок в разработке XNA/MonoGame. Я начал свой собственный проект, используя MonoGame с XAML для WinRT, надеюсь, что однажды он попадет в Windows App Store. Я столкнулся с серьезной проблемой, см. видео. Я использовал каркасы, чтобы было легко увидеть недостающие вершины. Только взрывы, созданные пользователем, безупречны. Все они используют одну и ту же логику.

Я делаю эту игру со столкновением мячей, действительно довольно просто. При определенных условиях эти шары взрываются и начинают расширяться по некоторым правилам. Когда взрыв инициируется пользовательским вводом с взрывом того же типа, следующий взрыв вообще не выглядит хорошо. Некоторые вершины примитивов исчезают и появляются какие-то странные фигуры, но вовсе не круги. Я попытался отключить CullMode (установив значение None), DepthBuffer (установив значение false), StencilEnable (установив значение false). Ничего из этого не помогло. Все эти примитивы находятся в одной z-плоскости (z = 0). У кого-нибудь есть предложения? Ваша помощь очень ценится, большое спасибо. Ниже вы можете найти код, который дает более подробную информацию о ситуации.

При обновлении последовательно прохожу все объекты, делаю нужные обновления и в таком же порядке вызываю для каждого из них:

this.graphicsDevice.DrawUserPrimitives<VertexPositionColor>(PrimitiveType.TriangleStrip, circleVertices, 0, primitiveCount);

Это BasicEffect, который я применяю:

basicEffect.Projection = Matrix.CreateOrthographicOffCenter
           (0, graphics.GraphicsDevice.Viewport.Width,     // left, right
            graphics.GraphicsDevice.Viewport.Height, 0,    // bottom, top
            0, 1);                                         // near, far plane

person roskoN    schedule 20.01.2013    source источник


Ответы (1)


На этот вопрос будет сложно ответить, не видя больше кода. Из видео видно, что должна быть проблема, когда вы создаете circleVertices для взрыва, который начинается с пользовательского ввода. Можно ли куда-нибудь выложить код?

person borrillis    schedule 21.01.2013
comment
Спасибо, что потратили на это время. Вот ссылка на логику рисования: pastebin.com/BRVuTXrf - person roskoN; 21.01.2013
comment
Это тот же вопрос из стека GameDev? gamedev.stackexchange.com/questions/ 47683/ ? - person borrillis; 22.01.2013
comment
Точно такой же экземпляр. :) Спасибо за совет, но не помогло. - person roskoN; 23.01.2013
comment
Если вы хотите прислать мне код всего проекта, я могу попробовать отладить его для вас. - person borrillis; 31.01.2013