1 名前:デフォルトの名無しさん mailto:sage [2006/11/12(日) 03:17:59 ] Delphi用OpenGLライブラリGLSceneのためのスレッドです。 フリーの3Dコンポーネントでお気楽プログラミング。 とうとうGLScene正式版リリース glscene.sourceforge.net/index.php ヘルプはこっちで落とした方が良さそう。 GLScene Help Project caperaven.co.za/ ついでにGraphics32もあれば心強い www.graphics32.org/wiki/ Lazarus使いなら、これ。Lazarus with GLScene bundled www.skinhat.com/ 質問は出来る限り詳しく的確にお願いします。 日本語情報ほとんど無し。GLSceneマスター様、情報お願いします。 GLSceneの他にもこんなライブラリがあるという情報もおk。
119 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 01:07:31 ] >>118 起動できない --------------------------- Application Error --------------------------- Exception EOpenGLError in module Archipelago.exe at 000802C9. Need at least OpenGL version 1.1. --------------------------- OK ---------------------------
120 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 23:21:54 ] >>119 あ、はい、、「Archipelago.exe」なら、まず最近のPCじゃ動かないと思います。 Advanced Demoの「Archipelago.exe」は、GLScene ver1.0より古いもの(SnapShot版か?)でコンパイルされていると思われます。 と言うのは、古いGLSceneの中にあるunit OpenGL12(OpenGL12.pas)のOpenGLのバージョンチェックにバグがあるのです。 具体的に言えば、OpenGLのver1.5までしか認識しないようです。 GLScene ver1.0からは「unit OpenGL12」は廃止になっていて、代わりに「unit OpenGL1x」を使ってくれ。。。 となっております。 そのため動かしたい場合は、ユニット名を変更して再コンパイルする必要があります。 その他、以前と変わっているユニット名は「Geometry」→「VectorGeometry」くらいか? しかし・・・ 更に古いベータバージョンは、クラス名や仕様の変更、メソッドの廃止・変更・追加など色々有ったようなので、 ちょっとした修正だけでは動かない可能性もあります。 「Archipelago.exe」のソースは確認していないので、動くかどうかは分かりません。 ベータバージョンが終了して公式バージョンのGLScene1.0がリリースされたは去年の7月なんで、ソフトウエアが出て来るのはまだまだこれからだと思います。
121 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 22:38:26 ] さっき「Archipelago.exe」のソースを見てみました。 このとき初めて知ったのですが、ベータバージョンのユニットGLMiscは、正式バージョンではGLMiscとGLStateとGLUtilsの3つに分かれたようです。 そしてInvertGLFrontFace手続きはGLMiscからGLStateに移動し、更にTGLStateCache型のクラスメソッドになったようです。 つまり、「Archipelago.exe」を再コンパイルするには、 ソースの以下の部分を変更する必要があります。 (1)ユニットGeometryをVectorGeometryへ名前を変更 (2)ユニットGLStateとGLUtilsを追加(多分GLUtilsはいらないが念のため) (3)ユニットOpenGL12をOpenGL1xへ名前を変更 (4)クラスTGLStateCacheをインスタンス化して、InvertGLFrontFaceを呼び出ししている箇所(4ヶ所)をそのオブジェクトのメソッドに変更。 これでとりあえず動くはず・・・多分 (4)のやり方が分からない人は、以下のようにしてみてください。 @implementation部のuses節の後くらいに「var sc:TGLStateCache;」を追加 AForm1.onCreateに、「sc:=TGLStateCache.Create;」を追加 BForm1.onCloseを作って「sc.Free;」と書く C全ての「InvertGLFrontFace;」を「sc.InvertGLFrontFace;」に変更する
122 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 22:40:18 ] って書いてるうちに、ソースの修正が終わったので、実行してみた。 このデモ、初めて見た。結構きれい。 でも・・・どうせ本家HPにデモを載せるなら、コードを修正してからの方が・・・ ボソッ
123 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 07:55:04 ] Delphi Doom www.geocities.com/jimmyvalavanis/applications/delphidoom.html
124 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 12:38:14 ] >>123 もしかして、これってGLScene(OpenGL)じゃなくDirectXでは?
125 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 17:39:18 ] 久々にGLSceneのNewsGroupをチェックしました。 GLScene用物理エンジンoxNewtonの新バージョン(Ver1.48)がもう少しでリリースされるようです。 そのバージョンで、「bsp loader」という新しいオブジェクトが追加されるようです。 Quake3形式のbspマップの読み込みと表示が出来るようになるようです。 表示テスト用 www.dave.serveusers.com/Basic_BSP.rar Quake3マップビュワー(25Mbもあるので要注意) www.badongo.com/file/2962824 スクリーンショット www.dave.serveusers.com/skyfix1.jpg www.dave.serveusers.com/skyfix2.jpg www.dave.serveusers.com/cuis1.jpg www.dave.serveusers.com/cuis2.jpg www.dave.serveusers.com/cuis3.jpg www.dave.serveusers.com/tts.jpg www.dave.serveusers.com/tts2.jpg www.dave.serveusers.com/tss3.jpg
126 名前:125 mailto:age [2007/06/17(日) 17:41:59 ] デモを見る限り、表示が速くて綺麗なのですが・・・ レベルエディタgtkRadiantで作ったマップデータは商用利用が禁止されているらしいですが、そもそもQuake3形式のbspマップの商用利用も、やはり禁止されているのでしょうか? だとしたら、もし商用利用したい場合は、 QuArk+OpenBSP しか方法は無いのでしょうか? 誰か教えてください。
127 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 20:15:20 ] 流石に他人のフンドシをモロに使うのはどうなんだろう。
128 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 22:43:23 ] >>126 id SoftwareのHP内を色々見て回ったけど、それらしい文章は見つけられませんでした。 しかし、GLSceneのHPのHelp→ArticlesのOpenBSPの項の「Why use OpenBSP compared to normal BSP?」というところに、 If you use the IDSoft BSP format commercially you must pay a license fee of $US50000. と書いてありました。 つまり、QuakeのBSPマップの商用利用は可能だが、その代わりライセンス料として5万ドル!支払う必要があるようですね。 だから、もしQuake形式のBSPマップを使う場合はフリーウエアに限定したほうが良いでしょうね。ちなみにこの形式のカスタムマップは、様々な人がフリーで公開しています。 「QuArk+OpenBSP」の方なら、現在のところ商用利用も問題なさそうですね。
129 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 22:54:53 ] >>127 >>128 レス、サンクスです。 シェアウエアを作る予定は今のところ無いのですが、 とにかくすっきりしました。
130 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 23:26:01 ] QuArkを入れてみたけど、表示がなんか変。 説明が難しいけどたぶん、壁や床が全く表示されてないんだと思う。 GeForce FX5200 WindowsXP
131 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 00:57:47 ] >>130 コントロールパネルから、地域と言語のオプションを選択 地域オプションタブの標準と形式のところを 「英語(米国)」 に変更してみて。多分、壁が表示される様になるから。 何故かは分からないけど。
132 名前:デフォルトの名無しさん [2007/06/18(月) 23:01:13 ] >>128 フォーマットに権利があるのか・・・ 最悪だなw id softwareもやるな
133 名前:デフォルトの名無しさん [2007/06/19(火) 22:28:49 ] 流れをぶった切った質問で申し訳ないのですが、GLCubeをいくつか表示 している時に、マウスが乗っかったのがどのGLCubeか判別するメソッドは ないでしょうか?
134 名前:デフォルトの名無しさん mailto:sage [2007/06/20(水) 00:13:01 ] >>133 メソッドありますよ。 TGLSceneViewerのBufferプロパティのGetPickedObjectメソッドを使えばいいです。 function GetPickedObject(x, y : Integer) : TGLBaseSceneObject; 例えばGLSceneViewerのonMouseMoveイベントで、 procedure TForm1.GLSceneViewer1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); var pick : TGLBaseSceneObject; s : String; begin pick:=GLSceneViewer1.Buffer.GetPickedObject(x, y); if Assigned(pick) then begin s:=pick.Name; showmessage(s); end; end; 上記の様にNameプロパティを使って判別するのもよし、Tagで判別するのもよし・・・ デモのinterfaceフォルダの中のpickを参照してみてください。
135 名前:133 [2007/06/20(水) 16:02:34 ] >>134 ありがとうございます。とても分かりやすいご説明、感謝いたします。
136 名前:デフォルトの名無しさん mailto:age [2007/06/20(水) 23:15:34 ] >>131 おかげで、QuArkが正常に動くようになりました。 大変助かりました。サンクスです。 www.skinhat.com/ ここの「Quark for GLScene using OpenBSP」をインストールしました。 なかなか楽しい。こりゃ、QuArkの使い方も覚えないと・・・。 サンプルのsanom.exe、例の「Need at least OpenGL version 1.1」エラーが出るけど、 ソースを再コンパイルすれば無事動くようになりました。 OpenBSPって、もしかしてGLScene専用か?
137 名前:デフォルトの名無しさん mailto:sage [2007/06/20(水) 23:41:01 ] >>132 日本の法律だとフォーマットは著作権によって保護されない。 製作者の主張に沿うように扱うべきなのかもしれないけどね ・・・ん?フォーマットに権利があるとしたらgtkRadiant以外で 作ったとしてもNGなんじゃない?
138 名前:デフォルトの名無しさん mailto:sage [2007/06/20(水) 23:57:06 ] 日本の法律だと大丈夫なの? id Softwareに従うとすれば・・・ gtkRadiant以外のエディタ、例えばQuArkでQuakeのBSPマップを作れば、商用はNGだと思う。 とりあえずGLSceneで使うなら、QuArkで作ったOpenBSPを使うのが無難な選択だろうね。 まあ、フリーウエアを作るなら、上記のどれを使おうが問題は無いのだろうが。
139 名前:デフォルトの名無しさん mailto:sage [2007/06/21(木) 00:15:12 ] 「同人は商用ではありません。」っていう主張は果たして通用するのかが気になる。
140 名前:デフォルトの名無しさん mailto:sage [2007/06/21(木) 00:19:46 ] うむぅ。。。実際には通用しないような・・・
141 名前:デフォルトの名無しさん mailto:sage [2007/06/21(木) 00:20:43 ] するわけねーだろ馬鹿
142 名前:デフォルトの名無しさん mailto:sage [2007/06/21(木) 00:21:34 ] id Softwareの*.bspフォーマットが商用不可だから、 OpenBSP(*.obsp)という商用可のフォーマットを作った、 ということじゃないのかな? 【以下はOpenBSPの開発コントリビューター達】 Eric Grange・・・GLSceneの開発リーダー Igor T. (GWin) Mike Lischke Osman Turan・・・OpenBSPの開発リーダー SkinHat・・・本家GLSceneのHelpの大半を書いてる人
143 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 08:50:31 ] クォータニオンを計算する関数は見つけたんですが、 クォータニオンからXYZの角度を算出する関数って無いですか? クォータニオン算出関数の中を見て、逆をやればと思ったのですが、 数学がへっぽこなので。・゚・(ノД`)・゚・。
144 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 09:12:14 ] これQuadrupleDと比べてなにが優れてるの?
145 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 01:41:04 ] 比べること自体間違ってる
146 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 19:31:22 ] ゲーム用のライブラリで3Dグラフィック表示・演算支援、入力支援などがあり 目的も機能も目指すところは同じように見えるんだが?
147 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 22:24:11 ] 目的も方向性もほぼ同じで比較は難しいが・・・・・ 3Dに関しては、GUIで確認できるGLSceneの方が敷居が低いと思う。
148 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 16:10:16 ] >>146 それぞれのベースとなってるOpenGLとDirectXで すでに違いがあるから、まずはそれを調べたら?
149 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 19:17:53 ] >>148 つまりどちらも薄いラッパーなのですか?
150 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 20:21:10 ] 2D表示をするにはどの命令を使えばいいですか?
151 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 22:38:47 ] >>149 私は<<146では無いのですが・・・ それは、GLScene(OpenGL)とQuadrupleD(DirectX)が薄いラッパーか?ってこと? どちらも薄いラッパーではないと思います。 でも、 QuadrupleDはDirectXラッパー+αってかんじかな? GLSceneはOpenGLラッパーはラッパーなんだけど、OpenGLの機能以外のものを充実してるって感じかな。 つまり、QuadrupleDを使う場合はDirectXを意識しないと使えません。少なくともDirectXのHelpは必須でしょう。(私の場合だけか?) GLSceneの場合は、表示機能だけは内部でOpenGLを使ってますよ、と言う感じで、あまりOpenGLを使う意識をせずに使えてしまいます。OpenGLのことをあまり知らなくてもGLSceneは使えると思います。 ・・・そういう意味では、GLSceneの方が濃いラッパーと言えるかもしれません。
152 名前:デフォルトの名無しさん mailto:sage [2007/07/07(土) 06:55:28 ] >>150 2D表示命令は知らんが・・・ GLSceneオブジェクトでは、「HUD objects」や「GUI objects」というカテゴリーにあるのが2D座標専用オブジェクトだ。 非コンポーネントのクラスでは、TGLCanvasが物理座標(スクリーン座標)専用だ。 ビットマップを使うなら、TGLHUDSpriteが便利。 幾何学図形なら、機能は貧弱だがTGLCanvasが便利。
153 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 08:44:49 ] オレのメモ Genesis Device Engine www.genesisdevice.net/ SLG Core sourceforge.net/projects/ptisc/ Mondo 3DMMORPG engine sourceforge.net/projects/gamemundo/
154 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 20:43:10 ] >>152 GLSceneViewerの表面に、オブジェクトまでの距離を現すグラフを 書きたいんです。 TGLCanvasでたとえば、単純に対角線を引くにはどうするのでしょうか。
155 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 00:15:49 ] >>154 とりあえずは、TGLCanvasの使用例を説明すればいいのかな? GLSceneエディタで追加したカメラ名をGLSceneViewerのCamerasプロパティに設定する。 uses節にGLCanvasとGLTextureを追加する。 GLSceneエディタでDirect OpenGL(TGLDirectOpenGL)を追加する。 GLDirectOpenGL1のonRenderイベントに、次のようなコードを書く。 procedure TForm1.GLDirectOpenGL1Render(Sender: TObject; var rci: TRenderContextInfo); var glc:TGLCanvas; begin glc:=TGLCanvas.Create(GLSceneViewer1.Width,GLSceneViewer1.Height); glc.PenColor:=clRed; glc.PenWidth:=3; glc.Line(0,0,glc.CanvasSizeX-1,glc.CanvasSizeY-1); glc.Free; end; ラインは上記の様にLineで描くことも出来るし、TCanvasの様にMoveToやLineToで描くことも出来ます。 y軸を逆転させることも出来ます。→その場合は左下が(0,0)になる その他の描画命令はヘルプを参照してください。・・・何故かArcが無い? それと、付属のデモのbenchフォルダのcanvasを参照してみてください。
156 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 11:21:15 ] ありがとうございます。かけました。 GLDirectOpenGL1に書くと、シーンの 影響をうけないかどうか、見てみます。 Arcは必要ならEllipseなどをみて作ればいいんでしょうけども、 作ったら本家フィードバックしたほうがいいんでしょうか?
157 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 01:03:26 ] 2D幾何学図形が高速で描けるのもGLSceneの利点ですね。 TCanvas(GDI)は遅すぎるし、QuadroupleD(DirectX)で幾何学図形を描くのは大変過ぎるし。 作ったら、コードの公開義務があるかどうかってこと? それはMPL(Mozilla Public License)に従ってください・・・と返事するのはあまりにも冷たすぎると思うので・・・ Eric Grange氏はヘルプのライセンスのところで、改造したGLSceneを公開する場合について以下の様に書いています。 Modifications made to GLScene units must be made public (no need to publish the full code, only to state which parts were altered, and how), but feel welcome to open-source your code if you so wish. つまり、要約すると・・・ 改造したユニットの全てのコードを公開する必要は無いが、どこをどの様に変更したかを明記する義務があります。でも、その改造したコードをオープンソースにするのは歓迎しますよ。 ってな感じです。 改造したGLSceneを配布などをする場合は、その改造箇所を明記してくださいね。 それと義務では有りませんが、そのソースをオープンにしたり、本家へのフィードバックするのは喜ばれると思います。 ちなみに蛇足ながら、GLSceneを使って作ったソフトをクローズドソース(ソースコード非公開)にするのは使用者の自由です。
158 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 11:55:29 ] ありがとうございます。 3Dシーン上に、2Dのメータを書くのはGLSceneViewerの Buffer.WrapUpRendering のコールバックで書くようにしました。 (もちろんご指摘の方法でもOkでした) また質問で申し訳ないですが、TGLDirectGLで自分で書いた プリミティブや曲線を、マウスによる選択はどうすればいいんでしょうか。 >>133 には、GetPickedObjectの例がありましたが、何か実装する 場所がありますか?
159 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 13:48:13 ] ↑glPickMatrix等がいるかと思いましたが、 なにも実装しなくてもできました。スルーしてください。
160 名前:デフォルトの名無しさん mailto:sage [2007/07/17(火) 21:14:35 ] GetPickedObject、動的に生成したシーンオブジェクトを追加すると、 どこをピックしてもそのオブジェクトがかえってきます。 GLScene1.Objects.addChild( 〜 ) で追加するのはまずいのでしょうか。 #サンプルでもそうやって追加しているし、ピック以外は正常に動いている。
161 名前:デフォルトの名無しさん [2007/07/22(日) 08:55:29 ] お世話になります。 clothactorのデモでtrinityが動くのを見て、すごいなぁと思いました。 smdというファイル形式で保存されていますが、これはどのようなソフトで 作られたデータなのでしょうか。googleで探しても、Sega Mega Driveとか Jphoneの着メロばかり出てきてしまいます。 また、同時に何人もこんなのを動かしても普通に動くのでしょうか。
162 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 02:11:45 ] >>161 "smd形式 3D"でぐぐったらすぐ出てきたけど
163 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 18:01:06 ] マウスクリック位置が、GetPickedObjectでのオブジェクト上の どの位置かを知るにはどうしたら良いでしょうか。
164 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 21:15:55 ] Delphi用のNURBSライブラリ情報はないですか。
165 名前:デフォルトの名無しさん [2007/07/25(水) 17:50:40 ] >>163 functionGLSceneViewer.Buffer.ScreenToWorld(screenX, screenY):TVector3D を使えば、XY座標を3D座標に変換はできます。GetPickedObjectと組み合わせると 何とかなるんじゃない?
166 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 22:15:40 ] >161 smd(Half-Lifeのモデル形式)なら、「XSI Mod Tool」が無料で使えるみたい。 www.softimage.jp/mod/ www.c-sec.net/phpBB/viewtopic.php?t=640
167 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 20:57:04 ] >>165 ありがとうございます。 この関数をつかうとカメラの前の位置に変換されちゃうみたいですが、 たしかに組み合わせればなんとかなるでしょう... Rayなんとかっていうメソッドも自分で実装すればつかえそうですね。
168 名前:デフォルトの名無しさん [2007/07/30(月) 14:09:21 ] >>166 ありがとうございます。 XSI Mod Toolインストールしてみましたが、かなり熟練を要するソフトですね。 無料というのは助かりますが。これで開発するかまだ決心付きません。 google sketchupで3dsなどがexportできるといいですが、proじゃないと無理みたいですね。
169 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 20:57:28 ] CADのDXFファイルをGLSに読み込みたいんですが、 良い方法ござりませぬか?
170 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 22:04:40 ] dxfなんて大抵のソフトで読めるだろうから、適当なので>>22 の形式に変換すればよろし
171 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 22:06:29 ] もしくはテキストのDXFなら自分で読んで描画すればいいんじゃない? 仕様公開されてるんだし
172 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 22:47:00 ] あ、おれ、これならやったことあるぞ。 dxf読み込み→TGLCanvasで表示
173 名前:デフォルトの名無しさん [2007/08/07(火) 21:06:38 ] GLSceneを利用して、VCLのコンポーネント上に、NeHeとかのサンプルを実行するようなサンプルはないでしょうか? 本来ならば、GLSceneのオブジェクトモデルを利用した方がよいと思うのですけど、 すでにOpenGLの生APIを使ったプロジェクトがありまして、 それをVCL上である程度再現したいと考えています。 別の言い方をすると、GLSceneを使いながら、おいしいところだけをとって、 生APIを使えないかな?ということなのですが・・・
174 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 23:19:27 ] >>173 >>43
175 名前:デフォルトの名無しさん [2007/08/07(火) 23:41:33 ] わわわ。サンクソ 過去ログにありましたね。 OnRenderってのが難だけど、どうにかなるんかな・・・。 任意の時に描画命令発行したいので。 試してみるかぁ
176 名前:デフォルトの名無しさん [2007/08/08(水) 02:59:55 ] LBAAM lbbam.blog100.fc2.com/ 翻訳記事乙
177 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 18:59:12 ] >>160 亀レスごめん。状況をもうちょっと詳しく頼む。 私の場合、AddChildやAddNewChildで動的に追加したオブジェクトを正常にピック出来たんだが・・・ 【AddChildで動的に追加したオブジェクトをピックする例】 Form1にGLSceneとGLSceneViewerとButtonをドロップし、GLSceneエディタでGLCameraとGLLightSourceを追加して、以下のプロパティをセットする。 GLSceneViewer1のCameraプロパティにGLCamera1をセットし、GLCamera1のPosition(X,Y,Z) を(0,0,10)にセットする。 usesにVectorGeometryを追加して、Button1のonClickイベントに以下のコードを書く。 procedure TForm1.Button1Click(Sender: TObject); var sphere:TGLSphere; begin sphere:=TGLSphere.Create(nil); GLScene1.Objects.AddChild(sphere); sphere.Position.AsVector:=PointMake(random(10)-5, random(10)-5, 0); inc(count); sphere.Tag:=count; end; ※count:Integer;をどこかグローバルな所に設定しておいてください。 GLSceneViewerのonMouseDownイベントに以下のコードを書く procedure TForm1.GLSceneViewer1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var pick : TGLBaseSceneObject; i : Integer; begin pick:=GLSceneViewer1.Buffer.GetPickedObject(x, y); if Assigned(pick) then begin i:=pick.Tag; ShowMessage(IntToStr(i)); end;
178 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 19:00:32 ] >>177 ありがとうございます。 あれから調べてみたところ、とりたいオブジェクトでないものを Pickしていて、PickListで回したら、ちゃんと取れていました。 報告せずすんません。 またまた質問ですみませんが、ピックしたときに、ZバッファのNearと FarがPickListに[0-1]ではいってかえってきます。 いまのところ、Farの値で V[0]:=x; V[1]:=Viewer.Height-y; V[2]:= aFar Viewer.Buffer.ScreenToWorld(V); としてWorld座標が求まっているっぽいのですが、 XY平面をピックすると若干Z値がずれとるのが気になります。 (ま、強制的にZをいれてしまっています。) ScreenToWorldのZ値はどういう値を入れるのが適当なんでしょうか? GLSceneというよりOpenGL的質問ですみません。 あとDXFの質問は、DXFの線はなんとか読めますが、 そのほかスプラインやらインサートブロック、グループが、読めません。 LWPOLYLINEもよめません。 結構WEBで調べましたが、仕様がよくわからないです。
179 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 03:22:43 ] >>178 本当に調べた?DXFは公式の仕様書もあるし第三者の解説だっていっぱいあるよ ひょっとして日本語で調べたいみたいな甘い考え?
180 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 16:40:14 ] ドイツ語や中国語でもいいのですが検索の仕方が悪いのか適当なページが見つかりませんでした。
181 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 17:30:10 ] >>180 "DXF format spec"でググればいくらでも出てくるじゃん。
182 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 19:28:21 ] 横レスで悪い、DXFって、中途半端に読むのは簡単だが、きちんと読むのは簡単じゃないと思う。 公式の仕様書といえるものは自動机俺様仕様書をかなりお金を出さないともらえない。 あとは全部非公式。だから、CAD間でもさほど互換性ない。 日本語の資料なら、日経BP 「新DXFリファレンスガイド R14対応 \3900」がある。 他にもあるかもしれん。オークションか古本屋で探すと吉。
183 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 20:08:31 ] >>178 はきちんと読む以前の問題だろ
184 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 00:29:52 ] どうも、>>177 です。いつのまにかDXFで盛り上がってるとは・・・ (^^;;; DXFフォーマットについては、AutoCADのヘルプにかなり詳しく載ってます(もちろん日本語で)。 とは言っても、>>178 氏がAutoCADを持っていないのなら参照しようが無いしなぁ。。。 ここのHPなんか、どう? hp.vector.co.jp/authors/VA020045/dxf/DXFR12.html んでも、ここのHP、LWPOLYLINEが載ってなさそうですね。まあポリラインはPOLYLINEの方で描く方が普通だし。 LWPOLYLINE 100=サブクラス マーカー(AcDbPolyline) 90=頂点の数 70=ポリライン フラグ(ビットコード)、既定値は0、1 = 閉じたポリライン、128 = PLINEGEN 40=開始幅、既定値は0。 一定幅(コード 43)が設定されている場合は無視。 41=終了幅、既定値 = 0。 一定幅(コード 43)が設定されている場合は無視。 43=一定幅(省略可能、既定値は 0)。 38=高度 39=厚さ 10=頂点の座標のX値。 20=頂点の座標の Y 値。 42=ふくらみ 210=押し出し方向のX値 220=押し出し方向のY値 230=押し出し方向のZ値
185 名前:182 mailto:sage [2007/08/12(日) 09:45:29 ] 上でたしかにファイルは読めるけれど、 42=ふくらみ は、どういう意味か、どうすれば描画可能な情報に 展開できるか、という情報は、探してもなかなかない。 私の場合、昔のことだったので、ファイルと図形を 解析してやったが、ほかにも解決していなものは色々とある。 ググればいい=直線、円弧、安易な折れ線ポリライン ググってもわからん=スプライン、ちょっと複雑なポリライン、その他 だろうと思う。 私も分からない部分も多いが、回答できるものはするので、 もうちょっと質問を整理してみてはどうだろうか。
186 名前:182 mailto:sage [2007/08/12(日) 09:48:04 ] R14から、ポリラインは、LWPOLYLINEがデフォルトのようです。
187 名前:182 mailto:sage [2007/08/12(日) 10:00:03 ] >>178 , 184 日本語ではありませんが、スプラインのコードです。 www.autodesk.com/techpubs/autocad/acad2000/dxf/spline_dxf_06.htm DXFも同様なコードで出ていると思いますが、OpenGLで表示となると? その他のコードはこちらに。 www.autodesk.com/techpubs/autocad/acad2000/dxf/entities_section.htm
188 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 13:01:28 ] わざわざしゃしゃり出てくんな これ以上やりたいなら専用のスレに移動してやってくれ ここはGLSceneやその他の3Dライブラリのスレであって、3Dデータのスレじゃない
189 名前:デフォルトの名無しさん [2007/08/12(日) 14:34:03 ] 別にいいんでない? どうせそんなに話題もないのに
190 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 15:26:21 ] まあ難しいことは考えずに、>>170 が言っているとおりGLSceneで読める形式に変換すればいい話じゃない?
191 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 22:24:19 ] tiffやdxfは仕様が大きすぎて最終的な成果物として扱うのは危険
192 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 20:17:10 ] >>22 メジャーなモデラーならほとんどどれでも吐けるじゃないか ファイルフォーマット変換のためならmilkshape3d 個人的にはLightwave3dオススメ 国産モデラーはゲーム系フォーマットに弱いのが難点だな そもそも数があまり出てないけどさ ところでDXF形式なんて他のソフトへ持っていくとまともに読み込めないよね? (ひどい場合は書き込んだソフトですら読み込めない) 3dsかlwoを使ったほうがいい DXFは他に何も対応してなかった場合の最後の手段
193 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 23:17:37 ] >>192 Shadeで製作したデータをGLSceneで読み込むとしたら、どういう方法があるでしょうか。 milkが必要ってことでしょうか?
194 名前:デフォルトの名無しさん [2007/08/14(火) 23:25:14 ] Shadeとは、またリアルタイムレンダリングにメチャメチャ不向きな物をw
195 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 23:36:56 ] >>193 プロ版なら3DSとLWO対応してるからどちらでもよい それ以外ならまともに出力できる形式がないので諦める 何らかの方法で別モデラーにエクスポート出来たとしても 多少の修正は必要なのでmilkshape3dに魅力を感じなければ 他のモデラーのほうがいい
196 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 14:48:10 ] ShadeはPROじゃないのでobj形式でやってみました。 結果、アナボコだらけに。なんでだろ?
197 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 19:49:36 ] 三角ポリゴンじゃないと駄目とか?
198 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 20:27:54 ] Shade側の出力を3角にしてもNGでした。両面にしてもNG。 GLSceneで落ちるところはきまっているので、単純なものにして テストしてみます。 (あまり意味がなくなってくるけども)
199 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 04:43:34 ] ぽりごんせんしGL
200 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 17:41:27 ] >>198 ポリゴンの裏表が逆なんじゃね? GLScene以外で表示してみて問題の切り分けしたほうがいい おそらShade固有の問題で、GLSceneとは関係ない話だよ 一般論だけど出力する前にいくらか加工や設定することで回避できる場合もある
201 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 12:24:13 ] わいのところはShadeはないんで、ためしに、 www.cgdatabank.com/freedata/trial_001.php でobj形式入力したんけど、読み込んでる最中に ようわからん例外をスローして失敗。 Delphi6 + GLScene
202 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 14:36:04 ] 違う質問で失礼します。 GLSceneで 画面上の(スクリーン座標?)点を、 シーンの中の「Z=0のXY平面」上の点に変換するには どうしたらいいでしょうか。 #平面は描画していないので、フィードバックは使え ない。カメラか何かで計算?
203 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 15:49:50 ] procedure TForm1.GLSceneViewer1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var v: TVector; begin GLSceneViewer1.Buffer.ScreenVectorIntersectWithPlaneXY(VectorMake(X, GLSceneViewer1.Height - Y, 0), 0, v); GLTeapot1.Position.X := v[0]; GLTeapot1.Position.Y := v[1]; end; こうじゃなくて?
204 名前:デフォルトの名無しさん [2007/10/12(金) 17:18:18 ] いまごろむしかえしてアレですが・・・ Delphi 7(update済み)にGLSceneを入れました。 デモを開き(この時点では普通に開きます)、実行して終了しIDEへ戻り、ファイルを閉じようとするとIDEでエラー(例外ではない)が起きます。 -------------------------------- エラー Context activation failed: C0070006; -------------------------------- フォームを開かなければ例外はおきません。 エラー後はDelphiも終了できなくなります。 ダイアログを連打すると何回か後に -------------------------------- エラー モジュールrtl70.bplのアドレス40006318でアドレス0000000に対する読み込み違反が起きました。 -------------------------------- となりDelphiが落ちます。 \base\VectorGeometry.pas に{$define GEOMETRY_NO_ASM}を 設定して、パッケージを再構築してもやはり変わらずDeath。 Windows XP SP2 RADEON 9600(ドライバは本日更新してみました) Delphi 7 理由がさっぱりです・・・どなたかおたすけを・・・
205 名前:デフォルトの名無しさん [2007/10/12(金) 18:43:59 ] >>57-93 にありますが、 procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin // ATI onclose context error fix if assigned(GLSceneViewer1) then GLSceneViewer1.Free; end; 入れたら、どうなりますか? Radeon特有の問題っぽいです。 でも、他のOpenGLアプリやプログラムでは起きないんだよなあ・・・GLSceneのせいにしてもいいと思う
206 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 19:02:56 ] >>205 助言ありがとうございます。 最初はこのことを知らずエラーの嵐でしたが、 このスレを読んでいちおう対策済みです。 デバッグ終了時などの嵐はおさまったのですが・・・ 途中の状況はさっぱりです。 コンパイルして単体で実行しても何かしらのエラーが出続けています。 クマッタ
207 名前:デフォルトの名無しさん [2007/10/13(土) 12:39:09 ] 対策してもだめか そもそも、プログラムの影響で、IDEがエラーって状況は、近辺あったことがないな・・・ 俺は。 IDEか、OSが壊れてるんじゃないのかな?
208 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 13:21:32 ] >>207 返信どもです。 Delphiとディスプレイドライバを再インスコしてみました。 が、ダメでした・・・ GLScene以外の設計では何も問題は出ないです。 新規アプリ作成で、GLSceneViewerのコンポを貼り付けてデバッグで起動、 終了してIDEに戻ったとたんにアプリケーションエラーとなってしまいます・・・ EGLContextがモジュールProject1.exeのxxxxで発生しました Context activation failed: C0070006 です。このC0070006の部分はほとんど同じ数字が出ています。
209 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 13:25:33 ] >>208 208です。 ちょっと状況変化ありです。 さっきのエラーはOnCloseにGLSceneViewer1.freeを 書いてないからでした。(ボケですみません) ただ「貼っただけ」のものではエラーは出ません。 しかし、Demoなどの、「GLSceneViewerにすでに何らかのデータが 入っている」アプリはIDE、実行時とも依然エラーが出ます。 ここらの処理をトレースしてみようと思います。
210 名前:デフォルトの名無しさん mailto:sage [2007/10/14(日) 11:48:42 ] 多分作りこんでいくとContext activation(deactivation) failed は、いろんな場面で出る。 あてにならない経験からいうと、 OpenGL的にお行儀よく書いていない場合、GLSceneは 例外がでる場合(ATI系)や、 例外も出ずに描画もされない場合(S3/VIA系)がある。 GeForce系はお行儀わるくても割と安定している。 どういう場合にOpenGL的にお行儀が悪いかは、GLSceneの 構造上よくわからな部分もあるが、GLSceneでテクスチャや、rciを 直接つかう命令などは出やすい。 発生している場合、描画を手コーディングしている部分があれば、 同じような種類の命令はまとめること、 また、描画命令の順番を変えてみると直ることがある。
211 名前:デフォルトの名無しさん [2007/10/14(日) 13:31:03 ] >>208 もしよかったら、エラーが起こる最小限のコードをうpしてみて下さい。 協力できるかも。 ただ、うちは、BDS2006なので、環境一緒じゃないけど・・・ アプロダは、 ゲムデヴあぷろだ gamdev.org/up/upload.php あたりで
212 名前:デフォルトの名無しさん mailto:SAGE [2007/10/15(月) 09:15:37 ] GLSceneで2つのクオータニオンの差を求めるのってどうすればいいですか?
213 名前:デフォルトの名無しさん [2007/10/15(月) 11:34:29 ] >>211 アドバイスありがとうございます。 >>211 さん うpしました。10317.zipです。よろしくです。 いちおう、Demosのほとんどのソースで同様のエラーがでます。 209に書いたようにViewerに「何か表示されている」場合はコンパイル、起動はできるものの、終了(アプリを閉じIDEに戻った)後、連続でエラーダイアログ、それを連打するとDelphiごとおちる状態です。 もし、IDEで戻った時点でエラーが出なくても、「ファイル→全てを閉じる」でフォームが閉じた後にエラーが出、落ちます。 感覚としてフォームインスタンスが閉じたのを「何かのコンポ」が察知できなくて、書き込みをしようとしているのでは?と思います。
214 名前:デフォルトの名無しさん [2007/10/15(月) 11:35:59 ] >>210 アドバイスありがとうございます。 しかしまだ作りこむどころか、1個のオブジェクトを表示させるのでいっぱいです・・・ QuadrupleDの方がいいのかな〜とも思い始めてます。
215 名前:デフォルトの名無しさん mailto:sage [2007/10/15(月) 23:06:05 ] >>212 まずパソコンを窓から投げ捨てます
216 名前:デフォルトの名無しさん mailto:SAGE [2007/10/15(月) 23:28:17 ] そんなこといわれなくてもやっとるわ!
217 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 09:01:01 ] インストールしてみたんだけど、メニューにFreePascalとDXP ってのが追加されたんだけど、どうすれば除けますか?
218 名前:217 mailto:sage [2007/10/16(火) 09:01:45 ] サンプルデモって全部実行できます?
219 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 16:06:53 ] 自分で試せよ
220 名前:デフォルトの名無しさん mailto:SAGE [2007/10/16(火) 17:21:50 ] 聞き方が悪かったね。 出来るやつ、出来ないやつが結構あって みんなはどうかなと。
221 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 23:51:31 ] Delphiスレはなぜか情報交換を拒絶する風潮があるのはどうしてなの?
222 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 00:40:38 ] で?
223 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 01:13:23 ] 自分以外はMSのスパイなのでは?と疑う魔法をかけられているからです。
224 名前:デフォルトの名無しさん [2007/10/23(火) 11:20:00 ] >>213 試すのがおそくなりました。 10317.zipですが、結論から書きますと、こちらでは特に問題はないようです。 終了後も、IDEも問題なく動きます。 こちらの環境は、 BDS2006(Delphi2006)、WindowsXP SP2、VGA:RADEON X700 です。こんな単純なコードででますか・・・。 RADEONのドライバは、確か世代によって、最適なドライバのバージョンがあるから注意です。 一概に新しいのがいいとは限らない。 あと、ドライバは、必ず、DireverCleanerなどを使って、まっさらにしてから再インスコすること。 ちなみに、例によって、 FreeAndnil(GLSceneViewer1); をとると、以下のエラーがでます。 EGLContext がモジュール Project1.exe の 00080781 で発生しました。 Context activation failed: C0070006, . それはいいとして・・・ ドライバやVGAなどのせいにせずに、 いまの環境で、回避したいならば、 あくまで、例外なので、 Delphiのデバッガでどこで、EGLContext例外が起こっているか、確かめて、 原因を追究しないと無理だと思う。
225 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 11:49:08 ] >>224 テストありがとうございました! やはり原因はその個体によるようですね。 友人のRadeon 9800XTでは同じテストで出ませんでした。 >DireverCleanerなどを使って、まっさらにしてから再インスコ あ、これはやってない。 また時間があるときやってみます。 なかなか根が深い問題のようです。 また進展があったら書きます。 (技量的にすでに限界を超えているとも・・・)
226 名前:デフォルトの名無しさん [2007/10/27(土) 00:44:43 ] 一応確認したいけど、NeHeなどの、OpenGLのサンプルでエラーが起こらない (というか、期待通り表示されるならば) GLSceneのクセのようなものが出ていると思う。 上で出ていた、別の 終了時のEGLContext エラーもそうだけど、 GLSceneの組み方が、どうも、RADEON系との相性が悪いみたい。
227 名前:デフォルトの名無しさん [2007/10/27(土) 00:45:29 ] > 一応確認したいけど、NeHeなどの、OpenGLのサンプルでエラーが起こらない > (というか、期待通り表示されるならば) 一応確認したいけど、NeHeなどの、OpenGLのサンプルでエラーが起こらない (というか、期待通り表示される) ならば、 間違いスマソ
228 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 10:46:41 ] >>226 NeHeは初めて聞きました。 ということで早速サンプルを実行してみました。 エラーはまったく出ません・・・ やはりGLSceneの実装の問題のようですね。 あきらめ寸前
229 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 14:58:35 ] クオータニオンからどれか一つの軸の傾きや 回転を知る関数ってありますか?
230 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 23:57:07 ] まとめページどこですか?
231 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 01:35:54 ] >>230 ttp://gamdev.org/w/?%5B%5BGLScene%5D%5D
232 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 01:07:45 ] >>231 もっとちゃんとしたインストール手順書ない?
233 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 08:41:11 ] さいきんイジリはじめたんだが、マジで情報少ないな。結構よくできたライブラリだと思うんだがな。
234 名前:eAbRYZExxTKnwl mailto:email@gmail.com [2007/11/17(土) 16:29:36 ] Hi! Nice site! <a href=dthqlr.cn/beer/ >hi </a> [URL=dthqlr.cn/beer/ ] guys [/URL] dthqlr.cn/beer/
235 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 22:56:17 ] これのライバルライブラリといえばどんなものがあるの?
236 名前:デフォルトの名無しさん mailto:sage [2007/11/20(火) 00:41:50 ] 簡単なサンプルを一から書いてみたんだが、 なぜか TGLTerrain のライト処理が変になる。 シーンに手をいっさい加えずにレンダリングすると設定した通りのライティングなんだが ちょっとでもオブジェクトの座標をいじったりするとライトがヘンなところに当たってしまう。 しかも TGLTerrain 以外のオブジェクト(っていっても今の所箱一個だけだが)は指定どおりの光源処理になる。 早くもライブラリのバグにぶちあったったのか・・・
237 名前:デフォルトの名無しさん mailto:sage [2007/11/20(火) 01:59:24 ] 弄り方が悪かったんだろ
238 名前:デフォルトの名無しさん mailto:sage [2007/11/20(火) 02:26:33 ] いまやってみたが座標どころか、Viewerを client に align して、ウィンドウをリサイズするだけで発生することがわかった。 バグじゃないとして、なにがマズいんだ? Light をパラレルにしてるのがまずいのか・・? もうすこしいじってみる。
239 名前:デフォルトの名無しさん mailto:sage [2007/11/20(火) 03:58:27 ] 初期化未遂
240 名前:デフォルトの名無しさん mailto:sage [2007/11/20(火) 20:14:51 ] これバグみつけたらどこに報告すりゃいいんだ?
241 名前:デフォルトの名無しさん mailto:sage [2007/11/21(水) 08:12:13 ] Mailing List
242 名前:デフォルトの名無しさん [2007/12/21(金) 13:30:54 ] guiのサンプル見てみたんだけど これ日本語入力できる方法ないのかな〜
243 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 01:52:35 ] 1バイトで処理してるから表示されないだけで、入力は普通にできないか? GLEdit1に日本語を入力して、中身を確認すると日本語そのまま入ってるし。 日本語を出そうとするとTGLCustomBitmapFont.RenderString周りの書き換えか…。
244 名前:デフォルトの名無しさん mailto:sage [2008/01/03(木) 04:01:56 ] >>242 サンプルを変更して確認しようとしてみたんだが・・・ 日本語以前にGLEditの位置を変えただけで入力されている文字が 表示されなかったりわけがわからん。 これってバグなのか?仕様なのか? ネットワークゲーム系だとチャットは大事だから この使い勝手じゃあ使い物にならんな。
245 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 23:43:35 ] >>244 BitmapFontを指定してないだけじゃない?
246 名前:242 [2008/01/09(水) 10:33:50 ] 日本語入力に挑戦してみたのですが Bitmapfontが英語の範囲しか対応していないみたいで RenderStringの変更だけじゃ無理みたいなんですが;;
247 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 01:49:46 ] >>246 試しに描画させてみましたが、RenderStringを書きかえて漢字は出せました。 全漢字を含んだテクスチャを用意し、 漢字の時はRenderString内のGetCharTexCoords(currentChar, topLeft, bottomRight);を呼ばずに topLeft, bottomRightを計算するだけ。 全文字を綺麗に出すにはもう少し工夫が必要ですが。
248 名前:デフォルトの名無しさん mailto:age [2008/02/02(土) 22:14:37 ] にゃは
249 名前:242 mailto:sage [2008/02/06(水) 18:54:28 ] 質問ばかりですみません >>全漢字を含んだテクスチャを用意 これどうしたらいいでしょうか・・・
250 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 19:30:50 ] gl_kanjiを参考にすればいいんじゃね?
251 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 09:33:49 ] 初心者の質問ですみません... お菓子(クッキー)を型抜きした物を表示したいんですが、 どうすればいいでしょうか? 回転体でクッキーをつくることはできました。 それを回転軸方向から、簡単な図形(星とか)で、 抜ければいいんですけど。
252 名前:デフォルトの名無しさん mailto:sage [2008/03/30(日) 16:01:02 ] ヒント:ブーリアン
253 名前:デフォルトの名無しさん [2008/04/05(土) 20:12:59 ] 国土地理院の50mメッシュデータに、2500地形画像を貼り付けたいのだけど、 1枚の画像データ(TIFF)の平面の2次元座標指定でをメッシュデータ(3角か4角のポリゴンでよい) に指定していく方法がわからない。 OPENGLならできるような気もするのだけど?GLSceneなら簡単にできないものですか? 画像をあらかじめ分割しておけばそりゃ出来るんだろうけど、ファイル数がめちゃくちゃ多くなるのであまりやりたくないです。
254 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 20:43:59 ] 日本語でおk
255 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 23:12:22 ] >>253 国土地理院の50mメッシュデータ=ただの高さデータ 2500地形画像=ただのテクスチャ よって、TGLHeightField使って高さを表現させ、 地形をテクスチャとして指定するだけで、お手軽に立体地図の完成。 俺が自分で遊んでたのはSRTM30でテクスチャ無し(高度で色変更)だが。 ただTGLHeightFieldは非常にクセが強い印象。 高さ表現できるクラスを自力で作るのがベストかもね。
256 名前:255 mailto:sage [2008/04/06(日) 10:27:48 ] >>253 読み直してみた。単に巨大画像を扱う方法を知りたいだけだったか。 3Dなら、GLSceneと言うかOpenGLだろうがDirect3Dだろうが、 分割して随時テクスチャとして管理するしかないよ。 2DならGraphics32でおk。
257 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 15:45:03 ] 大きいサイズの画像が扱えないバグがVCLにあったハズだけどもう直った?
258 名前:デフォルトの名無しさん [2008/04/15(火) 22:23:44 ] >>255 ご親切にありがとうございました。TGLHeightFieldでOKでした。 ただ、HeightFieldGetHeightの使い方がわからず、時間がかかりました。 どこかに、まともなリファレンスがないものか(見つかりませんでした) リファレンスと簡易例文があれば、あっという間に出来てしまうのにね。 もったいない。 次の課題 1、2500画像、基本台形なのでリアルで正規化できないものか 2、がけのようなほぼ直角で落ちているような指定をどうするのか?(できないのか?) 3、手前のシーンがぼけるんだけど、ぼけないようにできないものか? こつこつとやってみます。もしご存知でしたらヒントをお願いします。
259 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 00:24:40 ] >>258 地形を表現させるにはTGLTerrainRendererでもいけるぞ
260 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 08:46:56 ] >>252 ヒントありがとうございます。 ブーリアンを調べて、立体の積の元になる2つはGLScene上で 作ったのですが、これをどうやるとブーリアンができるのでしょうか。
261 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 22:51:45 ] 日本語表示用のコンポーネントを作ってみました。 TGLCustomBitmapFontを継承してます。 DelphiまとめwikiのGLSceneのところにアップしてます。 ・・・でも・・表示が非常に遅い・・・orz >>247 氏の方法を使ったほうがよかったかな? だれか作り直してくれ。
262 名前:261 mailto:sage [2008/04/29(火) 00:10:40 ] そういうわけで、>>247 氏の方法で試しにコンポーネントを作ってみました。 しかし・・・セカンドマシンでテストしてみたら、なんとメモリオーバー。 欲張ってunicodeの文字を全部準備したのがマズかったみたい・・・ Graphics32のTBitmap32Collection型を使って分割すれば良かったかも。 どちらにしろ、最初から作り直しだあ〜>< もしこれが完成したら、先にアップしたやつは不満だらけなんで削除します・・・
263 名前:261 mailto:sage [2008/05/22(木) 23:38:31 ] またまたそういうわけで、結局Graphics32のTBitmap32と、GLSceneのTGLBitmap32の配列で対処しました。 現在動作テスト中ですが、今のところ問題はなさそうです。 ・・・が、なんかGamDevが落ちているみたいでアクセスできないです。 コンポーネントのアップ、どうしよう・・・ふぅ〜。
264 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 15:26:09 ] 待っていればその内復活するんじゃね。コンポ期待待ち
265 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 12:05:04 ] GLSceneの座標って右手系?左手系?
266 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 18:50:46 ] ちょっとググるだけで分かることを何故あえてここで聞いたの?
267 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 22:09:39 ] OpenGLは右手系。っとマジレス。 DirectXの初期値とは逆なんで要注意。
268 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 00:59:46 ] GLScene 座標でググったんだが、右手とか出てこなかったんで 聞いてみた。 でも、今分かったよ。 右手系のことをグローバル座標系って言うんだね。 266,267ありがとう
269 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 06:50:08 ] 何が分かったんだか…。
270 名前:デフォルトの名無しさん mailto:SAGE [2008/05/28(水) 07:31:24 ] >>269 >何が分かったんだか…。 >何が分かったんだか…。 >何が分かったんだか…。 >何が分かったんだか…。 >何が分かったんだか…。 >何が分かったんだか…。 >何が分かったんだか…。 >何が分かったんだか…。 >何が分かったんだか…。 >何が分かったんだか…。
271 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 11:43:08 ] >>269-270 自演乙
272 名前:デフォルトの名無しさん mailto:SAGE [2008/06/10(火) 18:50:29 ] 厨房の宿題みたいな質問で申し訳ないんだけど、2点を結ぶ延長線とある1点を通る線が90度に交わる座標を求めたいんだけど、ググるキーワード教えてください。
273 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 19:04:57 ] ググるキーワードをググレカス
274 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 19:06:46 ] 点と直線の距離
275 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 22:43:10 ] >272 垂線の足?
276 名前:デフォルトの名無しさん mailto:SAGE [2008/06/11(水) 21:07:21 ] >>273 ,274,275 ありがと
277 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 09:36:51 ] GLSceneの説明を更新&追加していこうと思っているんですが、 ゲムデブwikiがまだ落ちてるみたい・・・ どうしたんだろ?
278 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 16:00:17 ] 今はこっち wiki.game-develop.com/
279 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 00:04:40 ] ありゃ〜っ、禿しく変わっちゃったような気が・・・ ・・・もしかして、今までの、全部クリア? orz 誰か、今までのバックアップしてない? ・・・やっぱり、一から入れなおすかしかないか・・・
280 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 01:35:08 ] すっきりや・・・かなしいほどに
281 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 01:47:11 ] これってGLSceneのことは、どこにのってるの? まだ、のってないの?
282 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 20:00:15 ] 再建されただけでもありがたいと思わないと 古いのはWebArchive参照
283 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 22:19:00 ] GLScene関連のリンク集ない?
284 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 23:52:51 ] ttp://glscene.sourceforge.net/wikka/GlsceneLinks
285 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 00:26:55 ] >>278 すっかり変わっちゃったね 今のうちに関連ページだけでもバックアップとりたいんだけど WEBを丸ごとローカルに保存するツールない?
286 名前:デフォルトの名無しさん [2008/07/05(土) 08:57:01 ] web.archive.org/web/20061020053624/http://gamdev.org/w/ kokkara
287 名前:デフォルトの名無しさん [2008/07/05(土) 08:57:47 ] >>285 更新とまってるけどおれはweboxを愛用 wgetという手も
288 名前:デフォルトの名無しさん [2008/11/17(月) 15:26:27 ] まだ有るの?
289 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 16:56:15 ] あります みんなのココロのなかに
290 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 23:05:59 ] だが、まだ俺のHDDのなかにもあるという事実
291 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 09:54:08 ] これ今更入れてみたがサーッパリわかんね。 敷居低くベンチマークやスクリーンセーバーみたいなの作れればいいやと思ってたが それでもDBプログラマには敷居が高かったようだ。 で、チョイと質問ですが当面の目標にしたサイコロ作りに勤しんでいるんだが、 64*64の画像をアサインして正面向かせても描写サイズが64*64にならないんだけど 面の大きさをピクセルで正確に合わせるにはどうすれば良いんでしょ? スケールとポジション弄ってるとなんとなく見た目の大きさが変化してるのは 分かるが、自分が見せたい大きさになってくれない。
292 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 16:59:44 ] そもそも3Dでピクセルを気にするという発想がおかしい OpenGL入門サイトはいくらでもあるから、好きなの眺めて基礎知識つけた方がいいと思われ
293 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 06:30:18 ] >>292 あーそうなんだ カメラのz軸固定?非ズームだと気にならんの? まぁいろいろやってみるよ。
294 名前:デフォルトの名無しさん [2008/12/11(木) 15:09:36 ] 正射影つかうとか
295 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 21:49:12 ] GLFreeFormに3dsとmd2を読み込んだんですけど、表面材質は表示されないんですか テクスチャー張らないで色つけたいんでけど Material Editer だと全部同じ色になるみたいんで モデラーみたいに表示してくれる方法ってありますか?
296 名前:295 mailto:sage [2008/12/13(土) 16:10:37 ] 自己解決しました
297 名前:デフォルトの名無しさん [2008/12/14(日) 06:19:48 ] 事故解決したら、検索してきた人や後学などのためにも結果を書いておこうよ
298 名前:295 mailto:sage [2008/12/14(日) 10:06:52 ] ああ、ごめんなさい、簡単だから勉強の為にも自分で調べてくれと言う意味で あえて誰も教えなかったと思って、書かない方が良いのかと思ったw GLMaterialLibrary(色付きのキューブのアイコン)を追加して GLFreeForm1 のプロパティーMaterialLibrary(+Material 内ではない)に GLMaterialLibrary1を設定、これだけで出来た ちなみにGLMaterialLibrary1をダブルクリックして新規追加とか色々出来るみたい Demos\meshes\CSG とかで使ってるので誰か解る人、追加情報よろしく
299 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 07:36:08 ] 299
300 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 07:36:44 ] 300
301 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 16:51:10 ] WAVEOUTのACTIVEをtrueにしても、実行時 NO Active Sound Manager. Make sure manager is created before emitter と表示されるんで FMODに戻したら、こちらでも出る様になったんです。 以前には出なくてきちんと音が鳴ってたんですけど、こんな症状になった人居ますか。 もう全然音を使えなくなってしまって、どうにか直したいんで分る方お願いします。
302 名前:301 mailto:sage [2009/02/01(日) 17:29:25 ] GLscene Editerの方ではなくコードでSound emitterを設定すると 何も表示されずにきちんと音がなりました、でもWAVEOUTの方はやっぱり音が鳴りませんWAVEOUTってFMODと同じ方法では使えないんですか?
303 名前:301 mailto:sage [2009/02/21(土) 01:35:39 ] 自己解決しました
304 名前:デフォルトの名無しさん [2009/02/21(土) 08:42:29 ] 事故解決したら、検索してきた人や後学などのためにも結果を書いておこうよ
305 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 20:36:58 ] お断りだ
306 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 19:26:25 ] 認めぬ
307 名前:デフォルトの名無しさん mailto:sage [2009/03/19(木) 20:22:08 ] またそういうことを
308 名前:デフォルトの名無しさん mailto:sage [2009/03/24(火) 20:07:19 ] キーロガーといわれればそうですね。 でも、キーストロークを監視するのって よくあることじゃない?
309 名前:デフォルトの名無しさん mailto:sage [2009/03/24(火) 20:08:00 ] ごばーく 失礼!
310 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 01:03:15 ] ははは
311 名前:デフォルトの名無しさん mailto:sage [2009/04/19(日) 14:33:13 ] 902 名前は開発中のものです。 [] 2009/04/18(土) 03:19:08 ID:YxO4K2FJ GLSceneのサイトが更新されている。 glscene.sourceforge.net/wikka/HomePage GLScene for Delphi2009なんてのもあるぞ sourceforge.net/project/showfiles.php?group_id=255318