基于C shape 的opengl编程

基于C shape 的opengl编程

ID:41037499

大小:47.50 KB

页数:5页

时间:2019-08-14

基于C shape 的opengl编程_第1页
基于C shape 的opengl编程_第2页
基于C shape 的opengl编程_第3页
基于C shape 的opengl编程_第4页
基于C shape 的opengl编程_第5页
资源描述:

《基于C shape 的opengl编程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于Cshape的Tao.OpenGl模型框架(段琪辉整理)由前面所提的C#和opengl的概述。我们可以知道把C#OpenGL结合起来开发3D应用程序和软件,将显著提高开发效率。在C、C++、Fortran、Java等环境中实现OpenGL的技术已经非常成熟,但是目前并没有在C#中开发OpenGL的标准和规范的方法,而且,在.NETframework中也没有提供OpenGLAPI的接口。因此,目前在C#中实现OpenGL的发展比较落后。而且在C#中开发OpenGl,微软提供较少的标准支持,主要是因为对于和他们竞争的东西—比如CORBA(

2、COM的竞争对手)和OpenGL(DirectX的竞争对手)的消息隐蔽。不过在C#中实现Opengl也并非没有可能,有很多很好的第3方库可以使用,这里给大家列举几个。然后跟大家一起分享一个基于C#中的Tao.OpenGl模型框架。(1)CsGl(2)CSopenGl(3)C#wrapperforOpenGL(4)C#OpenGLFrameworkfor.NET2.0下面我们介绍opengl技术在C#中的实现以及TaoFramework(Tao是由美国华盛顿大学分布虐对象计算组织开发的开放源码的CORBA(通用对象请求代理体系结构)产品,它

3、实现了CORBA2.6规范中的说明)提出的许多基于NET和Mono的库而创建的基于C#的OpenGl模型框架。opengl技术在C#中的实现步骤前期准备工作:在C#中,程序间的依赖项通过符号而不是文本来控制,因而不使用头文件,而且opengl32.dll及opengl32.lib等文件也不能像在C++中那样进行部署和引用,所以,无法直接使OpenGL所提供的图形库。以下介绍2个新的OpenGL动态链接库文件:csgl.dll和csgl.native.dll,在C#中通过调用这2个文件,就可以实现OpenGL所提供的强大的图形功能。这2个文

4、件大家可以网页上获取。因为csgl.dll中定义了4个名称空间,为CsGL,CsGL.OpenGL,CsGL.Pointers,CsGL.Util,其中,CsGL.OpenGL定义的4个类OpenGL、GL、GLU、GLUT中封装了几乎所有的OpenGL函数、用户库函数、辅助库函数和实用库函数及常量;类OpenGLControl中定义了OpenGL场景绘制函数,如场景的初始化、场景的绘制函数等;类OpenGLContext中定义了OpenGL环境控制命令,如像素格式、调色板的创建等命令。CsGL.Util定义了键盘、鼠标事件及异常处理等。

5、关于每个名称空间中具体函数的定义,可在VisualStu2dio.NET中使用对象浏览器查阅这个动态链接库。值得注意的是文件csgl.native.dll在设计时用不到,但是在运行时是必需的。另外,为了能够使用这2个文件,先将这2个文件拷贝到系统文件夹%systemroot%øsystem32中,然后在项目的属性页对话框中将“引用路径”设置为系统文件夹%systemroot%øsystem32,这样C#就可以找到运行ö调试应用程序所需要的库文件。创建OpenGl建模环境1添加对OpenGL的引用在VS.NET2003中生成C#应用程序的过

6、程很简单。在IDE环境中选择创建C#项目的Windows应用程序,输入项目的名称及项目保存的位置,单击确定,几秒钟后项目创建完成。此时项目创建向导为我们准备好了一个名称空间、一个窗体类(Form1)以及应用程序的主入口函数Main。至此,只是创建了应用程序的框架,要使用OpenGL,必须添加对OpenGL的引用,在C#中是通过using关键字实现的,在程序开始部分加入下列语句:usingCsGL.OpenGL;这样就可以使用OpenGL命令实现OpenGL的绘图功能。2创建OpenGL设备环境要使用OpenGL进行绘制,必须首先建立用于绘

7、制的设备环境,即绘制表面。为此,先建立一个视(View)类用于创建绘制表面。在所创建的名称空间中添加一个视类,设其类名为OpenGLView,然后创建这个类的一个实例,设其名称为SimpleView。现在要将这个实例停靠到窗体上,才能使绘制的OpenGL场景可视化。将SimpleView停靠到窗体上的方法是:this.SimpleView.Dock=System.Windows.Forms.DockStyle.Fill;this.SimpleView.Location=newSystem.Drawing.Point(0,0);为了能在Op

8、enGL绘制面上进行绘制,必须先对其进行初始化,在C++中是通过描述、选择与设置绘图表面的像素格式来规定绘图表面的一些属性的。C#中,在csgl.dll的支持下,一般不需要专门为OpenGL绘

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。