用第三方插件是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开发库,压缩文件里附有src
C# OpenGL 三维立体图绘制 源码 用C#实现调用opengl实现三维图的绘制。
C#的OpenGL开发库源代码,学习OpenGL编程的好资料.
csgl是c#结合opengl进行3d开发的插件 虽然有些老了但是依然很实用 欢迎C# opengl爱好者交流心得 一共两个文件 记得下在另一个 要一起用 还有个配套的例子
用c# 和OPenGl开发的小飞机躲避小星星的游戏,可以学习和参考,里面有具体的代码实现.希望帮到你们哦.
在.net 用c# 开发opengl,使用 csgl库。 帮助入门,绘制80面球体。
C#下开发OpenGL应用工具包,支持跨平台,openal opangl opencl
用C#做OPENGL开发的类库。有了它用C#也可以做openGL。
C#语言开发OpenGL图形处理的必备场景搭建。用户下载解压后可直接运行,代码简洁便于理解。
C#中开发openGL,讲解如何在C#中配置openGL,和初始化程序
学习OpenGL一段时间了,这里分享一下入门的小例子,帮助大家入门,C#+OpenGL开发的三维旋转四面体
C#实现opengl技术开发,实现了简单的立体画图,打开数据文件在txt中
平台:基于C#平台开发的点云窗体系统 系统功能包括:1、点云坐标提取; 2、定距显示; 3、点云图像显示(包括动态显示); 4、点云轮廓提取 解决内容:1、提供了解决C#窗体实现点云显示功能的解决方案(C#+DLL); 2、...
目前市面上用C#开发的OpenGl项目源代码不多见,用C#开发的OpenGL窗体应用程序更为少见,本项目文件填补了这一空白,便于广大程序爱好者们在此项目文件的基础上进一步开发。
借助于c#语言,开发的一款贪吃鱼的3D动画,主要是展现的基础知识,比较适合初学者.
C#使用OpenGL高效绘制任意文字和图片(不需要建立字库,不使用第三方库). 帧率可以到达每秒钟两千帧以上! 使用时在代码中修改图片的路径. ...同时使用C#进行开发OpenGL,仅需少量的代码就能开发出来一个高效的软件!
使VC#支持OpenGL的开发,类似于在VC++下进行OpenGL的开发。
OpenGL 建模技术在C#中的实现
本程序为自创,融合了OpenGL、OGR和C#来开发构建不规则三角网TIN,并实现了二、三维一体化可视化
OpenGL的NET封装 Tao库的完整C#项目,下载即可在VS2010环境下编译运行