5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

Delphi持ってるならGLSceneを使え

1 :デフォルトの名無しさん:2006/11/12(日) 03:17:59
Delphi用OpenGLライブラリGLSceneのためのスレッドです。
フリーの3Dコンポーネントでお気楽プログラミング。

とうとうGLScene正式版リリース
http://glscene.sourceforge.net/index.php

ヘルプはこっちで落とした方が良さそう。
GLScene Help Project
http://caperaven.co.za/

ついでにGraphics32もあれば心強い
http://www.graphics32.org/wiki/

Lazarus使いなら、これ。Lazarus with GLScene bundled
http://www.skinhat.com/

質問は出来る限り詳しく的確にお願いします。
日本語情報ほとんど無し。GLSceneマスター様、情報お願いします。
GLSceneの他にもこんなライブラリがあるという情報もおk。


2 :デフォルトの名無しさん:2006/11/12(日) 05:27:46
とりあえず日本語でおk

3 :デフォルトの名無しさん:2006/11/13(月) 18:10:55
GLSceneに付いているDelphiODEもおk
ttp://www.hypeskeptic.com/Mattias/DelphiODE/

4 :デフォルトの名無しさん:2006/11/13(月) 23:51:54
初めてGLSceneに触る方のために簡単チュートリアル。
Form1にGLSceneとGLSceneViewerとGLCadencerの3つをドロップする。
GLScene1をダブルクリックするとGLSceneエディタが立ち上がるから、Camerasにカメラを追加。
以下のプロパティをセットする。
GLSceneViewer1のCameraにGLCamera1
GLCadencerのSceneにGLScene1
以上で基本設定終了。
GLSceneエディタで上のアイコン「show Behavious/Effect」をクリックしておいてくだされ。


5 :4:2006/11/13(月) 23:53:42
ここからチュートリアル開始です。
GLSceneViewer1のBuffer.Background=clBlackにして背景を黒くしてください。
気が向いたらGLSceneViewer1のAlign=alClientにでもしておいてください。

GLSceneエディターで、GLLightSourceとDummyCubeとGLDodecahedron(正十二面体)を追加。
・・・別にGLDodecahedronじゃなくてもいいが
ツリー上で、GLDodecahedron1はDummyCube1の「子」にしておく

Camera1のプロパティPosition(X,Y,Z)=(0,2,6)
Camera1のプロパティTargetObject=DummyCube1
↑手前のちょっと上からDummyCube方向を見るってこと

GLDodecahedron1のプロパティPosition(X,Y,Z)=(2,0,0)
↑DummyCube1の子オブジェクトなので、DummyCube1の相対位置になる

ここでちょっと動きをつけてみましょう。
ここでは、DummyCube1(見えない立方体)を回転させます。
まずはuses節にGLBehavioursを追加。
GLSceneエディタで、DummyCube1を選択してBehaviousに「Simple Inertia」を追加。
Simple InertiaのプロパティTurnSpeed=30をセット
↑y軸を中心に30度/秒の速度で回転させるということ

んで、おもむろに実行!!!
DummyCubeを回転させれば、その子オブジェクトの十二面体も一緒に回転します。
ここでもっとDummyCubeを追加したり回転を加えたりすると、もっと複雑な動きが出来ます。
GLCadencerのOnProgressイベントにコードを書いたら、もっと複雑な動きもできます。

6 :4:2006/11/13(月) 23:55:17
<続き>
お次はエフェクトです。
GLFireFXManager(GLScene PFXタブ)をForm1にドロップ。
GLFireFXManager1のプロパティFireRadius=0.2くらいにしておきましょう。
GLSceneエディタで、GLDodecahedron1を選択してEffectsに「FireFX」を追加して、FireFXのプロパティManager=GLFireFXManager1にする。

はい、実行。
ををー、火が出た!!!

お次はGLThorFXManagerをForm1にドロップ。
プロパティCadencer=Cadencer1、Target(X,Y,Z)=(-2,0,0)
GLSceneエディタでGLDodecahedron1を選択してEffectsに「ThorFX」を追加して、ThorFXプロパティManager=GLThorFXManager1にする。

はい実行。イナズマだ!!!

ってな感じでパーティクル系のFXはいろいろ有るようです。


7 :デフォルトの名無しさん:2006/12/06(水) 22:53:33
スクリーンショットと導入手引きどこ?

8 :デフォルトの名無しさん:2006/12/12(火) 21:00:55
>7
スクリーンショットも導入の手引きも、公式にあるぞ。
・・・とは言っても、導入の仕方は詳しく書いていない。orz

導入の仕方は次の通り。
(1)GLSceneのsourceフォルダとその下のフォルダ全てにライブラリパスを通す
ライブラリパス通すのは結構面倒くさい。

(2)以下のdllファイルをシステム環境変数のPATHの通ったフォルダ(例:c:\Windows\system32)へコピーしておく。dllは実行ファイルと同じフォルダにあればokだけど、この方が便利。
SDL.dll・・・GameAPIs
ODE.dll・・・PhysicsAPIs
FMOD.dllとBASS.dll・・・SoundAPIs

(3)GLScene***.dpk(***は使用しているDelphiのバージョン)をダブルクリック。
ここからはDelphiのバージョンによって違う。古いバージョンのは忘れた。とにかくインストールを選択。
Delphi2006の場合はプロジェクトマネージャーを表示させて右クリックでインストールを選択。

(4)「GLS_ODE***.dpk」「GLS_SDL***.dpk」「GLSS_FMOD***.dpk」「GLSS_BASS***.dpk」も同じようにインストール

9 :デフォルトの名無しさん:2006/12/13(水) 11:44:56
OpenGL単体で扱うのに疲れてきたので、GLSceneつかってよかですか?

全画面にするのは、どうすればいいんだろ・・・
また、DirectDraw使うか・・・

10 :デフォルトの名無しさん:2006/12/13(水) 11:52:31
今は、DirectSound使ってます。

しかし、サウンドの、FMODって、1タイトル最低$3000って高すぎるんですが(泣

11 :デフォルトの名無しさん:2006/12/13(水) 11:54:29
BASS.dllも、Single Commercial license: ?950ヽ(`Д´)ノ ウワァァン!!

DirectSound使うか・・・
それともSDLか・・・

これと、SDLの組み合わせ使っている人います?

12 :デフォルトの名無しさん:2006/12/13(水) 15:47:54
VB.NETでManaged DirectX使ったほうが簡単だね

13 :デフォルトの名無しさん:2006/12/13(水) 16:39:12
>>12
Managed DirectXは死にましたけど・・・

14 :デフォルトの名無しさん:2006/12/13(水) 17:50:02
>>13
まあ>>12のレベルはその程度だって事だ。


15 :デフォルトの名無しさん:2006/12/13(水) 17:55:43
ん?Delphi自体初心者なんですけどDirect3Dなみに速いんですか?
3Dゲームとかつくれるんですか?

16 :デフォルトの名無しさん:2006/12/13(水) 18:08:19
>>15
俺もいま、GLSceneは使おうかってところだけど、
GLSceneが使っているOpenGL自体は、ゲームにも使われている。

速度は、よほどのことしないかぎり、Direct3Dと変わらんよ。
3Dゲームは作れるよ。

17 :15:2006/12/13(水) 19:06:09
>GLSceneが使っているOpenGL自体は、ゲームにも使われている。

つまりOpenGLのラッパーってやつですか?

18 :デフォルトの名無しさん:2006/12/13(水) 19:30:22
>>17
そですね。

19 :デフォルトの名無しさん:2006/12/13(水) 19:52:34
>>9
TGLScreenViewerの代わりにTGLFullScreenViewerを使えばいいよ。


procedure TForm1.FormClick(Sender: TObject);
begin
GLFullScreenViewer1.UseCurrentResolution;
GLFullScreenViewer1.Active:=True;
end;

procedure TForm1.GLFullScreenViewer1Click(Sender: TObject);
begin
GLFullScreenViewer1.Active:=False;
end;


20 :デフォルトの名無しさん:2006/12/13(水) 19:57:39
>>19
サンクス試してみます。

21 :8:2006/12/14(木) 11:01:26
>>7
導入の補足

もし、Graphics32をインストールしているのなら、GLSceneでもGraphics32を使うようにしよう。

1.GLSceneのSourceフォルダに入っている「GLScene.inc」をメモ帳等で開く

2.以下の部分を変更
// Activate support for Alex Denissov's Graphics32 library (http://www.g32.org)
{.$DEFINE GLS_Graphics32_SUPPORT}
↑このドットを削除
{$DEFINE GLS_Graphics32_SUPPORT}にする。

Graphics32はTBitmapやGDI描画よりも比べ物にならないくらい早いので、導入しても損は無いです。



8 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)