1 :
あ :
01/11/15 23:34 ID:GvgJsycj 現在OpenGLを勉強してますが、OpenGLでは3Dゲームは作れないのでしょうか?無駄なのでしょうか?
作れるよ
3 :
:01/11/15 23:56 ID:GvgJsycj
やはりWinAPIとかも使えないとダメなんでしょうか。
Quake さげ
>>3 ほどほどで大丈夫。
ダイアログとか自前でつくったほうがカコイイしね
6 :
:01/11/16 00:16 ID:KPv6jcLU
衝突検出はどうやるんでしょうか。ax+by+cz+d=0でdの符号から判断する、面の交差を判断する方法でいいんでしょうか。
7 :
名無しさん :01/11/16 00:33 ID:???
ラッパーライブラリは知らないけれど、OpenGLもDirect3Dも 基本的には表示のみのAPI群でしょう。 衝突とかキャラ管理とか、そーいったものはCなりC++なりで書くもんだろう。
この板できてからム板は見るのやめた。 3D系は全部この板に移行して欲しいね。
10 :
名無しさん@お腹いっぱい。 :01/11/16 09:33 ID:KPv6jcLU
OpenGLで人間を作るのは不可能に近いと思う・・・
はやくにんげんになりたーい
12 :
名無しさん@お腹いっぱい。 :01/11/16 13:47 ID:oPPyOif1
>>10 どんな理由からですか?
OpenGLで無理なら何なら可能??
世の中ワカランことばかりだ。
13 :
名無しさん@お腹いっぱい。 :01/11/16 21:49 ID:fsYad0wp
glutのコールバックって割り込みじゃなくてポーリングタイプだよね。 アクションゲームみたいなリアルタイム処理って大丈夫かな。
OpenGLもDirect3Dも同じだろ? ただ、昔はOpenGLは遅くて使い物にならないってだけだったのよね。 今はハードの性能が上がったし、OpenGLだってハードウェアアクセラレーション効くし 全然問題ないと思われ。
15 :
名無しさん@お腹いっぱい。 :01/11/17 12:40 ID:FtDApPxx
>13 まったく問題なし。つうかQuakeとか見たことある? OpenGLで作ってますよ。
16 :
名無しさん@お腹いっぱい。 :01/11/17 12:53 ID:FtDApPxx
17 :
レプタリアン教授 :01/11/17 12:58 ID:DEuraLAg
18 :
名無しさん@お腹いっぱい。 :01/11/17 17:51 ID:FtDApPxx
>17 NeHeはいいですね。 このレベルになるとOpenGLの場合海外サイトばかりになるんですよね。 DirectXに比べて日本語資料が少ないのはどうしたものか・・・。
DirectXも日本語資料が少ないのは同じと思われ。 海外のDirectX資料も意外に少ない。 OpenGLの資料を参考にしている。
20 :
名無しさん@お腹いっぱい。 :01/11/17 18:25 ID:mUKYqA/9
OpenGLでゲーム作ってる人ってサウンドはどうしてるのかな。 サウンドだけDirectXってのも変だし。
QuakeもサウンドではDirectX使ってるはず。
22 :
レプタリアン教授 :01/11/17 18:36 ID:DEuraLAg
OpenGLは互換性最強だから、大学のFreeBSDで学術モデル用にも使えるから便利★
24 :
レプタリアン教授 :01/11/17 19:26 ID:DEuraLAg
もちろんそうよ
>まったく問題なし。つうかQuakeとか見たことある? glutを使っているの? ソース見たことないけど、使っていないような気がするけど。
単にラスタライザとして使ってるだけだよ
27 :
レプタリアン教授 :01/11/17 22:06 ID:DEuraLAg
1日にどれくらいGLを勉強しました?どれくらいの期間勉強して、まともなプログラム組めるレベルにこぎつけました?
>>27 勉強なんてつもりじゃなにも身につかねぇな。
29 :
28 :01/11/18 02:42 ID:???
すまん、上みてなかった。 教育上のデータとして聞いたのか? まともなってのが曖昧だが、 GLだけなら1日。 3Dからなら1週間。 数学からなら1.5週間。
>>29 熱心な方なんですね。1日に何時間くらいなのかもお答え頂けると嬉しいです。
確かに、GLUTなら初日でちょっとしたものくらいは作れますね。
数学も、線形数学の初歩的な知識があれば最初のうちは事足りますしね。
まともな、っていうのは、まぁ、ウォークスルーやテキスト出力を用いたプログラム・・・じゃ初歩的過ぎますか。
31 :
28 :01/11/18 03:42 ID:???
数学ってのも曖昧だったか。1+1からなら5、6年かかりそう。 ウォークスルーができればまともとはいえると思う。 ちゃんと座標変換の意味を理解できてればの話。 あと、クォータニオン使用。 1日に何時間ってのは、そりゃぁ寝る時間と食う時間以外。 学生なら、自由に取れるすべての時間。 基礎のうちはすべての時間をそれにつぎ込むべき。
まとも=Quake並とか言い出したら、おそらく自分は あと何年もかかるんだろうなぁ・・・(笑)。あるいは永遠に? OpenGLに限らず、3Dって表示するだけと応用するのとでは 天と地ほどの差があるような。日々是勉強。怠け者にはきつい。
33 :
名無しさん@お腹いっぱい。 :01/11/18 03:52 ID:l+W9gEoZ
SDLで頑張ろうと思ってますが何か?
34 :
レプタリアン教授 :01/11/18 03:58 ID:ROvZSKp3
>>32 OpenGLを応用するわけじゃない。
結局、OpenGLとかは道具にすぎないからね。
37 :
_ :01/11/18 04:39 ID:d8SKOzPf
>>31 クオータニオンを噛み砕いて、説明して下さい。
使ってはいるけど、理解してないです。
38 :
28 :01/11/18 07:24 ID:???
3次元じゃめんどくさいんで、2次元で。 それも、原点回りの回転に限定する。 これは俺なりの理解の仕方だから、証明じゃないんでよろしく。 クォータニオンは極座標と関係がある。(みたい) 原点からの距離と角度で座標を表現するやつだ。 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 では、クォータニオンは'使用'って書いただろ?
39 :
28 :01/11/18 07:29 ID:???
すまん、途中間違えた k*i = -i*k = j;
41 :
28 :01/11/18 15:33 ID:???
すまん、OpenGLの話じゃないんだが1つだけ聞かせて欲しい。
>>40 ってことはだいたいあってるてことか?
それじゃなんでクォータニオンの回転は
p*q*p' じゃないといけないのか教えて欲しい。これがわからん。
ってか、この辺が載ってるお勧めの本とか。
なはは。学ぶのと教えるのは別次元ですよ。力不足でスミマセン。
43 :
初心者 :01/11/18 16:47 ID:1axizOQg
SO(3)とSU(2)が同じとかって話はクォータニオンに関係ある?
>>43 その辺は何学なんだ?高卒なんで分からん。
45 :
:01/11/18 21:05 ID:???
テクスチャーってBMPダメなんでしょ?ならどうやってテクスチャー用の画像を作るの?
>>45 OpenGLなら、
どんな画像でもテクスチャーに出来るよ。
47 :
:01/11/18 21:34 ID:???
え・・glTexImage2D()でしょ。 海外サイトでも、OpenGLではjpg、Gif、BMPなどの形式は一切サポートしてません、って書いてあったし。 どうやってBMP読み取れるの?
48 :
名無しさん@お腹いっぱい。 :01/11/18 22:05 ID:wTN+FDJL
>>47 OpenGL自体には特定のビットマップフォーマットを読み込む機能はないので、
指定したピクセルフォーマットのベタデータにコンバートするコードを書くか、
その手のイメージ処理を行うライブラリを使ってベタなイメージデータを作る必要があります。
#GL_RGB なら RGBRGBRGBRGB .... という具合に並べておかないといけないって事ね。
ベタデータ(photoshopで.raw形式で出力されるファイル)であれば直に読み込む
事ができますけれど。
50 :
_ :01/11/18 23:13 ID:d8SKOzPf
>>38 すいません。やっぱわかんないやw
取り敢えず、他の資料と照らし合わせて眺めときます。THX!
52 :
名無しさん@お腹いっぱい。 :01/11/19 04:56 ID:u+/4qdZf
そこで蕎麦屋のSDLサンが「おう!それなら俺の出番だね」と顔を出すわけだ。
53 :
名無しさん@お腹いっぱい。 :01/11/19 17:12 ID:RPBMak4n
>>44 行列と変換郡って本で読んだんだけど、
覚えている内容は↓の感じ。
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に見えるよなぁって話もでてた。
54 :
名無しさん@お腹いっぱい。 :01/11/22 22:12 ID:0blDtgUU
DirectXに比べてOpenGLのほうが優れているのは何でしょうか? 高価なOpenGLボードを使えばGeForce3より速くなるのでしょうか? ハイエンド用途ならOpenGLなのでしょうか?
>>54 DirectX と OpenGL をDQN的に単純比較することで
その優劣を評価しようと試みた人間は過去に大勢いましたが
これといった成果を残すことなくログの藻屑と消えてゆきました。
変換郡に住みたい。。。
57 :
:01/11/25 01:48 ID:k801mtcL
LightWaveで作ったモデルってプログラムに使える?
58 :
名前は開発中のものです。 :01/11/25 01:55 ID:N7+FZWf2
60 :
名前は開発中のものです。 :01/12/03 23:16 ID:Zd+puLmJ
>54 と関係するかもしれませんが。Softimage,Mayaなどのハイエンドツールで OpenGLが使われているのはなぜでしょうか? まあこれからはDirectXに変わっていくのかもしれませんが。 Softimage|XSIのシェーダーなんかはどうやってDirectX→OpenGL変換して いるのでしょうか?
>60 Softimage,Mayaなどのハイエンドツールは 他のOSにも移植する事を考えて、 OpenGLを使ってるのだと思うョ。 DirectXはWindowsだけのAPIだからね。
>>61 Fahrenheitが実現すればよかったんだろうけどネ
OpenGLとD3Dの場合、僕のPCでは D3DこけるとPC死ぬけど OpenGLならPC死ななくて 再起動できるから好き。
64 :
名前は開発中のものです。 :01/12/05 12:46 ID:DEoHzlOJ
>63 そうそう、それ重要です。
65 :
名前は開発中のものです。 :01/12/06 17:00 ID:kgRkIMNp
レンダラ作りたいんですが参考になりそうなOpenGLのソース とかないでしょうか?
ない。
67 :
名前は開発中のものです。 :01/12/06 20:19 ID:kaPhEB1U
glutでは、キーを離したときのイベントが無いようなのですが、 キーボードの同時押しは判定できないのでしょうか?
glutKeyboardUpFuncこれはちがぅ?
70 :
67 :01/12/06 22:52 ID:???
>>68-69 ありがとうございました。
glutKeyboardUpFuncですが、
ヘッダファイルを見たところ、
#if (GLUT_API_VERSION >= 4 ...)
GLUTAPI void GLUTAPIENTRY glutKeyboardUpFunc(...);
...
#endif
ということで、将来サポート予定の機能のようです。
今のところ、glutは諦めた方が良いみたいですね。
>>70 自力で作るべし。
俺もつくるぜぇ〜(;´Д`)
>>67 正直、そこまでくると NeHe の Lesson2 を見て
wgl (って言うんだっけ?) とか glx 使ったほうがラクそうな気がします。
73 :
名前は開発中のものです。 :01/12/07 21:48 ID:zuKE/z5e
OpenGLを2D描画に使ってる人いますか?
74 :
名前は開発中のものです。 :01/12/07 22:50 ID:pogN6hlZ
>73 これ気になる。3DベースのAPIで2Dの処理もしないといけない時 って結構あるもんだ。
75 :
名前は開発中のものです。 :01/12/11 01:10 ID:TsYyZh1p
age! NVSDKのサンプルでもみんなで読みましょう。
DIRECTXの頂点ブレンドに位置する機能を OpenGL上でもアクセラレーション対応させたいんですけど (今までソフトエミュレーションだったので・・・)。 その辺詳しい方、おられますか?
どうもありがとう。 NVやATIも、好き勝手やってるようですが、 これが本流という事ですね? とりあえず、組み込んで見ます。
ATIはvertex_weightingだけサポート NVはvertex_blendだけサポート 本流も2流あるね
>>79 ATiとnVが逆だよ。
それにしても、ほんと好き勝手やってるなぁ>ATiとnV
81 :
名前は開発中のものです。 :01/12/14 12:08 ID:qSHJFlWd
ちょっとクォータニオンについて素朴な疑問なんだけど、 結局あれって行列では誤差があるからこっちのほうが良いよ、ってことで使うんですか? あと、姿勢の補間と。 この2つの理由のみからですよね?
>>81 オイラー角の致命傷を防ぐ。
IKの問題解決には、AXISかクォータニオンしかないね。
83 :
名前は開発中のものです。 :01/12/20 19:42 ID:VGfmdElm
姿勢補完
WGL_ARB_render_textureが面白そうなんだけど、 WGL系拡張なのが気に入らないなあ。 GLUTと併用してうまくいった人いる? ていうかRADEON欲しい。
85 :
デザイーナ :01/12/31 15:37 ID:wsH3SVJd
>>82 >オイラー角の致命傷
ってどんなんですか?ジンバル六区とか?
いまいちクオータニオン使うメリットがわからんです
>ジンバル六区とか? まさに。 まあ、だからといってクオタニオンにする必要もないんだけどね。 とりあえずオイラー角はやばい、と。
>>とりあえずオイラー角はやばい、と。 なすて?
>なすて? ジンバル六区とか (以下、無限ループ)
89 :
名前は開発中のものです。 :02/01/01 12:34 ID:YwsXNczB
絶対角で管理すればクォータニオンを使う必要はないんじゃ? ゲームの場合基本的に地面がある場合が多いので ベクトルは事実上二次元(極座標)で扱えば計算量はぐっとへる。
90 :
名前は開発中のものです。 :02/01/01 12:39 ID:YwsXNczB
現状ハードに対応しているかどうかということではOpenGLはDirectX8.1に負けているように思うけれど CPUだって高性能なんだからなんでもかんでもGPU任せで 結局はフェイクシェーディングのATIやNVの方針はどうかと思う。 ところで音楽関係だけどでもとか商用でない場合はFMOD、BASS、MIDPlugを使うのが OpenGLの基本だと思う。 おれはWinだけだけどDirectDrawの画像変換とDirectInputとDirectSound、DirectShowを使う あとOpenGLトゥーンシェーディングとかはラインを併用すれば 古いマシンでもアンチエイリアスがそこそこの速度でじっそうできるのがよい。
91 :
名前は開発中のものです。 :02/01/03 00:12 ID:HrlJ3rN9
92 :
名前は開発中のものです。 :02/01/08 01:51 ID:MknuQv4Z
ヘボい質問ですまぬが、 アキュムレーションバッファを使った処理(モーションブラー等) が異様に遅いのは俺だけ? ちなみにビデオカードはGeForceMXと3dfx Voodoo3の2種類。
みんな遅い。安心しろ。
94 :
名前は開発中のものです。 :02/01/12 14:39 ID:ASkJ6hrF
age
glBindTextureでテクスチャを切り替えて貼ってるんですけど、表示されないで生ポリゴンになっちゃうテクスチャがあります。 そのテクスチャだけ表示だと正常に表示されるのに、違うテクスチャと切り替えてると表示されません。 4枚テクスチャがあってそのうちの2枚は正常 異常な2枚だけを表示させるとそのうちの1枚だけ正常 1枚だけだと正常
とりあえずソースを見せないことにはどうにもならないのでわ
とりあえず、glGetError()でどうなってるとか見てるというのは?
×見てる ○見てみる 表示付近が完璧と思うなら、glGenTextures付近で失敗してるとかは?
それがエラー出てないんですよ。
100 :
名前は開発中のものです。 :02/01/21 02:04 ID:W9Hprj7q
寂れてしまった…
102 :
名前は開発中のものです。 :02/02/17 11:55 ID:2JbdiPrq
winだけで動けばいいツール作るならDirectXの方が楽。 昔と違うから。
104 :
名前は開発中のものです。 :02/02/17 19:53 ID:21oMBy50
初期化はOpenGL(wgl)のほうが楽っぽい。 ゲーム本体とコード共有するなら、DirectXのほうがいいかねぇ?
105 :
名前は開発中のものです。 :02/02/17 19:55 ID:DlqHV3jg
DirectXは初期化で挫折しましたGLUTは楽なんでこいつしか 使えません。
107 :
名前は開発中のものです。 :02/02/17 20:00 ID:21oMBy50
wglCreateContext()とwglMakeCurrent()使うだけだから。 タイプ量だけなら、少なそうだ。 でも、AudioとかInputとかないから、結局DirectXも使うんだろうけど。
glutでは簡単なツールしか作れない。
109 :
名前は開発中のものです。 :02/02/17 21:03 ID:21oMBy50
wgl使えば、GLUT使わなくても、Windowsイベント処理+OpenGLできるよ。
110 :
名前は開発中のものです。 :02/03/02 12:16 ID:4C7VVfDO
wgl*関連の日本語資料ってどの本?or HP を参考にすればいいでしょう? 皆さんはどうやって覚えました?
Borland C++ Builderのサンプル。初期化ミスがある最悪なサンプルだが... というか、ウィンドウに割り当てるだけなんで、そこらのWebに載ってるサンプルで十分じゃない? あとは、普通のOpenGL+Win32APIだし。 あと、OpenGLは、SDL使ってやるのも楽だよ。
>>110 白本(OpenGL Programming for Windows)があるけどもう内容が古いし
訳も最悪だから立ち読みか図書館などで。
>>110 私は適当なサンプル拾ってきて、
重要そうなヤツを英語のMSDNで調べる。って感じ。
英語弱いので単語を拾って読むだけだけど。
日本語で解説してるページはあるのかねぇ…
>>105 君はDX7の日本語ヘルプをゲトーしてよめ。
俺もこれを入手するまでは、初期化で断念してたけど、これはかなりイイ。
図入りだし、サンプルコードのコメントまで和訳でのってるし。
みんなQuake2やHFとかSinで使われてるQuakeGLライブラリの使い方を 発掘しませんか? これつかうと、DXとOpenGLに加えてGlideとかS3のあれとかPowerVRまで 同じインタフェースでポリゴンだせるとおもうんだけど....。 つうことで、とりあえずQuake2のソースダウンしてみた今日この頃。 まあ、素人なんでこの手のゲームくらいポリゴンでたら当分もつと思うし PS1もこれくらいで扱えるくらいのポリゴンしかでないはずだし、ソース の共通化になればらくだよな〜。
116 :
名前は開発中のものです。 :02/03/06 00:19 ID:hDTLVRCZ
>>115 は何か進展があったのだろうか age.
117 :
名前は開発中のものです。 :02/03/07 00:13 ID:tXwhl54i
それではみんなでQuakeのソースを読みましょう? ってどこからダウンできるの?
>GlideとかS3のあれとかPowerVRまで いや、こんなのいらんし。今時。いや115もオマケの意味で言ったのは分かるけれど。 と思ったけれど共通のインターフェースってのは興味あるから、 俺も見てみるね。
ageteyaru
121 :
聡 ◆CgOA7Vw6 :02/04/21 03:19 ID:DxiOFn6A
だーれもなーんも書き込まないから、ここは僕が乗っ取りますた。 文句あるかい?なければ聡のOpenGL日記始まるでよ
122 :
名前は開発中のものです。 :02/04/21 03:29 ID:XacNPfPU
聡のOpenGL日記期待age
123 :
名前は開発中のものです。 :02/04/21 03:40 ID:U.7xvRCk
漏れも。
持続できるペースでがんばれよ。
C#用のOpenGLライブラリもあるね。 日記書くのはいいがしょうもないのはやめてくれ。 もっと役に立つことを書け。
定期巡回していろいろ取り上げてくれるならむしろ歓迎したい日記だ。
素直にDirectX
(1)環境光(ambient):一度に全方向からくるような光。
(2)拡散光(diffuse):一方から来る光で、全ての方向に反射。
(3)鏡面光(specular):明るい、白いスポットを反射面に形ずくるような光。
(4)放射光(position):ランプのような物体から出る光。
http://www.westernvillage.co.jp/openglprogram.htm -------------------------------------------------------------
今日は光源についてお勉強しますた。ambientって書いてあっても、なんも
思い浮かばないから英語圏の人達が羨ましいです。あと金持ちも
>>128 なーにが歓迎だ!んな偉そうにしてるから誰も寄り付かなく
なってしまうんだな ピコ( ゚д゚)ピコ
>>131 >(4)放射光(position):ランプのような物体から出る光。
positionをemissionに修正すますた。
135 :
聡 ◆CgOA7Vw6 :02/04/22 00:37 ID:avLILb3g
もうやめてくれないかなあ? 君のおかげでOpenGLが変な目で見られてるんだが?
有用な情報なら日記だろうがなんだろうがかまわない。 だが、自分が煽りだと思ったレスに返事を返すのはやめて。 煽りも無視できないと138みたいに言われる羽目になる。
あんた方の日頃溜まったストレスの捌け口になるつもりはないです だから噛み付きます 遠慮せずに喧嘩すりゃあいいんです
>>138 あんたいっつも隔離板隔離板って騒いでる人でしょ
144 :
聡 ◆CgOA7Vw6 :02/04/23 00:47 ID:D/Qv.l7.
145 :
聡 ◆CgOA7Vw6 :02/04/23 07:19 ID:D/Qv.l7.
>>137 あんたが誤っちゃったから僕が悪人扱いされるんだな
訂正key[0830]を使って
>>137 を「
>>132 死ね」と書き直すと良いんだな
みんな固定ハンにすれば誤解も生じなくなるんだな
147 :
名前は開発中のものです。 :02/04/24 00:55 ID:cPnYG5yQ
面白いからどんどんやってって感じだけど、 その語尾だけはどうにかならないか(苦笑
誤るじゃなくて謝るの間違いですた。騙されますた。
151 :
148 :02/04/24 11:42 ID:???
あ、念のために言っておくと、つっち〜違いですよ。
(´-`).。oO(こんな感じに、もっとOpenGL利用者が増えてくれれば、 情報交換が盛んになるんだろうけどなぁ…。 とりあえず煽りに負けず頑張ってくれ。)
153 :
聡 ◆CgOA7Vw6 :02/04/25 00:29 ID:LRRhWvxE
155 :
聡 ◆CgOA7Vw6 :02/05/03 17:14 ID:aSmGYV/A
156 :
名前は開発中のものです。 :02/05/04 00:38 ID:dfJfp8Cc
OpenGLでちゃんと使っているはずの ディスプレイリストを消去しても メモリが解放されないのですが。 こんなものなんでしょうか?
157 :
名前は開発中のものです。 :02/05/04 02:15 ID:BdYNytRs
159 :
sage :02/05/04 18:02 ID:dfJfp8Cc
156 別の板の方が適していそうなので移動〜。
>>159 ム板に行ったほうが良いよ。ここは妄想野郎聡の隔離スレだから。
って冗談はおいといて、専門的なことならム板のスレッドの方が適切な答えが返ってくるよ。
161 :
聡 ◆CgOA7Vw6 :02/05/05 08:00 ID:h34rzCBE
162 :
聡 ◆CgOA7Vw6 :02/05/05 08:11 ID:h34rzCBE
>>156 Source Code アプキボンヌ
163 :
名前は開発中のものです。 :02/05/06 04:50 ID:lT3cU/o2
164 :
名前は開発中のものです。 :02/05/06 09:36 ID:2SH2CByo
>>163 買った。
入門やおさらいするのに最適な本だと思う。分かりやすさなら赤本なんか
より全然上でしょう。
ただ、突っ込んだテクニックはあんま載ってない(せいぜい
シャド〜ボリュ〜ム辺り)んで、純粋にそういったテクニック本が欲しい
人は買わなくていいかも。
あと、ピクセルオペレ〜ションの解説がちょい足りないかなとも思った。
あと最後の方に結構いらん記事がある(DirectSoundとかDirectInputとか)。
でもとてもいい本なので上級者でも充分買う価値はあると思うよ。
初級〜中級で英語がそれなりに読める人(本文は結構簡単)なら文句無しに
おすすめ出来ます。
165 :
名前は開発中のものです。 :02/05/07 20:08 ID:gH5L2.7c
>164 ありがとう。注文したよ。
166 :
163 :02/05/13 12:55 ID:v3ThF9bU
今日届いた。 初めての洋書にドキドキ。 みんな辞書とか引かずにガンガン読んでいるの?
あぼーん
168 :
名前は開発中のものです。 :02/05/14 00:58 ID:emLR5.zU
今日届いた。俺にとってははじめての洋書だ。 ところでみんな洋書読むとき辞書とか引かずにガンガン読んでいくの?
まず、自分の持ってる知識を総動員して、この文章には どんな事が書いてあるのかを推測する。 わからない単語とかも、何となくわかる単語の前後関係等から類推してみる どうしてもわからない単語があれば、辞書を引く。 洋書と同時に、それと同じ領域を扱っている(もしくはわからない箇所を扱っている) 日本語の本も同時に読む、 これを何回も繰り返す。
170 :
名前は開発中のものです。 :02/05/14 21:31 ID:gp9yAFEg
OpenGL2とかってどうなったの?
あぼーん
173 :
甲府サポ :02/11/11 22:54 ID:HhzDf2Np
age
あぼーん
175 :
名前は開発中のものです。 :02/12/08 09:57 ID:qCwR2YDX
auxって何の略なんでしょうか?ふと疑問に思ったもので。 今更使うべきではないのでしょうか?auxDIBImageLoad()とか便利なんですが。
Auxilliary
あぼーん
178 :
名前は開発中のものです。 :03/01/27 15:06 ID:HEByNsJD
最近気が付いたのですが OpenGLプログラミングガイド 第2版 新装版 ISBN4-89471-695-X と私の持っている OpenGLプログラミングガイド 第2版 ISBN4-7952-9719-X はどう違うのでしょうか?
179 :
名前は開発中のものです。 :03/01/27 15:08 ID:S/qAIS6o
180 :
名前は開発中のものです。 :03/01/27 22:48 ID:OTgmV0/k
うーん反応なし。新装版ゲットするかな。
182 :
名前は開発中のものです。 :03/05/13 15:53 ID:ofp1++tY
183 :
age :03/07/09 10:13 ID:eDOl2hQe
age
184 :
名前は開発中のものです。 :03/07/19 06:00 ID:rF+rpw8F
185 :
セイラ :03/07/19 13:58 ID:g1zEvWkx
186 :
あいぶ :03/07/19 22:57 ID:Z/5+OOYt
187 :
名前は開発中のものです。 :03/08/29 19:28 ID:QOLXNrc9
物体をマウスで掴んでいるような回転や、 物体を特定の方向(別の物体)に向かせる といった計算はどのように行えばいいのでしょうか。 例えばマウスで掴んでいるような回転をしたいと思ったときに マウスのボタンを押した座標と現在の座標の差を rx, ryとしたときに、単純に glRotate( ry, 1.0, 0.0, 0.0 ); glRotate( rx, 0.0, 1.0, 0.0 ); としてみたのですが、X軸を中心に半回転すると Y軸の回転が逆になってしまったりして マウスで掴んだような表現ができません。
>187 openglの座標系とカメラ視点を把握すると なぜそうなるか・どうすればいいかが判ると思うよ 簡単に絵に描いてみるといい
189 :
187 :03/08/31 21:06 ID:WGd2CnHi
絵には何度も描いてるのですが、 3Dに関して(行列とか基本的な数学も)疎いので やりたいことが分かってても どういう方法をとったらいいかが分からないのです。 ゲームとか程遠そうだな、、、
190 :
187 :03/09/03 00:27 ID:7fZJhQG1
うーわからない。 何かヒントだけでも。
君のような人向けに glutRotateObjectAxe() 関数がある
192 :
187 :03/09/03 14:57 ID:7fZJhQG1
そんな関数があったのですか。ありがとうございます。 でも、それじゃぁ勉強にならないので、できれば 解説したサイトでもいいから教えていただけると嬉しいです。 「三次元 回転」とかだとあんま思ったような引っかかり方をしなくて。
3D空間を動き回るようなプログラムを作っています。 ゲームに実装する場合、視点の操作って gluLookAt()に頼らない方が良いんでしょうか? 細かい事を意識しなくても動いてしまうんですが、 カリングのような意識して行う必要がある処理を 実装しようにもどうもピンと来ません。<要するに理解できていない gluLookAt()でやってくれていたViewMatrixへの変換(?)を すべてのオブジェクトに対して行うような処理で大丈夫なんでしょうか? (カメラじゃなくて世界を動かすようなイメージで考えています) 理解されている方にはつまらない事だと思いますが、 なにとぞご教示お願いします。
>>193 君のような人向けに
glutRotateObjectAxe()
関数がある
>>194 即レス(コピペでも)ありがとうございます。
でも、ごめんなさい。
glutは使わない割りに余分なものが増えてしまうので
ナシの方向でお願いします。
視点と一緒に光源が動いてしまうのも悩みです。 方向性が間違ってないなら、カリングもそうですが マウスでの座標指定なんかも簡略化したいなぁと。 Map平面上のクリック位置を取得するために openglのピックアップ使うのはなんだか 間違ってるような気がしてなりません
glutのソースぐらい嫁
>>198 >カリングはgl任せじゃいけないのか? なぜ自前でやる必要があるのか分からん。
GL_QUADSにテクスチャを敷き詰めた大きなマップを
表示しようと思っています。
オブジェクト単位のカリングをするところまでは頭が回りませんが、
視野外かどうかぐらいの判別はつきそうなので、
QuadTree使って処理を間引きしたいなーと考えています。
>クリック位置云々ってのは、gluUnProject とか使う話じゃないのか?
マウスピッキングでデプス値を取るために
GL_SELECTで描画するってのが凄く無駄に思えるんですよ。
MAPはyが0のxz平面なんで、
それこそ最低限の変換Matrixだけ解れば
取れるんじゃないかなーと。
>>199 表裏のカリングの話かと思ってレスしてた… スマソ
…で、もう一度詳しく書くが、gluUnProject と glReadPixels で
マウス座標を世界座標に変換できるっていう話を聞くんだが、どうよ。
>>91 のソースみたいんですが持ってる方いませんか?
202 :
199 :03/09/05 01:58 ID:yutekRva
203 :
187 :03/09/05 02:26 ID:zfiLlKlp
>>198 ありがとうございます。
でもそのリンク先のアーカイブ、目次以外は死んでますね。
なにはともあれ、ヒントをいただけたので頑張ってみます。
> 初期値が前右上 の3つベクトルを作り
は、
> 初期値が前、右、上 の3つのベクトルを作り
という意味でいいんですよね?
205 :
187 :03/09/05 15:48 ID:zfiLlKlp
>>204 さんくす!
皆様のおかげで一気に理解度が高まったよ(;´Д`)ハァハァ
206 :
名前は開発中のものです。 :03/12/06 06:09 ID:EPkSKia1
Direct3DはWindowsでしか使えないけど、OpenGLなら Linuxを標準開発環境としているPlayStationでも使えるのですかね。
207 :
名前は開発中のものです。 :03/12/06 10:05 ID:Cs4A66rf
>206 知識事態はまあ役に立つだろうけど。 Linux の開発環境で実機で動くコードを作るだけで実機は Linux で動いているわけではないって感じですかね。
208 :
名前は開発中のものです。 :03/12/27 05:23 ID:1gYVS3cd
>>206 PS2 for Linuxと勘違いしてないか?
アレはPS2上でLinuxとMesaが動くから
OpenGL互換のプログラムが動くってだけだぞ。
実機開発はSCE提供の開発ツールがLinux用ってだけで、
OpenGLとはまるっきり関係ないですよ。
210 :
名前は開発中のものです。 :04/03/30 08:20 ID:fcRSAwJm
OpenGLって有料になったんですか?
PS2でMesaは動かないの?
212 :
初心者 :04/04/04 03:09 ID:Fr7iY6U7
あのー、教えてください。 VC++.netとGLUTを使ってOpenGLのプログラムを作成しているのですが、 ウインドウを常に手前に表示させる方法ってありますか? よろしく。
>>212 .NET関連のスレにいけ
もしくはウィンドウのセッティングを行う関数をヘルプ見て探せ。たいていパラメータで指定できるはずだ
いずれにせよOpenGLの話題じゃない
214 :
名前は開発中のものです。 :04/04/26 11:31 ID:cCM3ChzD
glAge(GL_THREAD);
215 :
名前は開発中のものです。 :04/06/18 19:31 ID:8W/J6kNO
OpenGLプログラミングについてです。 bsd上で glxgears は通常通りに動作するのですが、その他の いかなるOpenGLプログラムも動作は為ているようですが、画面には何も表示されないか、モザイク画像が出てくるだけです。 SGI社のサンプルプログラムでも画面が動きません。 どなたか、解決方法が分かる方がいらっしゃいましたら よろしくお願いします。
エスパーきぼんぬ。
>>215 OpenGLがちゃんと動作する環境を作るところまではプログラミングの話題ではない。
UNIX板かどっかに行け。
現在OpenGLを勉強してますが、OpenGLでは3Dゲームは作れないのでしょうか?無駄なのでしょうか?
>>218 「OpenGL」「ゲーム」「製作」のキーワードでググることもできないお前には一生かかっても無理
誰か何が面白いのか解説しる
コピペに反応カコイイ
>>218 はコピペに見えるだろうが、一文字ずつ入力してあるぞ。
いたずらする子は食べちゃうぞ
226 :
NAI :04/08/06 01:00 ID:s8nRxIX2
ワイアフレーム表示するとマシンによって表示が変わるみたいなんですけど これ如何に?
227 :
NAI :04/08/06 01:00 ID:s8nRxIX2
具体的に言うとポリゴンが割れたり割れなかったりする
PS3と携帯電話で、ようやくOpenGLに日のあたる時がやってきたようですね。
229 :
名前は開発中のものです。 :04/08/11 13:19 ID:MhIvXcNS
SGIとARB、シェーディング言語標準サポートの「OpenGL 2.0」を発表
>>230 なんかもう、こういう記事すごいありがたいわけだけど、いったいどこのどなたが書いてくれやがってくれやがりますの
あ
り
が
と
う
GL_age(1);
現在OpenGLを勉強してますが、OpenGLでは3Dゲームは作れないのでしょうか?無駄なのでしょうか?
( ゚д゚)ポカーン
237 :
名前は開発中のものです。 :04/10/13 02:02:36 ID:SI7zOGad
>>234 Quakeを知らんのか、このアホ垂れは。
>>234 DOOM3を見るんだ。先端走ってる。
別にDirectXにするかOpenGLにするかはそんなに関係ないと思う。
混じれ酢に混じれ酢カコイイ!!
OpenGLってjavaで使えないのでしょーか。
>241 本当に申し訳ない。
当方VC++を使っているのですが、GLUIを導入できません どうか教えてください
>244 VCのバージョンと、自分で挑戦してどの段階まで進めたのかぐらい書かないとレスくれないと思う 漏れは使ったことないから知らないが このスレだけじゃないけど質問の仕方が下手な香具師多すぎ
>>245 >質問の仕方が下手な香具師多すぎ
ゲーム制作板の香具師どもに、そんな高度なスキルを期待してはいけない。
>>247 そんじゃ244に詳しく答えてあげてよ。
>247 質問の意図がわかってるなら答えてあげればいいのに…
>>244 glui,hをどっかから拾ってきてVC++のGLフォルダ内に置く
んで#include<GL\glui.h>
わかったこのやろう!ああーん?
VCでのGLUIのコンパイル報告(いらないかも知れないが…)
以下から. zip file: Download GLUI v2.1 をDLして解凍
http://www.cs.unc.edu/%7Erademach/glui/ glui_v2_1_beta/msvcの中のglui.dswをダブルクリックでVC起動。
VC.NETの場合はここで.slnが作られる。次からは.slnから起動。
で、ウチだけかもしれんがソースをすこしいじる
#include <GL/hoge.h>というGL関係のヘッダーのインクルードは#include <hoge.h>みたいな標準のヘッダーの後にインクルードされるように変更
#include <GL/glut.h>
#include <stdlib.h>
だったら
#include <stdlib.h>
#include <GL/glut.h>
みたいに
他にもexample*.cppのインクルードに関して
例えばglui.h内ではstdlibとかインクルードしているので
#include <GL/glut.h>
#include "glui.h"
から
#include "glui.h"
#include <GL/glut.h>
に変更
まず_glui_libraryをビルド。あとはexample*をビルドして実行。
実行の際はスタートアッププロジェクトの変更をわすれずに。
あとはglui32.libができあがるのでライブラリ用のディレクトリに持っていけばgluiを使ったプログラムが作れるはず。
ウチはいろいろインストールしてるので変なインクルードになってて、インクルードの順番を変えないといけないのかもしれないが一応書いておく
253 :
名前は開発中のものです。 :05/01/19 04:07:08 ID:JFQHnnQ/
GLUTでキー入力を使う場合ゲームの操作キーみたくキーが「押されている状態」、のような ものはあるのでしょうか?
そこでSDLですよ
なるほど。
メンドクサイからマウス操作だけにして Passiveなんとか使ってる 3次元アルカノイドだけど
もう滅んでしまったんだろうか?
OpenALは親戚か何か…ではないね
OpenALは、OpenGLの親戚な気がするけどなぁ...
ひといないね
ALもGLも資料が少ないなあ
SDLとOpenGLの勉強を先日から初めて、とりあえずテクスチャを貼り付けてみようと思いました。 が、なかなかうまくいきません。 以下少し長いですがソースを貼り付けてみますので、おかしい点があれば 教えていただけないでしょうか? /* テクスチャの練習 */ #include <windows.h> #include <gl/gl.h> #include <gl/glu.h> #include <SDL/SDL.h> #include <SDL/SDL_image.h> #include <stdio.h> #include <stdlib.h> GLuint texName; static void process_events(void) { SDL_Event event; /* この中でやってきたイベントごとの処理を書く */ while(SDL_PollEvent(&event)){ switch(event.type){ case SDL_QUIT: exit(0); } } }
static void draw_screen(void) { static GLfloat v0[] = { -1.0f, -1.0f, 1.0f }; static GLfloat v1[] = { 1.0f, -1.0f, 1.0f }; static GLfloat v2[] = { 1.0f, 1.0f, 1.0f }; static GLfloat v3[] = { -1.0f, 1.0f, 1.0f }; glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT ); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); gluLookAt(0, -5, 5, 0, 0, 0, 0, 0, 10); /* 何番のテクスチャを使うか */ glBindTexture(GL_TEXTURE_2D, texName); /* 四角形を表示 */ glBegin(GL_QUADS); glTexCoord2f(0,0);glVertex3fv(v0); glTexCoord2f(1,0);glVertex3fv(v1); glTexCoord2f(1,1);glVertex3fv(v2); glTexCoord2f(0,1);glVertex3fv(v3); glEnd(); /* フロントバッファとバックバッファの交換 */ SDL_GL_SwapBuffers(); }
static void setup_opengl(int width, int height) { float ratio = (float) width / (float) height; SDL_Surface *image; /* テクスチャ用画像 */ SDL_Surface *tmpImage; /* 消去時の色を黒にセット */ glClearColor(0, 0, 0, 0); /* ビューポートをウィンドウサイズに設定 */ glViewport(0, 0, width, height); /* 射影変換(縦の視野角が60.0度、横の視野角は縦横比があうように設定) */ glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(60.0, ratio, 1.0, 1024.0); /* テクスチャ用画像読み込み */ image = IMG_Load("tile.png"); if(!image) exit(-1); tmpImage = SDL_CreateRGBSurface(SDL_SWSURFACE,0,0,32, 0x000000ff,0x0000ff00,0x00ff0000,0xff000000); image = SDL_ConvertSurface(image, tmpImage->format, SDL_SWSURFACE); SDL_FreeSurface(tmpImage); /* テクスチャの設定 */ glEnable(GL_TEXTURE_2D); glGenTextures(1, &texName); /* 識別用コードの取得(再利用時に必要) */ glBindTexture(GL_TEXTURE_2D, texName); glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR ); glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, image->w, image->h, 0, GL_RGBA, GL_UNSIGNED_BYTE, image->pixels); SDL_FreeSurface(image); /* テクスチャに転送した時点で必要なし */ }
int main(int argc, char *argv[]) { const SDL_VideoInfo *info; /* ビデオ情報格納用 */ int width, height; /* ウィンドウサイズ */ int bpp; /* 色深度 */ /* SDLの初期化 */ if(SDL_Init(SDL_INIT_VIDEO) < 0){ fprintf(stderr, "SDLの初期化に失敗しました: %s\n", SDL_GetError()); return -1; } /* 強制終了時SDLの後片付けを忘れないために */ atexit(SDL_Quit); /* ここからウィンドウ作成のためのあれこれ */ /* ビデオ情報の取得 */ info = SDL_GetVideoInfo(); if(!info){ fprintf(stderr, "ビデオ情報の取得に失敗しました: %s\n", SDL_GetError()); exit(-1); } /* ウィンドウサイズと色深度の指定 */ width = 640; height = 480; bpp = info->vfmt->BitsPerPixel;
/* OpenGL用の属性を指定 */ SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 5); SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 5); SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 5); SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 16); SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); /* ビデオモードの設定 最後の引数がSDL_OPENGLであることに注意 */ if(SDL_SetVideoMode(width, height, bpp, SDL_OPENGL) == 0){ fprintf(stderr, "ビデオモードの設定に失敗しました: %s\n", SDL_GetError()); exit(-1); } /* OpenGL用の細かい初期設定はこの関数の中で */ setup_opengl(width, height); /* メインループ */ while(1){ /* イベントを処理 */ process_events(); /* 画面を表示 */ draw_screen(); } }
以上です。 tile.pngは一色に塗りつぶした24*24の24bitカラーの画像です。 とりあえず斜め上から見下ろした白い面なら見えるのですが……。
SDLわからんけどgkGetErrorくらい使ったら?
>>268 ご親切にありがとうございます。
原因は24を2のn乗であらわせると思い込んでたことでした。
お恥ずかしい限りです。
270 :
名前は開発中のものです。 :2005/12/15(木) 22:58:52 ID:7NN+s+fR
age
環境も処理系も晒さずにんなこと言われたって調べる気になれんな。
>>271 はっきり言ってfopenの意味もわからない人にOpenGLは無理。
プログラミングの基礎の基礎から勉強し直すこと。
やっぱりか。 2チャンなんかに聞いたのがばかだったな
>>274 271の指摘すら対応できないお前の質問に答えるやつはどこにもイネーな
可哀想に、ID:WGGxPllBは顔を真っ赤にしてベッドの中で泣いてるぞ
age
age
冬休みは残酷だな
こんなのは言い方一つだと思うんだよね。 門前払いどころかあまつさえ見下してるもの。 そんなに初心者バカにするのが好きなのかね。 とりあえずWinXPではそのままコンパイルしても動いたよ。 画像ちゃんとppmの方使ってる? それでもダメならプロジェクトごとzipに固めてupしてくれ。 それと俺の経験からOpenGL関連はWeb上よりも 関連書籍1冊買ってからしっかり勉強した方がいいよ。
>>281 おまえさ、
>>273 とか
>>272 を読んで言ってる?
273は271の言ったソースは見てるから fopenの話をしてるし 272は環境の問題じゃないかと指摘してる
その返答が 274なら「カエレ」か「キエロ」しかねーだろ、それを
>>275 がしてやったんじゃねーか
見下すも何もしごくまっとうで親切とさえ思える対応だぜ
そんな高圧的な態度だから質問者も逆ギレするんだよ。 違法系のスレとそうでないスレをわきまえて貰いたいものだ。
>>284 そんな逆切れする馬鹿(具体的には
>>274 のような)がどうなろうろ知ったことではない。
それともおまえ本人か?
>>284 という284が一番上からモノを言ってるようにしか見えない
あの程度で高圧的な態度ねえ だったらLinux板なんかはどういう表現すりゃいいのかしらw >284は2chをサポートサイトか何かと勘違いしてるんだろうねえ
その論理は間違ってるぞ
極端なものと比べることで正当化する論理。
つーか、>271はここじゃなく、サイトのほうに質問すべきだと思うんだがねえ。 #その場合も当然、環境などを細かく正確に伝えるのは常識な。 あと、リナ板のくだ質見てみたけど、まあ普通じゃない? 環境書けとか、やったことを書けとか、その程度だったよ。 質問側がアレだとお約束のレスが帰ってくるのはどのスレも一緒だと思うんだけど。
>>291 サイトのほうだってfopenもわからん奴の質問が来ても困るだけだと思うぞ。
とにかくプログラマとしてのレベルが論外に低い&逆切れでは全くお話にならない。
>>292 確かにそりゃそうねw
どれもうまくコンパイルできないのなら
何でうまくいかないのか調べて欲しいところだわな
fopenもわからずにOpenGLつつこうなんて思うわけねぇじゃん。
>>285 本人じゃない。何故なら俺が本人だから。
環境って言葉の意味もわかってた。スルーしようかと思ったが、
やたら低レベルな言い争いしてるから腹立って投稿した。
まぁしったかするやつ多いから知ってたとかいっても信じるかどうかは別にいいけどな。
お前ら偉そうして初心者見下して、人間的には見下されて当然だな。
>>294 「お前ら偉そう」って自分が偉そうに言ってどうするよ?
プログラマなら謙虚な心を忘れないようにしないとな。
自分が悪いという可能性を直視できないようじゃぁ、バグ取りが大変だよ。
>>271 このコードじゃビットマップ読めないだろう
ビットマップのフォーマットに対応してないし
>>294 >偉そうして初心者見下して
悪いことは言わん、日本語から勉強しなおそうなw
ぽまいら餅つけ。 正月がくるぞ。
来年こそはfopenを理解しましょう。
その前にMesaのインストを出来るようになっておきましょう、じゃね?
>>271 落としてきて、コンパイル→実行とやってみたが
ちゃんと実行できるぞ
>>303 俺もBCC5.5.1とVC6でやってみたが問題なく実行できるな。
271はGLの開発環境自体がまともにできてないんじゃねーか?
>>304 俺もVC6でできた
俺が思うに、
>>271 は同じソースで、テクスチャに、ppmじゃなくてbmpファイル読み込もうと
して失敗したのかと・・・
>>OpenGLで描画した立方体の側面にビットマップファイルのテクスチャを〜 とあるからBMPの仕様と読み込み方が分かって無いんじゃなかろうか? だとすると2行目はトラップだw
それなら拡張子非表示って罠でファイル名エラーの可能性もあるな
Shadeみたいなツールで作ったモデリングデータをOpenGLで読みこむときってどうすればいいんですか? DirectXだと専用のファイル形式があるけど、OpenGLのは見当たらないんですが・・・
見当たらないんじゃなくて、専用のフォーマットなんてないの。
じゃあ、OBJ形式とかのファイルを適当に配列にコンバートして使うって感じなんですか?
>>311 そう。ファイルはOpenGLの範疇ではないので適当なライブラリを見つけるか作るか
になる。もちろんWindows限定でよければDirectXで読み込んだって良いぞ。
フリーで公開されている適当なライブラリってありますか? 探したんだけどなかなか見つからない・・・
316 :
名前は開発中のものです。 :2006/03/17(金) 01:59:14 ID:hbEf/dlx
やねうらおがんばれーage
やねうらってマジで馬鹿だね
どのへんが?
やねうらおは、あれだ よっちゃんいかにこだわりすぎた あれは良くない
いややねうらおは普通に・・いや、かなりすごいだろう ここで俺らがくだまいててもなんの生産性もないがあいつは違うから
ちゅうか、あの人は経営者ですからなあ。
1、作品を出してる点を評価
2、本名を出してる点を評価
ここはキモいインターネットですね
ここはやねうらおスレになりました
やねう らお
やねうらおばけ
やねうらお痛すぎ 実力たいしたことないのに自慢ばかり
ならやねうらおよりすごいものを作ってうpしてみろよ
オープンソースかつ有用なソフト公開>>>(超えられない壁)>>>無料で有用なソフト>有料で有用なソフト>>> >>>>>>>>>>>>>>>>>>(この先200光年)>>>>>>>>>>>>>>>>>>>>口だけ野郎 だしな。
とりまきの痛さも相当だな やねうらおのつくったすごいものってなんだよw
>>330 だがオープンソースで有用なソフトの平均的な有用度より、
クローズドソースで有用なソフトの平均的な有用度の方が高くないか?
>>331 「あいつなんか大したことないよ」と言うのならそれに見合ったものを見せるのが筋だと思うが
>>331 「やねうらおなんて鼻くそ」と言うのならそれに見ったものを見せるのが筋だと思うが
>>333 やねうらおのつくった一番すごいものを教えてくれないと
どれくらいのものを出せば鼻くそだって実証できるかわからないだろう
そして、君の言う筋とは作品または作家の批評を行う者は
みな作家でなければならないということか?
328みたいに具体的に駄目な点を列挙していないものは煽りでしかないわけだが
やねうらおって、何か完成品出したっけ。
335の凄いプログラムまだー?チーン(AA)
wktk
317=328=331=335出て来いやゴルァ!(AA)
335が見えない きっとなにか下品なことが書いてあるんだろう
「やねうらお」でNGワード入れとけばいいことに気づいた
すみません335の母です(ry
335へ あなたがこの板に来ていたのは前からしっています。 (隠しても母ちゃんにはおみとおしなんだから!) 母ちゃん、心配になって335のIDをメモしといて 後からレスを調べておきました。 下ネタや下らないことばかり書いていましたね。 母ちゃん、悲しい。 父ちゃんももうすぐ定年です。 335が早く働いてくれないと、家族が食べていけなくなってしまいます。 母ちゃん、もうパートは増やせません。 弟の□□もこの前初任給で温泉旅行をプレゼントしてくれましたね。 335も昔は母ちゃんに肩たたき券をプレゼントしてくれたよね。 嬉しかったなぁ。 また母ちゃん、プレゼント欲しいな。 でも母ちゃんは335が立派な社会人になって、自立してくれればそれだけで満足です。 それが母ちゃんにとって最高のプレゼントなんだから。 母ちゃんより
何のスレなんだ。
やねうらお信者と遊ぶ場所です。本当は違うけど。
どっちかってーと、やねうらおアンチと遊ぶ場所だな。本当は違うけど。
やねうらおって猿山のボスでしょう よいしょしてくれる人がたくさんいてよかったね!
>>348 335、凄いプログラムまだー?チーンチーン(AA)
C#みたいな言語使うと頭悪くなりそうだから Haskellのsdkでいい?
はやくはやくー。チーンチーン(AA)
まだ何も出来ねぇのか。もうこの時点でやねうらおより相当頭が悪そうだな。 とか煽っておく。
さすがに3日であれぐらいの規模のソフトを一人で作れたら 世界中からオファーくるぜ。 いいとこ3ヶ月だろう。
そんな見苦しい言い訳はいらないから、いま書けてるコードを出しやがれ。
マダー?(AAry
ネタをネタと見抜けない人は(ry ってことなんだろうな。 しかしあれだけ煽っておいてソース1行すら書けない 能無し野郎だったとは、ホントガッカリだぜ。
#include<stdio.h>
>>359 すげえ! たった一行で◎×△□SDK.NETを超えていきやがった
そろそろOpenGLの話をやらないか?
やねうらお関係の話で盛り上がってたのに、やねうらお告発では 盛り上がってないんだな、このスレ。
勝手に神格化して勝手に失望したアホが喚くのを、 周りが寄ってたかって騒ぐことのドコが面白いのか。
大半の評価は「腕のあるプログラマ」 院卒の厨房がわめいてるだけで告発でもなんでもないし変わるはずがない
>>364 普通の人間には腕がある。
腕が立つかどうかしらんが、そいつの話に粘着するのはヤメレ
OpenGLと関係ないんだろ?
院卒とか学歴コンプレックスもみっともないが、そいつも学歴に引け目を感じているのかね
いずれにせよヤネでもクネでも専用のスレでやってくれや
366 :
名前は開発中のものです。 :2006/08/24(木) 20:10:14 ID:sZawkiR+
ええ、そうなの
おなかすいたなぁ。
368 :
名前は開発中のものです。 :2007/02/14(水) 15:27:06 ID:ag8WIMhm
Open Inventorを使いたいんだけど、資料に乏しくていまいち 環境の整え方がわからない… 知ってる人がいたら助言が欲しい… ちなみにVisual Studioの2005で開発しようと考えとります。
6.0系ならVS2005での使い方もマニュアルに載ってる。
370 :
名前は開発中のものです。 :2007/03/07(水) 07:10:09 ID:GCDEAtP1
OpenGLでビルボード処理したいんだけどプログラムはこんな感じ、 glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); glEnable(GL_ALPHA_TEST); glEnable(GL_BLEND); glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 256, 256, 0, GL_RGB, GL_UNSIGNED_BYTE, po->data); //glTexImage2D(GL_TEXTURE_2D, 0, 4, nSizeX, nSizeY, 0, GL_RGBA, GL_UNSIGNED_BYTE, imageData); glEnable(GL_TEXTURE_2D); glBegin(GL_POLYGON); glTexCoord2d(0.0, 0.0); glVertex3d(-0.5, 0.0, 3.0); glTexCoord2d(0.0, 1.0); glVertex3d(-0.5, 0.5, 3.0); glTexCoord2d(1.0, 1.0); glVertex3d(0.0, 0.5, 3.0); glTexCoord2d(1.0, 0.0); glVertex3d(0.0, 0.0, 3.0); glEnd(); glDisable(GL_TEXTURE_2D); glDisable(GL_BLEND); glDisable(GL_ALPHA_TEST); これじゃだめなんだよね。 イメージも消えちゃう。イメージの背景は透明にしてイメージのみ残したいんだけど。
調べろと言っただろうが。 GL_MODULATEとGL_RGBでA = Afになってる。
372 :
名前は開発中のものです。 :2007/03/07(水) 23:50:39 ID:GCDEAtP1
GL_REPLACEとGL_RGBAでA=Atにすればいいとか?
373 :
名前は開発中のものです。 :2007/03/07(水) 23:53:09 ID:GCDEAtP1
でもこれじゃイメージの背景が透明にならないよ。イメージの背景を 透明にするにはどうしたらいいか教えてください。
374 :
名前は開発中のものです。 :2007/03/08(木) 07:05:48 ID:Ruzn+kV4
できました。イメージのアルファ値を変えてALPHA_TESTを行ったらできました。 BLENDは関係なかった。意見して頂いた方々ありがとうございました。
質問です。 点を二つ作り、その点の大きさをgl_PointSizeを使って 大きくしたら、点が重なりました。その重なった部分の混合色は どのようにつくられるのですか? 1,(vertex + fragment を一単位と考えて) 二度シェーダプログラムを呼んで色の混合を作る。 2,(上と同じ考えで)一度で処理する。 3,そのほか よくわかりませーん どれですか?
教えてください VC++2008でOpenGLを使って3Dソフトを作って配布したいのですが、 GLUTのインストール作業を要求することなく、EXE単体を配布するだけで動作してくれるようにするには、 どうすればいいですか?
インストール作業なんてする必要なく、glut32.dllをexeと一緒に配布すればいいだけでは
>>377 あぁぁぁ目から鱗
ありがとうございます
そうすね〜
スタティックリンクできるGLUTなかったっけ?
380 :
名前は開発中のものです。 :2008/02/25(月) 23:18:15 ID:PaorSTL+
>>379 探してみます。ありがとうございます〜
もうひとつ初心者の質問ですみませんが、
VisualC++2008で、Win32アプリを作るプロジェクトで
Windowsフォーム画面にOpenGLで作図するにはどうすればいいでしょうか???
コンソールからOpenGL用のウィンドウを作成する方法しか見つからず、
VC++の応用力もなくて、困りました。
>>380 ChoosePixelFormat
SetPixelFormat
wglCreateContext
wglMakeCurrent
SwapBuffers
このあたりをぐぐってみ
>>382 ありがとう。
Opengl32.libが見つからずてこずってしまってる自分が情けない。
>>382 スタートメニューから検索すればいいんじゃないか
うちは C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib に入ってる
>>383 すいません。スレ汚しました。
>>381 まずは、OpenGLによるグラフィック描画のサンプルがうまくできましたw
385 :
名前は開発中のものです。 :2008/02/29(金) 11:32:47 ID:c9GK8w6V
ここはGLUIの質問しても大丈夫ですか? GLUIのウインドウを破棄するclose()というのがあるんですが、 これを使うと「無効な操作」というエラーがでます。 デバッグをかけなければ問題なく動作します。 原因がわかる方いらっしゃいますか?
保守
387 :
名前は開発中のものです。 :2008/10/19(日) 14:44:12 ID:C/KjVJUA
OpenGLってインデックスカラーのままテクスチャーにする事が可能ですか? glColorTableというパレット操作関数を見つけたんですが この関数は1.2のオプションらしくハードを選ぶみたいで自分の環境だと動作しませんでした。
388 :
名前は開発中のものです。 :2008/10/21(火) 19:38:45 ID:JudUV5+B
シェーダーとか使えるの?
使えるかどうかはお使いのグラボとドライバによる
∧⊂ヽ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ (゚Д゚)ノ < シェーダ | ⊃| \__________ | | ⊂ノ〜 ∪
ほっしゅ
gluLookAtで指定するパラメタからビルボードオブジェクトの回転角度を計算する事ってできませんか?
>>392 ターゲットから視線へ向かうベクトルを取得。
そのベクトルが視点座標系のZ軸方向になるので、ビルボードオブジェクトの同次行列をmとして、m[8],m[9],m[10]に代入。
gluLookAtで取得した視線上方向のベクトルを取得し、それとさっき取得したZ軸との外積を取る。
これがX軸方向になるのでm[0],m[1],m[2]に代入。
Y軸はZ軸とX軸の外積で作り、m[3],m[4],m[5]に代入。
これでビルボード座標系のXY平面が視線ベクトルと正対すると思う。
実際にコードを組んで確認したわけじゃないので、間違ってたらごめん。
素人でスマンが ダブルバッファリングで 描写用画面から表示用画面に転送する方法と 描写用画面と表示用画面を交互に切り替える方法 どっちが軽い?
>>394 自分で実装するよりGLUTとかに任せちゃったほうが効率よくない?
396 :
名前は開発中のものです。 :2009/05/17(日) 16:01:39 ID:DK/T3Mrl
bcc5.5でgult3.7.6使おうとすると GL/glut.h 146: オーバーロード関数群の中の 1 つだけしか "C" にできない って出るんだけどこれってなんで?対応してないの?
じーえるばーてっくすすりーえふ
大量のオブジェクトを描画しようと思っています。 具体的にいうと、10万程度の粒子を、単純な四角形で同じアルファテクスチャを使い、色を変えて沢山描画するつもりです。 glBegin〜…で作ってみたのですが速度が出ません。 速度を出すにはどのような方法をとるとよいでしょうか?
>>399 はい
とにかく沢山飛ばしてみたい衝動にかられました
401 :
名前は開発中のものです。 :2009/06/18(木) 16:54:43 ID:rCol3BeX
文字列を繁華街の看板のように光らせたいんですが、 基本はライティングのやり方で工夫するのでしょうか? 円形のパーティクルみたいな単純な形なら、外に行くほど透明度を上げたテクスチャを 重ねるだけで光ってるように見えるんですが…。 文字列の描画にはFTGLを使っています。
HDR, bloom, glareあたりで
403 :
401 :2009/06/19(金) 19:57:58 ID:d9xVu7dw
真っ当にいろいろ考え出すと奥深いが すごく単純化していうとだけど ・光らせたい部分だけ抜き出してぼかして加算合成 ・光らせたい部分にきらきらなビルボードを加算合成 ってだけ
OpenALってどうなのよ
406 :
401 :2009/06/23(火) 14:48:31 ID:vaGvZlJ8
EAXの利点はハードウェアサポート
ES用の参考図書とか、何かいい資料ないですかね?
んなことは初心者スレで聞けよ素人
410 :
名前は開発中のものです。 :2009/07/23(木) 19:08:41 ID:62GhMPv1
411 :
名前は開発中のものです。 :2009/07/30(木) 19:40:34 ID:jUrHw3fh
>>409 藻前がそういう風にかっこつけることができるのは
2chの中だでだなw
逝ってヨシ。
>逝ってよし 既に死語になりつつあり、最近見なくなって逆に新鮮に思えるw
藻前とか、逆に新しいよな。
なんかおっさんがかじりたての単語を 必死で使いこなそうとしている風景が頭に浮かんだ
どうでもいいからOpenGLの事話せよ 例えばSIGGRAPHで発表されたOpenGL3.2とかどうだ?
416 :
名前は開発中のものです。 :2009/12/08(火) 11:47:54 ID:L4vZ8+0U
さぁ
417 :
名前は開発中のものです。 :2009/12/21(月) 00:09:58 ID:wXL8lMBU
知らないなぁ
ブッ、知らないの?
419 :
マサヒロ :2009/12/22(火) 23:41:24 ID:D8xCbc8A
マ サ ヒ ロ 参 上
何がしたいんだお前は!
OpenGL+Glutでウインドウモード、フルスクリーンモードを何度も切り替えする プログラムを教えて下さい。
422 :
名前は開発中のものです。 :2010/01/13(水) 20:52:02 ID:WLv44/Lz
僕にも教えて下さい
423 :
名前は開発中のものです。 :2010/06/11(金) 00:07:19 ID:M6b9MnkJ
424 :
名前は開発中のものです。 :2010/06/16(水) 21:39:40 ID:4WAS2eu5
425 :
名前は開発中のものです。 :2010/09/25(土) 08:36:20 ID:kQ6VdT85
ほsh
426 :
名前は開発中のものです。 :2010/10/19(火) 00:29:39 ID:bYPOdN96
リアルタイムに動くミラーハウスを実装できる人はいますか?
たぶん
俺だよオレオレ
429 :
名前は開発中のものです。 :2010/10/19(火) 01:35:45 ID:bYPOdN96
では実装してみてください Youtubeで公開してくれたら尊敬いたします
え? もしかしてタダで? なんで?
431 :
名前は開発中のものです。 :2010/10/19(火) 02:23:13 ID:bYPOdN96
リアルタイムミラーハウスは相当高度な技術です 実現できたらノウハウで稼げるでしょう
432 :
名前は開発中のものです。 :2010/10/19(火) 02:39:13 ID:bYPOdN96
おそらくSIGGRAPHにも出展できるくらいの技術です できるのであれば作って欲しい
ヘーソーナンダー
434 :
名前は開発中のものです。 :2010/10/20(水) 21:13:22 ID:ZbIayp1d
ミラーハウスって何?w 鏡面反射のこと?w
435 :
名前は開発中のものです。 :2010/10/20(水) 21:34:12 ID:TppCkdud
ミラーハウスと聞いて、その実装がどれほど難しいのか 理解できないカスは、まさかいないよな?
436 :
名前は開発中のものです。 :2010/10/20(水) 22:12:21 ID:ZbIayp1d
MirrorHouseの概念が固定じゃないから定義してくれないと。 それによって難しさも変わる。 外側が鏡張りの家もミラーハウスだし 鏡をいっぱい置いてある家もミラーハウスって呼ぶよ? 抽象的な名称じゃなく具体的な仕組みを提示してほしい。 自分の中の言葉の持つ意味が世界中で通用するはずだとか思ってないよね?w
おもってんだろ
438 :
名前は開発中のものです。 :2010/10/20(水) 22:49:13 ID:TppCkdud
カスの難癖は笑えるww 全部壁が鏡でできた3Dダンジョンと考えろ珍滓君
リアルタイムレイトレース!!!
>全部壁が鏡でできた3Dダンジョンと考えろ珍滓君 また難癖()笑の付けやすい稚拙な文を書くww
単純に鏡面反射を繰り返すだけのことじゃないか 実装なんて難しくもなんともない。 実用的な処理速度になるかどうかは別問題。
シェーダで組めば問題ないだろ
>単純に鏡面反射を繰り返すだけのことじゃないか >実装なんて難しくもなんともない。 ならやってみせたら?
必要もないのに出来るとわかってることをやる意味が見出せないよ。
>>430 と同じ疑問が沸くw
よほど暇で、気が向いたらやるかもしらんが。
鏡面反射の方法だけでも言ってやったら?
検索すればすぐ見つかると思うんだがw
うちは反射面に視点を移動させてから
適当なバッファにシーンを書き出す>それをテクスチャに取り込む>必要に応じて反転させて反射面に貼り付け
という流れでやってるよ。
その他の反射材質(100%反射ではないもの)の場合は
虚実空間を作ってステンシルなんかで切り抜く手法をとるね。
上に出てるミラーハウスや合わせ鏡なんかもこの方法でやる。
単純な面じゃない鏡面(たとえば湾曲した鉄板とか磨かれた車のボディ)の場合はもう一工夫必要だけど
基本的に上の二つを何度も組み合わせてそれらしく見せるかな。
なので複雑な空間を構築するほどにレンダリング速度は下がるよ。
>>442 ぜひやり方を聞きたいw
>>446 ミラーハウスは万華鏡のように無限に多重反射を繰り返すところが肝だから、
その古典的な手法で「何度も組み合わせてそれらしく見せる」のはかなり困難だと思うなあ。
俺の考え方は、ミラーの面に対して逆側にモデルを反転して描画して、
その映像のミラーの部分をテクスチャとして使う
で出来るんじゃないかと
>>446 と同じかな?
多重になるとその繰り返しだから・・ 限界あるよね 確かにシェーダーてどうやるんだ?
うんにゃ、困難じゃないよ。 仮に鏡の中の虚空間が無限だったとしても人間の視力は無限じゃないからね 「無限に反射を繰り返す」と思い込みが、いかにもすごそうだと勘違いさせるだけで 実際に構築する虚空間は5回程度で十分それらしくみえるよ。
映画見てないの?
5回程度、で、すむのだろうか... 2回反射としても、2 * 4回くらいバッファ作ることになるんじゃないかと思うんだけど... 3回反射なら、さらに * 10くらい? 狭い室内だからってことで視野を広角にするとさらに大変に...
メガデモスレに依頼したら?
オブジェクトが「点」になるまで収縮するのに、たかだか5回じゃ、 できあがるのは全くの別物過ぎるだろ。消失点とか完全に逸脱するし。 結論、無理。
GPGPUによる高速レイトレースに頼るしかないね 鏡のモデルが単純だから解像度が低ければ数十回反射をトレースしてもそれなりに速度出るかも
上で簡単にできるって言ってた奴は結局口だけってこと?
え?この板口だけがデフェでしょ?
それって板の存在意味ないじゃんねー
すみません。 フラグメントシェーダやっていて、どうしても理解できない現象が出てこまっています。 シェーダプログラムは↓みたいな感じなのですが、どうも自分の視点と向かい合っている面が 明るくなってしまうのです…。 (一応、ライトを動かすことでも陰影の様子は変わりますが、ライトは動かさずに視点だけがが 動いてもフラグメントの色が変わってしまう状態です。) 宜しくお願いします。 varying vec3 position; varying vec3 normal; void main (void) { vec4 color; // アンビエントは強制的に反映 color = gl_FrontMaterial.ambient * gl_LightSource[0].ambient; // 法線とライトベクトルとのcosθの度合いだけディフューズが反映される。 vec3 fnormal = normalize(normal); vec3 light = normalize(gl_LightSource[0].position.xyz - position); float diffuse = dot(light, fnormal); if( diffuse > 0.0 ){ color += gl_FrontMaterial.diffuse * gl_LightSource[0].diffuse * diffuse; } gl_FragColor = color; }
あと、バーテックスシェーダプログラムです。↓ varying vec3 position; varying vec3 normal; void main(void) { position = vec3(gl_ModelViewMatrix * gl_Vertex); normal = normalize(gl_NormalMatrix * gl_Normal); gl_Position = ftransform(); }
>>460 gl_NormalMatrixがビュー行列×モデル行列の逆転置行列になってない?
gl_Normalにモデル行列の逆転置行列を掛けて
フラグメントシェーダではワールド座標系でライティングを計算する
もしくは
gl_Normalにビュー行列×モデル行列の逆転置行列を掛けて
フラグメントシェーダではカメラ座標系でライティングを計算する
でうまくいくと思う。
>>461 当人ではないけど、言っている意味がわからない。
positionおよびnormalはカメラ座標になってる。
元プログラムの何が問題なの?
463 :
名前は開発中のものです。 :2010/11/17(水) 00:35:22 ID:uq4sIxC5
>>459 glLightでライトの位置を指定されたときにmodel-view matrixが掛けられるけど
毎回model-view matrixを変更した後にちゃんとライトの位置を設定している?
ライトの位置を設定するときにwに1を設定している?
>>426 ミラーハウスのプログラムと解説がプログラム板のメガデモスレッドにあるよ。
フラグメントシェーダってなんだ? ピクセルシェーダ-で統一しろ
↑まず末尾を伸ばすのか伸ばさないのか、ーなのか-なのか統一しろw それはともかく、計算対象がピクセルじゃなくフラグメントなんだから、フラグメントシェーダだろjk
フラグメントが良いよな。 まだピクセルじゃねーし。
*.objファイルの読み込みで 使い勝手が良いライブラリなどありますでしょうか? glutのサンプルがコンパイルエラーで使えなかったのですが・・
C#で作ったフォームからOpenGLの関数類を含んだC++コードを呼ぼうと思っているんですが、 どうも上手くいきません。 どなたか原因をご存知の方はいらっしゃいませんか? 1.CLRのDLLとしてglVertex3d()などの呼び出しを含んだdllを作成 2.CLRのDLL側に glu32.lib と opengl32.lib を追加の依存ファイルとしている 3.C#側で参照設定 4.C#側でこのクラスを構築。すると、 「アプリケーションのコンポーネントで、ハンドルされていない例外が発生しました。[続行]をクリック…。 ファイルまたはアセンブリ 'cppGL, Version=1.0.…, Culture=neutral, PublicKeyTOken=null' または その依存関係の1つが読み込めませんでした。 間違ったフォーマットのプログラムを読み込もうとしました。」 というアプリケーションエラーが発生します。 宜しくお願いします。
自己完結しました。 ひな形にしていたプロジェクトが古すぎてアセンブリのバージョンみたいなものが 食い違っていたようでした。 スレ汚しすんません
>>464 フラグメントシェーダはOpenGLの用語で
ピクセルシェーダはDirect3Dの用語。
結局どちらも同じものだけど。
こんなOpenGLとDirect3Dで同じ機能が違う用語で呼ばれているのがいろいろあるみたいだね。
Stream outputとtransform feedback
primary surfaceとframe buffer
とか。
DirectXのConvertToIndexedBlendedMeshように、 行列パレットの数を指定してメッシュを分割してくれるような 便利なヘルパー関数は、OpenGLのなにかのライブラリに 存在してますか? 自前で実装すると遅すぎて話にならないので困ります。
>>472 そんな便利な機能がOpenGLにあるわけなかろう
じゃあいまどきの多ボーンスキンメッシュを動かしてる人は 全部自前で実装してるって事か。 ってスキニングの段階で事前に分割しておけばいいのか。ワンスキンに こだわることなかったな。
475 :
名前は開発中のものです。 :2010/12/06(月) 18:43:40 ID:o/iC03E/
そんなバカな他にオプションのライブラリ使うだろ普通。
え、普通どうなのかは知らないけど、自分は普通に自作してるよ。 ライブラリとか導入するの面倒くさいんだもんw Win/Linux/MacOS(iOS)で使えて、導入が楽なライブラリがあるといいんだけど。 フレームワークに依存しないようなやつが欲しいなぁ。
477 :
名前は開発中のものです。 :2010/12/09(木) 00:47:25 ID:QsEvkvp9
あるけど公開はされていない。 名付けてCloseGL
今現在見ているスクリーンを、そのまま水平移動、垂直移動する簡単な方法はありませんか。 ただしカメラ座標で平行移動するのはなしで。 ワールド座標系で視線ベクトルと垂直なベクトルを計算して…… という方法以外の簡単な方法を探しています。
「スクリーンを」というのならglViewPortかな? シーンを動かすなら2D,3Dでやり方が変わってくると思うよ。
あきらめました
モデルビュー行列からベクトル取れるだろう。
OpenGLでインデックスカラーモードでテクスチャの表示をするとハードウェアアクセラレーションは得られないんでしょうか
>>482 赤本になんかそれらしい記述があったような気がする。
適当ですまん。
OpenGLでFPSの固定のしかたがわからないんですが, どなたか教えてもらえないでしょうか? DirectXに慣れているので, Idleのコールバックや描画のタイミングが制御できない点に手を焼いてしまっています. 参考になるサイトや書籍があれば教えていただけると助かります. あと,板ポリゴンにテクスチャはった途端,描画に1秒近くかかり始めたのですが... こっちはもうちょっと自分で追ってみます.
>>484 glutTimerFunc
glutPostRedisplay
あたりかな?
glut抜きでお願いします
487 :
484 :2011/03/14(月) 20:21:19.59 ID:jWhijRYx
>>485 ありがとうございます.試してみます.
ちなみに486は私じゃないです.
GLUTなんて使う人いるの?
使ってるけど?
土日スレで使ってる人いたね 俺も使ったことあるけど便利だったよ glut使わない人は代わりにどうしてるの?
どうしてるって…… 普通に自分で実装してますが。
>>490 OpenSceneGraph イイヨー
GLUT使って無いなら描画タイミングに自分でウェイトいれられるよね
glutってループに勝手にウェイト入れてたっけ?
特になかったはず
OpenGLのみ(glutとか無し)で勉強するのに 3Dに全く触れたことのない場合 どんな本がお勧めですか? 教えて頂ければ幸いです
赤本NGならロクな本がないのがOpenGL
つまり赤本を買っとけということですね 了解しました また懐が寒くなる T T
遅延シェーディングで教えてください。 1パス目:位置、法線、マテリアルの各種係数などをテクスチャーに出力 2パス目:画面全体を覆う板ポリを上記のテクスチャーを使って描画 でいいんでしょうか? 2パス目の画面全体を覆う板ポリが怪しいのですが、これであってますよね?
合ってる
501 :
499 :2011/09/16(金) 08:01:36.28 ID:/duHazH2
遅延シェーディングのメリットって何でしょうか? 結局計算量自体は1パスで計算するのと同じで、 マテリアル情報を出力する分コストが高い気がするのですが... Zだけ先にレンダリングするのと比べて何がいいのでしょうか。 1パス目:Zだけレンダリング 2パス目:もう1回レンダリング こっちの方が速い気がします。
ライト無制限
503 :
499 :2011/09/17(土) 08:17:43.47 ID:Nsy1iM/D
ライト無制限って最後の板ポリを書くとき1シェーダー1ライトで、 ライトのパラメーターを変えながらN枚の(同じ)板ポリを書いて加算合成するの? 結局遅延シェーディングの利点って速度よりも全体のパイプラインの見通しの良さと、シェーダーの分割にある気がする。 あと2Dのポストプロセスと相性がいい(なにせ最後は板ポリだ)。 プログラムにするとしたらこんな感じでしょうか。 class Material { setGeometryShader (); // for 1st pass, z setMaterialShader (); // for 1st pass, diffuse, specular class Light { setLightingShader (); // for 2nd pass clss Scene { setPostProcessShader (); // for 3rd pass
あとシェーディングに使うマテリアル情報が1st passで書き出したもの、 せいぜい位置、法線、Diffuse係数、Specular係数だけなので 本当にこれで2nd passでレンダリングするのに十分かどうか。 テクスチャーはDiffuse係数に叩き込んでおくとしても その他の特殊パラメーターを渡したくならないか...
知識としてだけ知ってて、実装にしてもテストレベルでしか やったことない人たちに聞いても無駄だよ。 とんちんかんなのに偉そうな答えが返ってくるだけ。
おちんちんびろんびろ〜ん
確かに偉そうな答えだな
こんな過疎スレで見るだけ無駄だろ レベルが低すぎる
見るだけ無駄だといってる奴がなんでレスれるんだ? レベル低いから?
必死だな
ならお前がレベルの高い話題ふれよ、とは思うな。そもそもOpenGlでゲーム作ってる人なんて居ないだろ
他人が作っているかどうかなんて関係は無いよね
>>511 iPhone とか android はどうなるんだよ。
カーマックにあやまれ!
カーマックとかもう過去の人だろ
WindowsでもRageの描画はOpenGLだし、他のソフトに比べて 同程度以上のグラフィックで、かつぬるぬる動くからやっぱり凄い技術だなと思った。 でもゲーム自体は古くさいお使いゲーでいまいちだった。
カーマックってそろそろ宇宙いった?
518 :
名前は開発中のものです。 :2013/03/11(月) 08:47:49.47 ID:p3/aZZJ4
マトリックスパレットに行列とウェイトを流し込むときに、 VBOって指定できないっけか…? わっかんねえ。
uniformは頂点バッファじゃないから無理でしょ。 どうしてもっていうなら頂点テクスチャ使えばいいんじゃないかな。
スミマセン、教えてください。 画像を表示させて、縦 ボタン、横ボタンを押すとそれ ぞれの方向に回転するプログラ ムを作っています。 glrotatef関数を使うと軸も回転 するため、意図した動きになり ません。 //横ボタンを押したときはrotati onXに値がはいる gl.glRotatef(rotationX, 0.0f, 1.0f, 0.0f); //縦ボタンを押したときはrotati onYに値がはいる gl.glRotatef(rotationY, 1.0f, 0.0f, 0.0f); draw(); まず縦ボタンを押 してから横ボタンを押すと、 縦ボタンを押した際にX軸も傾い ているため 横ボタンを押したときに斜め方 向に回転してしまいます。 軸を固定する方法はありますか?
回転させた分を記憶しておいて、Z軸の回転方向を計算するしか? 苦手なら一旦デフォルトに戻してから割り出すと簡単だと思う
トゥーンレンダリングをシェーダーで行う方法を調べたら、 ・頂点シェーダ→フラグメントシェーダ ・頂点シェーダ→ジオメトリシェーダ→フラグメントシェーダ というように、ジオメトリシェーダを経由する方法としない方法が出てきました。 どちらの方法が良いでしょうか?
ジオメトリシェーダなんぞ使わないに越した事はないでしょ。 基本GLSL2.1より上の事はまだやらないほうがいい。 自分とか内輪だけで使うならともかく。
526 :
名前は開発中のものです。 :2014/08/02(土) 13:43:53.67 ID:YzaUQONQ
AndroidのOpenGLはここで質問していいのでしょうか?
528 :
名前は開発中のものです。 :2014/08/04(月) 23:32:51.02 ID:E2btdXn6
ゲーム名だして悪いんだけどMinecraftの地形描画ってどうやってるのか気になってる人いない? ちょっとあれどえらい技術だと思うんですがなんかあまり話題に上がってこないのレスした OpenGL勉強し始めたばかりの素人だから思う疑問なのか、バリバリのOpenGLプログラマにとって 当たり前の技術なのかだけでも教えてもらえませんか? それともMinecraft独自の技術でレンダリングしてるのか 自分でやってみたけどスパーフラットならいざ知らず、あの凸凹の地形の面を一つ一つレンダリングしてたら 32*32*1ぐらいでもう使い物にならないぐらい重たいものしかできない(描画に必要な面だけを対象にして) glBigin,glEndも試したし、VBOだかディスプレイリストだかも試したけどあれだけの複雑な地形をどうしても描けない 夜も眠れないぐらい悩んでます
知らんけど単なる6面体を多数表示してるだけだろ 1億個ぐらい表示できないならプログラムが悪いんだろ
だなあ。 データの持ち方は興味あったから向こうのwikiでわざわざ調べたけど、 ボクセルの描き方なんて普通に見えてる表面だけ 描いてるだけでそ。 >ディスプレイリスト わざわざそんな化石を最新技術みたいに挙げないでよw
これは想像だけど、空気あるいは透明なブロックを起点に、カメラに見える面積が(遮蔽物となるブロックがあるなら一切無視したとき)0でない表面を探して描画してる感じ。洞窟とかも地上に居ようが関係なく描画してるのはこれで説明できる。 最新の開発版だと、遮蔽物があると描画されなくなったらしいけどね。
ボクセルだからブレゼンなんちゃらで効率的に視界内外判定できるんじゃないの。 ライン引いてフィル範囲だけ描く感じ。知らんけど。
533 :
名前は開発中のものです。 :2014/08/11(月) 10:16:17.85 ID:6SG21KG4
★2ch勢いランキングサイトリスト★ ☆ +ニュース板 ・ 2NN ・ 2chTimes ☆ +ニュース板新着 ・ 2NN新着 ・ Headline BBY ・ Unker ☆ +ニュース板他 ・ Desktop2ch ・ 記者別一覧 ☆ 全板 ・ 全板縦断勢いランキング ・ スレッドランキング総合ランキング ☆ 実況板 ・ 2勢 ・ READ2CH ・ i-ikioi ※ 要サイト名検索
glPolygonOffset( GLfloat factor, GLfloat units) のfactorとunitsのパラメーター意味がググッテもイマイチイメージできない 取り合えずは1.0fとか適当に設定してテクスチャ貼り付けはこなせているんだけども…
535 :
名前は開発中のものです。 :2014/09/26(金) 07:38:00.52 ID:Es38sPO5
関係ないけど、なんでAssimpはMMDをサポートしてくれんのじゃ〜
537 :
名前は開発中のものです。 :2014/10/01(水) 11:32:55.77 ID:47Y1i1Te
AndroidのOpenGLES2.0って、ティーポットとかの描画関数ってないの?
android知らないけどティーポットの関数あるのOpenGLじゃなくてGLUTじゃね
539 :
名前は開発中のものです。 :2014/10/02(木) 14:09:03.24 ID:JbBTzbcX
>>538 確かにそのようですね。DirectXにもあったもんで、標準装備かと・・・。
540 :
名前は開発中のものです。 :2014/10/02(木) 20:01:51.42 ID:JbBTzbcX
Matrix.rotateM()の引数のoffsetって単位は何?
541 :
名前は開発中のものです。 :2014/11/13(木) 06:26:57.74 ID:SO7R3EOm
542 :
名前は開発中のものです。 :
2015/03/06(金) 05:16:02.94 ID:PK8MG5Xr