GLScene/zh CN: what changed
Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.
Title: GLScene/zh CN
| Old | New | Line | |
|---|---|---|---|
| 1 | + | ### 关于 | |
| 2 | + | ||
| 3 | + | GLScene是一个基于OpenGL的3D库。它最初是为Delphi编写的,现在它可以工作C+ + Builder、Kylix、Delphi和Lazarus中。 | |
| 4 | + | ||
| 5 | + | 其主要的特征是: | |
| 6 | + | ||
| 7 | + | 场景描述 | |
| 8 | + | ||
| 9 | + | - 分层对象结构,有很多对象内存允许,易于扩展 | |
| 10 | + | - 互动场景管理(许多 Delphi 专家) | |
| 11 | + | - 易于使用的对象旋转、运动功能。 | |
| 12 | + | - 预定义的对象(立方到茶壶、雪碧等),易于扩展 | |
| 13 | + | - 结构对象(虚拟立方体,代理对象)管理复合对象 | |
| 14 | + | - 程序的对象(地形,revolution solids,管道,tesselators……) | |
| 15 | + | - 2D和1D对象(精灵,线,样条支持)完全集成支持 | |
| 16 | + | - HUD的对象(在二维坐标绘制精灵) | |
| 17 | + | - 实用对象(网格,球场,箭头……) | |
| 18 | + | - 支持类直接访问OpenGL | |
| 19 | + | - 相机和光源,可以用在场景中任何对象的层次结构 | |
| 20 | + | - 动作对象可以附加到对象动画,易于扩展 | |
| 21 | + | - 每个对象特殊效果(前/后对象渲染和场景效果),容易扩展 | |
| 22 | + | - 粒子系统的支持,任何对象或对象结构都可以是粒子 | |
| 23 | + | - 3D Studio 文件导入自动精确矢量运算(使用给定的光滑组文件)和纹理坐标导入 | |
| 24 | + | - 其他导入格式 : OBJ/OBJF, SMD, MD2, STL, TIN, PLY | |
| 25 | + | ||
| 26 | + | 材料(Materials) | |
| 27 | + | ||
| 28 | + | - 易于使用,优化,材料对象 | |
| 29 | + | - 材料库分享与再利用材料 | |
| 30 | + | - 光线,弥漫,发射,镜面反射和光亮的支持 | |
| 31 | + | - 混合模式的支持(透明度,添加剂……) | |
| 32 | + | - alpha通道的自动生成 | |
| 33 | + | - OpenGL纹理格式的支持,包括压缩的DXT、S3TC,等 | |
| 34 | + | - 通用的插件着色器支持 | |
| 35 | + | - 高效的Cg着色器支持类 | |
| 36 | + | - 对于多态纹理图像支持(允许多种格式,以及程序上的纹理),易于扩展 | |
| 37 | + | - 150多个预定义的颜色,如clrCornflowerBlue或clrCoolCopper(易于扩展),除了标准的颜色和直接的RGBA规格 | |
| 38 | + | - 易于使用的纹理运动和缩放属性,独立于纹理坐标 | |
| 39 | + | - 32位位图支持类 | |
| 40 | + | ||
| 41 | + | 渲染 | |
| 42 | + | ||
| 43 | + | - 自动使用OpenGL(如果可用) | |
| 44 | + | - 一个好的工作模式使用相机焦距和目标 | |
| 45 | + | - 一个或多个场景的多个角度切换 | |
| 46 | + | - 雾化支持 | |
| 47 | + | - 提供一个文件,打印任何颜色或分辨率位图 | |
| 48 | + | - 动态分辨率变化的全屏幕支持 | |
| 49 | + | - 反射和镜面效果 | |
| 50 | + | - 动态阴影 | |
| 51 | + | - 高性能大场景透明粒子系统支持 | |
| 52 | + | - 自动载体剔除(分层或每个对象) | |
| 53 | + | ||
| 54 | + | 动画 | |
| 55 | + | ||
| 56 | + | - 时间进程的事件传播 | |
| 57 | + | - 骨骼动画(每个顶点多个骨骼) | |
| 58 | + | - 帧插值和变形目标 | |
| 59 | + | - 易于行为扩展 | |
| 60 | + | - 动态物理:惯性,加速度,阻力中的应用 | |
| 61 | + | - 自动,实时场景节奏 | |
| 62 | + | ||
| 63 | + | 接口 | |
| 64 | + | ||
| 65 | + | - 易于使用的功能方便拾取对象 | |
| 66 | + | - 摄像机运动辅助函数 | |
| 67 | + | - 拾取对象平移辅助函数 | |
| 68 | + | - 用于屏幕和世界坐标系之间的转换,光线投射 | |
| 69 | + | ||
| 70 | + | 实用程序(Utilities) | |
| 71 | + | ||
| 72 | + | - 优化结构功能和实用程序(矢量,四元数和矩阵...) | |
| 73 | + | - 支持三次样条函数和类 | |
| 74 | + | - 网格处理和优化(分层、顶点缓存等) | |
| 75 | + | - 点击组件几次就可以使用全功能的屏幕保护程序 | |
| 76 | + | - 精确到帧的速率测定 | |
| 77 | + | - 异步定时器(多线程) | |
| 78 | + | - 操纵杆支持 | |
| 79 | + | - 异步键盘接入,支持键盘映射 | |
| 80 | + | ||
| 81 | + | ### 截图 | |
| 82 | + | ||
| 83 | + |   \ | |
| 84 | + |  | |
| 85 | + | ||
| 86 | + | ### 作者 | |
| 87 | + | ||
| 88 | + | 作者: initially Mike Lischke 这段时间由 Eric Grange维护 LCL 接口: Christian Ulrich | |
| 89 | + | ||
| 90 | + | ### 下载 | |
| 91 | + | ||
| 92 | + | #### 分支 | |
| 93 | + | ||
| 94 | + | 一个大的更新(截止 2012-05-03)GLScene在:[wiki.glscene.info](http://wiki.glscene.info) | |
| 95 | + | ||
| 96 | + | #### 最新 (v1.0.0.2) | |
| 97 | + | ||
| 98 | + | - 新的快照可以在这里找到 [Lazarus CCR 页面](http://sourceforge.net/projects/lazarus-ccr/files/GLScene/)。今天对原CVS存储库中的功能及错误做了修正,这应该是相同的。然而,仍有一些遗失。不会有“Lazarus-with-GLScene-Installer”这个新版本,除非别人创建它。 | |
| 99 | + | ||
| 100 | + | --Crossbuilder 20:16, 18 7月 2007 (CEST) | |
| 101 | + | ||
| 102 | + | #### 过时 | |
| 103 | + | ||
| 104 | + | 较旧的版本(0.9.1.6)可以在 [Lazarus CCR页面](http://sourceforge.net/project/showfiles.php?group_id=92177&package_id=98986&release_id=364007) 找到,连同Lazarus 安装和GLScene已经在IDE和GlScene的演示里。 | |
| 105 | + | ||
| 106 | + | 更新:这个很老了,如果可能的话使用svn checkout(见下文)。 | |
| 107 | + | ||
| 108 | + | ### SVN | |
| 109 | + | ||
| 110 | + | 在这里检出源文件 <http://svn.freepascal.org/svn/fpcprojects/glscene/trunk/> | |
| 111 | + | ||
| 112 | + | 使用命令: | |
| 113 | + | ||
| 114 | + | svn co http://svn.freepascal.org/svn/fpcprojects/glscene/trunk glscene | |
| 115 | + | ||
| 116 | + | 这将下载分支到你的*glscene*目录。 | |
| 117 | + | ||
| 118 | + | 你Windows你可以使用tortoise SVN或其它工具。 | |
| 119 | + | ||
| 120 | + | ### Bug报告 | |
| 121 | + | ||
| 122 | + | [Bug反馈/功能要求](http://bugs.freepascal.org/) 请选择"Lazarus-ccr"项目中的"glscene"分类,感谢。 | |
| 123 | + | ||
| 124 | + | ### 更新日志 | |
| 125 | + | ||
| 126 | + | - 18.07.2007 快照发布版本 1.0.0.2 | |
| 127 | + | - 调整了些东西,它能工作在最新的lazarus SVN版本 | |
| 128 | + | - 添加位图对象到SceneEditor | |
| 129 | + | - 修正SceneEditor中另一个AV | |
| 130 | + | - 将所有补丁和错误修正from original glscene cvs repo like dynamic textures .. | |
| 131 | + | - | |
| 132 | + | - 13.06.2007 快照发布版本 1.0.0.1 | |
| 133 | + | - 合并所有补丁和修正原始GLscene cvs报告 | |
| 134 | + | - 改进场景编辑器(崩溃较少,但仍需要一些关爱)\ | |
| 135 | + | **提示:**经常保存项目 ;-) | |
| 136 | + | - 分离mmsystem的依赖从通用声音支持,如FMOD在Linux下是可用的。 | |
| 137 | + | - 更多 .. | |
| 138 | + | - 01.12.06 增加了对ODE的支持,GTK2和Cg着色器在Linux上的支持(ODE仅限于正常释放,不支持cone、ccylinder 和terrains)。 | |
| 139 | + | - 10.08.05 太多的变化,张贴在这里,查看CVS历史 | |
| 140 | + | - 16.07.05 GLScene 0.9.X 端口 | |
| 141 | + | - 查看GLScene SourceForge帐户的完整日志 | |
| 142 | + | ||
| 143 | + | 状态: Beta | |
| 144 | + | ||
| 145 | + | ### 安装 1.0.0.2 | |
| 146 | + | ||
| 147 | + | **需要FPC 2.1.4或更高版本,及lazarus0.9.23以上。11348或更高 !!** | |
| 148 | + | ||
| 149 | + | - **提取源文件** | |
| 150 | + | - ZIP: | |
| 151 | + | - 在 "lazarus/components/" 下执行 "unzip glscene-1.0.0.2.zip",这将创建 lazarus/components/glscene/ 文件夹 | |
| 152 | + | - SVN: | |
| 153 | + | - 在 "lazarus/components/" 下执行 | |
| 154 | + | svn co http://svn.freepascal.org/svn/fpcprojects/glscene/trunk glscene | |
| 155 | + | ||
| 156 | + | ,这将创建 lazarus/componets/glscene/ 文件夹 | |
| 157 | + | - Tortoise SVN: 手动在lazarus/components/下创建文件夹 "glscene", 右击文件夹的空白处选择TortoiseSVN下的 "SVN Checkout(检出)...",在 "URL of repository(版本库URL)"中添加 | |
| 158 | + | http://svn.freepascal.org/svn/fpcprojects/glscene/trunk | |
| 159 | + | ||
| 160 | + | 并确定。 | |
| 161 | + | ||
| 162 | + | - **完成安装:** | |
| 163 | + | - 复制 "lazarus/components/glscene/globallinks/*.lpl" 到 "lazarus/packager/globallinks/" | |
| 164 | + | - 打开 Lazarus | |
| 165 | + | - 在"包"菜单下选择 "配置已经安装的包 ..." | |
| 166 | + | - 在 "Available packages(可用的软件包)" 中选择 "glscenelazarus" | |
| 167 | + | - 点击 "安装所选" 按钮 | |
| 168 | + | - 点击 "保存并重建IDE" 按钮 | |
| 169 | + | - 注意:有可能会出现"jpegforlazarus"未找到的错误。如果是的话,你可以执行以下操作: | |
| 170 | + | - 包菜单 --\> 打开包文件... | |
| 171 | + | - 选择 "glscenelazarus" (版本 1.0.0.3) 后点击 "打开..." | |
| 172 | + | - 在"Required Packages(所需的软件包)"列表中移除"jpegfromlazarus" | |
| 173 | + | - 查看"jpeg"单元,在/lazarus/components/glscene/Source/base,替换"LazJPEG"(在uses部分)为"LazJPG"(ImagesForLazarus包) | |
| 174 | + | - 保存并重复上述四个步骤。 | |
| 175 | + | - 提示:你应该安装了"ImagesForLazarus"包,如果没有,操作方式和安装"glscenelazarus"类似。 | |
| 176 | + | - 重复上述4个步骤安装你需要的软件包。 | |
| 177 | + | - 注:在glsceneode和glscenecgshader安装时,需要将相关的库安装在系统上。 | |
| 178 | + | - **注:**你可以尝试选择一个或全部软件包。不过,我喜欢一个一个安装,这样可以查看它的错误,如果出现错误的话;) | |
| 179 | + | - **安装 "glscenelazarus" - 错误:** (只需要使用glscene-1.0.0.2.zip,在SVN中这些已经修订) | |
| 180 | + | - 更正单元 GLLCLViewer: procedure TGLSceneViewer.CreateParams(var Params: TCreateParams); - 在 procedure TGLSceneViewerLCL.CreateParams(var Params: TCreateParams); | |
| 181 | + | - 更正单元 GLLCLViewer: procedure TGLSceneViewer.EraseBackground(DC: HDC); - 在 procedure TGLSceneViewerLCL.EraseBackground(DC: HDC); | |
| 182 | + | - 更正单元 GLLCLFullscreenViewer: Change "RegisterClasses(\[TGLSceneViewer, TGLFullScreenViewer\]);" 为 "RegisterClasses(\[TGLFullScreenViewer\]);" | |
| 183 | + | ||
| 184 | + | - **软件包列表:** | |
| 185 | + | - **glscenelazarus** 主要包 | |
| 186 | + | - **glscenecgshader** Cg 渲染组件 | |
| 187 | + | - **glsceneode** ODE 组件 | |
| 188 | + | - **glss_fmodlaz** FMOD 组件 | |
| 189 | + | - **gls_winonly** 仅Windows,包含声音支持mmsystem,BASS支持和GLScreenSaver组件 | |
| 190 | + | ||
| 191 | + | - **编译 "演示" - 错误:** | |
| 192 | + | - 如果未找到类 - TGLSceneViewer:修改(演示)GLLCLViewer - 为 GLViewer | |
| 193 | + | ||
| 194 | + | ### 安装 0.9.6.1 | |
| 195 | + | ||
| 196 | + | - 创建目录 lazarus\components\GLScene | |
| 197 | + | - 在目录中解压zip文件 | |
| 198 | + | - 打开 Lazarus | |
| 199 | + | - 在组件/打开包文件(.lpk)中,选择lazarus\components\glscene\Lazarus下的glscenelazarus.lpk | |
| 200 | + | - (点击编译是必须的,如果你不想安装组件到IDE) | |
| 201 | + | - 点击安装 | |
| 202 | + | - 要使用其他软件包重复这些步骤(打开.lpk,点击安装),注:这些额外的包需要额外的库(FMOD、ODE、CG)。 | |
| 203 | + | - glscenecgshader.lpk : Cg着色器(仅适用于NVidia显卡?) | |
| 204 | + | - glsceneode.lpk : 对ODE库支持 | |
| 205 | + | - glsss_fmodlaz.lpk : 对FMOD库支持 | |
| 206 | + | - gls_winonly.lpk : 只可以安装在Windows上。包含屏幕保护以以及BASS库支持。 | |
| 207 | + | ||
| 208 | + | 提示:如果出现“GLGraphics 未找到”的错误,不要担心,只要在工具中重新构建Lazarus,或许就可以解决。 | |
| 209 | + | ||
| 210 | + | Lazasrus中安全安装GLScene 可以查看:[二进制Win32发布](http://sourceforge.net/project/showfiles.php?group_id=92177&package_id=185641&release_id=405739) 或 [<http://www.skinhat.com/lazarus>](http://www.skinhat.com/lazarus) | |
| 211 | + | ||
| 212 | + | 对于Linux新用户只是个警告: GLScene目前并不能“拿来就用”,需要做些添加或修改。 | |
| 213 | + | ||
| 214 | + | 更新:这个不准确了。Lazarus中的Glscene 是相当出色的,可以实现在Windows及Linux中“拿来就用”。 | |
| 215 | + | ||
| 216 | + | 新的trunk 版本(见上文SVN)在Linux上正常工作,一些演示(约20%)不能正常使用,但大多可以使用。我们也在努力着让它可以在其他Unix平台上完美运行。 | |
| 217 | + | ||
| 218 | + | 在非Windows丢失/不能工作的组件是:glKeyboard (使用WINAPI,但不是必须的居多)、glSound(使用mm,我们需要使用OpenAL或者类似的)。 | |
| 219 | + | ||
| 220 | + | 一个 [[Lazarus- Game Developers Edition|全功能的Windows安装程序]] 计划。 | |
| 221 | + | ||
| 222 | + | ### 帮助 | |
| 223 | + | ||
| 224 | + | - 可以在 [GLScene 首页](http://www.glscene.org) 找到 | |
| 225 | + | - 联系 \#glscene channel at freenode.net | |
| 226 | + | ||
| 227 | + | --- | |
| 228 | + | *From the Free Pascal wiki, page "GLScene/zh CN", as it stood on 2015-06-19 after a change by FTurtle, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).* | |
| 229 | + | Category: zh |
