- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于Cshape的opengl编程
基于C shape的Tao. OpenGl模型框架(段琪辉整理)
由前面所提的C#和opengl的概述。我们可以知道把C # OpenGL 结合起来开发3D 应用程序和软件, 将显著提高开发效率。
在C、C + + 、Fo rt ran、J ava 等环境中实现OpenGL 的技术已经非常成熟, 但是目前并没有在C# 中开发OpenGL 的标准和规范的方法, 而且, 在. N ET f ram ewo rk 中也没有提供OpenGLA P I 的接口。因此, 目前在C# 中实现OpenGL 的发展比较落后。而且在C#中开发OpenGl,微软提供较少的标准支持,对于和他们竞争的东西—比如CORBA(COM的竞争对手)和OpenGL(DirectX的竞争对手)。不过在C#中实现Opengl也并非没有可能,有很多很好的第3方库可以使用,这里列举个。C# wrapper forOpenGL
(4) C# OpenGL Framework for.NET2.0
下面我们介绍opengl技术在C#中的实现以及TaoFramework(Tao是由美国华盛顿大学分布虐对象计算组织开发的开放源码的CORBA(通用对象请求代理体系结构)产品,它实现了CORBA2.6规范中的说明)提出的许多基于NET和Mono的库而创建的基于C#的OpenGl模型框架。
opengl技术在C#中的实现步骤
前期准备工作:
在C# 中, 程序间的依赖项通过符号而不是文本来控制, 因而不使用头文件, 而且opengl32.dll 及opengl32. lib 等文件也不能像在C+ + 中那样进行部署和引用, 所以, 无法直接使OpenGL 所提供的图形库。以下介绍2 个新的OpenGL 动态链接库文件: csgl. dll 和csgl.nat ive. dll, 在C# 中通过调用这2 个文件, 就可以实现OpenGL 所提供的强大的图形功能。这2 个文件大家可以网页上获取。因为csgl. dll 中定义了4 个名称空间, 为CsGL ,CsGL. OpenGL , CsGL. Po in ters, CsGL. U t il, 其中, CsGL. OpenGL 定义的4 个类OpenGL、GL、GLU、GLU T 中封装了几乎所有的OpenGL 函数、用户库函数、辅助库函数和实用库函数及常量; 类OpenGLCon t ro l 中定义了OpenGL 场景绘制函数, 如场景的初始化、场景的绘制函数等; 类OpenGLCon tex t 中定义了OpenGL 环境控制命令, 如像素格式、调色板的创建等命令。CsGL.U t il 定义了键盘、鼠标事件及异常处理等。关于每个名称空间中具体函数的定义, 可在V isual Stu2dio. NET 中使用对象浏览器查阅这个动态链接库。值得注意的是文件csgl. nat ive. dll 在设计时用不到, 但是在
运行时是必需的。
另外,为了能够使用这2 个文件, 先将这2 个文件拷贝到系统文件夹% system roo t% ? system 32 中,然后在项目的属性页对话框中将“引用路径”设置为系统文件夹% system roo t% ? system 32, 这样C# 就可以找到运行?调试应用程序所需要的库文件。
创建OpenGl建模环境
1 添加对OpenGL 的引用
在V S. N ET 2003 中生成C# 应用程序的过程很简单。在IDE 环境中选择创建C# 项目的W indow s 应用程序, 输入项目的名称及项目保存的位置, 单击确定, 几秒钟后项目创建完成。此时项目创建向导为我们准备好了一个名称空间、一个窗体类(Fo rm 1) 以及应用程序的主入口函数M ain。至此, 只是创建了应用程序的框架, 要使用OpenGL , 必须添加对OpenGL 的引用, 在C# 中是通过u sing 关键字实现的, 在程序开始部分加入下列语句:
u sing CsGL. OpenGL;
这样就可以使用OpenGL 命令实现OpenGL 的绘图功能。
2 创建OpenGL 设备环境
要使用OpenGL 进行绘制, 必须首先建立用于绘制的设备环境, 即绘制表面。为此, 先建立一个视(V iew ) 类用于创建绘制表面。在所创建的名称空间中添加一个视类, 设其类名为OpenGLV iew , 然后创建这个类的一个实例, 设其名称为Simp leV iew。现在要将这个实例停靠到窗体上, 才能使绘制的OpenGL 场景可视化。将Simp leV iew 停靠到窗体上的方法是:
this.SimpleView.Dock = System.Windows.Forms.DockStyle.Fill;
您可能关注的文档
最近下载
- 生物单元教学设计——被子植物的一生.docx VIP
- 新质生产力基本内涵、评价指标体系构建与发展路径.pdf VIP
- 一次函数(分段函数)PPT教学课件.ppt
- 新质生产力的评价体系、水平测度与实践路径——来自长三角主要城市发展数据分析.pdf
- 《三峡》三年中考真题(解析版)-2022年中考语文课内文言文知识点梳理+三年真题训练(部编版).pdf VIP
- 2021-2022学年北京市海淀区部编版五年级下册期末考试语文试卷(解析版).docx
- 演播室装修设计方案.pptx
- 相交线、平行线与平移 单元作业设计.pdf
- 校园超市商品品种和商品价格表.docx
- 新课标高中英语词汇3500词word版带音标+英语词组与习惯用语大全.doc
文档评论(0)