关键词不能为空

当前您在: 主页 > 英语 >

GLScene基础

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-13 19:33
tags:

-

2021年2月13日发(作者:演习)


近日因为工程关系接触的


vcl



一个评价相当高的


delphi + opengl


开源引擎,


开发一般的


2d3d


游戏完 全足够。


好像没看见这里讨


论过,简单介绍一下,供初学者参考 。已证明


delphi7


可用,之后的版本没试验。

< p>


官方网站:



/



source forge




/



帮助文件:



//

*checkout*/glscene/Help/?rev=1.6




安装时可能会有些问题,以下的经验多少会有点帮助:



1


、编译的时候找不到



。该文件在压缩包的


Source


目录下,拷 贝到要安装版本的目录下就没问题。



2


、安装



时候出现找不到



的错误。这个


dll


包含在


nvidia



Cg Compiler



Cg Toolkit

中,可以到官方网站


/


下载,似乎是针对

< br>n


卡硬件的驱动,不知道其他卡上能不能正常运行。这个


dll


只影响


cgshaders


里的


demo




3


、找不到



。这个错误有点奇怪,一些 旧版本的压缩包都包含


plugin


目录,附件里包含一个


v09b_D6


版本的


plugin


目录,解压到


source


目录就可以顺利编 译。




如果能顺利安装,请看 一下


demo


里面的例子,的确是一个不错的引擎。

< p>



GLScene


库的完整安装说明


< /p>


GLScene


开源库为


Delphi< /p>


提供了基于


OpenGL



3D


框架,


通过


GLSce ne


的组件,


你可以轻松的创建和渲染你的

3D


场景。


而令


人惊讶的是,对于 这么优秀的开源库,在网络上居然找不到一个完整的安装说明,甚至于


GLScene< /p>


本身的官方文档也是不完整


的。



基于这样的状况,


我觉得很有必要和大家分享一下

GLScene


库完整的安装步骤。


我的实践环境是


WindowsXP + Delphi 6.0 +


Delphi


Web ScriptII 2.0


+


GLScene 1000714


,各位的安装版本如有不同, 可能需要稍作修改。



为了描述方便,


这里用


{Delphi}


表示


Delp hi


的安装目录,


{DWSII}


表示


Delphi Web ScriptII


的解压目录,


{GLScene}


表示


GLScene


的解压目录。对于


Delphi Web ScriptII


库和


GLScene


库,你也可以直接通过上 文的相关链接获取完整的压缩包。




Delphi



Library Path


列表中,添加如下路径:



{DWSII}Source


{GLScene}Source


{GLScene}SourceBase


{GLScene}SourceCgShaders


{GLScene}SourceDesignTime


{GLScene}SourceFileFormats


{GLScene}SourceGameAPIs


{GLScene}SourcePhysicsAPIs


{GLScene}SourcePlatform


{GLScene}SourcePlugIn


{GLScene}SourceScriptingAPIs


{GLScene}SourceShaders


{GLScene}SourceSoundAPIs


{GLScene}SourceVideoAPIs


搜索< /p>


{GLScene}


中的













,将它们全部拷贝到


{Delphi}Pro jectsBpl


目录,然后


安装


{D WSII}


包,最后安装


{GLScene}Delphi6< /p>


目录下的




GL S_





GL S_



GLS_


GLSS_



GLSS_


包。





GLScene


基础



在开始使用


GLScene


之前先让我们了解一下< /p>


GLScene


的基本构成。一个


GLS cene


场景由以下几个基本物体构




成:




1.







基本场景




2.







摄像机




3.







灯光系统




4.







基本物体




5.







辅助物体




6.







材质贴图




7.







场景观察器




2.1


基本场景





GLScene

< br>中是以场景为基本构成对象。场景是所有其它物体的父容器,我们所构建的所有可视物体或特




效都将在场景中显示。




场景由


GLScene


(场景产生器)产生,一 个工程中可以有多个场景产生器,也就是说一个工程中可以同时




拥有多个场景。下面让我们来看一下如何产生一个场景,双击 中


GLScene


控件栏的




,这时会在窗体中显示




出一个




控件。表示我们已经成功的引进了一个场景,不过此时的场景中没有任何物体。我们继续 在窗体




中的




上双击鼠标左键。此时将会弹出场景编辑器:






2.1



场景编辑器




通过对象查看器我们可以:




·











创建摄像机




·











创建或导入我们需要的物体




场景编辑器由工具栏和工作区两部分组成,我们的绝大多数操作都会在工作区中完成。




2.2














摄像 机是察场和用户之间的视觉接口,用户只有通过摄像机才能观察场景中的内容。




创建摄像机




在场景观察器中选中




,然后单击鼠标右键弹出场景编辑器快捷菜单,其中添加摄 像机(


Add



Camera


)选




项将被激活,单击该按钮系统中将会添加一台摄像机如图


2.2





2.2



添加摄像机




摄像机关键属性






·











CameraStyle



/



摄像机类型




决定摄像机的类型


.




共有如下四个选项




:



透视摄像机,成像图为透视图(默认选项)






直角摄像机,成像图为直角图像。





平面设想机,成像图为


2D


效果,仅存在


XY


轴的概念。

< br>




自定义摄像机,你可以自由设置参数。




·











DepthOfView



/



景深




确定摄像机的景深。





影响当前摄像机的最大观察距离,超过这个距离的场景将被剪 切(不可见)


.



< p>
该属性仅在


Z


轴上产生影响,一般景深的默认值为


100



.




注意在


2D


模式中该属性将不起作用


.



·











Direction




/



方向




该 属性确定摄像机镜头所在的方向,由


X



Y



Z


三个轴共同作用,且这三个方 向上的值均为浮点类型,最




大取 值为


1


最小取值为


-1






·











FocalLength



/



焦距




定义摄像机的焦距。





调整当前摄像机的焦距(调节过度会使图像显示走样)


.



·











SceneScale



/



场景缩放




缩放摄像机中的场景。






2 D


场景中产生的线形缩放,相当于调整景深的效果。




·











Position



/



位置




该属性确定摄像机镜头所在的方向,由


X



Y



Z


三 个轴共同作用,且这三个方向上的值均为浮点类型。




·











TargetObject



/



成像目标




设置摄像机所指向的目标物体


.




当为摄像机选择一个目标物体时摄像机本身的方向性将被忽略 ,它将始终指向目标物体。




·











NearPlane



/



近景




获得当前摄像机的视角值。





返回值由当前摄像机的景深和焦距决定。




2.3





灯光












和现实世界一样


GLScene< /p>


中也需要灯光来照亮场景中的物体。灯光的设置和大程度上决定了场景



效果。












一个


OPENGL


场景中最多支持


8


盏灯光(实际上和

< br>OPENGL


的版本和机器配置有关)


。过多的灯光将< /p>




使渲染




速度降低。请慎重使用








创建灯光





GLScene

< br>场景编辑器其中选中场景物体(


Scene



object



,然后单击鼠标右键,场景编 辑器快捷菜单此




时添加物体




(Add



object)



选项将被激活,单击该按钮系统中将会弹出其子菜单,选择 第一项(




LightSourc e



。如图


2.3




一盏灯光将会被加入到当前场景中。如图


2.4







2.4





添加灯光




灯光属性




·











Ambient



/



环境色




获取或设置周围环境的颜色







·











ConstAttenuation



/



衰减常量











获取或设置灯光的衰减量。




·











Diffuse



/



散射光颜色











获取或设置漫反射的灯光颜色







·











LinearAttenuation



/



线形衰减




读取或设置灯光的线形衰减值







·











QuadraticAttenuation



/



二次方程式衰减




读取或设置二次方程的衰减值







·











LightStyle



/



灯光类型




获取或设置灯光的类型







灯光类型包括




lsSpot



聚光灯







lsParallel



平面灯





lsOmni



泛光灯。




·











Shining



/



灯光强度




获取或设置灯光的强度







·











Specular



/



镜面效果




获取或设置境面效果








·











SpotCutOff



/



投射范围




(聚光灯)





获取或设置灯光的投射范围







·











SpotDirection



/



投射方向(聚光灯)




获取或设置聚光灯投射的方向







·











SpotExponent



/



投射指数(聚光灯)




获取或设置聚光灯的投射指数









2.4




基本物体






场 景中有了摄像机和灯光只是搭建了一个最基本的平台,而我们主要最关心则如何是向这个平台中添加物

< p>



体,使其丰富起来。




GLScene



中提供了一些内 置的基本物体供我们使用,这些物体的使用方式大体相同,以下仅举一例


(CUBE)



来说明,以达到抛砖引玉的作用。






2.4.1



创建


CUBE



在场景编辑器中选中场景物体(


Scene



Objects


)选项,然后单击 鼠标右键,在弹出的场景编辑器快捷菜




单中选择


”Basic



geometry-


> Cube”



,如图


2.5


所示:

< br>





2.5



创建


Cube


< br>此时一个


Cube


将被加入到场景编辑器中。如图


2.6


所示。


-


-


-


-


-


-


-


-



本文更新与2021-02-13 19:33,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/652288.html

GLScene基础的相关文章