GLScene/ja: Difference between revisions

From Lazarus wiki
Jump to navigationJump to search
No edit summary
 
mNo edit summary
Line 2: Line 2:


===About===
===About===
GLSceneはOpenGLベースの3Dライブラリです。最初はDelphi向けに書かれましたが、現在はC++Builder,Kylix,Delphi,そしてLazarusで動作します。
GLScene is an OpenGL based 3D library. It was initially written for Delphi, now it is running in C++ Builder, Kylix, Delphi and Lazarus.
GLScene is an OpenGL based 3D library. It was initially written for Delphi, now it is running in C++ Builder, Kylix, Delphi and Lazarus.


主な特徴 :
Its main caracteristics are :
Its main caracteristics are :
シーンの記述
*階層的なオブジェクト構造。メモリが許す限り拡張が可能です。
*インタラクティブなシーン管理。(numerous Delphi experts)
*それぞれのオブジェクトごとに回転や移動が簡単な関数
*簡単に拡張可能な定義済みオブジェクト(all standards from cube to teapot to sprite)
*コンポジットオブジェクトを管理するための構造化オブジェクト(dummy cube, proxy object)
*プロシージャなオブジェクト(heightfield, revolution solids, pipes, tesselators...)
*2次元、1次元オブジェクトの統合化されたサポート(sprites, lines with spline support) fully integrated
*HUD オブジェクト (sprites rendered in 2D coordinates)
*Utility オブジェクト (grids, skydome, arrows...)
*OpenGLにダイレクトアクセス可能なサポートクラス
*シーンオブジェクト階層のどこでも利用できる視点と光源オブジェクト
*アニメーション用途に簡単に拡張可能なふるまいオブジェクト
*オブジェクトのレンダリングの前後やシーン効果に利用できる、拡張可能な特殊効果per-オブジェクト
*部分座標系のサポート どのようなオブジェクトやオブジェクト構造でも部分化できます。
*自動的で正確な正規化ベクトル計算(与えられたスムージング用のファイルをつかって)での、3D Studioファイルのインポートと、テクスチャのインポート
*そのほかのインポートされたフォーマット : OBJ/OBJF, SMD, MD2, STL, TIN, PLY
(訳注:オブジェクトとは、特にGLScene内のグラフィカルなオブジェクトを指す)


Scene description  
Scene description  
Line 24: Line 48:
*Other imported formats : OBJ/OBJF, SMD, MD2, STL, TIN, PLY  
*Other imported formats : OBJ/OBJF, SMD, MD2, STL, TIN, PLY  


マテリアル(表面質感)
Materials  
Materials  
*easy to use, optimized, material object  
*easy to use, optimized, material object  
Line 38: Line 63:
*32 bits Bitmap support class  
*32 bits Bitmap support class  


レンダリング
Rendering  
Rendering  
*automatically uses the hardware OpenGL driver if available  
*automatically uses the hardware OpenGL driver if available  
Line 50: Line 76:
*automatic frustrum culling (hierarchical or per-object)  
*automatic frustrum culling (hierarchical or per-object)  


アニメーション
Animation
Animation
*propagation of time progression events  
*propagation of time progression events  
Line 58: Line 85:
*automatic, realtime scene cadenceing  
*automatic, realtime scene cadenceing  


インターフェース
Interface  
Interface  
*easy-to-use functions to determine picked objects  
*easy-to-use functions to determine picked objects  
Line 64: Line 92:
*helper functions for converting between screen and world coordinates, raycasting  
*helper functions for converting between screen and world coordinates, raycasting  


ユーティリティ
Utilities  
Utilities  
*optimized geometry functions and utilities (vector, quaternion and matrix...)  
*optimized geometry functions and utilities (vector, quaternion and matrix...)  
Line 74: Line 103:
*asynchronous keyboard access, keymap support
*asynchronous keyboard access, keymap support


===Screenshots===
 
===スクリーンショット===
[[Image:gl effect.jpg]]
[[Image:gl effect.jpg]]
[[Image:gl cel.jpg]]
[[Image:gl cel.jpg]]
Line 80: Line 110:
[[Image:gl ode.jpg]]
[[Image:gl ode.jpg]]


===Author===
===著者===
Author: initially Mike Lischke<br>
Author: initially Mike Lischke<br>
at time maintained by Eric Grange<br>
at time maintained by Eric Grange<br>
Line 98: Line 128:
obsp - OpenBSP for Lazarus source<br>
obsp - OpenBSP for Lazarus source<br>


===Bug reporting/Feature request===
===バグレポート/機能の要望===


[http://avl.ath.cx/mantis/ Bug Reporting/Featurerequest]
[http://avl.ath.cx/mantis/ Bug Reporting/Featurerequest]
Line 109: Line 139:
Status: Beta
Status: Beta


===Installation===
===インストール===
* Create the directory lazarus\components\GLScene
* Create the directory lazarus\components\GLScene
* On this directory, unzip the files from the zip file
* On this directory, unzip the files from the zip file
Line 121: Line 151:




===Help===
===ヘルプ===


Can be found at [http://www.glscene.org Main GLScene Page]
Can be found at [http://www.glscene.org Main GLScene Page]

Revision as of 14:48, 20 March 2006

Template:Editing GLScene

About

GLSceneはOpenGLベースの3Dライブラリです。最初はDelphi向けに書かれましたが、現在はC++Builder,Kylix,Delphi,そしてLazarusで動作します。

GLScene is an OpenGL based 3D library. It was initially written for Delphi, now it is running in C++ Builder, Kylix, Delphi and Lazarus.

主な特徴 : Its main caracteristics are :

シーンの記述

  • 階層的なオブジェクト構造。メモリが許す限り拡張が可能です。
  • インタラクティブなシーン管理。(numerous Delphi experts)
  • それぞれのオブジェクトごとに回転や移動が簡単な関数
  • 簡単に拡張可能な定義済みオブジェクト(all standards from cube to teapot to sprite)
  • コンポジットオブジェクトを管理するための構造化オブジェクト(dummy cube, proxy object)
  • プロシージャなオブジェクト(heightfield, revolution solids, pipes, tesselators...)
  • 2次元、1次元オブジェクトの統合化されたサポート(sprites, lines with spline support) fully integrated
  • HUD オブジェクト (sprites rendered in 2D coordinates)
  • Utility オブジェクト (grids, skydome, arrows...)
  • OpenGLにダイレクトアクセス可能なサポートクラス
  • シーンオブジェクト階層のどこでも利用できる視点と光源オブジェクト
  • アニメーション用途に簡単に拡張可能なふるまいオブジェクト
  • オブジェクトのレンダリングの前後やシーン効果に利用できる、拡張可能な特殊効果per-オブジェクト
  • 部分座標系のサポート どのようなオブジェクトやオブジェクト構造でも部分化できます。
  • 自動的で正確な正規化ベクトル計算(与えられたスムージング用のファイルをつかって)での、3D Studioファイルのインポートと、テクスチャのインポート
  • そのほかのインポートされたフォーマット : OBJ/OBJF, SMD, MD2, STL, TIN, PLY

(訳注:オブジェクトとは、特にGLScene内のグラフィカルなオブジェクトを指す)


Scene description

  • hierarchical objects structure, with as many objects as memory allows, easily extendable
  • interactive scene management (numerous Delphi experts)
  • easy to use rotation and movement functions for each object
  • predefined objects (all standards from cube to teapot to sprite), easily extendable
  • structural objects (dummy cube, proxy object) for manageing composite objects
  • procedural objects (heightfield, revolution solids, pipes, tesselators...)
  • support for 2D and 1D objects (sprites, lines with spline support) fully integrated
  • HUD objects (sprites rendered in 2D coordinates)
  • Utility objects (grids, skydome, arrows...)
  • support classes for directly accessing OpenGL
  • camera and light objects that can be used anywhere in a scene objects hierarchy
  • behaviour objects can be attached to objects for animation purposes, easily extendable
  • per-object special effects (before/after object rendering and scene after-effects), easily *extendable
  • support for particle systems, any object or object structure can be a particle
  • 3D Studio file import with automatic and precise normal vector calculation (using the given *smoothing groups of the file) and texture coordinate import
  • Other imported formats : OBJ/OBJF, SMD, MD2, STL, TIN, PLY

マテリアル(表面質感) Materials

  • easy to use, optimized, material object
  • material library to share and reuse materials
  • ambient, diffuse, emission, specular and shininess support
  • support of blending modes (transparency, additive...)
  • alpha-channel auto-generation
  • support for OpenGL texture formats, including compressed ones (DXT, S3TC etc.)
  • generic plug-in shaders support
  • High-level Cg shaders support classes
  • polymorphic image support for texturing (allows many formats as well as procedural textures), easily extendable
  • more than 150 predefined colors like clrCornflowerBlue or clrCoolCopper (easily extendable) *in addition to standard colors and direct RGBA specifications
  • easily to use texture movement and scaling properties, independently from texture coordinates
  • 32 bits Bitmap support class

レンダリング Rendering

  • automatically uses the hardware OpenGL driver if available
  • a well working camera model using focal length and targeting
  • multiple viewers for one or more scenes, easy change of view through camera selection
  • fog and depth-of-view support
  • render to a file, a bitmap or to the printer in any color and pixel resolution
  • full screen support with dynamic resolution changes
  • reflections and mirror effects
  • dynamic shadow casting
  • high-performance scene-wide transparent particles system support
  • automatic frustrum culling (hierarchical or per-object)

アニメーション Animation

  • propagation of time progression events
  • skeletal animation (multiple bones per vertex)
  • frame interpolation and morph targets
  • easily extendable Behaviours
  • dynamic physics : inertia, acceleration, damping and force application
  • automatic, realtime scene cadenceing

インターフェース Interface

  • easy-to-use functions to determine picked objects
  • helper functions for camera movements
  • helper functions for picked object's translation
  • helper functions for converting between screen and world coordinates, raycasting

ユーティリティ Utilities

  • optimized geometry functions and utilities (vector, quaternion and matrix...)
  • cubic spline support functions and class
  • mesh manipulation and optimization (stripification, vertex-cache awareness, etc.)
  • component to make full-featured screen-saver in a few clicks
  • precise frame speed determination
  • asynchronous timer (multi-threaded)
  • joystick support
  • asynchronous keyboard access, keymap support


スクリーンショット

File:gl effect.jpg File:gl cel.jpg File:gl trinity.jpg
File:gl ode.jpg

著者

Author: initially Mike Lischke
at time maintained by Eric Grange
LCL Port: Christian Ulrich

Download

The latest stable release can be found on the Lazarus CCR Files page together with a lazarus installer with GLScene already in the Lazarus IDE and GLScene demoes.

CVS

you can checkout the actual source from
CVSROOT=:pserver:cvs@avl.ath.cx:/CVS/glscene
Modules:
LazarusLin
LazarusWin
Source
Demos
obsp - OpenBSP for Lazarus source

バグレポート/機能の要望

Bug Reporting/Featurerequest

Change Log

  • 10.08.05 Too many changes to post here see cvs history
  • 16.07.05 GLScene 0.9.X Port
  • look at GLScene Sourceforge Account for complete Changelog

Status: Beta

インストール

  • Create the directory lazarus\components\GLScene
  • On this directory, unzip the files from the zip file
  • Open lazarus
  • Open the package .lpk with Component/Open package file (.lpk) for Windows from LazarusWin for Linux from LazarusLin
  • Click on Compile
  • Click on Install

Hint: sometimes an Error "GLGraphics not found" occurs. Don't worry, just do Tools->Build Lazarus again and it should be ok.

A full install of Lazarus with GLScene already in the IDE is available as binary win32 release or http://www.skinhat.com/lazarus


ヘルプ

Can be found at Main GLScene Page