用第三方插件是CSGL,其官方网站为:http://csgl.sourceforge.net/
关键是使用其提供的两个DLL:csgl.dll 和 csgl.native.dll,csgl.dll是开发使用的,在一个C#工程中,用“项目”->“添加引用”->“浏览”找到 csgl.dll 引用。然后把两个dll都放到程序目录在运行时使用。
在需要使用OpenGL函数的cs文件的using声明中,加上:using CsGL.OpenGL命名空间,就可以使用静态GL类调用OpenGL函数和变量了,比如GL.glRotatef
而对于显示OpenGL窗口,需要自己建立一个从CsGL.OpenGL.OpenGLControl类继承的控制类,并至少做以下重构:
protected override void OnCreateControl()
{
GL.glClearDepth(1.0f);
GL.glDepthFunc(GL.GL_LEQUAL);
GL.glEnable( GL.GL_DEPTH_TEST );
}
protected override void OnSizeChanged(EventArgs e)
{
base.OnSizeChanged(e);
Size s = Size;
double aspect_ratio = (double)s.Width /(double) s.Height;
ViewCtrl.VIEWSIZE_WIDTH = s.Width;
ViewCtrl.VIEWSIZE_HEIGHT = s.Height;
GL.glMatrixMode(GL.GL_PROJECTION);
GL.glLoadIdentity();
GL.gluPerspective(63.0f, aspect_ratio, 1f, 4000.0f);
GL.glMatrixMode(GL.GL_MODELVIEW);
GL.glLoadIdentity();
}
public override void glDraw()
{
GL.glClearColor(0.1f,0.1f,0.2f,1.0f);
GL.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
GL.glLoadIdentity();
}
(在glDraw()中动态绘制想画的东西)
然后捆绑到一个Form窗体上显示就可以:
如:声明:public class csglViewer : OpenGLControl
在窗体中实例化:csglViewer myview;
myview = new csglViewer();
myview.dock = DockStyle.Fill;
Form1.Controls.Add(myview);
OK~其实C#里面使用OpenGL跟C++没有太大区别,OpenGL毕竟是所谓平台无关的,那些函数基本上都是一致的。重点其实就是学OpenGL而不是什么语言的OpenGL,只要把接口(或者可以说显示OpenGL画面的窗口)找到就行了
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1791625
分享到:
相关推荐
标题中的"C#下的opengl开发库"指的是在C#编程环境中用于与OpenGL交互的库。这个库可能包含了封装好的类和方法,使得C#开发者可以轻松地调用OpenGL的功能,进行图形渲染、场景建模、动画处理等任务。这些库通常会处理...
C# OpenGL 三维立体图绘制 源码 用C#实现调用opengl实现三维图的绘制。
在C#中,为了利用OpenGL的功能,开发者通常会使用一个名为CSGL(C# OpenGL)的开发库。这个库提供了C#语言的绑定,使得.NET开发者能够方便地访问和使用OpenGL的API。 CSGL(C# OpenGL)是标题中提到的核心知识点,...
总的来说,通过C#和CSGL库,开发人员能够轻松地在.NET环境中实现OpenGL的3D图形绘制。虽然这里我们只讨论了绘制80面球体的基本步骤,但这个基础可以扩展到更复杂的3D场景和几何形状。深入学习OpenGL和CSGL,你可以...
学习OpenGL一段时间了,这里分享一下入门的小例子,帮助大家入门,C#+OpenGL开发的三维旋转四面体
在本项目"C#+OpenGL绘制正方体"中,我们探讨了如何利用Microsoft的Visual Studio 2012集成开发环境(IDE)以及开源图形库OpenGL,来创建一个可交互的3D正方体模型。OpenGL是一种强大的跨平台图形库,广泛应用于游戏...
csgl是c#结合opengl进行3d开发的插件 虽然有些老了但是依然很实用 欢迎C# opengl爱好者交流心得 一共两个文件 记得下在另一个 要一起用 还有个配套的例子
用c# 和OPenGl开发的小飞机躲避小星星的游戏,可以学习和参考,里面有具体的代码实现.希望帮到你们哦.
标题 "C# OpenGL 的一个三维球 VS2008" 指的是使用C#编程语言结合OpenGL图形库,在Visual Studio 2008开发环境中创建的一个三维球体渲染示例。OpenGL是一个跨语言、跨平台的编程接口,用于渲染二维和三维图形,而C#...
C#是微软开发的一种面向对象的编程语言,它具有现代化的特性和语法,使得与OpenGL交互变得更加便捷。 首先,"C#+OpenGL绘图实例"可能包含了使用.NET Framework或.NET Core的OpenTK库,这是一个C#的OpenGL绑定,允许...
6. **关键技术挑战与解决方案**:在.NET环境下利用C#与OpenGL进行三维可视化开发,面临的挑战主要包括API的适配、性能优化、以及跨平台兼容性问题。解决方案通常涉及深度学习OpenGL的底层机制,熟练掌握C#的高级特性...
C#,作为.NET框架的一部分,通常与Windows应用程序和游戏开发相关联,但其本身并不直接支持OpenGL。然而,通过第三方类库,如"C# OpenGL类库",C#开发者也能利用OpenGL的强大功能。 这个类库可能是将OpenGL的功能...
这个项目为初学者提供了一个基础的C# OpenGL开发环境,通过阅读和理解源代码,开发者可以深入学习C#与OpenGL的结合使用,进一步提升图形编程能力。同时,项目中的测试数据和使用说明也是实践和调试的重要参考资料。
C#下开发OpenGL应用工具包,支持跨平台,openal opangl opencl
在C#中,通过OpenGL接口可以实现这些功能,为游戏开发、科学可视化、数据可视化等领域提供强大的图形渲染能力。 NeHe教程是OpenGL编程的经典入门资源,由Jeffrey Ventrella创建,提供了许多逐步教学的实例,涵盖了...
OpenGL是跨语言、跨平台的2D和3D图形库,它被...总的来说,"C# OpenGL贴图"这个实例程序涵盖了3D图形编程的基础,通过学习和实践,你可以创建出具有真实感的3D场景,这在游戏开发、科学模拟和艺术创作中都有广泛应用。
2. **win7_vs2010环境下OPENGL配置.doc**:这是一个文档,很可能是指导如何在Windows 7和Visual Studio 2010环境下配置OpenGL开发环境的步骤。可能包括安装必要的库、设置项目属性以及链接OpenGL和GLUT库等内容。 3...
OpenGL是一个跨语言、跨平台的编程接口,用于渲染2D和3D图形,而C#则是一种广泛用于开发桌面应用、游戏和图形界面的语言。通过结合两者,开发者可以利用C#的易用性和强大的类库,以及OpenGL的高性能图形处理能力。 ...
总的来说,这个压缩包提供了一个完整的C# OpenGL开发环境,包括必要的库文件和示例代码,帮助初学者快速入门OpenGL编程。通过运行提供的示例和理解源码,开发者可以深入理解OpenGL的工作原理以及如何在C#项目中集成...