用记事本打开GL.h,对照数据类型,把需要的常量int变Long,float变Single;对照函数声明,把需要的函数用Public Declare Function/Sub ... Lib "opengl32.dll"...声明,若是翻译GLU.h则是...Lib "glu32.dll"...。注意数据类型转换正确,碰到指针参数可用VarPtr()。把这些写在一个模块,如此就可以在VB中直接使用OpenGL的函数了,速度比用其它第三方控件都快。
OPENGL坐标变换,世界坐标系都不动,以屏幕中心为原点(0, 0, 0),你面对屏幕,右边是x正轴,上面是y正轴,屏幕指向你的为z正轴。当前绘图坐标系是绘制物体时的坐标系。程序刚初始化时,世界坐标系和当前绘图坐标系是重合的,当用glTranslatef()等变换函数做移动和旋转时,都是改变的当前绘图坐标系,改变的位置都是当前绘图坐标系相对自己的x, y,z轴所做的改变,改变以后,再用glVertex3f()等绘图函数绘图时,都是在当前绘图坐标系进行绘图,所有的函数参数也都是相对当前绘图坐标系来讲的。