??三维数字地球系列相关文章如下??: | |
---|---|
1 | 【小沐学GIS】基于C++绘制三维数字地球Earth(OpenGL、glfw、glut)第一期 |
2 | 【小沐学GIS】基于C++绘制三维数字地球Earth(OpenGL、glfw、glut)第二期 |
3 | 【小沐学GIS】基于OpenSceneGraph(OSG)绘制三维数字地球Earth |
4 | 【小沐学GIS】基于C++绘制太阳系SolarSystem(OpenGL、glfw、glut) |
5 | 【小沐学GIS】基于C#绘制三维数字地球Earth(OpenGL) |
文章目录
- 1、简介
-
- 1.1 OpenGL简介
- 1.2 相关C#的OpenGL库
-
- 1.2.1 OpenTK
- 1.2.2 SharpGL
- 1.2.3 tao.Opengl
- 10、代码测试
-
- 10.1 opengl / wpf / c#(2d)
- 10.2 opengl / OpenTK / c#(3d)
- 10.3 opengl / glut / Tao.OpenGL / c#(3d,太阳系)
- 结语
1、简介
1.1 OpenGL简介
OpenGL(英语:Open Graphics Library,译名:开放图形库或者“开放式图形库”)是用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API)。这个接口由近350个不同的函数调用组成,用来绘制从简单的图形到比较复杂的三维景象。而另一种程序接口系统是仅用于Microsoft Windows上的Direct3D。
1.2 相关C#的OpenGL库
在C#中直接调用OpenGL函数比较繁琐,一般不直接使用。我们可以借助第三方开源库,比如SharpGL、CsGL、OpenTK、Tao框架等。下面对这些框架逐一介绍,其中Tao已经停止维护和更新了,可以被OpenTK替代。
1.2.1 OpenTK
https://github.com/opentk/opentk
The Open Took Kit (OpenTK), 是对 OpenGL、OpanAL、OpenCL 的跨平台的封装,使用 C# 编写,可以运行在 Windows、 Linux 以及 MacOSX 平台上, 任何 .Net 语言都可以使用它做开发。
1.2.2 SharpGL
https://github.com/dwmkerr/sharpgl
在 .NET 应用程序中使用 OpenGL。SharpGL 封装了所有现代 OpenGL 功能,并提供了强大的场景图来帮助开发。
1.2.3 tao.Opengl
https://github.com/mono/tao
Tao框架是C#使用Opengl的一种图形库,其他可供C#使用的图形库有诸如Sharpgl等。Tao框架包含了许多C库。Tao库结合了C#语言的特点,使得在使用Tao库时更加方便。
在动态链接库Tao.Platform.Windows中定义的SimpleOpenglControl类,其定义了几乎所有的Opengl主要绘图函数,包括场景初始化函数、场景绘制渲染函数、双缓存交换函数、重绘函数、窗口大小改变等等。在Form的派生类中添加一个内部的simpleOpenglControl类,就能使用它的所有属性和方法。
10、代码测试
10.1 opengl / wpf / c#(2d)
10.2 opengl / OpenTK / c#(3d)
10.3 opengl / glut / Tao.OpenGL / c#(3d,太阳系)
结语