VB OpenGL绘图
最近在使用和研究OpenGL绘图,遇到不少问题。网上查阅资料的时候,发现大部分资料都是C语言,和C++写的,VB这方面的资料太少了,VB6.0的就更少,现在都流行dotnet。自己买了本OpenGL书是也是C语言版的。这个博客也开了2年多了,都没写点东东上来。趁晚上睡不着,上来写点。
一、什么是OpenGL?
OpenGL是Open Graphics Lib的缩写,是一套三维图形处理库,也是该领域的工业标准。计算机三维图形是指将用数据描述的三维空间通过计算转换成二维图像并显示或打印出来的技术。
OpenGL被设计成独立于硬件,独立于窗口系统的,在运行各种操作系统的各种计算机上都可用,并能在网络环境下以客户/服务器模式工作,是专业图形处理、科学计算等高端应用领域的标准图形库。
OpenGL是一组绘图命令的API集合。利用这些API能够方便地描述二维和三维几何物体,并控制这些物体按某种方式绘制到显示缓冲区中。OpenGL的API集提供了物体描述、平移、旋转、缩放、光照、纹理、材质、象素、位图、文字、交互以及提高显示性能等方面的功能,基本涵盖了开发二、三维图形程序所需的各个方面。
二、 OpenGL特点
① 跨平台:
OpenGL能够在几乎所有的主流操作系统上运行,包括UNIX、Mac OS、OS/2、Windows NT、Windows9x、Linux等。NEHE的第二课 基本涵盖了世界上所有的编程语言和操作系统。
该教程网址如下
http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=02
② 高质量和高性能
无论是在CAD/CAM、三维动画还是可视化仿真等领域,OpenGL高质量和高效率的图形生成能力都能得到充分的体现。开发人员可以利用OpenGL制作出效果逼真的二、三维图象来。
特点很多,就不多介绍了。
三、 OpenGL和DirectX的比较
关于OpenGL和D3D的比较,大家可以看这篇文章,讲的挺详细的。
http://bbs.bccn.net/thread-224560-1-1.html
四、 OpenGL在线教程
网络上比较有名的NEHE在线教程:http://nehe.gamedev.net/
上面的全英文的,外语有点差的朋友看下面的,这个是对应的中文的翻译版网站
NEHE在线教程对应的中文翻译教程:http://www.owlei.com/DancingWind/
相关文档:
Option Explicit
Private rsMain As ADODB.Recordset
Private rsTerm As ADODB.Recordset
Private strSql As String
Private Sub cmdAbout_Click()
frmAbout.Show
End Sub
Private Sub cmdAddObject_Click() '程序段
......
这段时间在移植项目的过程中,起初我想判断一个字符串中是否存在某字符(串),直接的使用方法是用instr(start,string1,string2,VB compare),但经过分析在VB中可以只用一下方法来判断!
1.常用的INStr方法
Function InStr([Start], [String1], [String2], [Compare A ......
这一段大家编写程序很多时候都在使用API,它给我们带来了强大的功能.让我们非常惊喜.
但是我们在调试程序的时候有时候总会奔溃.这样很不方便.
其中有些是api惹的祸
使用api注意事项:
首先我说说我的观点.
1:Api是很多系统也在用.我们在设置参数时如果和系统的参数有冲突.就可能引起软件出错
2.api很多都是c语言编写的, ......
学生时代专业是机械,但是参加工作后,机缘巧合从事了与软件相关的工作,就是对大型工程软件软件做一些二次开发,收获过快乐,收获过辛酸,在一次又一次的得与失中,想找一个地方,找一些人可以慢慢与之分享,与之交流,并期得到帮助或提供帮助!也许你是无意见路过,甚或漂过,但你的注目是我前进的动力,有幸驻足也会让我 ......
VB显示透明FLASH效果
演示效果:
代码如下:
公共声明区域
Option Explicit
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetW ......