Я использую элемент управления формой XNA 4.0 этого примера в приложении, которое я пишу: http://creators.xna.com/en-US/sample/winforms_series1
Он отлично работает, и я немало поработал с визуальными эффектами и анимацией.Основная проблема, над которой я почесываю голову, - это 3d-модель и примитивные трехмерные фигуры (цилиндры с тесселяцией 30), которые я рендеринг имею с очень зазубренными краями, как будто они имеют низкое разрешение.выяснить, как включить мультисэмплинг, но все примеры, которые я могу найти в Интернете, похоже, не относятся к этому новому способу использования XNA в пользовательском элементе управления формы.
Внутри конструктора GraphicsDeviceService () естьОбъект PresentationParameters создан, но единственное доступное свойство - параметры. MultiSampleCount типа integer.Я попытался установить это без эффекта.
Я также попытался сделать резервный буфер в два раза больше размера элемента управления (GraphicsDeviceService.cs):
GraphicsDeviceService(IntPtr windowHandle, int width, int height)
{
parameters.BackBufferWidth = width * 2;
parameters.BackBufferHeight = height * 2;
...
}
Затем я изменил эту функцию (GraphicsDeviceControl.cs):
void EndDraw()
{
Rectangle sourceRectangle = new Rectangle(0, 0, ClientSize.Width * 2, ClientSize.Height * 2);
Rectangle destinationRectangle = new Rectangle(0, 0, ClientSize.Width, ClientSize.Height);
GraphicsDevice.Present(sourceRectangle, destinationRectangle, this.Handle);
}
Но это не сработало должным образом.Мои объекты, отображаемые на экране, были перенесены на 1/4 окна и обрезаны.Хотя это выглядело немного менее неровно ...
Так что на данный момент я не уверен, что я могу сделать, чтобы получить высококачественную графику, используя этот метод (управление XNA в окне).Я довольно новичок в XNA в целом, поэтому любые предложения будут наиболее полезны.
Спасибо