游戏开发论坛

 找回密码
 立即注册
搜索
查看: 6875|回复: 8

各种语言如何开始OpenGL(For Beginners)

[复制链接]

5

主题

37

帖子

37

积分

注册会员

Rank: 2

积分
37
发表于 2006-2-12 23:06:00 | 显示全部楼层 |阅读模式
     由于各种原因,我用过VB,VC,C#三种语言练习过OpenGL编程,下面简要的说一下如何在这三种语言中开始OpenGL。由于我还是初学者,不妥之处,敬请各位指正。本贴的附件是OpenGL常用函数的说明(英文版)。
     要开始OpenGL编程,首先系统得具备必要的环境,即OpenGLSDK,包括:*.dll (opengl32.dll, glut32.dll, glu32.dll , glut.dll, glew32.dll );  *.lib for C++(opengl32.lib , glu32.lib ,glut32.lib , glut.lib, glaux.lib);   *.h (gl.h, glaux.h, glew.h, glext.h, glpng.h, glu.h, glut.h) 。
以上必备文件,都可以很容易在网上下载。其中*.dll 放在 Windows\system32下。
     1. 用VB编的,要下载一个 glxctl.ocx 空件,放于Windows\system32下。在VB环境下,打开菜单 工程/部件,加入这个控件,在工程中即可应用,这样就可以任意调用Opengl函数了。
     2. 用VC编的,要把以上列举的 lib 文件放在VC的安装文件的 lib 文件夹下;把 .h 头文件放在include 文件夹下新建文件夹 gl 中。用MFC编程时 打开菜单 工程/设置,在连接选项卡下的 对象/库模块下输入以下东西:opengl32.lib glaux.lib glu32.lib 等,即可。然后在需要用的地方加入以下头文件:#include "gl\gl.h"
#include "gl\glu.h"
#include "gl\glaux.h"
     3. 用C#编就比较麻烦了,在.NET环境下,由于微软力捧其产品D3D,而没有提供OpenGL的用户界面及接口。所以在C#下只能借助于第三方库。其中影响比较大的是 CSGL.  CSGL的官方网站为:http://csgl.sourceforge.net/
另外还有一个:就是CSopenGL
http://www.ia.hiof.no/gb/ptools/csharp/p-csharp.html
有较详细的文档和例子。

sf_200621223534.rar

200.52 KB, 下载次数:

24

主题

256

帖子

267

积分

中级会员

Rank: 3Rank: 3

积分
267
发表于 2006-2-13 08:57:00 | 显示全部楼层

Re:各种语言如何开始OpenGL(For Beginners)

支持一下

5

主题

16

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2006-2-18 21:29:00 | 显示全部楼层

Re:各种语言如何开始OpenGL(For Beginners)

1glut和glut32重复了吧
2最好使用glut而不使用glaux
3缺了一个glew32.lib(glew应该去glew.sourceforge.net 下载)
4vb和c#并不是很好,我以前试图用vb,结果首先是扩展难以使用,别人写好的关于vb的扩展加载库又很难找到。其次是学习时,别人的代码基本都是c/c++写的,转换代码特别费劲

0

主题

13

帖子

13

积分

新手上路

Rank: 1

积分
13
QQ
发表于 2006-2-21 20:44:00 | 显示全部楼层

Re:各种语言如何开始OpenGL(For Beginners)

我是个初学者.呵呵.看不太懂.不过以后会常来学习

7

主题

87

帖子

109

积分

注册会员

Rank: 2

积分
109
QQ
发表于 2006-3-2 21:16:00 | 显示全部楼层

Re:各种语言如何开始OpenGL(For Beginners)

用VB也不是不可以。每次编程时OpenGL中的函数并不是全部使用。用记事本打开GL.h,对照数据类型,把需要的常量int变Long,float变Single;对照函数声明,把需要的函数用Public Declare Function/Sub ... Lib "opengl32.dll"...声明,若是翻译GLU.h则是...Lib "glu32.dll"...。注意数据类型转换正确,碰到指针参数可用VarPtr()。把这些写在一个模块,如此就可以在VB中直接使用OpenGL的函数了,速度比用其它第三方控件都快。

5

主题

37

帖子

37

积分

注册会员

Rank: 2

积分
37
 楼主| 发表于 2006-3-3 21:50:00 | 显示全部楼层

Re:各种语言如何开始OpenGL(For Beginners)

      感谢各位仁兄捧场,本人现在正在做一个关于建筑施工的仿真系统,目前正做起重机械的仿真,(包括履带式,塔吊,汽车吊,桅杆吊等)。最初是用VB做的,考虑到以后还要加入其他的施工机械(挖土机,铲车,推土机等),还有砌墙等其他工序,这样场景大了复杂了之后Vb就应付不来了,就是现在每次用VB调试运行,就得等两三分钟。所以现在正往VC里转。以后有什么心得我还会贴出来,供大家讨论。
      gl2老兄说得对,初学者可以用辅助库函数(aux打头的),但做东西时用要谨慎,由于这些函数绘制图形时并未指定法向,这时加入光照时就无法得到正确的渲染效果,最好用glut实用库对应函数。
      VB和C#确实不适合做OpenGL项目,所以劝大家做项目时还是不要选这些语言,最好能用c/c++. 我现在天天改写项目,感觉确实很郁闷!

9

主题

106

帖子

106

积分

注册会员

Rank: 2

积分
106
QQ
发表于 2006-3-8 18:25:00 | 显示全部楼层

Re:各种语言如何开始OpenGL(For Beginners)

  呵呵,楼主说的这个glxctl.ocx控件哪有下载的?

5

主题

37

帖子

37

积分

注册会员

Rank: 2

积分
37
 楼主| 发表于 2006-3-9 20:08:00 | 显示全部楼层

Re: 各种语言如何开始OpenGL(For Beginners)

    楼上的兄弟好,偶给你贴出来吧,省得去找了!
    大概设置过程:把VBOGL.TLB和glxCtl.ocx 先放到System32下。打开一个工程,先添加引用,在列表中选择VB OpenGL API 1.2 (ANSI);再添加部件,选择glxCtl添加即可。最后把添加的控件添加到你窗体上即可。初始化及其他设置,看附件里的文本说明。

sf_20063920826.rar

380.88 KB, 下载次数:

5

主题

37

帖子

37

积分

注册会员

Rank: 2

积分
37
 楼主| 发表于 2006-4-27 16:55:00 | 显示全部楼层

Re:各种语言如何开始OpenGL(For Beginners)

vb Opengl编程早就发过 了,不过贴子沉下去了,要把它顶上来,造福后来兄弟!
这里的附件就是VB 用OpenGL所需的文件,设置步骤上面也有。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-24 08:35

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表