OpenGLスレ Part14
at TECH
[前50を表示]
100:デフォルトの名無しさん
10/01/27 04:42:54
これあれだろ?元々のソース自体、どこかにあった物を全部コピペで持ってきてて
実はC/C++ 自体全然わからなくて、でもどうしてもなんかテクスチャ貼ったキャラ動かしてみたくて
説明読んでも理解出来ないから他人にソース書いてもらいたいって、
そういう話だよね?
101:91
10/01/27 06:58:18
いろいろと説明不測で申し訳ないですorz
>>97
球体と立方体にテクスチャは晴れるのですが、どちらも球体にしたいのです。
そこで、キューブ体glutSolidCubeを球体glutSolidSphereに変えたいのですが、
変えてしまうとキューブから球体に変えたオブジェクトが消えてしまいます。
質問の意味としては、球体2つにテクスチャを貼り付けたいという意味です。
>>98
sun_oldは、テスト用なので、気にせず>>91の画像を使っていただいてほしいです。
>>100
このプログラムは、「図解 OpenGLによる3次元CGアニメーション」と
URLリンク(sports.oit.ac.jp)
↑のサイトを元に作りましたが、全部コピペしたわけではありません。
ちなみに、現在のソースは、立方体と球体の画像取り込みからではない
テクスチャマッピングのソースを画像読み込みにし、オブジェクトが動くように
しただけです。すると立方体を球体にしようとしてもできないので、
質問させていただきましたorz
みなさんレスありがとうございます。説明不足でもうしわけなかったです。
102:デフォルトの名無しさん
10/01/27 08:32:29
みなさん数学ライブラリって何を使ってますか?
あと、能力による話だとは思うのですが
数学関係のクラスをどこまで自力で実装してますか?
103:デフォルトの名無しさん
10/01/27 13:51:49
中身の詰まった立方体(高さが非常に低いもの)の書き方を教えてください。
104:デフォルトの名無しさん
10/01/27 13:52:12
>>101
97だけど結果から言うと立方体でも球体でも動いた
>>91の画像は2つ入ってるけど使うのはtitan.tga?
sun_oldじゃなくても気にするなって言うが、全部解像度が違うんだから気にする
質問プログラムはsun_oldを使い、glutSolidSphereで動かないというなら、動かないプログラムと画像をupしないと意味が無い
glutSolidCubeをglutSolidSphereに変えて動かないなら変え方が間違ってるんだろうし
glutSolidSphere(1.0, 1, 1); とかに変えてんじゃないの?
105:デフォルトの名無しさん
10/01/27 14:34:11
>>103
中身が詰まってようが空だろうが外からは見えないから表面だけ定義すれば同じこと、
というのが面グラフィックの基本コンセプトだと思うが。
「中身が詰まった」ことでどのような違いを生みたいのか書かんと答えが出ないな。
106:デフォルトの名無しさん
10/01/27 15:10:42
ステンシル値1の部分に描画した立方体内部に、画像処理を施したいので、面だけで構成された立方体ではなく、中身が詰まったものを描画したいのです。
107:デフォルトの名無しさん
10/01/27 16:02:04
中身が詰まった物じゃなくて、断面が描きたいってこと?
URLリンク(www.sgi.com)
のsimplecapみたいな。もしそうなら
ステンシルテストのキャッピング(赤本5版日本語だと456頁)って手法かな
108:デフォルトの名無しさん
10/01/28 00:40:36
中身が詰まってるって言えばやっぱりvoxelでしょう。
URLリンク(artis.imag.fr)
のサイトを参考にしてvoxelレンダリングに挑戦してみたら?
OpenSceneGraphのvolume rendering機能の方が簡単かもしれんが
レンダリング可能なサイズが小さいかも。
109:デフォルトの名無しさん
10/01/28 11:03:46
glslってファイル分割できないの?
110:デフォルトの名無しさん
10/01/28 11:14:56
できるよ
111:デフォルトの名無しさん
10/01/28 17:59:07
ステンシルバッファのステンシル値の配列はこれで確保されてるのでしょうか?
// ステンシル値格納用配列
buf_stencil = new int[xsize*ysize];
for(int i=0; i<xsize*ysize; i++){
buf_stencil[i] = 0;
}
glReadPixels(0, 0, xsize, ysize, GL_STENCIL_INDEX, GL_UNSIGNED_BYTE, buf_stencil);
//もしステンシル値1のときは・・・
if( buf_stencil[xsize*(ysize-y-1) + x]==1){ /*ステンシル値をチェック*/
112:91
10/01/28 20:31:27
>>104
できました!ありがとうございます!
あと、画像2枚うpしてますが、2枚の画像を2つの球体に
別々に表示する方法がわかりません・・・
分かる方おられないでしょうか><;
113:デフォルトの名無しさん
10/01/28 20:56:19
>>111
よくわからんけどUNSIGNED_BYTEなのにint[ ] でいいの?
あとステンシルをCPUに持ってくるって、どういうことする場合なのか興味ある
114:デフォルトの名無しさん
10/01/28 22:55:14
113番さん、ご指摘ありがとうございます!!
UNSIGNED_INTで値が読み込めました。
なぜこのような処理をするかというと、ステンシル値1の部分で、CVの関数を使って画像処理を行い、
またGL(ARToolKit)に座標変換させるためです。
115:デフォルトの名無しさん
10/01/28 23:08:02
読み込みをuintにするよりは配列側をbyteにしたほうがいいと思う。ステンシルは256段階だからね。
116:デフォルトの名無しさん
10/01/28 23:52:50
いや、ステンシルが何ビットかは、ピクセルフォーマットによるでしょ・・・。
まぁ8ビットだろうけどw
117:デフォルトの名無しさん
10/01/29 00:06:21
ステンシルが8ビットより多いのってあったっけ?
118:デフォルトの名無しさん
10/01/29 16:55:40
実質1bitしか使ってない気がする
119:デフォルトの名無しさん
10/01/30 06:56:05
C, C++ベースでファイル選択のダイアログやスライダ、プログレスバー程度をGLUTと同時に使える
GUIツールキットはありますか?
GLUIはすでに使用していますが、少し物足りませんでした。
120:デフォルトの名無しさん
10/02/02 06:25:34
― 他社がCellと同コンセプトのもので違うものをつくっても、つながれば問題ない、SCEIさんとしてはOKということですか。
久夛良木 Cellとは違う発想でコンテンツサーバとして存在できるようなアーキテクチャを、他社が開発したとして、
そのプロセッサとCellのプロセッサの中でいろんなプロトコルスタックができますから、レイヤをビシッと決めてやればつながる。
ですから、最終的には国際規格にもっていく話になると思いますよ。
― どういうレイヤで入ってくる企業があっても問題はない?
久夛良木 最終的にはJavaということになるでしょう。
超レガシーで、携帯電話でも全部溶けてしまうような話になるかもしれない。DirectXみたいなのは最悪なんですね。
― どこらへんがですか?
久夛良木 もともとレガシーなものを垂直にたたいたら早いというものでしょ。あれは。
― 当たり前の話ですよね。
久夛良木 論外ですね。互換性もないし。
URLリンク(ascii.jp)
121:デフォルトの名無しさん
10/02/04 00:20:44
こんにちは、質問してよろしいですか。
メモリ上に用意したビットマップから、動的にテクスチャを生成しようと
考えてます。そこでglDrawPixelsとglCopyTexSubImage2Dを使ってみました。
その際、ビットマップの大きさがウインドウの大きさ以上になる部分が、
テクスチャに読み込まれないという問題があるのですが、どのように解決
できますか。
以下に、ソースを簡単に。余計なコードも多そうですが。
GLubyte map[WIDTH * HEIGHT * 3];
void display(void)
GLint viewport[4];
glGetIntegerv(GL_VIEWPORT, viewport); // Viewポートの保存
glViewport(0, 0, WIDTH, HEIGHT); // Viewポートをテクスチャにあわせる
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glDisable(GL_TEXTURE_2D); // テクスチャOFF
glDrawPixels(WIDTH, HEIGHT, GL_RGB, GL_UNSIGNED_BYTE, map);
glCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 0, 0, WIDTH, HEIGHT);
glViewport(viewport[0], viewport[1], viewport[2], viewport[3]); // Viewポートの復元
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glEnable(GL_TEXTURE_2D); // テクスチャON
glBegin(GL_QUADS); { テクスチャの書き込み } glEnd();
glutSwapBuffers();
122:デフォルトの名無しさん
10/02/04 00:24:23
DrawせずglTexImage2Dを使えばいいのでは
123:デフォルトの名無しさん
10/02/04 00:44:58
できました、ありがとうございます!
glTexImage2Dを使っちゃっても、普通に速いんですね。
124:デフォルトの名無しさん
10/02/04 05:28:58
むしろglDrawPixelsの方が遅いよ
125:デフォルトの名無しさん
10/02/04 22:27:51
Cn:カラーバッファ、Dn:デプスバッファ、Sn:ステンシルバッファとします。
1.C1,D1,Sxのバッファ状態から、
2.ステンシルマスクを作成し(カラーバッファ未使用)→Cx、D2、S2
3.C1,D1,S2のバッファ状態にもっていく
これを繰り返し行いたく、
A案
1後:FBOへ切り替え
2後:S2をglReadPixels()でCPUメモリへ退避
FBOからデフォルトへ戻す
S2をglDrawPixels()で復帰
B案
1後:D1をglReadPixels()でCPUメモリへ退避
2後:D1をglDrawPixels()で復帰
を試しましたが、どちらもglReadPixels()で遅いです。
(A案の方が、サイズが小さい分少しだけ速いようですが)
※PBOでglReadPixels(),glDrawPixels()してもほとんど変わらず
デプスバッファかステンシルバッファを高速に退避&復帰させる
にはどうすべきでしょうか?
#赤本には、
#glCopyPixels()をXORで使用するとGPU内で画像交換できる
#とか描かれていますが、どうしていいのかのか、また、
#上記のケースで使用できるのかもわかりませんでした。
もしくは、デプスバッファだけを一時的に切り替えて、2が行えるといいのですが
よろしくお願いします。
126:デフォルトの名無しさん
10/02/05 05:40:11
A,B案ともよくわかりませんが、XORでGPU内で画像交換ってのはよくあるXOR交換のことかと
Wikipedia項目リンク交換アルゴリズム
glCopyPixelsでやったことはないですが
127:デフォルトの名無しさん
10/02/07 00:54:39
OpenGLでコントローラを使おうとしているのですが、
printf("%d\r\n",js.lX);
で一応、初期値の -8 とプリントされているのですが、
動かしても変動がありません。どうも倒しながらキーボードを入力すると数値が変動するようです。
現在はキーボード入力で入力したときだけOpenGLが再描画されるのですが
これをJoystickを倒した時に再描画されるようにするにはどうすればよいのでしょうか?
switch (key) {
case 'd':
{
Point NextPos( PosX+0.2, PosY );
if( !ColCheck( NextPos ) )PosX +=0.2;
glutPostRedisplay();
}
ソースはこんな感じになっています。キーボード入力時のみの再描画ではなく、常に?描画するにはどうすればよいのですか?
初心者ですみません。書き込んでいて何を言ってるのかわからなくなってきました。
128:デフォルトの名無しさん
10/02/07 01:04:22
glutPostRedisplay();
これをswitchの外に置くだけじゃないのか
129:デフォルトの名無しさん
10/02/07 01:11:15
外に置いてみました。
ものすごい速度で再描画されています。
どうしたものでしょう、
130:デフォルトの名無しさん
10/02/07 01:33:05
sleepしてみました。
Joystick extern DIJOYSTATE2 js;を外部変数としていて
if( FAILED( hr = g_pJoystick->GetDeviceState( sizeof(DIJOYSTATE2),&js) ) )。
return hr; // The device should have been acquired during the Poll()
//ここで実際にゲームコントローラの状態を取得してjsに代入する
とあるのですが
if(js.lX>300){
printf("右");
}
で実行すると
error LNK2001: 外部シンボル ""struct DIJOYSTATE2 js" (?js@@3UDIJOYSTATE2@@A)" は未解決です。
error LNK1120: 外部参照 1 が未解決です。
とエラーが出てしまいます。これはどういう意味なのでしょうか??
131:デフォルトの名無しさん
10/02/07 01:53:01
そのメッセージの通りだと思う
132:デフォルトの名無しさん
10/02/08 09:13:16
取り合えずOpenGLとジョイスティックは切り離して考えたほうがいい。
133:デフォルトの名無しさん
10/02/08 09:58:39
使ったことないけどglutJoystickFunc()でとか
134:デフォルトの名無しさん
10/02/08 13:43:56
ゲーム以外の目的で企業がOpenGL使う場合、
glutって使われてるの?
135:デフォルトの名無しさん
10/02/08 15:26:31
使ったほうがいいときは使ってる
136:デフォルトの名無しさん
10/02/08 22:05:10
使うか使わないかなら、使うこともあるんじゃないの。
GLUTで勉強してればいいのかなとか心配なら、そんなこと気にする必要ない。
どんなライブラリでも使えるようになればいい。
137:デフォルトの名無しさん
10/02/12 01:16:02
ありがとう
教授にglutやっとけば問題ないといわれたんだが、
その人がちょっと古すぎる人なので今でも通用するか不安だったんだ
138:デフォルトの名無しさん
10/02/12 01:29:12
UIにQt使いたいんだけど、QtでもGLUT使える?
139:デフォルトの名無しさん
10/02/12 01:54:59
QtでGLUT使う意味がわからん。普通にQtでOpenGL使えるだろ
140:デフォルトの名無しさん
10/02/12 02:57:04
なぜ使いたいのかから説明しないといけないのか
めんどいな
141:デフォルトの名無しさん
10/02/12 03:21:10
情弱w
142:デフォルトの名無しさん
10/02/12 03:24:09
情強乙
143:デフォルトの名無しさん
10/02/12 15:03:15
>>137
床井先生・・・(:ω:)
144:デフォルトの名無しさん
10/02/12 17:35:48
GLUT使ってないシェーダの本出してください
145:デフォルトの名無しさん
10/02/12 18:30:42
GLUTは単にWindowのラッパだからシェーダは関係ないんじゃね?
146:デフォルトの名無しさん
10/02/12 19:52:31
俺QtでOpenGL使ってるけど快適だよ。
glutはさすがに時代遅れだろう。
147:デフォルトの名無しさん
10/02/12 19:53:59
Glutの描画関数使っててattribute変数とか使ってなくてクソだと思う。
そもそも、gl_ModelViewMatrixとかの組み込み変数は廃止予定なんだからダメだろ。
148:デフォルトの名無しさん
10/02/12 20:16:50
ちょっとした調査プログラムとかを超短時間で作りたいとかの場合は今でもGLUTが便利かな
glutSolidTeapot使いたいしw
149:デフォルトの名無しさん
10/02/12 20:33:11
QGL良さげだなぁ。
でもこれだけのためにQtランタイム要求するのはちょっと。
150:デフォルトの名無しさん
10/02/12 23:23:14
glutはglutSolidStanfordBunnyも設けるべきだったよね
151:デフォルトの名無しさん
10/02/12 23:33:01
import wx.glcanvas でぐぐる
wxpython + pyopengl 入れるだけ pydev eclipse でも動かせる
マック環境でインスコ簡単すぎて泣ける
gttkglext 入れるの難しすぎる・・・orz
152:デフォルトの名無しさん
10/02/13 02:30:53
漏れにとって GTK は遠い過去
現在は wxWidgets
未来は Qt
153:デフォルトの名無しさん
10/02/13 03:10:51
こっちを向いてよハニー
154:デフォルトの名無しさん
10/02/13 11:17:03
URLリンク(d.hatena.ne.jp)
gui ライブラリの取捨選択に正解なんてないと
思う結局何かしらの長所もあれば短所もあるし
どれが一番良いかは platform 次第の部分も大きいし・・・
いまから eclise, netbeans みたいなかんじに
普及させるとかは難しいだろうし
マルチプラットフォームは java 系統はよくできてると
思う。日本語入力とか難があるとかそういうのもあるし
ノルウェーのOpera Software ASAは11日、独自エンジンを搭載したWebブラウザー「Opera」v10.50のベータ版を公開した。
URLリンク(www.forest.impress.co.jp)
155:デフォルトの名無しさん
10/02/14 00:58:51
glut使用。
デフォルトでは、表示される範囲ってx,y,z=[-1,1],[-1,1],[-1,1]だけど、そこに[0,100],[0,100],[0,100]の範囲にある図形を描きたい。
方法はいくつか思いついたけど、どれが可読性(よく見かける、ややこしくない)/利便性(めんどくさくない、タイピングや考える手間が少ない)/速度(無駄な計算が少ない)などの面でバランスがとれているのはどれだろうか?
1. 図形の各々の座標をx=x/50 - 1, y=y/50 - 1, z=z/50 - 1とし、[-1,1]の範囲に収める
2. GL_MODELVIEWマトリックスをいじる。glScaled(1.0/50, 1.0/50, 1.0/50);glTranslated(-50, -50, -50);
3. GL_PROJECTIONマトリックスをいじる。glOrtho(0, 100, 0, 100, 0, 100);
なんとなく、3がベストな気がするが、例えばそれに拡大・縮小機能を付けるとき、2でやっていればglScaledで楽に変えられる。
GL_PROJECTIONにglScaledかけても結果は同じかもしれないけど、それをやってるサンプルを見たことがないけどなんでかなぁ。
156:デフォルトの名無しさん
10/02/14 01:02:54
投影とモデル変換は区別しとかないと、モデル数が増えた時にこんがらがるよ。
157:デフォルトの名無しさん
10/02/14 02:24:25
>>156
概念的な違いはあっても、表示のされ方は同じようなので、どう考えればいいのか分からんのです。
実際にものの大きさを変えたり動かしたりならモデル変換で、
見た目の上での問題で、ズームなり移動なりしてるなら投射と考えていいのかしら。
例えばGoogle mapみたいにマウスでつかんで引っ張って動かすみたいなインタフェースの場合、
あれは地図を動かしてると考えるのか、視点が変わってると考えるのかどっちなんだ?
あと、glRotateやglTranslateを投射に使うのはやめた方がいいのかなぁ?
158:デフォルトの名無しさん
10/02/14 03:13:05
モデリングソフトだと座標の単位を設定してモデルを作る。
だからその単位に合わせたカメラを作ればいいんじゃない。
現実と同じように考えればわかりやすい。
数個の図形を表示するだけなら、好きにすればいいと思う。
159:デフォルトの名無しさん
10/02/14 05:55:22
>>155
3。投影方法はGL_PROJECTIONへ
結果が変わらないからどっちでもいい場合もあるが、結果が変わる時に困る。
法線/ライト関係や、頂点シェーダー使う場合とか
>>157
地図(MODEL)を動かすのとカメラ(VIEW)を動かすのは、ライトがあると結果が変わってくる
どちらも投影ではないのでMODELVIEWマトリックスを弄ることになる
160:デフォルトの名無しさん
10/02/14 12:11:48
>>158-159
ありがとうございます。
なんとなく分かったような分からないような……
MODELVIEW行列でカメラを、元データの座標系のまんま描いたときに全体像が写る位置に移動させて、
投影する範囲をPROJECTION行列で設定するのがいいっぽいですね。
拡大・縮小は、MODELVIEWのスケールをいじっても、PROJECTIONの視野の範囲をいじってもどっちでもできそうです。
できればPROJECTIONでやってしまいたい感はあるのですが、回転動作も実装しないといけないかもしれないのです。
カメラ位置固定でカメラの首を振れば対応できる範囲じゃなくて、裏側も見られるくらいに回したいのですが、それは投射じゃないのでMODELVIEWになるのですね。
そして、そういうことするなら、いっそのことMODELVIEWで固めてしまいたい感じがします。
161:デフォルトの名無しさん
10/02/14 13:12:28
カメラの位置、カメラの向く方向、カメラの傾き(ロール)これらはVIEWマトリックスなのでMODELVIEW
拡大縮小がカメラのズームならPROJECTION
普通はGL_PROJECTIONは(glLoadIdentityしたあと)gluPerspective/(glFrustum)/glOrthoのどれか1行書くだけでいい
162:デフォルトの名無しさん
10/02/14 17:59:16
なるほど。両方をいっしょに扱うってのはよくないのですね。
163:デフォルトの名無しさん
10/02/14 20:28:15
>>161
>>カメラの位置、カメラの向く方向、カメラの傾き(ロール)これらはVIEWマトリックスなのでMODELVIEW
gluLookAt は PROJECTION で設定するのがいいと思うのだが、どうなんでしょう?
164:デフォルトの名無しさん
10/02/14 20:33:14
LookAtもModelviewでいいよ。
165:デフォルトの名無しさん
10/02/18 07:12:01
GLSLって実行時にコンパイルするしかないの?
166:デフォルトの名無しさん
10/02/18 10:44:53
んなわきゃない
167:デフォルトの名無しさん
10/02/18 11:34:53
GLSLは実行時コンパイルだろ
168:デフォルトの名無しさん
10/02/18 12:12:19
んなわきゃない
169:デフォルトの名無しさん
10/02/18 22:32:15
んなわきゃないしか言えないの?
170:デフォルトの名無しさん
10/02/18 22:40:33
ってことは
シェーダのソースは丸見えになるということなんですね。
171:デフォルトの名無しさん
10/02/18 23:57:21
独自に適当な暗号化でもしておけばいい。
172:デフォルトの名無しさん
10/02/19 02:30:35
一応、Cのコード内に埋め込むことはできる。
173:デフォルトの名無しさん
10/02/19 11:09:59
glShaderSource() が呼び出されるときにパラメータを覗けばソースを見ることができる。
174:デフォルトの名無しさん
10/02/20 15:27:16
GLのシェーダーが実行時にコンパイルと言うのは
事前にシェーダーバイナリを使えたとしても、
それはドライバ会社のシェーダーコンパイラ依存があるからって事じゃね?
(GLって確かシェーダーバイナリの仕様まで決めてないかと)
つまり自分の環境しか意識しないのであれば、事前にシェーダーバイナリ作って
プログラムに埋め込むなり、別バイナリとしておくなりしておけば良い
(これが、言葉的に実行時コンパイルしかできない訳ない、になる?)
175:デフォルトの名無しさん
10/02/20 20:38:22
OpenGL ES 2.0 の話だったの?
176:デフォルトの名無しさん
10/02/25 00:27:30
glTexSumImageをUNSIGNED_SHORT_5_5_5_1でやるとやたらに遅い。
UNSIGNED_SHORT_5_6_5だとアホみたいに早いのに・・・。
透過色の処理はRGB5551, RGB565のどちらの場合でも切ってるのに、
何が効いてるんだよ
177:デフォルトの名無しさん
10/02/25 08:16:53
internalformatを何にしてるか知らんけど、変換が遅いだけじゃない?
ドライバやグラボ依存だと思われる
178:デフォルトの名無しさん
10/02/26 22:01:56
すみません、凄く抽象的な質問なのですが
バッファをフラッシュした際に落ちるのはどういった原因が考えられますでしょうか?
ウィンドウのサイズを変更した時、バッファをフラッシュするところで落ちてしまいます。
179:デフォルトの名無しさん
10/02/27 10:35:52
落ちる前にglGetErrorとか使ってみたら
180:デフォルトの名無しさん
10/02/27 12:00:15
>>179
ありがとうございます。早速今晩にでも試してみます。
181:デフォルトの名無しさん
10/02/28 18:52:15
ES2.0の話ですが、誰か頂点属性に半精度浮動少数点を使った事ある人いますか?
(拡張でHALF_FLOATがサポートされてるのは確認)
質問があるんですけど、(通常のGLでも意味が同じならOKです)
頂点配列でVBOを作って、それで頂点属性を指定する場合、
当然頂点配列もHalfFloat部分は、16bitにしなければならないと思いますが
通常のC++では16btiの浮動少数点型は有りませんよね?
つまり、通常の単精度floatを、半精度に変換するルーチンをかませながら
float -> HalfFloat と代入しながら頂点配列を操作する感じなんですかね?
で更にシェーダー側の質問ですが、
単精度のHalfFlaotで受け取る頂点属性は何か特別な宣言がいりますか?
例えば
attribute lowp vec2 TexCoord;
とか、精度修飾子も低い指定が必須ですか?それとも無関係?
それからシェーダー内のHalfFloat属性の変数は、計算に注意点は何かありますか?
色々と細かい質問ですがよろしくお願いします。
182:デフォルトの名無しさん
10/02/28 20:23:19
GLSLの質問はこちらでいいのでしょうか?
シェーダプログラムを複数作成するプログラムを組んでいるのですが、
現在使用しているシェーダプログラムの識別子を返すような関数はありますでしょうか?
例えば、
glUseProgram(1);
がどこかで呼ばれた後、他の場所で"1"の値を取得したいのですが・・・。
glIsProgramは識別子が分かってないとダメみたいですし・・・。
もしかすると、プログラムを複数作成してる時点でおかしいのかもしれないのですが、
どなたかご教示お願いします。
183:デフォルトの名無しさん
10/02/28 20:35:34
>>182
考え方が逆
glCreateProgram() の戻り値がシェーダーもアタッチされてる識別子で、自分で制御しなきゃいけないでしょ
つまり
GLuint programID;
programID = glCreateProgram();
glUseProgram( programID );
てな感じで、変数(構造体なりクラスなりのメンバとか)として
今セットしてるプログラムを制御しなきゃ駄目
184:デフォルトの名無しさん
10/02/28 20:48:21
>>183
レスありがとうございます。
シェーダプログラムの作成とシェーダを用いて行う処理を
一つのクラスにまとめてしまおうと考えています。(楽に再利用できるように)
別のクラスか何かで既にシェーダプログラムを使用していた場合、
使用中のシェーダプログラムが変わってしまうので、
上記の処理を終えた後に元のシェーダプログラムに戻しておきたいと思ったので・・・。
例)
Aクラス処理開始(ProgramID:1)
↓
↓→Bクラス処理開始(ProgramID:2)
↓
↓→Bクラス処理終了(ProgramID:2)
↓
Aクラス処理終了(ProgramID:1)
分かりにくくてすいません。
185:デフォルトの名無しさん
10/02/28 20:57:52
>>184
普通は、描画前に自分が必要なセットをして終ったらリセットじゃないかな?
描画A
glUseProgram(ID_A);
glDraw***();
glUseProgram( 0 ); // リセット(以降に意図しない描画をさせない為)
描画B
glUseProgram(ID_B);
glDraw***();
glUseProgram( 0 );
これなら、どんな描画を呼ばれても平気じゃん
こう言う作りにしてにないのは、設計の問題な気がする
(GLの仕様にマッチしない設計)
186:デフォルトの名無しさん
10/02/28 21:01:38
>>184
自分でglUseProgramをコールしてるんだから
今セットしている値をカレント値として取っておいて
PUSHとPOPの仕組みを作れば良いじゃん
187:デフォルトの名無しさん
10/02/28 21:21:26
レスありがとうございます。
>>185
やはりその方法しかないですよね・・・。
>>186
そうしてしまうと、別クラスでシェーダを変えた時に
Push,Popの値とズレが生じてしまうので、
AもBも包含し、Push,Popを管理するクラスCが
必要になってきたりとむしろ煩雑になる気がして・・・。
バックバッファの描画結果をFBOに移し変えてフィルタ処理を行い、
再びバックバッファに書き込む、という処理をクラス化しようとして
glIntegerv()の
GL_TEXTURE_BINDING,
GL_RENDERBUFFER_BINDING_EXT,
GL_FRAMEBUFFER_BINDING_EXT,
の3つを使って以前のクラスの各設定値は全部取得できたので
シェーダの識別子も取得出来るだろう、と考えたのですが甘かったですねorz
ちょっと仕様変える必要がありそうです。お騒がせしました。
そしてこんなにも早くレスをくださった皆様、ありがとうごさいました。
188:デフォルトの名無しさん
10/02/28 23:30:34
>>182
つglGetIntegerv( GL_CURRENT_PROGRAM, &id );
189:デフォルトの名無しさん
10/03/01 00:50:59
>>181
VBOでHALF_FLOAT使ったことないので他からの推測だが、C++側をfloatで用意しておけば、
あとは勝手にGL側が内部でHALF_FLOATに変換するような気がする。
190:デフォルトの名無しさん
10/03/01 11:52:18
携帯ゲームで頂点のデータ(法線とか色とか)をcharやshortで持っているアプリを
デスクトップに移植する場合floatで置き換えてしまって良いですか。
何が何でもメモリ使用量を減らしたいからだと思うけどデスクトップなら4バイト使っても問題ないよね?
191:デフォルトの名無しさん
10/03/01 12:43:19
好きにしたらいいと思うが、変えなくてもいいものは変えないほうがいいと思う
192:デフォルトの名無しさん
10/03/01 13:56:00
変えないといちいちscaleとbiasをかけてfloatに変換してからGPUに送ったりしないといけないので可能なら変えたい。
ゲームとか作った経験がないのでで実際に使われる頂点数とかどの程度影響があるのかよくわからんのです。
193:デフォルトの名無しさん
10/03/01 16:07:38
>>188
182で質問をした者です。
ありがとうございます。無事に解決できました。
GL_CURRENT_PROGRAM,こんな直球な名前の定義があったんですね・・・申し訳ありません;
おかげさまで仕様変更することなくプログラムを進めて行けそうです。
本当にありがとうございました。
194:デフォルトの名無しさん
10/03/03 23:48:17
>>181
OpenEXRのソースコードの中にhalf floatを扱うクラスか関数があって
それ使ってfloatからhalf floatに変換してGLへ渡していたような気がする。
195:デフォルトの名無しさん
10/03/11 15:16:03
FPS作ってんだけど(銃で撃つほう)
マウスで周りみれて移動もできるようにしたんだけど
マウス動かすから、ウィンドウ外にマウスがでちゃうんだ。
ウィンドウ外にマウスがでると、制御できなくなるんだ。
あれってGLUTの設定かもしれないんだけど
誰かわかんないかな?
196:デフォルトの名無しさん
10/03/11 15:53:43
Windows?
画面から出さないようにしちゃうとか ClipCursor()
端っこにくっついても動くようにしたいなら、毎回マウスを画面の中央に移動させたりとか SetCursorPos()
じゃだめかな
197:デフォルトの名無しさん
10/03/11 18:27:52
>>196
thx
windows上で動けばいいけど、glutで生成したウィンドウ関係なしなのかな
関数いれてコンパイルしたけど、戻り値が1で失敗してるみたい。
WINAPIでやるべきなのかな?関係ないかな。
もうスレ違いかぬ。
198:デフォルトの名無しさん
10/03/11 22:27:30
ゲームならglutよりはglfwとかSDLとか使った方がいいかもね
199:デフォルトの名無しさん
10/03/11 22:48:11
>>197
>関数いれてコンパイルしたけど、戻り値が1で失敗してるみたい。
どこにどの関数をどんな引数で入れたのかとかないとさすがにわからん
>>196の関数もWIN32APIだからググればきっとわかるよ
200:デフォルトの名無しさん
10/03/12 01:14:35
OpenGL 4.0が出た件。
ペースあがってきたなOpenGL。OpenCLとの連携強化とかテッセレーターとかDX11相当色々。
201:デフォルトの名無しさん
10/03/12 02:22:24
未だに1.3に毛が生えた程度に縛られている自分としては
あんまりペースあげられてもなー。
MesaがOpenGL 2.x相当になったかと思えばOpenGL 3.xで破壊的なことされるし
レガシーフリーで足並みそろったかと言えば全然だし。
iPhoneみたいに具体的な製品と結びついてないと標準化は名ばかり。
202:デフォルトの名無しさん
10/03/12 09:37:08
(DirectXに比べて)アップデート遅いんじゃボケーって言われてたのがウソみたいだな。
番号が上がってるのは分かるが内実が伴ってないというか、
それで何が変わるの、実際に使われるのというと疑問がある。
いきおい勉強するきも沸いてこない
203:デフォルトの名無しさん
10/03/12 12:33:58
OpenGL_ARBの目的としては、今回GDCで発表していることもあるし、マルチプラットフォームの強さを活かしてゲームデベロッパーにDirectXじゃなくてOpenGLを採用してもらうことがあるんじゃないかな。
個人的な意見としてもOpenGLには完全な業界標準としての位置を築いて欲しい。
204:デフォルトの名無しさん
10/03/12 20:50:15
ゲームで今からOpenGL採用してなんかメリットあるの?
205:デフォルトの名無しさん
10/03/12 20:52:14
プラットフォーム非依存ってのは非常に大きいだろう。
206:デフォルトの名無しさん
10/03/12 20:55:11
しかしOpenGLだけでは一般的なフォーマットの画像やポリゴンデータを読み書きできないぞ。
207:デフォルトの名無しさん
10/03/12 20:58:44
だけで使うバカがどこにいる?
208:デフォルトの名無しさん
10/03/12 21:20:43
プラットフォーム非依存といってもコンテキストとか依存部分をしっかり作るのは
相当面倒くさくて、ARBとか細々としたものに対応するのも面倒くさくて、結局
もっと上位のミドルウェアを使わなきゃやってられないなぁと思った頃には、
なんでOpenGL使おうと思ってたんだっけ?とかいうことになってたり
209:デフォルトの名無しさん
10/03/12 22:56:29
>>206
そんなの含めなくていい。
もっと勉強しろ。
210:デフォルトの名無しさん
10/03/12 23:31:51
具体的に何を?
211:デフォルトの名無しさん
10/03/13 06:46:58
画像読み込みライブラリなんていくらでもあるだろうが!
なんかマイナーなフォーマットでも使うのか?
212:デフォルトの名無しさん
10/03/13 12:49:13
URLリンク(game.watch.impress.co.jp)
そういえばOpenGL 4.0ならXPでもSM5.0機能が使えるんだな。
213:デフォルトの名無しさん
10/03/13 15:24:15
framebuffer objectについて質問があります。
GLSLを用いて畳込み等のフィルタ処理を行う時、
depth bufferやstencil bufferを利用しない場合は
renderbufferの関連付け(attach)はしなくても良いのでしょうか?
どなたかご教示お願いします。
214:デフォルトの名無しさん
10/03/13 15:36:31
デプスバッファ用のレンダーバッファーなりテクスチャーなりをアタッチしておかないと描画時にエラーが出た気がするが・・・。
もしかするとデプステストしないんなら、いらなかったかもしれない。まぁ聞くより試してみるのが一番早いよ。
215:デフォルトの名無しさん
10/03/13 15:45:34
>>214
レスありがとうございます。
試してみるしかないですか・・・。
家にATIとNvidiaと二つのビデオカードがあるんですが、
片方では動いて片方では動かなかったりすることがたまに起きるので、
公式な解答があるとそれに従った方がいいかなと思い・・・。
スレ汚し申し訳ありません。試してきます。
216:デフォルトの名無しさん
10/03/13 15:55:52
>>215
今試した見たらいらなかったわ。しかもDepthTest有効にしてもエラー出なかったw
URLリンク(firestorage.jp)
↑は参考までに。C#で書いてあるのはご愛嬌。
217:デフォルトの名無しさん
10/03/13 16:07:23
以前デプスバッファ無しのFBO作ったらエラーで弾かれた気がするから、もしかするとコンテキストのバージョンによるのかも。例えばOpenGL2.0のコンテキストならダメで3.2ならOKとかね。
218:デフォルトの名無しさん
10/03/13 16:45:15
>>216
>>217
レスありがとうございます。
テストもしていただけたみたいで、本当にありがとうございます。
これで画像処理する時にVRAMを圧迫するような領域を確保しなくてすみます。
カードが少し古いOpenGL2.0までの対応なので、
こちらでも試してきます。色々とお世話になりました。
219:デフォルトの名無しさん
10/03/13 17:39:28
それは、ATIとNVIDIAのドライバの違いもあるよ
NVIDIAのドライバは柔軟と言うか、GLの仕様を外れても動くイメージ
ATIのドライバは、GLの仕様に厳格と言うか、仕様に外れるとスグにハングするイメージ
よくATIのGLドライバがクソって言われてるのは、この辺だと思う
220:デフォルトの名無しさん
10/03/13 17:43:01
動作確認も大事だけど、OpenGLの仕様書を読んで確認するのも大事だと思うよ。
このスレではOpenGL specificationを読んでる人は少数派かな?
221:デフォルトの名無しさん
10/03/13 18:03:55
OpenGLにはもう期待してないけどWebGLには少し期待してる
222:デフォルトの名無しさん
10/03/13 22:19:06
Windows血筋のプラットフォーム以外ではOpenGLしか選択肢がない
223:デフォルトの名無しさん
10/03/14 11:32:44
でもWebGLってブラウザーからOpenGL ESが使えるってだけでしょ。
224:デフォルトの名無しさん
10/03/14 12:29:31
だけと言うが、かなりでかいパイだぜ
225:デフォルトの名無しさん
10/03/14 12:52:36
IE/MSとFlash/Adobeが非協力的らしい
また一昔のDXとGLの構図見たくなるんじゃね
一般人は、IE以外使わない気がするw
226:デフォルトの名無しさん
10/03/14 13:47:25
>>225
でも最近はIEのシェア下がってきてるし、ヨーロッパの方ではOSインストール時にブラウザ選択画面が出たりするようになってきてるからな。
227:デフォルトの名無しさん
10/03/14 16:56:07
要するにモデルをXMLで渡すとGLでレンダしてくれるという話か
標準を名乗るならモデルは実装非依存にしてバックエンドをDXにしてもよい形態にするだろうし、
あとはシェーダを書かせるかどうかだろうな。
silverlight陣営は標準化とか考えずにすむので先に実装を投入するだろうが、さてどうなるかな。
プロプライエタリなコードを使い、かつゲームを書くのにJSはつらかろう。
228:デフォルトの名無しさん
10/03/14 18:26:23
意味不明?
>標準を名乗るならモデルは実装非依存にしてバックエンドをDXにしてもよい形態にするだろうし
しないからw
それはもう、Web"GL"じゃねーし
>silverlight陣営は標準化とか考えずにすむので先に実装を投入するだろうが
だから、それってMSだろ
WebGLにはのってくるわけない
どうしてMSがWebGLに興味を示さないかを理解してないんだね
そう言うユーザーのご都合主義(例えユーザーの為にそれがベストでもw)で物事は進まない
229:デフォルトの名無しさん
10/03/14 18:45:10
>>228
で、どうしてMSは興味を示さないの?
230:デフォルトの名無しさん
10/03/14 19:41:30
>>229
Silverlightがあるからだろ。WebGLとは随分性質の違うもののようにも思えるが、どちらもRIAを作成する上で使用されるからな。
231:デフォルトの名無しさん
10/03/14 22:01:11
ブラウザで生のバイナリ(シェーダー)を実行とか言う発想が
OSビルダーであるMicrosoft見たらナンセンスなんだろう
世の中のスーパーハカーの人たちにとって、絶好のカモ
(今年のGDCでも問題点とはしていたらしいが…)
まあ結局、情勢見て世間に浸透するようなら
WebGLの協賛にNVIDIAとかいるしMicrosoftもWebDXみたない事をしだして
OpenGLの専売じゃなくなるんでしょ
232:デフォルトの名無しさん
10/03/14 22:53:57
でもなー過去にVRMLとかJava3DとかWebで3Dを使う仕組みはあったけど全然普及しなかったからな。
今回ハードウェアが使えるとはいえ普及する気がしない。
233:デフォルトの名無しさん
10/03/14 23:11:50
どうせ砂場で動けばいいんだけどシェーダだけはちょっと面倒だろうなあという感じ
しかしモデル指向ではなくプログラム指向っぽいんだよな
そもそもCanvasタグのときも、プログラム指向的だったのが謎。
SVGを操作するという簡単かつ汎用性の高い実装を目指さなかったのか疑問なくらいだ。
SVGをちょこまか拡張してXMLベースのモデルフォーマットを作ってくれれば、
OpenGL界隈の人間も喜ぶと思うんだがなあ。
234:こども社長
10/03/19 21:03:05
OpenGLゲーム作成初心者スレ
スレリンク(tech板)
235:デフォルトの名無しさん
10/03/19 21:12:11
糞スレ立てんな
236:デフォルトの名無しさん
10/03/20 01:16:10
>ブラウザで生のバイナリ(シェーダー)を実行とか言う発想が
もうすこし軽ければな…それは sl にも flash にもいえるけど…
237:デフォルトの名無しさん
10/03/20 19:45:04
小文字でslと書かれると、汽車が走るコマンドの方を思い出す
238:デフォルトの名無しさん
10/03/21 15:32:38
ぽっぽー
239:デフォルトの名無しさん
10/03/21 18:19:15
( ⌒ ) ポッポー
l | /
⊂(#・∀・)
/ ノ∪
し―-J |l| |
人ペシッ!!
(_)
)(__)(_
⌒) (⌒
⌒Y⌒
240:デフォルトの名無しさん
10/03/22 21:46:08
Glutで日本語文字列を描画する方法を教えてください。
241:デフォルトの名無しさん
10/03/22 21:52:33
日本語文字列のフォントを描写したテクスチャを用意してください。
242:デフォルトの名無しさん
10/03/22 22:07:27
それ以外でお願いします。
243:デフォルトの名無しさん
10/03/22 22:14:04
フォントのアウトライン取得してポリゴン化。
244:デフォルトの名無しさん
10/03/22 22:28:23
FTGLでお願いします。
245:デフォルトの名無しさん
10/03/23 13:40:56
3Dで作ったキャラクターにまばたきをさせたいのですがOpenGLについて全くの初心者のためどうすればいいかわかりません。
「まばたき opengl」等でググったのですがそれらしいHPが見つけられませんでした。
なにか参考になりそうなサイト等あったら教えていただけませんか?
246:デフォルトの名無しさん
10/03/23 14:03:55
OpenGLについて全くの初心者がなんでOpenGLでんなことしようと思うのさ。
247:デフォルトの名無しさん
10/03/23 14:07:45
>>245
間の段階とばしすぎ。3Dモデル作るだけ作っていきなりOpenGLでアニメーションさせるなんて無理無理。
基礎から学べ。
248:245
10/03/23 15:12:51
>>246
3Dでゲームを作って見たいと思い立って上のような事を考えました。
>>247
色々と段階があるのですね。
基礎と言うとまずどのような事から始めればいいのでしょうか?
openGLの入門書で大丈夫でしょうか?
249:デフォルトの名無しさん
10/03/23 15:28:04
入門書は高いから、ネットで適当なページ見つけて、まずは固定パイプライン(固定パイプラインって言ってもわからないかもだけど)でのやりかたを学ぶ。一通り慣れたらシェーダー(GLSLとか)を触ってみる。
まぁ単なるアニメーションだけならシェーダーも要らないかもな。以下俺が参考にしたサイト。
URLリンク(wisdom.sakura.ne.jp)
URLリンク(www.is.oit.ac.jp)
URLリンク(www.komoto.org)
URLリンク(www.ccad.sist.chukyo-u.ac.jp)
URLリンク(www.wakayama-u.ac.jp)
URLリンク(marina.sys.wakayama-u.ac.jp)
URLリンク(wiki.livedoor.jp)
URLリンク(www.arakin.dyndns.org)
URLリンク(asura.iaigiri.com)
URLリンク(wlog.flatlib.jp)
URLリンク(oshiro.bpe.es.osaka-u.ac.jp)
URLリンク(www.lighthouse3d.com)
URLリンク(www.opengl.org)
URLリンク(www.opentk.com)
サクサク開発進められると覚えも早くなるから一番したのURLにあるOpenTK使ってC#で開発するのもオススメ。
250:デフォルトの名無しさん
10/03/23 20:25:59
基礎から積上げていく方向は他の人が紹介してるからいいとして、
上から掘下げていくなら、Vertex Skinningとかmorphingあたりからいけばできんじゃないかな。
251:デフォルトの名無しさん
10/03/23 20:31:38
スキニングというかボーン変形とかを詳しく解説してるサイトないですか?OpenGLで。
252:デフォルトの名無しさん
10/03/23 21:18:02
>>251
OpenGLでっていうか、スキニングとかボーン(などの代替物)によって頂点が回転する固有のロジックは
そもそも数学の世界の話になるから、OpenGLだろうとDirectXだろうと手計算GDI描画だろうと同じなので、
数学方面から当たればサイトなんていくつも見つかるよ。
OpenGLって言う前提はそもそもそのやりたい事と、あんまり関係無い
253:デフォルトの名無しさん
10/03/23 21:19:30
>>252 が伝わらないといけないので1つだけ補足しておくと、
描画系ライブラリの話じゃなくて、座標移動の計算の話だから、って事ね
254:デフォルトの名無しさん
10/03/24 00:21:39
>>251
日本語のは知らないけど、英語サイトならDrDobbos Journalに寄稿してた人のサイトが良くできてた
URLは失念したので自力でヨロ
255:デフォルトの名無しさん
10/03/24 01:14:57
なんというアバウトな・・・
「砂浜に宝の地図が埋まってるから探せ」的な情報だな
256:デフォルトの名無しさん
10/03/24 01:41:57
イタリア料理店がそのジェノベーゼソースはどこで売ってますか?って聞かれたような感覚だけどな。
257:デフォルトの名無しさん
10/03/24 15:21:44
レベルの低い質問ですいません。
glColor4fv()で色を指定するときは
GLfloat color[4] = {r, g, b, a};
の順番で良いのでしょうか?
赤本にも書いてないのですが……
258:デフォルトの名無しさん
10/03/24 16:21:29
それでいいよ
259:デフォルトの名無しさん
10/03/24 21:03:51
ボーン変形ってのは特定の空間にある頂点を回転させてるだけなの?
260:デフォルトの名無しさん
10/03/24 21:11:04
回転だけとは限らない
261:デフォルトの名無しさん
10/03/24 21:27:53
>>259
回転と移動とその他だけど、あれは単に 「有名な仕掛け」 であって、
やってる内容は頂点位置の計算だよ、と一応追記しておく。
で、OpenGL だとか DirectX (特にDirect3D) だとかは、あくまで描画処理をするライブラリであって、
一応、それに付随するベクトルとか行列の計算ルーチンは含まれてるけど、
別にボーンなんて曖昧なものはそもそも無い。
あれはあくまで、「とあるルールで計算して、頂点動かしてる」 ってだけ。
ボーンによるデフォームは各種3Dソフトでよく見るから、たまに勘違いする人いるけど、
ここはム板だからせめてその辺切り分けときたい気持ち
262:デフォルトの名無しさん
10/03/24 21:35:56
ボーンデフォームとかのロジックやりたかったら、多分どのライブラリでも
最低限、高校数学B以上は普通に理解出来てて、その先がわからないと無理。
四元数とかの便利な道具も多分今は必須?オイラー角との変換とかも場合によってはいると思う
(ジンバルロックがあるから多分四元数使うのが普通かもしれない)
263:デフォルトの名無しさん
10/03/24 22:57:31
gemsの4巻に載ってるから買ってきなさいよ
264:デフォルトの名無しさん
10/03/27 16:11:51
amd.com > ブログ(英語) > Developer Blog > Mar 25, 2010
Ready, Willing and Able ? AMD Supports OpenGL 3.3 and OpenGL 4.0
URLリンク(blogs.amd.com)
ATI Catalyst OpenGL 4.0 preview driver
URLリンク(support.amd.com)
Last Updated:
3/25/2010
New Features:
Fully supports the OpenGL 4.0 specification on the ATI Radeon HD 5000 Series.
Fully supports the OpenGL 3.3 specification on the ATI Radeon HD Series & ATI FirePro Graphics Adapters.
265:デフォルトの名無しさん
10/03/28 19:30:25
まばたきぐらいだったらテクスチャでアニメーションする手もあったな。
266:245
10/03/29 14:13:40
>>249
お礼が遅れてすみません!
忙しくて見にこれてませんでした。
サイト参考にさせてもらいます。
ご親切に教えて頂きありがとうございました!
267:デフォルトの名無しさん
10/03/29 21:19:48
VC2005上でF5実行よりCTRL+F5実行の方が2倍近く遅くなるのはどんな原因が
あり得るでしょうか。
forループ使ってglDrawElementsを繰り返し呼んでる部分が遅いことまでは
突き止めたんですが・・・・
そのプログラムはGLSLでいろいろ処理させてて、GLSLを使わないとF5も
CTRL+F5も遅くはならないです。
268:デフォルトの名無しさん
10/03/29 23:26:13
F5のデバッグ実行だとエラーを感知して早めに落ちる
Ctrl+F5の通常実行だとエラーに気づかずにずっと走ってしばらくしてから落ちる
とか?
269:デフォルトの名無しさん
10/03/29 23:35:09
>>268
回答ありがとうございます。
そういうエラーを調べる方法ってあるんでしょうか?
デバッグする方法が無くて非常に困ってるんですが・・・・
270:デフォルトの名無しさん
10/03/29 23:58:27
スタートページ開いてると遅くなるって現象だった気が・・・
何分かなり昔のことなんで違うかも、違ったらごめんね
271:デフォルトの名無しさん
10/03/31 23:15:51
>>249
うちは.NETしか分からんからOpenTKちょっと触れたけど
まじでOpenGLは勉強し辛い、情報が英語だけだからってのもあるんだけど
本格的に使うなら自作メッシュクラス作らないといけない
272:デフォルトの名無しさん
10/03/31 23:54:54
作ればいいだけ。
ましてや勉強するつもりならそれくらい作れるようにならないと。
本格的にやってるとこは、画像とかモデルのライブラリは
独自に持ってるからライブラリはシンプルな方がいいんだよ。
273:デフォルトの名無しさん
10/04/01 10:40:27
そして量産された車輪の再生産がアメリカ様の統一規格に駆逐されるわけですね、分かります。
274:デフォルトの名無しさん
10/04/01 12:44:29
一応SlimDXやXNAも触れてるけど、オリジナルメッシュ作る羽目になってしまう
XNAのModelMeshが使い勝手悪すぎる、SlimDXは良いけど
OpenGL系、XNAとか様々なライブラリとの互換考えて作ることにした
275:デフォルトの名無しさん
10/04/01 20:55:53
>>273
いいや、ゲームなんかはモデルデータを勝手に使われたら困るから
統一規格されたフォーマットがいいとは限らない。
だからcolladaは中間フォーマットなんだよ。
276:代行
10/04/06 22:42:04
OpenGLの初心者です
マウス位置によって視点がぐりぐり動くコードをかこうと
以下のようなコードを書いたのですがなかなかうまくいきませぬ
このコードなのですが、どうすればよいのかヒントを貰えませんか(答えならなお可 (・∀・))
(#elseのほうもダメでした)
URLリンク(codepad.org)
277:デフォルトの名無しさん
10/04/06 22:45:31
初心者なら初心者らしく勉強しろよカスが
278:代行
10/04/06 23:17:25
そこんところを何とかお願いします。
processingでは上でやりたいコードはすぐにかけましたが
OpenGLでは何も設定しない時のgluPerspective/gluLookAtのデフォルト値は
調べてもよくわからんし
なんかこう、暗黙の前提みたいな部分が多くてよくわからんのです
上のは一応自分なりに考えて最小のコードを作ったんですけど・・
ちゃんと教えてくれるなら
今日作成したwavefrontのobjデータ読み込みクラスをうpします
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4331日前に更新/174 KB
担当:undef