- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VB中利用OpenGL绘制三维地质构造图-NET教程,VBNet语言.doc
VB中利用OpenGL绘制三维地质构造图-.NET教程,VB.Net语言摘要 opengl是一种三维图像研发标准,是从事三维图像研发工作的必要工具,其稳定性、可靠性、可扩展性等特点,赋予了其强大的生命力和应用前景,opengl已广泛应用于在cad/cam/cae、医学图像处理、虚拟现实、娱乐、广告等领域。本文就怎么利用vb结合opengl来研发三维地质构造图的基本步骤进行了周详地介绍,其中对像素格式的设定及光照和材质的设置进行了周详的描述。
1. 前言 原来为了在计算机上实现一幅三维地质构造图,费尽周折,而结果却难以令人满意。而目前,因为有了 opengl这一切都变得简单了。1992年,opengl正式成为适用于各种计算机环境下的三维应用程式接口(3d api)。目前,他已成为国际上通用的开放式三维图像标准。作为一个优秀的三维图像接口,opengl提供有丰富的绘图命令,利用这些命令能够研发出高性能、交互式的三维图像应用软件。然而,目前国内介绍opengl的实例都是利用vc或c++研发的,令众多计算机工作者望而止步,因而,本文特意选用了简单的vb研发工具结合opengl来研发三维地质构造图。希望对那些对opengl感兴趣的工作者有所帮助。 本文绘制出来的三维地质构造图能绕x、y、z轴进行360度自由旋转,也能进行自动旋转;并能对三维图分别沿x、y、z轴进行比例缩放,也能使三维图沿x、y、z轴三个方向同时进行相同比例缩放。 2. win32环境下的opengl编程 1) 建立视图界面 .新建一个标准exe工程; .在部件中添加comctl32.ocx控件; .在工程菜单下的引用子菜单下加入vbopengl库(vbogl.tlb)(能到.hk/~edx/tlb.htm网站下载); 在窗体上放置部件,建立如下视图界面(图1所示):
图1 视图界面 2) 创建设备描述表 .定义像素格式结构
dim pfd as pixelformatdescriptor .描述像素格式
pfd.nsize = len(pfd)--结构大小pfd.nversion = 1--版本号pfd.dwflags = pfd_support_opengl or--支持openglpfd_draw_to_window or --绘制到windowspfd_doublebuffer or --支持双缓冲区pfd_type_rgba--rgba颜色模式pfd.ipixeltype = pfd_type_rgba--像素格式类型pfd.ccolorbits = 16--所需的颜色索引位数pfd.cdepthbits = 16--所需的深度缓冲区位数pfd.ilayertype = pfd_main_plane--主层类型l 为设备描述表得到最匹配的像素格式,确定pfd结构是否存在pixelformat = choosepixelformat(hdc, pfd)if pixelformat = 0 thenmsgbox 设备描述表支持的像素格式 vbcrlf vbcrlf _和给定像素格式不匹配!, vbcritical, 错误endend if .设置设备描述表的像素格式,把指定的像素格式赋给指定的设备
spf = setpixelformat(hdc, pixelformat, pfd)if spf = false thenmsgbox 设置设备描述表像素格式失败!, vbinformation, 失败endend if 3) 创建绘图描述表 创建绘图描述表
hglrc = wglcreatecontext(hdc) 使之成为当前绘图描述表
wglmakecurrent hdc, hglrc 4) 设置绘图环境 允许深度比较
glenable gl_depth_test 顶点逆时针方向定义的多边形为前面
glfrontface gl_ccw 设置绘图背景色
glclearcolor 0, 0, 0, 1 5) 定义光照和材质 打开光照,放置一个光源,定义光照模型
glenable gl_lightingglenable gl_light0gllightmodelf gl_light_model_two_side, gl_true 设置光源位置
dim lightpos(3) as glfloatlightpos(0) = 1: lightpos(1) = 1: lightpos(2) = 1: lightpos(
您可能关注的文档
最近下载
- 2024年城市管理网格员四级-中级理论知识试题及答案.docx VIP
- 2024年城市管理网格员三级(高级)理论知识考试试题及答案.docx VIP
- 2020-2021学年北京师大二附中实验学校九年级上学期期中数学试卷(含解析).pdf VIP
- 2025年城市管理网格员三级(高级)理论知识考试试题及答案.docx VIP
- 压力性尿失禁的护理查房PPT课件.pptx VIP
- 2024-2025学年辽宁铁道职业技术学院单招《英语》试卷及答案详解【典优】.docx VIP
- 辽宁铁道职业技术学院单招考试文化素质数学通关考试题库(完整版)附答案详解.docx VIP
- 学年西城区四中初三上学期期中数学试卷.pdf VIP
- 2019-2020学年北京四中九年级(上)期中数学试卷--含详细解析.docx VIP
- 中国餐饮企业发展报告.pptx VIP
文档评论(0)