Создание собственного редактора C ++ OpenGL 3D и использование его в качестве элемента управления WinForms или WPF в C # - PullRequest
3 голосов
/ 17 октября 2010

Я хочу создать простую программу для 3D-редактора, и мне не нравится программирование на C ++ для Windows.Но я не хочу связываться с управляемым кодом при использовании OpenGL.Таким образом, можно создать в нативном C ++ элемент управления, который будет содержать трехмерную поверхность рисования OpenGL, без других элементов управления, а также с интерфейсом (методами и свойствами), и использовать его в качестве элемента управления в WinForms, или даже лучше, Приложение WPF?

Ответы [ 5 ]

5 голосов
/ 13 июля 2012

Также возможно использовать управляемый C ++. Я создал простой элемент управления OpenGL для WinForms, который соответствует вашим требованиям. Вы можете найти больше информации об этом здесь .

1 голос
/ 19 октября 2010

Я не совсем понимаю ваше намерение.Вы сказали, что ненавидите программирование на C ++, вы не хотите связываться с управляемым кодом при использовании OpenGL, вам нужны окна opengl без управления пользовательским интерфейсом, но вы хотите использовать winform или wpf в качестве пользовательского интерфейса.

Если вы ненавидите программирование на C ++,Вы должны использовать управляемый код.Если вы не хотите связываться с управляемым кодом при использовании OpenGL, вы должны использовать программирование на С ++.если вы хотите создать в нативном C ++ элемент управления, который будет содержать трехмерную поверхность рисования OpenGL, без каких-либо других элементов управления (которые я предполагаю элементы управления пользовательского интерфейса), зачем использовать winform или wpf?

Не используйте WPF для создания тяжелых 3DПриложения.wpf был задуман как пользовательский интерфейс.Вы найдете много ограничений на этом пути.Есть также ограничение в хостинге (WPF), что делает бесполезным использование opengl с wpf.

Я думаю, что лучшей ставкой будет XNA или http://www.opentk.com/(if, вы должны использовать OpenGL).Дао Framework устарела и не стоит усилий.

1 голос
/ 17 октября 2010

Должен ли это быть OpenGL?Подумайте об использовании XNA, который позволит вам использовать C # и DirectX.В противном случае я предлагаю вам найти оболочку C # для OpenGL.Здесь перечислены две оболочки http://www.opengl.org/resources/bindings/.

0 голосов
/ 12 января 2012

Все, что вам нужно сделать, это создать оболочку в c ++, которая предоставляет функции в c #

0 голосов
/ 18 ноября 2010

Предлагаю вам взглянуть на Ogre 3D (http://www.ogre3d.org).Эта кроссплатформенная библиотека C ++ охватывает как Open GL, так и DirectX.Он был успешно встроен в Qt, MFC и даже имеет представление .NET.Я настоятельно рекомендую вам взглянуть на это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...