前一段时间,需要弄一个四轴的监控平台,看了匿名的上位机后,十分感兴趣。于是我也想自己也弄一个上位机来玩玩,在将串口通讯调好了以后,就开始好奇那个3D模型是怎么弄的。在网上面查找了很多资料,由于我用的是Delphi来开发的,而现在有关Delphi的资料也不是太多,最后还是找到了一个好东西,就是GL_Scene。

  废话少说,先上GL_Scene的下载地址。

1、下载GL_Scene控件(http://glscene.sourceforge.net/wikka/HomePage)

论坛中下载(http://download.csdn.net/download/freem123/4847888)

2、安装参考教程(http://blog.163.com/tfn2008@yeah/blog/static/11032131920130233718611/)

【注】:如果下载失败,可以在这里下载链接:http://pan.baidu.com/s/1qWt5gDY 密码:yx0o

【注意事项】:

1、把这些文件考到delphi的安装目录下

2、打开delphi,点击tools/Environmen Options/Library,选择Library path的目录就是刚刚考到安装目录下的Delphi7和source位置。

3、打开Delphi7/GLScene7.dpk后,点击incal

【安装失败】:

1、文件的目录没有设置好,把相应的文件包含在Library path中(重复注意事项中的第二步)

2.搜索{GLScene}中的SDL.dll、cg.dll、cgGL.dll、ode.dll、bass.dll和fmod.dll,将它们全部拷贝到{Delphi}\Projects\Bpl目录。

【安装成功后_会出现】

出现了这几图标,就说明已经安装成功了。

/**************************************************************************************/

/*                          第一个实例:创建一个3D视图                                                                                     */

/**************************************************************************************/

【步骤1】:添加GLScene和GLSceneViewer在窗体上

【步骤2】:双击GLScene,进入界面

依次进行以上的操作。

【步骤3】:添加基本物体(灯光、摄像机、物体)

1.添加一个实体,点击Cylinder

2.添加一个GLLightSource.

3.添加一个GLDummyCube,在GLDummyCube上有击添加一个GLCamera

【步骤4】:属性设置

1.设置GLSceneViewer,的Camera的值是刚刚添加的GLcamera1.(关联到摄像机)

选择Buffer里的BackgroundColor为ckground(设置背景颜色)

设置完后可以看到窗体上是黑色的。先不要着急,还有东西需要设置呢。

2.设置GLCamera的Position的XYZ分别为18,18,15

设置GLCamera的TargetObiect为GLDummyCube1

设置GLCamera的FocalLenth的值为400

设置完后可以看到一个虚线的框(因为没有设置灯光,所以实物我们看不见)

3. 设置灯光GLLightSource的Position的值分别为10,10,10

这样就可以看到我们刚刚创建的一个圆柱体了。

Delphi笔记(GL_Scene安装及简单使用)的更多相关文章

  1. Django学习笔记(一):环境安装与简单实例

    Django学习笔记(一):环境安装与简单实例 通过本文章实现: Django在Windows中的环境安装 Django项目的建立并编写简单的网页,显示欢迎语与当前时间 一.环境安装 结合版本兼容性等 ...

  2. CentOS学习笔记--Tomcat安装

    Tomcat安装 通常情况下我们要配置Tomcat是很容易的一件事情,但是如果您要架设多用户多服务的Java虚拟主机就不那么容易了.其中最大的一个问题就是Tomcat执行权限.普通方式配置的Tomca ...

  3. (转)ZooKeeper 笔记(1) 安装部署及hello world

    ZooKeeper 笔记(1) 安装部署及hello world   先给一堆学习文档,方便以后查看 官网文档地址大全: OverView(概述) http://zookeeper.apache.or ...

  4. Thrift的安装和简单演示样例

    本文仅仅是简单的解说Thrift开源框架的安装和简单使用演示样例.对于具体的解说,后面在进行阐述. Thrift简述                                           ...

  5. 《深入理解OSGi:Equinox原理、应用与最佳实践》笔记_1_运行最简单的bundlehelloworld

    <深入理解OSGi:Equinox原理.应用与最佳实践>笔记_1_运行最简单的bundlehelloworld 买了周大大的OSGI的书看 先前完全没有基础 就靠这本书看看学学 顺便记一些 ...

  6. Redis 安装与简单示例

    Redis 安装与简单示例 一.Redis的安装 Redis下载地址如下:https://github.com/dmajkic/redis/downloads 解压后根据自己机器的实际情况选择32位或 ...

  7. Git学习笔记(一) 安装及版本库介绍

    安装Git 最早Git是在Linux上开发的,很长一段时间内,Git也只能在Linux和Unix系统上跑.不过,慢慢地有人把它移植到了Windows上.现在,Git可以在Linux.Unix.Mac和 ...

  8. storm笔记:Storm+Kafka简单应用

    storm笔记:Storm+Kafka简单应用 这几天工作须要使用storm+kafka,基本场景是应用出现错误,发送日志到kafka的某个topic.storm订阅该topic.然后进行兴许处理.场 ...

  9. (转)python requests的安装与简单运用

    requests是python的一个HTTP客户端库,跟urllib,urllib2类似,那为什么要用requests而不用urllib2呢?官方文档中是这样说明的: python的标准库urllib ...

随机推荐

  1. 动态规划——E (LIS())最长上升子序列

    E - LIS Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit Stat ...

  2. 2013=10=19 ENGLISH 翻译

    数据结构习题及答案 严蔚敏_课后习题答案 http://www.doc88.com/p-243584884293.html 273089354 随着女性获得平等权力的趋势,女性日渐增长的经济权力以及为 ...

  3. 更新一波题解(最近做的三个dp题)

    很久没写题解了,去ec之前来填一填坑,希望能攒攒人品... 首先是去年上海F题..uvalive7143 题意: 给n个人分 m间房子,每个房间的容量是已知的,其中有k对双胞胎,双胞胎可以看作相同的人 ...

  4. hdu 4608 I-number 大整数

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4608 #include <cstdio> #include <cmath> # ...

  5. poj1016

    题目大意:数据统计 看明白了,就是给你一个数,例如31123314,代表的意思有3个1,1个2,3个3,1个4,但数字本身的有的数字也是有3个1,1个2,3个3,1个4,所以这样的数叫做self-in ...

  6. 初次了解CSS3

    什么是CSS,什么是CSS3? 非常简单,CSS代表"Casading Style Sheets",就是样式表,是一种替代并为网站添加样式的标记性语言.现在所使用的CSS基本是在1 ...

  7. Http报文 状态码

    一.HTTP报文 1.HTTP报文介绍 HTTP报文:用于HTTP协议交互的信息. HTTP报文由报文头部和报文主体(非必须)构成,中间由空行来分隔. 1.1 请求报文:客户端发起的报文. 1).报文 ...

  8. Hard 计算0到n之间2的个数 @CareerCup

    一种是Brute force,O(nlogn) 另一种是找规律O(n),见http://hawstein.com/posts/20.4.html 当某一位的数字小于2时,那么该位出现2的次数为:更高位 ...

  9. MongoDB 逻辑与操作

    看下面两个例子 rs1:PRIMARY> db.display.find({$and: [{$where: '(1386813645 - this.last_active_time > 3 ...

  10. C++中一个函数隐藏的有趣例子

    函数隐藏是一个函数的定义或声明导致其他一些函数不可见. 函数A隐藏函数B的条件:      1. 两个函数具有相同的函数名称      2. 具有不同的作用域.所谓定义域函数定义或声明的位置,如全局作 ...