​OpenTK​​​是一个可以支持​​C#​​​程序跨平台进行​​OpenGL​​​调用的模块,这里我们简单介绍一下在​​Visual Studio(VS)​​中关于这个模块的调用。

  1. 打开​​VS​​​并点击​​Create a new project​​选项
  2. Visual Studio内配置OpenTK环境_着色器

  3. 选择​​C#​​​和​​window​​​开发平台选择​​Console.App(.NET.Core)​​​后并点击​​Next​
  4. Visual Studio内配置OpenTK环境_OpenTK_02


  5. 输入项目名称,并选择项目创建的位置后点击​​Create​​完成对项目的创建
  6. Visual Studio内配置OpenTK环境_3d_03

  7. 打开项目文件后添加点击​​Project​​​并选择​​Manage NuGet Packages​
  8. Visual Studio内配置OpenTK环境_c#_04


  9. 选择​​Browse​​​,输入​​OpenTK​​​,选择第一个然后点击右侧的​​Install​​​完成对当前项目添加​​OpenTK​​包的操作
  10. Visual Studio内配置OpenTK环境_OpenGL_05

比如,这里我们创建一个名为​​OpenTK_Debug​​的工程,最终创建好后可以得到如下图所示。

我们可以

Visual Studio内配置OpenTK环境_OpenTK_06


看到右侧在​​Packages​​​栏目中已经引入了​​OpenTK​​​包。至此,我们完成了​​OpenTK​​​模块的添加,接下来我们就可以通过​​OpenTK​​​来调用​​OpenGL​​​完成我们的​​3D​​​开发了。对于一般的工程,如果我们只创建一个​​.cs​​​文件,完成上述的操作就已经完成了​​OpenTK​​​的配置。然而对于一个真实的​​OpenTK​​工程来说,我们通常需要用到四个大类:1. 主程序中的类2. 主程序中调用的GUI窗口界面的类3. 着色器类, 以及4. 两个着色器(端点着色器)和(片段着色器)。这里我们以一个最简单的例子—​​空间中单个三维点的绘制​​(超链接点击跳转)来说明配置过程。

对于上文中的主程序中的类,我们可以用本文之前提到的操作步骤进行完成,对于主程序中调用的GUI窗口界面的类,我们需要在刚刚创建的​​OpenTK_Debug​​​程序下添加一个新的​​class​​类。创建方法如下:

Visual Studio内配置OpenTK环境_3d_07

在​​OpenTK_Debug​​上右击鼠标,选择添加新项目。然后出现如下图所示界面。

Visual Studio内配置OpenTK环境_着色器_08


选择​​class​​​项,输入文件名称,最后点击​​Add​​按键即可。最终我们可以得到:(如下图所示)

Visual Studio内配置OpenTK环境_OpenGL_09

此时在​​Solution Explorer​​中我们添加了主程序中调用的GUI窗口界面的类。对于着色器类,我们需要首先在当前解决方案下新建一个​​project​​。

Visual Studio内配置OpenTK环境_OpenTK_10


如上图所示,在​​Solution"OpenTK_Debug"​​​上右键,选择​​New Project​​​。这里我们将其命名为​​Common​​​。然后我们可以看到在​​Solution Explorer​​中出现了创建好的项目。

Visual Studio内配置OpenTK环境_c#_11


注意这里创建的项目必须是​​Microsoft.NETCore.App​​类型文件。

Visual Studio内配置OpenTK环境_OpenTK_12


然后我们如上图所示在​​Project​​​选项卡中选择​​Properties​​选项。

Visual Studio内配置OpenTK环境_OpenTK_13


在​​Output type​​​中从​​Console Application​​​类型变更为​​Class Library​​​类型。并按​​Ctrl+s​​​组合键进行保存。最后再按照之前介绍过的步骤为​​Common​​​项目也添加​​OpenTK​​包。

这里必须要注意两点:

  1. 如果不修改​​Common​​​项目的输出类型,那么运行时程序会报错,提示​​Common​​​文件中缺少​​Main​​函数。
  2. 但是开始创建​​Common​​​项目的时候必须选择​​Console.App(.NET Core)​​​类型,否则无法为​​Common​​​项目添加​​OpenTK​​​包。比如直接选择​​Class Library(.NET Standard)​​类型(可以自行尝试)。

最后我们需要写两个着色器,然后在​​OpenTK_Debug​​​上右键选择​​Open Folder in File Explorer​​,再进入bin目录,再进入Debug,在进入netcoreapp3.1,将我们写好的两个着色器存放在这个目录下即可,如我们的目录为:

Visual Studio内配置OpenTK环境_3d_14


接下来我们需要进行最后一步操作,为我们的​​OpenTK_Debug​​​项目添加​​Common​​项目。

Visual Studio内配置OpenTK环境_3d_15


如上图所示,右键​​Dependencies​​​选择​​Add Project Reference​​。

Visual Studio内配置OpenTK环境_OpenTK_16


然后勾选中​​Common​​​项目,点击​​OK​​按键即可。

至此,我们完成了​​OpenTK​​的配置,之后不再重复叙述。