OpenGL
■ このスレッドは過去ログ倉庫に格納されています
0001あ
01/11/15 23:34ID:GvgJsycj0017レプタリアン教授
01/11/17 12:58ID:DEuraLAg俺も殆どそこで学んだけど、最後のリンクのチュートリアルは興味深いなぁ。
http://www.nk-exa.co.jp/mmtech/OpenGLEdu/ ここお勧め。
0018名無しさん@お腹いっぱい。
01/11/17 17:51ID:FtDApPxxNeHeはいいですね。
このレベルになるとOpenGLの場合海外サイトばかりになるんですよね。
DirectXに比べて日本語資料が少ないのはどうしたものか・・・。
0019名無しさん@お腹いっぱい。
01/11/17 17:55ID:???海外のDirectX資料も意外に少ない。
OpenGLの資料を参考にしている。
0020名無しさん@お腹いっぱい。
01/11/17 18:25ID:mUKYqA/9サウンドだけDirectXってのも変だし。
0021名無しさん@お腹いっぱい。
01/11/17 18:28ID:???0022レプタリアン教授
01/11/17 18:36ID:DEuraLAg0023名無しさん@お腹いっぱい。
01/11/17 19:23ID:???Linuxでも動きます?
0024レプタリアン教授
01/11/17 19:26ID:DEuraLAg0025名無しさん@お腹いっぱい。
01/11/17 19:37ID:???glutを使っているの?
ソース見たことないけど、使っていないような気がするけど。
0026名無しさん@お腹いっぱい。
01/11/17 21:40ID:???0027レプタリアン教授
01/11/17 22:06ID:DEuraLAg0028名無しさん@お腹いっぱい。
01/11/18 02:35ID:???勉強なんてつもりじゃなにも身につかねぇな。
002928
01/11/18 02:42ID:???教育上のデータとして聞いたのか?
まともなってのが曖昧だが、
GLだけなら1日。
3Dからなら1週間。
数学からなら1.5週間。
0030レプタリアン教授
01/11/18 03:18ID:???熱心な方なんですね。1日に何時間くらいなのかもお答え頂けると嬉しいです。
確かに、GLUTなら初日でちょっとしたものくらいは作れますね。
数学も、線形数学の初歩的な知識があれば最初のうちは事足りますしね。
まともな、っていうのは、まぁ、ウォークスルーやテキスト出力を用いたプログラム・・・じゃ初歩的過ぎますか。
003128
01/11/18 03:42ID:???ウォークスルーができればまともとはいえると思う。
ちゃんと座標変換の意味を理解できてればの話。
あと、クォータニオン使用。
1日に何時間ってのは、そりゃぁ寝る時間と食う時間以外。
学生なら、自由に取れるすべての時間。
基礎のうちはすべての時間をそれにつぎ込むべき。
0032名無しサソ
01/11/18 03:51ID:???あと何年もかかるんだろうなぁ・・・(笑)。あるいは永遠に?
OpenGLに限らず、3Dって表示するだけと応用するのとでは
天と地ほどの差があるような。日々是勉強。怠け者にはきつい。
0033名無しさん@お腹いっぱい。
01/11/18 03:52ID:l+W9gEoZ0034レプタリアン教授
01/11/18 03:58ID:ROvZSKp30035名無しさん@お腹いっぱい。
01/11/18 04:05ID:???OpenGLを応用するわけじゃない。
結局、OpenGLとかは道具にすぎないからね。
0036名無しさん@お腹いっぱい。
01/11/18 04:27ID:???そういえばSDLスレ下がっちゃったね。
0037_
01/11/18 04:39ID:d8SKOzPfクオータニオンを噛み砕いて、説明して下さい。
使ってはいるけど、理解してないです。
003828
01/11/18 07:24ID:???それも、原点回りの回転に限定する。
これは俺なりの理解の仕方だから、証明じゃないんでよろしく。
クォータニオンは極座標と関係がある。(みたい)
原点からの距離と角度で座標を表現するやつだ。
p = r(cosA + i*sinA);
q = r'(cosB + i*sinB); なら、p*q は rr'(cos(A+B) + i*sin(A+B))となり
q をAだけ回転させて長さに r を掛けたものになる。
これは次のように考えることもできる。
q(x, y) とすると q = x*i + y*j とベクトル表記できる。
このとき極座標系ってのは実はもう1つの軸 k を用いた表記であって
p = r(cosA + k*sinA);
q = r'(cosB + k*sinB);
となり、複素数に外積の振る舞いを追加して
i*j = -j*i = k;
j*k = -k*j = i;
k*i = -i*j = j;とすると、p*qは
r(cosA + k*sinA) * (x*i + y*j)で、これを展開してくと
r(xcosA-ysinA)*i + r(xsinA+ycosA)*j となる。
x = r' *(x/r') = r'cosB だから、加法定理を用いて
rr'(cos(A+B)*i + sin(A+B)*j) となり最初と同じ結果になる。
だが、厳密にはおなじではない。後の方は交換法則が成り立たない。まあ、外積を用いてるからあたりまえだ。
交換すると-A の回転になる。
ここで分かるのは p にベクトルを掛ければ k 回りに A だけ回転したベクトルが得られるということ。
ただ、ここで1つ問題があって、長さが r 掛けられてしまうということ。
いま、回転だけを扱いたいので、この r を打ち消す必要がある。
そこで、今の結果に p の共役な値 (1/r)*(cosA - k*sinA) を今度は
逆から掛ける。
= (1/r)*(cos(-A) + k*sin(-A)) で、かつ逆から掛けて逆回転ってことで
さっきの結果をさらに A だけ回転させることになる。
さらに回転しちゃうが、r はなくなった。これでOK。
ってことで、この p がクォータニオンだ。任意の軸 v 回りのクォータニオンは
cos(A/2) + sin(A/2) * v になるのはご存知の通り。
なんで、素直に r で割らないんだ!
って話になると思うが、おそらく、任意軸に拡張すると
r で割るだけではうまくいかないのではないかと。
まあ、専門書読んだことないんで、適当な理解の仕方だ。
31 では、クォータニオンは'使用'って書いただろ?
003928
01/11/18 07:29ID:???k*i = -i*k = j;
004128
01/11/18 15:33ID:???>>40
ってことはだいたいあってるてことか?
それじゃなんでクォータニオンの回転は
p*q*p' じゃないといけないのか教えて欲しい。これがわからん。
ってか、この辺が載ってるお勧めの本とか。
0042レプタリアン教授
01/11/18 15:55ID:???0043初心者
01/11/18 16:47ID:1axizOQg0044名無しさん@お腹いっぱい。
01/11/18 19:43ID:???その辺は何学なんだ?高卒なんで分からん。
0046名無しさん@お腹いっぱい。
01/11/18 21:17ID:???OpenGLなら、
どんな画像でもテクスチャーに出来るよ。
どうやってBMP読み取れるの?
0048名無しさん@お腹いっぱい。
01/11/18 22:05ID:wTN+FDJLOpenGL自体には特定のビットマップフォーマットを読み込む機能はないので、
指定したピクセルフォーマットのベタデータにコンバートするコードを書くか、
その手のイメージ処理を行うライブラリを使ってベタなイメージデータを作る必要があります。
#GL_RGB なら RGBRGBRGBRGB .... という具合に並べておかないといけないって事ね。
ベタデータ(photoshopで.raw形式で出力されるファイル)であれば直に読み込む
事ができますけれど。
0049名無しさん
01/11/18 22:42ID:???BMPぐらいなら自力でDIBで読んで適当にできるよ。まぁ、自己満足かもしれないが。
詳しくはこのへん参照。
ttp://www.sm.rim.or.jp/~shishido/windows.html
JPGやPNGは… ライブラリに頼る、か。
自力で読めるんならやってみたいが、難しそう。つか、これは自己満足やね。
0050_
01/11/18 23:13ID:d8SKOzPfすいません。やっぱわかんないやw
取り敢えず、他の資料と照らし合わせて眺めときます。THX!
0051名無しさん@お腹いっぱい。
01/11/18 23:47ID:???簡単に読み込みたきゃglaux使えば?
0052名無しさん@お腹いっぱい。
01/11/19 04:56ID:u+/4qdZf0053名無しさん@お腹いっぱい。
01/11/19 17:12ID:RPBMak4n行列と変換郡って本で読んだんだけど、
覚えている内容は↓の感じ。
2次元の回転はY軸を虚数でおいた複素平面では、
EXP(iθ)=cos(θ)+i*sin(θ)で回転を表せる。
座標は(x,y)=x+iyね。
Y軸が実数なら行列
cos(θ) -sin(θ)
sin(θ) cos(θ)
で回転できる。
これらの関係をSpecialUnitary(1)=SpecialOrthogonal(2)っていうらしい。
Specialは行列式が+1になるって意味とのこと。
他に、i*i=-1だけど、
行列Aを
0 1
-1 0
と置くと、
A*A=−E(Eは単位行列)
になって、
行列Aが虚数iに見えるよなぁって話もでてた。
0054名無しさん@お腹いっぱい。
01/11/22 22:12ID:0blDtgUU高価なOpenGLボードを使えばGeForce3より速くなるのでしょうか?
ハイエンド用途ならOpenGLなのでしょうか?
0055名前は開発中のものです。
01/11/22 22:37ID:???DirectX と OpenGL をDQN的に単純比較することで
その優劣を評価しようと試みた人間は過去に大勢いましたが
これといった成果を残すことなくログの藻屑と消えてゆきました。
0056名前は開発中のものです。
01/11/23 01:51ID:???0057
01/11/25 01:48ID:k801mtcL0058名前は開発中のものです。
01/11/25 01:55ID:N7+FZWf2ほい。
http://www.dstorm.co.jp/dev/docs/lwsdk65/docsj/filefmts/lwo2.html
0059名前は開発中のものです。
01/11/26 07:37ID:???C魔我でもやってたね。
0060名前は開発中のものです。
01/12/03 23:16ID:Zd+puLmJと関係するかもしれませんが。Softimage,Mayaなどのハイエンドツールで
OpenGLが使われているのはなぜでしょうか?
まあこれからはDirectXに変わっていくのかもしれませんが。
Softimage|XSIのシェーダーなんかはどうやってDirectX→OpenGL変換して
いるのでしょうか?
0061名前は開発中のものです。
01/12/04 00:28ID:???Softimage,Mayaなどのハイエンドツールは
他のOSにも移植する事を考えて、
OpenGLを使ってるのだと思うョ。
DirectXはWindowsだけのAPIだからね。
0062名前は開発中のものです。
01/12/04 00:40ID:???Fahrenheitが実現すればよかったんだろうけどネ
0063名前は開発中のものです。
01/12/05 07:40ID:???OpenGLならPC死ななくて 再起動できるから好き。
0064名前は開発中のものです。
01/12/05 12:46ID:DEoHzlOJそうそう、それ重要です。
0065名前は開発中のものです。
01/12/06 17:00ID:kgRkIMNpとかないでしょうか?
0066名前は開発中のものです。
01/12/06 17:20ID:???0067名前は開発中のものです。
01/12/06 20:19ID:kaPhEB1Uキーボードの同時押しは判定できないのでしょうか?
0068名前は開発中のものです。
01/12/06 21:00ID:???できないと思うのです。キーのリピートで繰り返し呼ばれてるような気がするのです。
GLUT API
http://www.sccs.chukyo-u.ac.jp/~miyazaki/glut_man/
ここ見た感じだと (Shift Ctrl Alt) + key ならできる… かも。
つか、素直にWindows で GetAsyncKeyState とか。
0069名前は開発中のものです。
01/12/06 21:20ID:???007067
01/12/06 22:52ID:???ありがとうございました。
glutKeyboardUpFuncですが、
ヘッダファイルを見たところ、
#if (GLUT_API_VERSION >= 4 ...)
GLUTAPI void GLUTAPIENTRY glutKeyboardUpFunc(...);
...
#endif
ということで、将来サポート予定の機能のようです。
今のところ、glutは諦めた方が良いみたいですね。
0071名前は開発中のものです。
01/12/06 23:15ID:???自力で作るべし。
俺もつくるぜぇ〜(;´Д`)
0072名前は開発中のものです。
01/12/07 03:44ID:???正直、そこまでくると NeHe の Lesson2 を見て
wgl (って言うんだっけ?) とか glx 使ったほうがラクそうな気がします。
0073名前は開発中のものです。
01/12/07 21:48ID:zuKE/z5e0074名前は開発中のものです。
01/12/07 22:50ID:pogN6hlZこれ気になる。3DベースのAPIで2Dの処理もしないといけない時
って結構あるもんだ。
0075名前は開発中のものです。
01/12/11 01:10ID:TsYyZh1pNVSDKのサンプルでもみんなで読みましょう。
0076名前は開発中のものです。
01/12/13 13:24ID:???OpenGL上でもアクセラレーション対応させたいんですけど
(今までソフトエミュレーションだったので・・・)。
その辺詳しい方、おられますか?
0077名前は開発中のものです。
01/12/13 15:23ID:???http://oss.sgi.com/projects/ogl-sample/registry/EXT/vertex_weighting.txt
0078名前は開発中のものです。
01/12/13 18:43ID:???NVやATIも、好き勝手やってるようですが、
これが本流という事ですね?
とりあえず、組み込んで見ます。
0079名前は開発中のものです。
01/12/14 01:08ID:???NVはvertex_blendだけサポート
本流も2流あるね
0080名前は開発中のものです。
01/12/14 04:05ID:???ATiとnVが逆だよ。
それにしても、ほんと好き勝手やってるなぁ>ATiとnV
0081名前は開発中のものです。
01/12/14 12:08ID:qSHJFlWd結局あれって行列では誤差があるからこっちのほうが良いよ、ってことで使うんですか?
あと、姿勢の補間と。
この2つの理由のみからですよね?
0082名前は開発中のものです。
01/12/14 13:18ID:???オイラー角の致命傷を防ぐ。
IKの問題解決には、AXISかクォータニオンしかないね。
0083名前は開発中のものです。
01/12/20 19:42ID:VGfmdElm0084名前は開発中のものです。
01/12/31 03:14ID:???WGL系拡張なのが気に入らないなあ。
GLUTと併用してうまくいった人いる?
ていうかRADEON欲しい。
0085デザイーナ
01/12/31 15:37ID:wsH3SVJd>オイラー角の致命傷
ってどんなんですか?ジンバル六区とか?
いまいちクオータニオン使うメリットがわからんです
0086名前は開発中のものです。
01/12/31 17:17ID:???まさに。
まあ、だからといってクオタニオンにする必要もないんだけどね。
とりあえずオイラー角はやばい、と。
0087名前は開発中のものです。
01/12/31 17:20ID:???なすて?
0088名前は開発中のものです。
01/12/31 19:09ID:???ジンバル六区とか
(以下、無限ループ)
0089名前は開発中のものです。
02/01/01 12:34ID:YwsXNczBゲームの場合基本的に地面がある場合が多いので
ベクトルは事実上二次元(極座標)で扱えば計算量はぐっとへる。
0090名前は開発中のものです。
02/01/01 12:39ID:YwsXNczBCPUだって高性能なんだからなんでもかんでもGPU任せで
結局はフェイクシェーディングのATIやNVの方針はどうかと思う。
ところで音楽関係だけどでもとか商用でない場合はFMOD、BASS、MIDPlugを使うのが
OpenGLの基本だと思う。
おれはWinだけだけどDirectDrawの画像変換とDirectInputとDirectSound、DirectShowを使う
あとOpenGLトゥーンシェーディングとかはラインを併用すれば
古いマシンでもアンチエイリアスがそこそこの速度でじっそうできるのがよい。
0091名前は開発中のものです。
02/01/03 00:12ID:HrlJ3rN9パーティクルたくさん。楽しいねえ。
ソースもあるよ。
ttp://romka.demonews.com/index_eng.htm
0092名前は開発中のものです。
02/01/08 01:51ID:MknuQv4Zアキュムレーションバッファを使った処理(モーションブラー等)
が異様に遅いのは俺だけ?
ちなみにビデオカードはGeForceMXと3dfx Voodoo3の2種類。
0093名前は開発中のものです。
02/01/08 06:39ID:???0094名前は開発中のものです。
02/01/12 14:39ID:ASkJ6hrF0095名前は開発中のものです。
02/01/14 03:26ID:???そのテクスチャだけ表示だと正常に表示されるのに、違うテクスチャと切り替えてると表示されません。
4枚テクスチャがあってそのうちの2枚は正常
異常な2枚だけを表示させるとそのうちの1枚だけ正常
1枚だけだと正常
0096名前は開発中のものです。
02/01/14 04:05ID:???0097名前は開発中のものです。
02/01/14 05:02ID:???0098名前は開発中のものです。
02/01/14 05:09ID:???○見てみる
表示付近が完璧と思うなら、glGenTextures付近で失敗してるとかは?
0099名前は開発中のものです。
02/01/14 05:13ID:???0100名前は開発中のものです。
02/01/21 02:04ID:W9Hprj7qttp://csgl.sourceforge.net/
日本語のVisualStudio.NETっていつ頃になるの?
0101名前は開発中のものです。
02/02/02 17:05ID:???0102名前は開発中のものです。
02/02/17 11:55ID:2JbdiPrqttp://romka.demonews.com/index_eng.htm
ttp://nehe.gamedev.net/
ttp://www.delphi3d.net/
ttp://www.sgi.com/software/opengl/advanced97/programs/programs.html
みんなツールとかでもDirectX使っているの?ツールもゲームもOpenGL使いたい
んですけどね。コンシューマゲーム機のライブラリもかなりOpenGLライクだし。
0103名前は開発中のものです。
02/02/17 16:59ID:???昔と違うから。
0104名前は開発中のものです。
02/02/17 19:53ID:21oMBy50ゲーム本体とコード共有するなら、DirectXのほうがいいかねぇ?
0105名前は開発中のものです。
02/02/17 19:55ID:DlqHV3jg使えません。
0106名前は開発中のものです。
02/02/17 19:55ID:???DX8.1と比べても?
0107名前は開発中のものです。
02/02/17 20:00ID:21oMBy50タイプ量だけなら、少なそうだ。
でも、AudioとかInputとかないから、結局DirectXも使うんだろうけど。
0108名前は開発中のものです。
02/02/17 20:54ID:???0109名前は開発中のものです。
02/02/17 21:03ID:21oMBy500110名前は開発中のものです。
02/03/02 12:16ID:4C7VVfDO皆さんはどうやって覚えました?
0111名前は開発中のものです。
02/03/02 13:45ID:???というか、ウィンドウに割り当てるだけなんで、そこらのWebに載ってるサンプルで十分じゃない?
あとは、普通のOpenGL+Win32APIだし。
あと、OpenGLは、SDL使ってやるのも楽だよ。
0112名前は開発中のものです。
02/03/02 13:56ID:???白本(OpenGL Programming for Windows)があるけどもう内容が古いし
訳も最悪だから立ち読みか図書館などで。
0113名前は開発中のものです。
02/03/02 15:23ID:???私は適当なサンプル拾ってきて、
重要そうなヤツを英語のMSDNで調べる。って感じ。
英語弱いので単語を拾って読むだけだけど。
日本語で解説してるページはあるのかねぇ…
0114名前は開発中のものです。
02/03/03 15:21ID:???君はDX7の日本語ヘルプをゲトーしてよめ。
俺もこれを入手するまでは、初期化で断念してたけど、これはかなりイイ。
図入りだし、サンプルコードのコメントまで和訳でのってるし。
0115名前は開発中のものです。
02/03/03 15:38ID:???発掘しませんか?
これつかうと、DXとOpenGLに加えてGlideとかS3のあれとかPowerVRまで
同じインタフェースでポリゴンだせるとおもうんだけど....。
つうことで、とりあえずQuake2のソースダウンしてみた今日この頃。
まあ、素人なんでこの手のゲームくらいポリゴンでたら当分もつと思うし
PS1もこれくらいで扱えるくらいのポリゴンしかでないはずだし、ソース
の共通化になればらくだよな〜。
0116名前は開発中のものです。
02/03/06 00:19ID:hDTLVRCZは何か進展があったのだろうか age.
■ このスレッドは過去ログ倉庫に格納されています