http://book.51cto.com/art/201104/255588.htm

第1章  架好通向OpenGL的桥

本章主要是为以后进行的OpenGL编程进行一些铺垫工作。主要内容有:OpenGL组件包的安装、如何从VC++ 6.0下的OpenGL程序中提取有用的信息、glut库的设置。

1.1   由C++Builder 6.0 通向OpenGL(1)

事实上,大家所用的操作系统Windows XP、Windows 2000与开发环境C++Builder 6.0已经将这座桥架好。我们现在所要做的工作就是将桥面铺平,以便我们走得更舒服。我们这里所有的设置是以Windows XP操作系统为例进行说明。

简单介绍一个组件:TOpenGLB 6。这个组件是由Alan开发的,用于OpenGL编程时进行背景设置。现在可以免费使用这个组件(这里有个非常有趣的故事,大家可以阅读本章后面的内容)。读者可以从http://www.hellix.com/Alan/Computing/免费下载。

看过OpenGL方面书的读者都知道,所有的OpenGL程序都要设置一个背景,每次都要写:

  1. #include<gl/gl.h>
  2. #include<gl/glu.h>

还要进行屏幕的颜色、大小、长宽比例、在窗口中的位置等方面的设置。而且在VC++中这些设置都需要特定的函数来实现。好了,现在我们可以把这项工作交给TOpenGLB 6组件去做,实现上面提到的效果只需用鼠标拖曳一下即可。

当然读者也可以使用其他功能更强大的组件包,但在网上找了一下并没有找到适用于C++Builder 6.0的OpenGL方面的组件(用于C++Builder 4.0、C++Builder 5.0倒有不少)。当然,如果读者对C++Builder 6.0和OpenGL都比较了解的话,可以自己开发最适合自己用的组件。

下面用TOpenGLB 6组件包来铺设 "桥面"。

考虑到一般人会将应用程序安装到D盘,以下均假定C++Builder 6.0的安装目录为 D:\Program Files\Borland\CBuilder 6。首先,将TOpenGLB 6(里面包含了OpenGL组件包的所有文件)文件夹放到CBuilder 6文件夹下。工作正式开始:

打开C++Builder 6.0。在菜单栏选择"组件"→"安装包"命令,如图1-1所示。

 
(点击查看大图)图1-1  组件安装包略图

单击后,将看到如图1-2所示的界面,单击"添加"按钮。

 
(点击查看大图)图1-2  安装过程示意图

如图1-3所示,这里的对话框让你来选择组件包文件。打开文件夹TOpenGLB 6,选择OpenGLPackage.bpl文件,单击"打开"按钮就可以了。

 
(点击查看大图)图1-3  选择安装包

然后会出现如图1-4所示的界面。大家观察一下我们前面所做工作的效果。在C++Builder 6.0组件面板中,最后的位置多出了一个Helix标签。单击一下,你会发现它上面出现了一个OpenGL组件。而它就是我们所需要的,以后所有的程序就是用它来设置屏幕背景的。

 
(点击查看大图)图1-4  Helix标签添加效果

1.1 由C++Builder 6.0 通向OpenGL(1)的更多相关文章

  1. BCB6.0(Borland C++ Builder 6.0)下载位置(P2P)

    这个老东西还真不好找,搜索了一下,有一些所谓的精简版,绿色版,破解版,不靠谱. 公司有正版光盘,我装过,下面这两个应该是原版的: CD1: ed2k://|file|%5BBorland.C...Bu ...

  2. javafx:JavaFX Scene Builder 2.0打开含有第三方jar包的fxml文件报错 Caused by: java.lang.ClassNotFoundException

    报错如下: java.io.IOException: javafx.fxml.LoadException: /C:/User.................test.fxml at com.orac ...

  3. 报表工具Report Builder 3.0的安装

    工作后第一次尝试独立安装一个软件啊 话不多说,总结一下过程 前言:已经Baidu了Report Builder 3.0的安装教程了,就到微软的官网上下载去了,下载完成双击程序安装告诉我,要想安装Rep ...

  4. DSP Builder 12.0安装及crack方法

    在安装dsp_builder之前请确保已安装所需要的matlab版本 在此之前我已经安装了matlab R2011a,下面安装dsp builder 下面就是破解了,因为12.0的版本刚出,还没有相应 ...

  5. VC++6.0使用OpenGL前的配置(必看)

    要在VC++6.0中使用opengl,需要配置一下环境设置. 具体需要两步: 1.加入一个头文件,两个lib文件,两个dll文件,放在合适位置. 2.配置一下vc++6.0的Project Setti ...

  6. (BCB)C++ Builder 6.0在Win7下如何使用帮助Help

    因为Win7.Win8.Win8.1不再支持.hlp帮助类型,在BCB中无法打开帮助Help,打开时出错:"不包括功能"或"不受支持的帮助",提示如下: 为何无 ...

  7. 解决C++ builder 4.0编译后的程序在某些计算机上运行出现"EAccessViolation" 的错误

    1. bordbk41.dll is missing or not registered. regsvr32 "C:\Program Files (x86)\Common Files\Bor ...

  8. 基于Cocos2d-x学习OpenGL ES 2.0系列——OpenGL ES渲染之LayerColor(8)

    在前面文章中讲述了Cocos2d-x引擎OpenGL渲染准备Shader方面,本文主要讲解使用LayerColor来讲述OpenGL的渲染过程. 1.LayerColor对象创建 添加LayerCol ...

  9. 基于Cocos2d-x学习OpenGL ES 2.0系列——OpenGL ES渲染之Shader准备(7)

    Cocos2d-x底层图形绘制是使用OpenGL ES协议的.OpenGL ES是什么呢? OpenGL ES(OpenGl for Embedded System)是OpenGL三维图形API的子集 ...

随机推荐

  1. 笔记-python-lib-lxml

    笔记-python-lib-lxml 1.      lxml简介 lxml是一个实现解析网页文件的库,python中自带有解析库,但没有lxml方便好用. The lxml XML toolkit ...

  2. 20,Django contenttypes 应用

    contenttypes 是Django内置的一个应用,可以追踪项目中所有app和model的对应关系,并记录在ContentType表中. 1.创建一个项目 2.数据库迁移,生成默认表. 3.存着所 ...

  3. 12,nginx+uWSGI+django+virtualenv+supervisor发布web服务器

    导论 WSGI是Web服务器网关接口.它是一个规范,描述了Web服务器如何与Web应用程序通信,以及Web应用程序如何链接在一起以处理一个请求,(接收请求,处理请求,响应请求) 基于wsgi运行的框架 ...

  4. [原]sencha touch之表单二(注册页面)

    接着上一篇的登陆页面,来一个最简单的注册页面,几乎包含了常用的field Ext.application({ id:'itKingApp', launch:function(){ var formPa ...

  5. Error:Java home supplied via 'org.gradle.java.home' is invalid

    Finally i found my solution. In the project root i found gradle.properties configure this java home ...

  6. Category的真相

    Objective-C 中的 Category 就是对设计模式中装饰模式的一种具体实现.它的主要作用是在不改变原有类的前提下,动态地给这个类添加一些方法. 使用场景 根据苹果官方文档对 Categor ...

  7. 剑指Offer - 九度1522 - 包含min函数的栈

    剑指Offer - 九度1522 - 包含min函数的栈2013-12-01 23:44 题目描述: 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数. 输入: 输入可能包含多个测 ...

  8. 【Balanced Binary Tree】cpp

    题目: Given a binary tree, determine if it is height-balanced. For this problem, a height-balanced bin ...

  9. 【Luogu P2257】YY 的 GCD

    题目 求: \[ \sum_{i = 1}^n \sum_{j = 1}^m [\gcd(i, j) \in \mathbb P] \] 有 \(T\) 组数据, \(T\le 10^4, n, m\ ...

  10. Java基础-5运算符

    一).算数运算符: 算术运算符的功能是做各种算术运算,其操作数可以是字符型.整型或浮点型数据. 运算符 运算 示例 结果 备注 + 加 5+5 10   - 减 4-2 2   * 乘 2*3 6 既 ...