OpenGL с элементом управления Viewport3D в WPF

Может ли элемент управления Viewport3D в WPF работать с OpenGL?


person Ilija Zdravkov    schedule 01.12.2011    source источник


Ответы (2)


WPF - это то, что Viewport3D не может сделать (есть много вещей, которые он не может сделать), весь WPF основан на DirectX. Это также означает, что DirectX, как правило, гораздо лучше поддерживается в WPF.

Однако вы можете использовать окно просмотра WinForms OpenTK и использовать WinFormsHost, чтобы поместить его в свое приложение. OpenTK — очень хорошая оболочка .Net для OpenGL.

Однако вы не сможете использовать XAML, привязки и другие вещи, специфичные для WPF. Вам придется выполнять вызовы OpenGL вручную из кода. Все, что делает взаимодействие, — это размещение окна просмотра в вашем приложении и позволяет вам выполнять .Net-вызовы на нем.

Вы также можете ознакомиться с этим проектом.

person Matěj Zábský    schedule 01.12.2011
comment
ДА, я использую OpenTK в своем приложении WPF, но я не могу использовать GLControl в WPF, я могу использовать GLControl в приложении Windows Form, но в WPF я не могу. некоторая помощь об этой проблеме?? - person Ilija Zdravkov; 02.12.2011
comment
@Ilija Вы смотрели ссылки, которые я предоставил? Я очень давно сам проводил очень короткие эксперименты с OpenTK в WPF, но парень по второй ссылке, кажется, понял это. - person Matěj Zábský; 02.12.2011

Это невозможно в том смысле, что вы можете незаметно объединить 3D-контент из OpenGL в Viewport3D (с правильным Z-тестированием и всем остальным).

person Alex Shtof    schedule 01.12.2011