Как визуализировать OpenGL на Android с помощью C#?C#

Место общения программистов C#
Ответить
Гость
 Как визуализировать OpenGL на Android с помощью C#?

Сообщение Гость »


У меня есть приложение, написанное на C# для .NET 6, которое отображает OpenGL с помощью облегченных привязок OpenTK (v4) OpenGL, которые поддерживают .NET 5+, Open GL 3+ и OpenGL ES 2+.

Согласно FAQ по OpenTK:

OpenTK работает в Windows, Linux и MacOS X.

(Старые версии OpenTK также поддерживают Android и iOS; текущий OpenTK может работать с ними, но он не проверен.)

Меня воодушевляет обещание .NET 6 создать единую платформу, но я видел только кроссплатформенные мобильные проекты, использующие новую платформу Microsoft .NET Multi-platform App UI (.NET MAUI). MAUI представляет собой оболочку веб-представления, содержащую веб-приложение Blazor. Код этой оболочки я нашел в папке src/Core/AndroidNative репозитория, но для моих целей он кажется очень раздутым. Я хочу иметь доступ к функциям, специфичным для Android, без раздувания Blazor и веб-представления. Согласно этому сообщению в блоге, решением может стать Xamarin.Android, но я не знаю, как внедрить его в существующий проект.

Все, что мне нужно, это простая оболочка, которая:
[*]Создает действие с помощью GLSurfaceView [*]Получает контекст OpenGL ES 2. [*]Выполняет мой текущий код C# с этим контекстом.
Я бы предпочел, чтобы оболочка была на C#, поскольку введение кода Java усложнило бы процесс сборки и фрагментировало бы мою кодовую базу.
[*]Как я могу ввести необходимый код для Android? [*]Как это изменит мой процесс сборки? [*]Я знаю, что мне нужно написать шейдеры, совместимые с OpenGL ES, и что мне, вероятно, нужно изменить способ сохранения файлов. Какие еще изменения мне нужно внести в текущий код, чтобы обеспечить совместимость с Android?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»