OpenGLスレ Part13 ..
[2ch|▼Menu]
237:デフォルトの名無しさん
09/08/10 01:21:49
>>235
むしろ、ESでないとしても、同じ画像を何回も表示するならテクスチャに貼ってVRAMにキャッシュしておくこと推奨だよな。
Orthoに戻すのが面倒ではあるが。

238:デフォルトの名無しさん
09/08/10 03:33:56
>>229
バンプの意味は「どの方向に光源があっても」じゃなくて、
「張られた面がどの方向を向いていても」それっぽい影がつくってことだと思うけど。
だから静止画でも立体に張ってれば効果はよくわかるからいいじゃんよ。

239:デフォルトの名無しさん
09/08/10 09:14:27
どちらにしろバンプマッピングはグリグリ回してみないと実感はしにくいね。
発展して視差遮蔽マッピングになってしまうけどDirectX SDKのサンプルにわかりやすいのがあったな。
OpenGLとしてもOpenTKのフォーラムに視差遮蔽マッピングのサンプルがあった。

240:デフォルトの名無しさん
09/08/10 09:34:45
鶏を割くに焉んぞ牛刀を用いん

241:デフォルトの名無しさん
09/08/10 20:33:34
尼で頼んでたOpenGL Library、発売日とっくに過ぎてるのに中々発送しねーなと思ってたら、
発送予定日が23日になったとかメールが来た。

夏休みに読もうと思ってたのにkonozamaかよ。

242:デフォルトの名無しさん
09/08/10 21:32:46
>>237
VRAMにキャッシュ?!

mallocのことでしょ?

なんか特別な操作するの?

243:デフォルトの名無しさん
09/08/10 22:17:00
URLリンク(alb.hp.infoseek.co.jp)
Depthしか使わない場合のFBOの設定の仕方が書いてありますが、
逆にColorしか使わないときはどうするんですか?

GeForce FXだとFBOは対応しているのにNPOTが未対応のようですが
これだと描画するときにテクスチャ座標の指定が面倒そうです

244:デフォルトの名無しさん
09/08/10 22:24:52
>>242
ええー‥‥。
237さんの言ってること‥‥分からないですか??

245:デフォルトの名無しさん
09/08/10 22:47:32
>>244
そんな意地の悪いこと言わなくても・・・

246:デフォルトの名無しさん
09/08/10 23:00:27
んあー。意地悪かったのだろうか。
ごめん、別にそういうつもりは無かったんだけど‥‥ちょっと、ビックリしちゃったもんで。

247:デフォルトの名無しさん
09/08/10 23:06:03
別に意地悪じゃないだろ。
glTexImage*()が何をするのかを全く理解していないようだから
しっかり赤本読んでおけ。

248:デフォルトの名無しさん
09/08/10 23:28:32
お前等、また同じ過ち犯してるよ。

木を見て森を見ずだ!

もっと視野ひろげようよ。
そんなどこのメモリに領域確保しようが、そんなこん抽象化して
使いやすくしとかんきゃ、そらもうAPIとして失格なんよ。

まぁ、OpenGL作った連中に頭が上がらんのが殆どだからな。
東大を始めCG関連、日本の技術は貢献度ゼロだ。よっておまえらの
程度が低いのも当然だな。

設計が何かってわかってないよ、設計とは何かが。

249:デフォルトの名無しさん
09/08/10 23:40:06
>>248
>>1を読め。荒らしはお断りです。

250:デフォルトの名無しさん
09/08/10 23:43:36
>>249
だからー。おかしな人に触れちゃダメだってばー。
どうせ何言っても無駄なの分かってるでそ?

251:デフォルトの名無しさん
09/08/11 00:42:52
ここまで自演

252:デフォルトの名無しさん
09/08/11 00:46:46
>>251
こいつが一番頭がおかしい

253:デフォルトの名無しさん
09/08/11 07:47:34
またバカが湧いているのね。
小学校の夏休みが終わるまでしばらくこんな感じか。

254:m9('v`)ノ ◆6AkAkDHteU
09/08/11 21:41:28
>>249-253
おまえら、結局思想的に、つーか哲学がねぇんだよ。

だからOpGLをありがたーく使ってりゃいいんだよ。

まぁ、NECや富士通の技術者なんてこの程度かこれ以下
なんだろうなw

哲学がねーよ、哲学が。

255:デフォルトの名無しさん
09/08/12 01:25:11
お、今日はコテがついたw

256:デフォルトの名無しさん
09/08/12 07:39:15
マウスで中のオブジェクトを動かすのってどういう方法がオススメですか?

257:デフォルトの名無しさん
09/08/12 07:40:00
>>256
ごめんなさい

マウスで中の→マウスで描画領域の中の

です

258:デフォルトの名無しさん
09/08/12 07:50:24
ピックアップでggrks

259:デフォルトの名無しさん
09/08/12 14:49:32
openglレベルだと「セレクション」じゃないかな?
私は使ったことないけど

260:デフォルトの名無しさん
09/08/12 15:12:40
というか沢山あるオブジェクトの中から一部だけをピッキングしたいなら
セレクションを使うけど、シーン内のオブジェクト全体をを回転/移動/
スケーリングしたいだけなら、virtual trackballが便利。適当にググれば
コードでも数式でも出てくると思う。

261:デフォルトの名無しさん
09/08/12 18:08:59
>>260
256-257からどっちの意味なのか読み取れないからメンドクセと思って
私はレスしなかったけど、あなたは親切だねぇ。

(ちょっと話それますよ)

セレクションて最初はすっごい便利なんだけど、段々アプリが成長して
構造が込み入ってくると、そのうち限界がくるんだよね。
そうなるとシーングラフが欲しくなってくる。というかシーングラフってほとんど
ピック処理とか当たり判定だけのために欲しい。(描画だけならSGイラネw)

‥‥が、シェーダ流行な昨今、シーングラフはバーテックスシェーダと相性が悪い。
(gl_Position = ftransform(); なシェーダなら問題無いですけど)
その辺うまくやってる方っていらっしゃいます?

当たり判定用オブジェクトは表示データとは別、って割り切るしか無いのかなぁ。

262:デフォルトの名無しさん
09/08/12 18:28:23
すまん。ピッキングの実装にセレクションが使われるものと
思ってるんだけど、あってる?

そういう考えで、「openglレベルなら」って書いたんだけど。

263:デフォルトの名無しさん
09/08/12 18:42:17
>>262
>ピッキングの実装にセレクションが使われるもの
ピッキングの実装にセレクションを利用することができる、という意味では合ってるし、
ピッキングの実装にセレクションを利用する必要は無い、という意味では間違ってるかな。

>>259の書き方には特に問題無いと思うます。

264:デフォルトの名無しさん
09/08/12 19:27:53
>>263
レスありがとう。
よく分かった。

265:デフォルトの名無しさん
09/08/13 17:02:01
windows XP、デュアルディスプレイ環境で
glutFullScreenでフルスクリーン化をしているんですが、
メインディスプレイでフルスクリーン化してしまいます。

サブディスプレイでフルスクリーン化したいのですがどのような方法がありますか?

266:デフォルトの名無しさん
09/08/13 18:36:47
>>265
FindWindow()かなんかでウィンドウハンドルをとってきて
SetWindowLongとかSetWindowPosで枠無しにしてサブディスプレイのフルスクリーンに合わせる
サブウィンドウのサイズはEnumDisplayMonitors()で拾ってこれるみたい

検証してないんでglutの内部で持ってるウィンドウ情報と実際のウィンドウがずれるからなんか問題おきるかも
大丈夫な気もするけど

267:デフォルトの名無しさん
09/08/13 23:58:10
AndroidでOpenGL ESの勉強始めたんだけど、
AndroidにはglRenderMode()がなくて、セレクションとか
フィードバックが使えないみたい。

OpenGL ESの1.0とか1.1ぐらいだと、
ピックアップする方法ってみんなどうやってるの?

268:デフォルトの名無しさん
09/08/14 04:12:53
>>266
おお、検証してみます
ありがとうございます

269:デフォルトの名無しさん
09/08/14 10:38:02
>>267
ピックは本来GLと関係無い処理なので、純粋に幾何学計算で交差判定をします。
一応、オブジェクトごとに固有の色(IDの代わり)でレンダリングしてglReadPixels()する
という方法も無いではないけど‥‥。

270:デフォルトの名無しさん
09/08/14 11:03:47
WinVista/C++でopenglモデル管理クラスDLLを作って、
その中でglGenLists(a)を呼び出すと常に0が返ってきて
しかもプログラムが落ちるという現象が起こってるんですが、
DLLだとopengl32.dllのスタティック領域にアクセスできないとかなんでしょうか?

271:270
09/08/14 11:27:57
補足として。ソースはこんな感じです。全部だと長いので要所のみ
class APIENTRY model
{
private:
GLuint id;
public:
model()
{
id = glGenLists(1);
//常時0
//wglコンテキストを呼んでいる場合エラー落ちする
}
~model()
{
glDeleteLists(id,1);
}
void render()
{
glCallList(id);
//描画されず
 }
void modeling(...){...}
};

272:デフォルトの名無しさん
09/08/14 12:15:46
glGetErrorの戻り値は調べた?

273:デフォルトの名無しさん
09/08/14 12:29:03
>>271
全然要所になってないぞ。どこでそのクラスをインスタンス化しているかが重要。
まさかMakeCurrentもせずにやってるとか言わないよな?

274:270
09/08/14 12:52:34
ためしにクラスを用いず
int main()
{
 using namespace std;
 GLuint hoge = glGenLists(1);
cout << (unsigned int)hoge << endl;
cout << glGetError() << endl;
};
としたところ、hoge=0、エラー=1282でした。
Vistaのopengl32.dllが悪いんでしょうか。。。

>>272
エラーを調べたところなぜかGL_INVALID_OPERATION(1282)が返ってきました・・・。

>>273
Listを使わず直接描画させた場合は正しく描画できましたので、
デバイスコンテキスト/ピクセルフォーマット設定/レンダリングコンテキスト/コンテキスト関連付け等は
とりあえずあってると思います。

275:デフォルトの名無しさん
09/08/14 12:55:51
>>274
全然分かってないな。コンテキストが無いとdlistは作れない。

276:270
09/08/14 13:00:51
>>275
解決しました!
コンテキストのある間しかglにアクセスできないんですね・・・。
ありがとうございます!

277:デフォルトの名無しさん
09/08/14 14:09:34
>コンテキストのある間しかglにアクセスできない
当たり前だー!
って感じなんだけど、初心者的には結構罠だったりするね

そしていまだに、たまにやらかす俺様もダメぽorz

278:デフォルトの名無しさん
09/08/14 17:45:25
OpenGL ESでシェーダプログラムを組んでたんですが、
ベクトル型変数への加算をfor文で行ってたら、
シェーダプログラムが落ちちゃうんですが
仕様なんでしょうか?
以下のエラーメッセージが表示されます。
Expression: ("Buffer too small", 0)
ループの回数を減らすと落ちないんですが・・・

279:デフォルトの名無しさん
09/08/14 18:50:02
エラーの時にエラーメッセージが出てプログラムが停止するのは仕様じゃね。
デバッグすればいいじゃない

280:sage
09/08/14 19:11:40
>>278
ループできないハード/プロファイルでループしたら
ループは展開されてその分レジスタがいるよ

281:デフォルトの名無しさん
09/08/14 20:36:15
実行できる命令数に上限があるからじゃ?<落ちる

282:デフォルトの名無しさん
09/08/14 20:55:29
「Expression: ("Buffer too small", 0)」でググるとシェーダーとか関係なさそうなんだけどどうなんだろね。仕様かねw

283:デフォルトの名無しさん
09/08/14 23:49:14
ディスプレイリストをOpenGLコンテキスト間で共有していて、
共有しているはずなのに、
テクスチャの更新を行うとき有効になっていたコンテキストによって
glTexSubImage2Dが失敗するのは何故だ、と思っていたら

テクスチャのクラスで、glTexSubImage2Dする前にglBindTextureするのを忘れていた

のが原因だった。これのせいでどれだけ時間を無駄にしたか・・

284:デフォルトの名無しさん
09/08/16 22:12:05
前スレ147あたりにオフスクリーンレンダリングについてまとめられていますが、
・OpenGLの拡張が使えない古いPCでも動く(どんな環境でも動作する)
・ウィンドウが表示されていなくても使用可能

なもので、いい方法はないでしょうか。新しめのPCだったら間違いなくFBOを使っているんですが。
glReadPixelsは後者を満たせないようなので無理です。
glCopyTexImage2Dでオフスクリーンレンダリングが出来るというのはどう言う事なんでしょうか?

147 名前:デフォルトの名無しさん[sage] 投稿日:2008/11/08(土) 21:19:41
・PFD_DRAW_TO_BITMAP
・glReadPixels
・glCopyTex[Sub]Image2D
・pbuffer拡張
・render texture拡張
・FBO(Frame Buffer Object)拡張
・PBO(Pixel Buffer Object)拡張

285:デフォルトの名無しさん
09/08/16 23:26:04
>>284
普通glReadPixelsやCopyTexSubImage*はオフスクリーンレンダリングとは
言わないな。

FBOが理想だけど、それがサポートされていないような古いカードでもpbuffer
はサポートしていることが多い。それすらサポートしてないならAUXバッファを
使うけど、そんな古いカード/ドライバだとアクセラレーションが効くかどうかも
怪しいな。

render to texture拡張はFBOが出る前はWindows上で流行ったけど他の環境では
サポートれない場合が多い。

PFD_DRAW_TO_BITMAPはWindows専用、X上だとglxCreatePixmap()でOpenGLレンダリング
可能なPixmapを作成可能だが、少なくともXの場合はハードウェアレンダリングに
ならない。

286:デフォルトの名無しさん
09/08/16 23:48:39
>>229
マウスで動かせるんだけどなー


287:デフォルトの名無しさん
09/08/17 00:35:09
>>284
突き詰めればOpenGLの初期化手段が環境に依存するし
GLUTとかクロスプラットフォームのライブラリを使えば必ずウィンドウがおまけで付いてくる。
ある程度あきらめるか、複数の実装をコンパイルタイムとランタイム両方で切り替えるか、
要件満たしてない環境ではMesa使って下さいってことにするしかないよ。

>>285
> 普通glReadPixelsやCopyTexSubImage*はオフスクリーンレンダリングとは
言わないってことはないよ。バックバッファに書いてスワップせずにコピーするんだから。

288:デフォルトの名無しさん
09/08/17 03:56:59
コインに似ている形を作りたいのだけど
組み方がわかりません。
あとものを上下に動かすプログラムを教えてください。

289:デフォルトの名無しさん
09/08/17 04:13:15
まずコインを3次元スキャンして立体データを得るところから始めよう

290:デフォルトの名無しさん
09/08/17 07:13:09
OpenGLの勉強をしたいのですが、いい入門書を教えてください。


291:デフォルトの名無しさん
09/08/17 20:17:30
>>290 スレリンク(tech板)

292:284
09/08/17 22:36:40
>>285 >>287
あまり古い環境ではあきらめる事にします。Mesaなんてのがあるのは初めて知りました。
FBOがサポートしていなかったらpbufferとかを使うことにします。
ありがとうございました。

293:デフォルトの名無しさん
09/08/17 22:45:44
FBOだけでいいよ。使えない環境を見つけるほうが難しい。

294:デフォルトの名無しさん
09/08/17 22:49:01
OpenGLのレンダリングステートを全て保存して復元する方法ってないでしょうか。
何をしたいかというと、自分のプログラムに
他の人が作ったプラグインを使って拡張できる機能を付けたいんです。

でもそうしようと思うと、glEnable/Disableや行列の設定を変えたりしたせいで、次のプラグイン
の処理に影響が出ないようにする必要があります。初めはディスプレイリストを共有して
やろうと思っていたんですが、コンテキストの切り替えが思ったより高コストで無理でした。
20回ぐらいで10FPS程度に落ちます。

なので、Singletonを使い1つのコンテキストを全てのプラグインで共有するようにしようと思ったんですが、
レンダリングステートを保存/復元するプログラムを作ろうにも、
レンダリングステートを設定する関数が多すぎて把握し切れません・・・。
何か良い解決策はないでしょうか。

295:デフォルトの名無しさん
09/08/17 22:54:02
プラグインを諦める

296:デフォルトの名無しさん
09/08/17 23:10:11
どうせ優先度とか表示・非表示とかアプリ側からいろいろ指定したりしたく
なるので真面目にやるならコンテキストのラッパをプラグインに渡す
手を抜くならglPushAttribじゃね

297:294
09/08/17 23:17:55
手抜きしたいのでglPushAttribを使います。
MANページでPushで検索してみたら
glPushAttrib
glPushClientAttrib
glPushMatrix
glPushName
があるようですが、Nameはセレクションモード?で使うようなので使うのは上の3つだけですね。

298:デフォルトの名無しさん
09/08/17 23:23:25
プラグイン作成の手引きに、
「みんなのコンテキストです。変更した設定は元にもどしておいてください。」
って書いておけばいいんじゃね

299:デフォルトの名無しさん
09/08/17 23:39:53
ソレダ!

300:デフォルトの名無しさん
09/08/18 00:13:41
>>298
それは腐ったプラグインのデバッグやるはめになる死亡フラグだろ・・・

301:デフォルトの名無しさん
09/08/18 01:13:18
デバッグするのは「腐ったプラグイン」の作者じゃん

302:デフォルトの名無しさん
09/08/18 10:27:10
Listってモデルビュー行列のみなんでしょうか
Listでモデルとライティングは呼べる事は確認できたんですが
カメラ座標をListで登録して呼べないですかね?

303:デフォルトの名無しさん
09/08/18 10:47:26
いや、登録できるよ?
glMatrixMode切り替え忘れてるんじゃない?

304:302
09/08/18 10:58:17
>>303
登録
glMatrixMode(GL_PROJECTION)→glGenLists(...)→glNewLists()
→カメラ設定云々→glEndLists()

呼び出し
glMatrixMode(GL_PROJECTION)→glCallList(...)
のような形になるのでしょうか?

あとそれで思ったのですが、もし登録時に
glGenLists(...)→glNewLists()→glMatrixMode(GL_PROJECTION)
→カメラ設定云々→glEndLists()

とすれば、glCallList時にglMatrixMode()の切り替えが必要なかったりします…?

305:デフォルトの名無しさん
09/08/18 11:29:48
ディスプレイリストは関数呼び出しを纏めてるだけだから、
登録時のアトリビュートがどうこうとかは関係ないよ。
特定の行列を変更したいならディスプレイリストの中でglMatrixModeを呼び出せばいい。

306:302
09/08/18 11:31:16
>>305
ありがとうございます、おかげで解決しましたm-_-m

307:デフォルトの名無しさん
09/08/19 02:58:29
Windows上の開発でOpenGLで3Dゲーム作る場合何言語が必要?

308:デフォルトの名無しさん
09/08/19 03:21:42
日本語

309:デフォルトの名無しさん
09/08/19 10:28:54
英語も

310:デフォルトの名無しさん
09/08/19 18:43:51
あと、スワヒリ語もやっとくと、いざという時に便利

311:デフォルトの名無しさん
09/08/19 19:14:31
つまんないレスしてないで、真面目に答えろよカス。お前のそういう所が嫌いだ

312:デフォルトの名無しさん
09/08/19 19:16:03
2ちゃんでまともな答えを期待する方が間違い
そもそもの質問内容からして馬鹿過ぎるし

313:デフォルトの名無しさん
09/08/19 19:23:08
ポリゴンの一部にテクスチャはるにはどうしたらいいんでしょう?
マジで助けて・・・

314:デフォルトの名無しさん
09/08/19 19:51:10
どうしてそんな悪い質問の典型みたいな質問をしてくるんだ...

315:デフォルトの名無しさん
09/08/19 19:52:24
OpenGL ESについて、ご質問させてください。
プログラマブルシェーダを使って、
指定した画像のエッジ強調などの処理を行っているのですが、
画像処理の結果を画面に描画しないことは可能でしょうか。
プログラマブルシェーダは画面描画契機で動作するので、
描画無しでプログラマブルシェーダによる画像処理は
不可能と考えているのですが・・・。

316:デフォルトの名無しさん
09/08/19 20:22:15
>>315
簡単な方法としては、フレームバッファをスワップしなければ、描画結果は画面に出ないでしょう。
もっといいのは、Frame Buffer Objectを使う方法ですが。

ただ、「描画無しで」プログラマブルシェーダを動かすのは無理ですけどね。
描画しても画面に出さなければいいわけで。

317:デフォルトの名無しさん
09/08/19 20:26:24
>>314
どのへんがですか?

318:デフォルトの名無しさん
09/08/19 20:33:16
>>317
それが判らないなら君はこのまま一生掲示板で誰にも答えてもらえない人生を送るだけだから。

319:デフォルトの名無しさん
09/08/19 20:35:06
良い質問の書き方

これこれこういことをやりたくて、こういう環境でこういうふうにやってみました。だけど、これがこうなって、こうなります。
ここを参考に、ここをこうしてみて、こうなることを期待したのですが、こういう症状がおきます。
どこかやりかたがまずいのでしょうか?


320:デフォルトの名無しさん
09/08/19 20:38:58
>>313
無理なので、ポリゴンを分割してください。
あるいはGL_DECALとかでテクスチャを貼って、不要な部分はテクスチャの
アルファを0にしておけばそれらしく見えるかも。

321:デフォルトの名無しさん
09/08/19 20:40:12
>>316さん
ありがとうございます。
esCreateWindowでウィンドウを作成した上で
描画しないとプログラマブルシェーダを動かすのは無理そうすね。

322:デフォルトの名無しさん
09/08/19 20:49:17
>>318 >>319
なるほど、そういうことですか。
あんまり書き込みとかしてこなかったんで・・・すいません。
>>320
ありがとうございます。やってみます

323:デフォルトの名無しさん
09/08/20 21:58:17
glreadpixelsでフレームバッファの情報を取ってきて
BMPファイルに出力なんてことを考えているんですが、
glreadpixelsで取ってこれるフレームバッファの情報は
ウィンドウに表示されている画像っで認識合っていますか。
ウィンドウを非表示にしている場合はglreadpixelsを使っても
動作しないという認識で合っていますか。

324:デフォルトの名無しさん
09/08/20 22:10:13
リファレンス読んでから、そういう質問はしようね。

325:デフォルトの名無しさん
09/08/21 01:11:40
MathGL++、なんで俺のような日曜プログラマでも気づけるようなバグが放置されてるんだ……

GLMatrix.hの
> inline T cofactorm13() const { return cofactor_maker(m2,m7,m8, m3,m4,m10, m10,m6,m11); }

> inline T cofactorm13() const { return cofactor_maker(m2,m7,m8, m3,m4,m10, m0,m6,m11); }
が正しい。逆行列で妙な値を出すからおかしいと思ったらまったく。

最新版ver.はconfigureやMakefile使えって書いてあるのに付いてないし

326:デフォルトの名無しさん
09/08/21 01:14:53
直接言えよ。お前は馬鹿か?

327:デフォルトの名無しさん
09/08/21 02:31:17
>>326
半島人はお帰り下さい。

328:デフォルトの名無しさん
09/08/21 04:36:45
>>325
そんだけ使われて無いってことかも。自作したクラスライブラリを使ってる人も多いだろうし。
あと逆行列を求めたい時って実際には正規直行だったりすること多いし

フォーラムだと9も間違ってるってあるけどどうなんかね
URLリンク(sourceforge.net)

329:デフォルトの名無しさん
09/08/21 06:00:49
確認した、情報thx。
9も間違ってるね。

330:デフォルトの名無しさん
09/08/21 16:43:39
すみません教えてください。

トランプみたいな板があって裏表に違うテクスチャを張りたいのですが
この場合表用、裏用の2つのポリゴンを用意しなければ行けないのでしょうか?

331:デフォルトの名無しさん
09/08/21 19:26:34
>>330
そのとおりです〜

332:デフォルトの名無しさん
09/08/24 12:43:17
Blenderで作成した3DデータをOpenGLで表示するには
どうすればいいでしゅか?

333:デフォルトの名無しさん
09/08/24 13:22:58
まずBlenderで作成した3Dデータのファイルフォーマットの仕様を調べます
次にその仕様に従ってデータを読み込むプログラムを書きます
最後に読み込んだデータをOpenGLで描画します

334:デフォルトの名無しさん
09/08/25 02:07:23
すばらしい完璧な回答だ

335:デフォルトの名無しさん
09/08/25 04:53:55
>>332
wavefront objにexportして、GLUTについてるsmoothっていうdemoの入力にすれば表示される
遅くてもいいからとりあえず表示したい時ならばだけど

336:デフォルトの名無しさん
09/08/25 11:18:14
>>335
ありがd

337:デフォルトの名無しさん
09/08/25 12:21:06
>>333がかわいそうです

338:デフォルトの名無しさん
09/08/25 12:40:37
完璧な回答にはレスが付きにくい
レスが欲しければ少し頭をひねれ

339:デフォルトの名無しさん
09/08/25 21:57:30
>>337
いや、俺もいい回答だと思うよ。実に論理的だし何も間違ってない。

340:デフォルトの名無しさん
09/08/25 22:02:58
そうかね、
質問者が望んでいない形、(第三者にとって)情報としても価値ない
そんな回答にも見えるがね。

341:デフォルトの名無しさん
09/08/25 22:42:40
前スレで基地外が発生したことを考えれば、意地が悪くなるのも仕方ないというか。

まあ楽したいなら普通はOpenSceneGraphとかを使えと思う。

342:デフォルトの名無しさん
09/08/25 23:07:02
>>333は確かに意地悪だとは思うけど、>>332みたいな質問をする人って
実際のところ>>333程度のことすら理解できてないんじゃないかって気もする。
なんか関数一発で表示できるとでも思ってるんじゃないかと。

343:デフォルトの名無しさん
09/08/25 23:47:29
だね

344:デフォルトの名無しさん
09/08/25 23:47:42
エスパー不要であることを暗黙に知らせるのには
「適当なローダかラッパのライブラリはありませんか」と聞くことだろうな。

345:デフォルトの名無しさん
09/08/26 07:35:42
>>340
質問者が望んでいないかどうか良く分かるね
情報としての価値が無いのはあなたにとっての話しでしょ、初心者には有益な情報だと思います

346:デフォルトの名無しさん
09/08/26 10:28:05
質問者にとって文末が「調べる」や「書く」で終わる回答は常に望まれた回答では無い

347:デフォルトの名無しさん
09/08/26 10:32:49
自分で調べるのは嫌なのか
なまけものめ

348:デフォルトの名無しさん
09/08/26 13:32:10
blenderのデフォルトのフォーマットでっていうのが
そもそも非推奨じゃなかったか?

仕様書とかもなかったような

349:デフォルトの名無しさん
09/08/27 20:08:43
今日からオープンGLやるよ(´・ω・`)

350:デフォルトの名無しさん
09/08/27 22:18:34
【衝突判定】についておたずねします。
立体図形の中を上下左右自由に行き来できるようにしたのですが(OpenGLで)、
衝突判定がどうしてもできないで困っています。

すべての三角形のデータでメッシュを構成してあって、視点移動が起きた時に
移動の前後で三角形に衝突したどうかを調べてます。

まだ素人なので衝突しているはずがない三角形についても衝突判定をしています。

みなさん、衝突判定のために立体データはグループ分けみたいなことをされてるん
でしょうか?
もう三次元モデルのファイルを作り上げてしまったので、グループ分けしないで
衝突判定するには全てのメッシュについて判定を行うしかないのかと悩んでます。

じょうずなアルゴリズムをご存じのかた、どうかご指導を。 <(__)>

351:デフォルトの名無しさん
09/08/27 22:55:39
スレ違い

352:デフォルトの名無しさん
09/08/27 23:15:32
>351そんなん言わんで答えてあげたら?

353:デフォルトの名無しさん
09/08/27 23:18:10
可哀想…
>>351って最低だな

354:デフォルトの名無しさん
09/08/27 23:27:08
おおざっぱな判定でよければAABBが最強

355:デフォルトの名無しさん
09/08/27 23:46:44
> まだ素人なので衝突しているはずがない三角形についても衝突判定をしています。
> 衝突判定がどうしてもできないで困っています。

矛盾してるな

356:デフォルトの名無しさん
09/08/28 02:10:16
正しい衝突判定が、だろ
分かってるくせに

357:デフォルトの名無しさん
09/08/28 08:09:38
衝突判定といっても、高速性が求められる場合もあれば、正確性が求められる場合もあるし、
迷路ゲームみたいにカメラが動くだけで物体は固定の場合もあれば、
群集やパーティクルみたいに大量の物が動きまくって判定しないといけない場合も。
どうしてますか?って聞かれれば、ケースバイケースで、うまいことやってますとしか答えられないような

358:デフォルトの名無しさん
09/08/29 06:44:44
衝突判定って実は難しいって事だけまずは知っておけ。

359:デフォルトの名無しさん
09/08/29 17:31:29
bulletつかうとか

360:デフォルトの名無しさん
09/08/29 20:24:55
お返事が遅れてすみません。350です。
「長渕剛にだったら喧嘩余裕で勝てるよ」って他で書いたら
めちゃくちゃな反応されてたもんで。

先ずむかつくのが>>358だな、馬鹿丸出しだし。
>>351については木黄山強に顔射でもされるといいよ。

つーか、役に立たんな2chは・・・

361:デフォルトの名無しさん
09/08/29 20:41:55
夏休みの宿題終わったのか? 2chばっかやってると後悔すっぞ

362:デフォルトの名無しさん
09/08/29 20:42:41
第三者のいたずらレスだろう

363:デフォルトの名無しさん
09/08/29 20:48:06
面白いと思ったんだろうか

364:デフォルトの名無しさん
09/08/29 20:48:58
真剣な人間にはヒントの宝庫だけどな、このスレ

365:デフォルトの名無しさん
09/08/29 20:54:29
2cnなんだから、多くを求めないどこようよ。


366:デフォルトの名無しさん
09/08/29 21:20:58
変なのが消えて、また過疎スレ化するのかな・・・
そういえば夏も終わりだねぇ

367:デフォルトの名無しさん
09/08/29 22:56:40
たしかに衝突判定は難しい。
俺も衝突判定については、何年も悩んで
試行錯誤を重ねた。
それで、ひとつの解に辿り着いた。
それは、全然難しくない、
むしろ簡単、至極基本的な方法だった。
悩んだ自分にむかつくので教えませんが。


368:デフォルトの名無しさん
09/08/29 23:29:35
落ち穂拾いが少しできたし。
自分の知識の再確認をする機会にはなったかも。


369:名無しさん@そうだ選挙に行こう
09/08/30 04:39:22
>>367
是非教えてください。

370:名無しさん@そうだ選挙に行こう
09/08/30 13:21:51
glBufferDataARB
glBufferData

などのようにARBが後ろに付くものとそうでなものがありますが、機能的に
違いがあるのですか?


371:名無しさん@そうだ選挙に行こう
09/08/30 14:22:41
ほとんどはない
一部引数とか違うものもあったはずだが、覚えてないや
サポートされてるOpenGLのバージョンやらなんやらによって
どちらか片方しか使えない場合があるので、
可搬性を考慮するなら両対応しておきたい

372:名無しさん@そうだ選挙に行こう
09/08/30 14:28:52
ARBは Architecture Review Board の略で、標準でない拡張機能的な意味合いを含んでいるから、
両方あって、特に拘る必要がなければARBが無い方を使っといた方がいんでね?

373:名無しさん@そうだ選挙に行こう
09/08/30 15:43:38
「ARB」の拡張機能は次バージョンでの採用候補的な意味合いが強いから、
ARB→無印で仕様が変わることはほとんどないね。

374:デフォルトの名無しさん
09/08/31 02:05:07
その拡張がサポートされているかどうか確認したうえで、ARB使った方が
サポートできるグラボが増えていいと思っているが、そんな単純ではないのか?
glBufferDataに対応していれば、glBufferDataARBにも対応しているはずだよね?

375:デフォルトの名無しさん
09/08/31 08:11:31
ARBの方が関数名長いし、きっと早いんだろうなと思って使ってた俺アホだな

376:デフォルトの名無しさん
09/08/31 08:19:58
サポートしたい最低のOpenGLバージョンを決めて、そのバージョンで標準化
しているものについてはARBやEXT取って使えばいいよ。でないとキリがない。

どの機能がどのバージョンでARB拡張になってどのバージョンで標準入りしたか
は一度整理しておくと良いけど。

377:デフォルトの名無しさん
09/08/31 08:42:33
使いたいものがあれば動くしなきゃ動かないで十分じゃね

378:デフォルトの名無しさん
09/08/31 17:00:41
ゲーム作ってるんだけど、シーンが変わったときに
glTexImage2DとかglNewList/glEndListなんかを
たくさん呼ぶのでそこで描画がもたつきます。
描画は止めたくないからglTexImage2Dとかだけ
描画とは別のスレッドで呼びたいんだけど、
エラーになってしまう。どうしたらいいのかな?

379:デフォルトの名無しさん
09/08/31 17:47:03
古典的すぐるが一気に呼ばない


380:デフォルトの名無しさん
09/08/31 19:16:22
>>379
もしたとえば1フレームに一枚テクスチャを作るとか決めると、
逆に余裕があるときにロードがどんどん早く進まなくてちょっと困るなあ……
そのへんうまく調節するように書いても、
複雑さが増すわりには根本的な解決にならないし。
普通の市販のゲームはどうやっているんだろう?


381:デフォルトの名無しさん
09/08/31 19:19:18
NowLoading的な画面で予め確保すればいいんじゃないの

382:デフォルトの名無しさん
09/08/31 19:28:51
NowLoading画面が静止画ならそれでOKなんだけど、
たとえば「NowLoading」の文字が点滅してたりすると
NowLoading画面の時も描画は止められないんです。
その点滅が不規則で、どうやらロードの合間に適当に描画を挟んで
ごまかしてるっぽいゲームもあるけど、
もっとしっかりしたアニメーションをするNowLoading画面を出してるゲームもあって、
どうやっているのかな、と。

383:デフォルトの名無しさん
09/08/31 19:35:55
ファイルの読み込みと圧縮の展開だけ別スレッドでやって
glTexImage2Dだけメインスレッドでやれば軽いんじゃない
それか読み込み展開ルーチンそのものを細切れに動かせるように作るとか

384:デフォルトの名無しさん
09/08/31 19:49:45
NowLoading 画面を別スレッドにすればw
昔は割り込みでアニメさせてたりしたなー


385:デフォルトの名無しさん
09/08/31 20:09:38
>>glTexImage2Dだけメインスレッドで
手元のプログラムはまさにそれになってけど、ときどきもたつく。
glTexImage2D や glNewList を細切れに呼び出すとロードが遅くなるし、
何よりコードが煩雑になるのが嫌で……
静止画でNowLoadingが一番シンプルだけど、ユーザにフリーズか?と思われるかもだから、
プログレスバー的な意味でも何かアニメーションしたいな
シンプルで根本的な解決策はないということかな

386:デフォルトの名無しさん
09/08/31 20:18:43
>>385
プログレスバーを出すだけならFPSを一定に保つ必要は無いし簡単でしょ。
実際PCのゲームだとそういうのが多い感じ。

387:sage
09/08/31 20:21:18
glLoadIdentity()ってglPushMatrix()+glPopMatrix()のペアと
同じって考えていいの?

座標がどうなっているのか、本当に理解しにくい。

388:デフォルトの名無しさん
09/08/31 20:31:00
>>387
だいぶちがうよ。
push/pop は変換行列の状態を保存しとくのだけど、
LoadIdentity は変換行列を単位行列にかえる。
popはpushしたときの状態に戻るのであって、いつも単位行列に戻るわけじゃないよ。

389:デフォルトの名無しさん
09/08/31 20:56:49
>>386
以前やったゲームに、ロード画面で
キャラクターがCD-ROMを運ぶアニメーションをするのがあってさ。
ちゃんと一定のスピードで。そういうのがやってみたいんだ。
ロード画面ごときに、そこまで細かい演出しないゲームのほうが多いけど。

390:デフォルトの名無しさん
09/08/31 21:38:17
>388
どうもです。
glLoadIdentity()呼んだ直後でglPushMatrix()
って無意味なんでつね。
やっと分かったような。


391:デフォルトの名無しさん
09/08/31 21:42:31
んー、ホントに GL の関数が遅いの?


392:デフォルトの名無しさん
09/08/31 21:54:41
>>390
無意味ってわけじゃないよ。単位行列を保存しておきたいのならLoadIdentityの次にPushMatrix使うよ。
例えばオブジェクトA, Bって順番で描画するときにAにだけ変換行列かけたい場合に
LoadIdentity
PushMatrix
オブジェクトA描画
PopMatrix
オブジェクトB描画
ってな感じに使える。

393:デフォルトの名無しさん
09/08/31 21:55:57
オブジェクトA描画の前に「変換行列をかける」を忘れていた。

394:デフォルトの名無しさん
09/08/31 22:45:30
>392
わかりやすいです、どうもありがとう!


395:デフォルトの名無しさん
09/09/01 06:06:44
>>392
> オブジェクトA描画
LoadIdentity
> オブジェクトB描画

と等価だよな

396:デフォルトの名無しさん
09/09/01 13:31:39
>395
ありがと。
今日OpenGLのばぐ取りしてたら、以前ここで質問したことその
まま忘れてて、今やっとデバッグできた。

ここに居る連中すごいね、俺が数日かけてデバッグするのを
ちょっとみて「そこ[3]じゃなくて[9]だ」って指摘してたしな。

397:デフォルトの名無しさん
09/09/01 21:45:31
みんなきっと、似たような間違いを経験してるんだよw

398:デフォルトの名無しさん
09/09/02 22:46:15
質問です
サイズ512*512の24bitbmpをテクスチャとして正方形のオブジェクトに貼ろうとしているのですがうまくいかず
真っ白(オブジェクトの色)になってしまいます
64*64〜256*256の画像ではうまくいきます

複数の枚数のテクスチャを読み込んで複数のオブジェクトに貼ろうとしているのですが
例えば512*512の画像と256*256の画像を二つのオブジェクトに貼ろうとした場合
最初に512*512の画像をgentextureして続けて256*256の画像を同じようにしてそれぞれ貼り付けると両方とも真っ白になります
しかし順番を逆(256*256の画像をgentextureしてから512*512の画像をgentextureする)にすると前者だけうまく貼れて後者は真っ白になります

サイズの制約も守っているので理由がよく分かりません
分かる方よろしくお願いします

399:デフォルトの名無しさん
09/09/02 22:54:39
PS3薄型と旧型の違い

旧型PS3:
Linuxインストール機能内蔵でPS3をPCとして使うことができる。
PPC Linux用の無料のソフトがいっぱい動く。
また、Cellの開発ツールも無料で入手できるので自分でCellのプログラムを作って実行させることができる。
ドルビーTrueHD、DTS-HDMAはリニアPCM変換で対応。
HDD〜80G。実勢価格30000円程度

薄型PS3:
Linuxインストール機能は除去された。
ブラビアリンク機能でブラビアと連動した電源のON OFFができる。
ドルビーTrueHD、DTS-HDMAのビットストリーム出力対応。
HDD120G。低騒音・発熱・消費電力。実勢価格29980円

400:デフォルトの名無しさん
09/09/02 22:54:54
>>398
一応、確認。
glBindTexture()したあと、
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
は指定してる?
あとグラボの種類は?

401:デフォルトの名無しさん
09/09/02 23:17:02
>>400
parameteriによる指定はしてます

対象のPCが手元に無いので詳細は今分かりませんが
nVidiaの古めのグラボ(AGP接続だったはずなので)です


402:デフォルトの名無しさん
09/09/03 22:32:48
>>400
すいません
確認してきましたが違いました

GIGABYTEから出てるGeForce6600搭載のビデオカード(PCIーE接続)でした


403:デフォルトの名無しさん
09/09/03 22:34:42
>>400
>>401
先にCAD(blenderか何か)でモデリングしてテクスチャー貼っておいて、
それをOpenGLのほうで読み込むっていう手法をとらないの?

404:デフォルトの名無しさん
09/09/03 23:45:47
カメラ行列からカメラのxyz角度出したいんだけど、
カメラ行列ってどうやって求めるんでしょう?
行列から角度もとめる関数は作ったものの肝心の行列がわからん。
参考サイトでもいいので教えてください。

405:デフォルトの名無しさん
09/09/03 23:57:16
GetDoubleとかの関数でProjectionMatrix取得すればいい。でもカメラの角度ってことはModelviewMatrixか。

406:デフォルトの名無しさん
09/09/04 01:24:56
>>403
少し自分のやりたいこととは違ってしまうので
上記のようにテクスチャ作って貼り付けたいです
なぜ512*512の画像だと読み込めないのか原因も分かりませんし・・・

407:デフォルトの名無しさん
09/09/04 01:28:31
glGetError()でチェックしてるか?

408:デフォルトの名無しさん
09/09/04 10:44:22
GL_MAX_TEXTURE_SIZEで問い合わせてみるかOpenGLExtensionViewerとかでサポートしてるテクスチャサイズを確認してみたら?

409:デフォルトの名無しさん
09/09/04 11:59:51
画像を読み込むプログラムが間違ってんじゃないの?
ソースをupしないなら、あーじゃないのこーじゃないのってナゾナゾの域を出ないような

410:デフォルトの名無しさん
09/09/04 22:05:08
GeForce6600でできないはずがない。

作成:glGenTextures、glBindTexture、glTexParameteri、glTexImage2D
描画:glBindTexture、glVertex*、glTexCoord*、(glDraw*)

411:デフォルトの名無しさん
09/09/04 23:49:29
job:転職[レス削除]
スレリンク(saku板:259番)
saku:削除整理[レス削除]
スレリンク(saku板:163-164番)

412:デフォルトの名無しさん
09/09/05 03:12:49
なんとなく、どこかでメモリ確保サイズを超えて読み込んでるとか、
glPixelStorei(GL_UNPACK_ALIGNMENT, -);
が間違ってるとか、そんな気がする。

413:デフォルトの名無しさん
09/09/05 07:47:30
色を元に戻すのってglColorf(1.0, 1.0, 1.0, 1.0);使うしかないの?
glLoadIdentity();じゃ元通りにならないんだよね。orz


414:デフォルトの名無しさん
09/09/05 08:32:09
glPushAttrib(GL_CURRENT_BIT)/glPopAttrib()
色だけなら現在値を記録しておいて戻したときにglColor呼び出しても良いと思うけど

415:>>398
09/09/05 13:08:28
>>409
ソースはここのプログラムのビットマップ読み込みの部分をそのまま使用しています
URLリンク(www.t-pot.com)
CBitmapクラスを利用して読み込んで、呼び出した別クラスでは直後にtex_idでBindしてparametoriで設定しています
貼り付ける部分はこんな感じです。正方形を示す頂点vertex配列で作ったオブジェクトにテクスチャを貼り付けようとしています
tex1 = SBitmap::Load(texture2);
glBindTexture(GL_TEXTURE_2D, tex1);

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
〜〜〜〜
glPushMatrix();
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D , tex1);
glColor4fv(color);
glBegin(GL_QUADS);
glNormal3fv(normal[0]);

for (i = 0; i < 4; i++)
{glTexCoord2dv(texcoord[i]);
glVertex3fv(vertex[face[0][i]] );}

glEnd();
glDisable(GL_TEXTURE_2D);
glPopMatrix();
読みにくくてすいません。他に示すべきところがあれば補足します

416:デフォルトの名無しさん
09/09/05 13:27:28
俺の環境ではクランプモードについても毎回指定しないとテクスチャが表示されなかったこともあった。

417:デフォルトの名無しさん
09/09/05 13:37:34
現在のレンダリングコンテキストが OpenGL 2.0 と互換性があることを「ステートから
判断」するにはどうしたらよいのでしょうか?

glGetString(GL_VERSION) で取得したバージョンのメジャー番号が 2 のときは互換性
があると思いますが、3 以上のときは Deprecated があるのでバージョン番号だけでは
判断できないと思うのですが。

418:デフォルトの名無しさん
09/09/05 13:39:19
>>415
ビットマップは8bitと24bitだけじゃない。
SOILとか使うと楽できるよ。URLリンク(www.lonesock.net)
glTexParameteriとglTexEnvfの呼び出し方でグラボによって表示されないことがある。

419:デフォルトの名無しさん
09/09/05 14:13:37
>>415
Loadが返す値tex1が0では無いことはチェックしてる?

420:デフォルトの名無しさん
09/09/05 14:48:42
>>418-419
Loadが返す値は0になってました
やはりCBitmapに問題があるんでしょうか?
>>415のソースは何か問題ありますか?
使う画像は24ビットbmpと制約をかけて使用しています


421:デフォルトの名無しさん
09/09/05 14:52:26
>>420
0025: int CBitmap::_CheckSize(unsigned int pict_size)
0026: {
0027: unsigned int i=2;
0028: const unsigned int TEX_SIZE = 256;
0029: unsigned int max_texture = TEX_SIZE*TEX_SIZE;

422:デフォルトの名無しさん
09/09/05 14:58:49
そこらのサンプルはそのまま使わない。
サンプルが完璧だと思わない。
自作する気がなかったらライブラリと公開されていて、
みんなが動作確認してるものを使った方がいい。

423:デフォルトの名無しさん
09/09/05 14:59:42
ライブラリとして

424:デフォルトの名無しさん
09/09/05 15:09:49
>>421-422
手元に環境と実際に試してるプログラムが無いので
曖昧なのですがその辺りは変更したような気がします
月曜に確認してみます
もしダメでしたら再度質問します
ありがとうございました

425:デフォルトの名無しさん
09/09/05 15:24:57
BMPくらい自分で作っちゃえば。
glTexSubImage2Dを使えば2のべき乗じゃないサイズも使えるよ。

426:デフォルトの名無しさん
09/09/05 15:52:36
読み込むbmpファイルのファイル名が間違ってたりしてなw
最近プログラミングはできるけどデバッグはできない人って増えてきた気がする

427:デフォルトの名無しさん
09/09/05 21:54:04
デバッグができないプログラム技量なんて意味ないもんな。
極論するとプログラムの技量は、どれだけデバッグ早くより完全にできるかの技量、と言える。

428:デフォルトの名無しさん
09/09/05 21:55:06
なるほどぉ

429:デフォルトの名無しさん
09/09/05 22:29:55
半分くらい同意。しかし一方で、バグを産まないプログラミングスタイルもあるからな。

430:デフォルトの名無しさん
09/09/06 00:26:43
「どれだけ早くより完全にできるか」でいいんじゃね
最初からバグが混入しないようにするもよし、デバッグが早くなるように努力するもよし

431:デフォルトの名無しさん
09/09/06 00:35:49
どうしててもいいけど、うまくいかなかったらデバッグしろって話。
手順A->Bがうまくいかなかったら、まずAだけをテストするとかそういうレベル

432:デフォルトの名無しさん
09/09/06 00:40:24
なるほどなぁ

433:デフォルトの名無しさん
09/09/06 02:31:14
>最近プログラミングはできるけどデバッグはできない人って増えてきた気がする

それはプログラミングできるって言って欲しくない。
プログラミングは正常に動作するまでデバッグの繰り返し。
プログラミングそのものがデバッグって考えてる人もいる。
できない人が増えてるのは、講義とか研究でプログラムを使う学生が増えたからじゃないかな。

434:デフォルトの名無しさん
09/09/06 03:26:28
これはしたり

435:デフォルトの名無しさん
09/09/06 03:40:19
関係無い話は他でやれ

436:デフォルトの名無しさん
09/09/06 08:21:38
>>398-425もopenGL無関係だったわけだけどね

437:デフォルトの名無しさん
09/09/06 22:37:53
>>414
ありがとう!
色のリセットは、やっぱりglColor(1, 1, 1, 1);
がよさそうですね。

438:デフォルトの名無しさん
09/09/07 03:01:50
テクスチャにアタッチしたFBOを使いたいのですが、どうもうまく使えません。
下記のコードで変なところがないか指摘していただけるとありがたいです。

// 初期化部
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
glGenTextures(1, &fbo_texture);
glBindTexture(GL_TEXTURE_2D, fbo_texture);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, 256, 256, 0, GL_RGBA, GL_UNSIGNED_BYTE, 0);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE_EXT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE_EXT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glBindTexture(GL_TEXTURE_2D, 0);

glGenFramebuffersEXT(1, &fbo);
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, fbo);
glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT, GL_TEXTURE_2D, fbo_texture, 0);
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);

// 初期化部ここまで

439:デフォルトの名無しさん
09/09/07 03:02:49
>>438 のつづき

// テクスチャへの描画部
glMatrixMode(GL_PROJECTION); glPushMatrix(); glLoadIdentity();
glMatrixMode(GL_MODELVIEW); glPushMatrix(); glLoadIdentity();
glPushAttrib(GL_VIEWPORT_BIT);

glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, fbo);
glClearColor(1, 1, 1, 1);
glClear(GL_COLOR_BUFFER_BIT);
glViewport(0, 0, 256, 256);
glMatrixMode(GL_PROJECTION); glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
glMatrixMode(GL_MODELVIEW); gluLookAt(0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
glColor4f(0.0f, 0.0f, 0.0f, 0.0f);
glBegin(GL_LINES);
glVertex3f(-100.0f, -100.0f, -100.0f);
glVertex3f(100.0f, 100.0f, 100.0f);
glEnd();
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);

glMatrixMode(GL_MODELVIEW); glPopMatrix();
glMatrixMode(GL_PROJECTION); glPopMatrix();
glPopAttrib();

// ここまで


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4155日前に更新/195 KB
担当:undef