GLScene/zh CN
│
Deutsch (de) │
English (en) │
français (fr) │
Bahasa Indonesia (id) │
日本語 (ja) │
한국어 (ko) │
português (pt) │
русский (ru) │
中文(中国大陆) (zh_CN) │
关于
GLScene是一个基于OpenGL的3D库。它最初是为Delphi编写的,现在它可以工作C+ + Builder、Kylix、Delphi和Lazarus中。
其主要的特征是:
场景描述
- 分层对象结构,有很多对象内存允许,易于扩展
- 互动场景管理(许多 Delphi 专家)
- 易于使用的对象旋转、运动功能。
- 预定义的对象(立方到茶壶、雪碧等),易于扩展
- 结构对象(虚拟立方体,代理对象)管理复合对象
- 程序的对象(地形,revolution solids,管道,tesselators……)
- 2D和1D对象(精灵,线,样条支持)完全集成支持
- HUD的对象(在二维坐标绘制精灵)
- 实用对象(网格,球场,箭头……)
- 支持类直接访问OpenGL
- 相机和光源,可以用在场景中任何对象的层次结构
- 动作对象可以附加到对象动画,易于扩展
- 每个对象特殊效果(前/后对象渲染和场景效果),容易扩展
- 粒子系统的支持,任何对象或对象结构都可以是粒子
- 3D Studio 文件导入自动精确矢量运算(使用给定的光滑组文件)和纹理坐标导入
- 其他导入格式 : OBJ/OBJF, SMD, MD2, STL, TIN, PLY
材料(Materials)
- 易于使用,优化,材料对象
- 材料库分享与再利用材料
- 光线,弥漫,发射,镜面反射和光亮的支持
- 混合模式的支持(透明度,添加剂……)
- alpha通道的自动生成
- OpenGL纹理格式的支持,包括压缩的DXT、S3TC,等
- 通用的插件着色器支持
- 高效的Cg着色器支持类
- 对于多态纹理图像支持(允许多种格式,以及程序上的纹理),易于扩展
- 150多个预定义的颜色,如clrCornflowerBlue或clrCoolCopper(易于扩展),除了标准的颜色和直接的RGBA规格
- 易于使用的纹理运动和缩放属性,独立于纹理坐标
- 32位位图支持类
渲染
- 自动使用OpenGL(如果可用)
- 一个好的工作模式使用相机焦距和目标
- 一个或多个场景的多个角度切换
- 雾化支持
- 提供一个文件,打印任何颜色或分辨率位图
- 动态分辨率变化的全屏幕支持
- 反射和镜面效果
- 动态阴影
- 高性能大场景透明粒子系统支持
- 自动载体剔除(分层或每个对象)
动画
- 时间进程的事件传播
- 骨骼动画(每个顶点多个骨骼)
- 帧插值和变形目标
- 易于行为扩展
- 动态物理:惯性,加速度,阻力中的应用
- 自动,实时场景节奏
接口
- 易于使用的功能方便拾取对象
- 摄像机运动辅助函数
- 拾取对象平移辅助函数
- 用于屏幕和世界坐标系之间的转换,光线投射
实用程序(Utilities)
- 优化结构功能和实用程序(矢量,四元数和矩阵...)
- 支持三次样条函数和类
- 网格处理和优化(分层、顶点缓存等)
- 点击组件几次就可以使用全功能的屏幕保护程序
- 精确到帧的速率测定
- 异步定时器(多线程)
- 操纵杆支持
- 异步键盘接入,支持键盘映射
截图
作者
作者: initially Mike Lischke 这段时间由 Eric Grange维护 LCL 接口: Christian Ulrich
下载
分支
一个大的更新(截止 2012-05-03)GLScene在:wiki.glscene.info
最新 (v1.0.0.2)
- 新的快照可以在这里找到 Lazarus CCR 页面。今天对原CVS存储库中的功能及错误做了修正,这应该是相同的。然而,仍有一些遗失。不会有“Lazarus-with-GLScene-Installer”这个新版本,除非别人创建它。
--Crossbuilder 20:16, 18 7月 2007 (CEST)
过时
较旧的版本(0.9.1.6)可以在 Lazarus CCR页面 找到,连同Lazarus 安装和GLScene已经在IDE和GlScene的演示里。
更新:这个很老了,如果可能的话使用svn checkout(见下文)。
SVN
在这里检出源文件 http://svn.freepascal.org/svn/fpcprojects/glscene/trunk/
使用命令:
svn co http://svn.freepascal.org/svn/fpcprojects/glscene/trunk glscene
这将下载分支到你的glscene目录。
你Windows你可以使用tortoise SVN或其它工具。
Bug报告
Bug反馈/功能要求 请选择"Lazarus-ccr"项目中的"glscene"分类,感谢。
更新日志
- 18.07.2007 快照发布版本 1.0.0.2
- 调整了些东西,它能工作在最新的lazarus SVN版本
- 添加位图对象到SceneEditor
- 修正SceneEditor中另一个AV
- 将所有补丁和错误修正from original glscene cvs repo like dynamic textures ..
- 13.06.2007 快照发布版本 1.0.0.1
- 合并所有补丁和修正原始GLscene cvs报告
- 改进场景编辑器(崩溃较少,但仍需要一些关爱)
提示:经常保存项目 ;-) - 分离mmsystem的依赖从通用声音支持,如FMOD在Linux下是可用的。
- 更多 ..
- 01.12.06 增加了对ODE的支持,GTK2和Cg着色器在Linux上的支持(ODE仅限于正常释放,不支持cone、ccylinder 和terrains)。
- 10.08.05 太多的变化,张贴在这里,查看CVS历史
- 16.07.05 GLScene 0.9.X 端口
- 查看GLScene SourceForge帐户的完整日志
状态: Beta
安装 1.0.0.2
需要FPC 2.1.4或更高版本,及lazarus0.9.23以上。11348或更高 !!
- 提取源文件
- ZIP:
- 在 "lazarus/components/" 下执行 "unzip glscene-1.0.0.2.zip",这将创建 lazarus/components/glscene/ 文件夹
- SVN:
- 在 "lazarus/components/" 下执行
svn co http://svn.freepascal.org/svn/fpcprojects/glscene/trunk glscene
,这将创建 lazarus/componets/glscene/ 文件夹 - Tortoise SVN: 手动在lazarus/components/下创建文件夹 "glscene", 右击文件夹的空白处选择TortoiseSVN下的 "SVN Checkout(检出)...",在 "URL of repository(版本库URL)"中添加
http://svn.freepascal.org/svn/fpcprojects/glscene/trunk
并确定。
- 在 "lazarus/components/" 下执行
- ZIP:
- 完成安装:
- 复制 "lazarus/components/glscene/globallinks/*.lpl" 到 "lazarus/packager/globallinks/"
- 打开 Lazarus
- 在"包"菜单下选择 "配置已经安装的包 ..."
- 在 "Available packages(可用的软件包)" 中选择 "glscenelazarus"
- 点击 "安装所选" 按钮
- 点击 "保存并重建IDE" 按钮
- 注意:有可能会出现"jpegforlazarus"未找到的错误。如果是的话,你可以执行以下操作:
- 包菜单 --> 打开包文件...
- 选择 "glscenelazarus" (版本 1.0.0.3) 后点击 "打开..."
- 在"Required Packages(所需的软件包)"列表中移除"jpegfromlazarus"
- 查看"jpeg"单元,在/lazarus/components/glscene/Source/base,替换"LazJPEG"(在uses部分)为"LazJPG"(ImagesForLazarus包)
- 保存并重复上述四个步骤。
- 提示:你应该安装了"ImagesForLazarus"包,如果没有,操作方式和安装"glscenelazarus"类似。
- 重复上述4个步骤安装你需要的软件包。
- 注:在glsceneode和glscenecgshader安装时,需要将相关的库安装在系统上。
- 注:你可以尝试选择一个或全部软件包。不过,我喜欢一个一个安装,这样可以查看它的错误,如果出现错误的话;)
- 安装 "glscenelazarus" - 错误: (只需要使用glscene-1.0.0.2.zip,在SVN中这些已经修订)
- 更正单元 GLLCLViewer: procedure TGLSceneViewer.CreateParams(var Params: TCreateParams); - 在 procedure TGLSceneViewerLCL.CreateParams(var Params: TCreateParams);
- 更正单元 GLLCLViewer: procedure TGLSceneViewer.EraseBackground(DC: HDC); - 在 procedure TGLSceneViewerLCL.EraseBackground(DC: HDC);
- 更正单元 GLLCLFullscreenViewer: Change "RegisterClasses([TGLSceneViewer, TGLFullScreenViewer]);" 为 "RegisterClasses([TGLFullScreenViewer]);"
- 软件包列表:
- glscenelazarus 主要包
- glscenecgshader Cg 渲染组件
- glsceneode ODE 组件
- glss_fmodlaz FMOD 组件
- gls_winonly 仅Windows,包含声音支持mmsystem,BASS支持和GLScreenSaver组件
- 编译 "演示" - 错误:
- 如果未找到类 - TGLSceneViewer:修改(演示)GLLCLViewer - 为 GLViewer
安装 0.9.6.1
- 创建目录 lazarus\components\GLScene
- 在目录中解压zip文件
- 打开 Lazarus
- 在组件/打开包文件(.lpk)中,选择lazarus\components\glscene\Lazarus下的glscenelazarus.lpk
- (点击编译是必须的,如果你不想安装组件到IDE)
- 点击安装
- 要使用其他软件包重复这些步骤(打开.lpk,点击安装),注:这些额外的包需要额外的库(FMOD、ODE、CG)。
- glscenecgshader.lpk : Cg着色器(仅适用于NVidia显卡?)
- glsceneode.lpk : 对ODE库支持
- glsss_fmodlaz.lpk : 对FMOD库支持
- gls_winonly.lpk : 只可以安装在Windows上。包含屏幕保护以以及BASS库支持。
提示:如果出现“GLGraphics 未找到”的错误,不要担心,只要在工具中重新构建Lazarus,或许就可以解决。
Lazasrus中安全安装GLScene 可以查看:二进制Win32发布 或 http://www.skinhat.com/lazarus
对于Linux新用户只是个警告: GLScene目前并不能“拿来就用”,需要做些添加或修改。
更新:这个不准确了。Lazarus中的Glscene 是相当出色的,可以实现在Windows及Linux中“拿来就用”。
新的trunk 版本(见上文SVN)在Linux上正常工作,一些演示(约20%)不能正常使用,但大多可以使用。我们也在努力着让它可以在其他Unix平台上完美运行。
在非Windows丢失/不能工作的组件是:glKeyboard (使用WINAPI,但不是必须的居多)、glSound(使用mm,我们需要使用OpenAL或者类似的)。
一个 全功能的Windows安装程序 计划。
帮助
- 可以在 GLScene 首页 找到
- 联系 #glscene channel at freenode.net