微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何向Xamarin Forms应用程序添加琐碎的OpenGL功能

如何解决如何向Xamarin Forms应用程序添加琐碎的OpenGL功能

任何人都可以提供以下帮助吗?

我有一个简单的Xamarin表单应用程序正在运行,我想添加一个OpenTK视图。

以下可以正常工作:

在MainPage.xaml.cs中,我具有以下按钮的事件处理程序,该事件处理程序在每次单击时都会生成一个空的OpenTK视图:

private void OnXAMLButtonClicked(object sender,EventArgs e)
        {
            var view = new OpenGLView { HasRenderLoop = true };

            view.HeightRequest = 300;
            view.WidthRequest = 300;

            view.Ondisplay = r =>
            {
                //GL.ClearColor(red,green,blue,1.0f);
            };

            m_SL.Children.Add(view);
        }

(其中m_SL是我的StackLayout的名称)。

每次点击都会显示一个新的黑色窗口。很好。

现在,看到注释掉的行,这是因为GL值未定义。

代码来自此处的简单示例:

https://docs.microsoft.com/en-us/dotnet/api/xamarin.forms.openglview?view=xamarin-forms

我在该示例的顶部看到以下内容

使用OpenTK.Graphics.ES30;

但是我不能包括在内,OpenTK不被识别为名称空间。我希望必须将其添加为参考,但是如何?

我可以在.Android项目中添加对它的引用,以便可以在MainActivity.cs页面添加上述using语句,但这不是它的所属位置(尽管我随后定义了GL,所以这证明我需要将这些using语句添加到MainPage.xaml.cs中以定义GL),但是就像我说的那样,如何为包含MainPage.xaml.cs的项目添加对OpenTK的引用。>

感谢您的帮助, 米奇。

-----编辑-----

感谢发布者到目前为止对我的帮助,新问题是对System.Private.Core的引用,该参考无法解决。这是我创建此错误的完整工作流程:

1:创建一个新项目。

enter image description here

enter image description here

这给了我三个项目:

enter image description here

2:在OGLMobile项目中更改为.NET标准2.1:

enter image description here

.Android和.iOS项目没有.NET选择选项。

3:将对OpenTK的引用添加到OGLMobile项目:

enter image description here

4:OGLMobile项目构建良好,但.Android项目提供:

enter image description here

如果我删除对OpenTK的引用,一切将再次构建。如果我将OpenTK Nuget包添加到.Android项目中,没什么区别,我仍然会遇到相同的错误

太近了, 感谢您的任何建议。

解决方法

您需要安装Nuget软件包 OpenTK.Graphics ,然后才能使用它。

enter image description here

现在可以引用它:

enter image description here

注意: OpenTK.Graphics 4.0.1需要 .NET Standard 2.1

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。