1 名前:デフォルトの名無しさん [2007/04/26(木) 02:43:38 ] クロスプラットフォーム 3D API OpenGLに関する話題を扱うスレッド。 禁止事項 ・「OpenGL終了」系のまず価値否定ありきの主観発言(客観的な懸念要素を挙げた上での建設的議論は可) ・学歴・理系か文系かに関連する差別発言 ・その他の荒らし全て これらは付き合うだけ無駄なので無視しましょう。 - 前スレ - OpenGLスレ Part10 pc11.2ch.net/test/read.cgi/tech/1141034983/ - 関連サイト - www.opengl.org/ www.mesa3d.org/ developer.nvidia.com/ www.ati.com/developer/ developer.3dlabs.com/ - 過去スレ - Part 9: pc8.2ch.net/test/read.cgi/tech/1132403929/ Part 8: pc8.2ch.net/test/read.cgi/tech/1126267690/ Part 7: pc8.2ch.net/test/read.cgi/tech/1118151979/ Part 6: pc8.2ch.net/test/read.cgi/tech/1105612993/ Part 5: pc5.2ch.net/test/read.cgi/tech/1100085657/ Part 4: pc5.2ch.net/test/read.cgi/tech/1091724463/ Part 3: pc5.2ch.net/test/read.cgi/tech/1067529308/ Part 2: pc2.2ch.net/test/read.cgi/tech/1039984523/ Part 1: pc3.2ch.net/tech/kako/981/981044659.html (dat落ち)
266 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 03:06:58 ] マ板池
267 名前:デフォルトの名無しさん [2007/07/30(月) 05:45:57 ] >>258 は、マルチ
268 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 07:02:50 ] 契約内容見直せよ。
269 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 09:20:10 ] 258はDirectXスレでも単語が変わっただけの同じのみたな
270 名前:デフォルトの名無しさん [2007/08/04(土) 19:23:43 ] MacでOpenGLやりたいんだけどXcodeでプログラミングすれば平気?
271 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 19:28:32 ] >>270 XCode 使っても良いけど、↓これ見ておけば悩み無用。 ttp://www.wakayama-u.ac.jp/~tokoi/opengl/libglut.html
272 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 23:02:22 ] CocoaでやんのかCarbonでやんのか知らんがまぁがんばれ
273 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 23:56:10 ] 今日から始めたんだが解説サイトとかすごく少なくて不安… 日本語で基礎からガッチリ固めたかったらあの高い赤本しかないの? せめて5000円以下でないだろうか
274 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 00:13:13 ] >>258 人材配置を見直してもらうか、仕事振ってるマネージャーを変えてもらえ
275 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 11:39:09 ] >>273 学生なら学校の図書館とか、あるいは市町村の図書館でもあたってみては。 無いかもしれんが。 英語でよければ古い版の赤本を無料で読める www.glprogramming.com/red/
276 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 16:11:22 ] やはり英語か… 覚悟きめてがんばるわ
277 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 20:52:07 ] 古い赤本はほんとうに古いから参考になるかどうか… 図書館は無ければリクエストしてみるといいかも でも入るまでかなり時間かかるかな
278 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 21:04:40 ] 日本語の赤本もようやっと原著第5版になってるしね。 英語で格闘する労力と13k円の出費のトレードオフを考えてオレは買った。>赤本
279 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 21:09:00 ] 昔の赤本(初版)はもってるんだけど、最近のとどこが違うのでしょうか?
280 名前:デフォルトの名無しさん [2007/08/06(月) 21:10:38 ] 図書館てOpenGLみたいなマニアな(?)専門書って置いてるものなの?
281 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 22:12:54 ] 比較的メジャーなマニア本だからな。
282 名前:デフォルトの名無しさん [2007/08/06(月) 22:42:51 ] >>279 Amazon.co.jp: OpenGLプログラミングガイド 原著第5版: 本: OpenGL策定委員会,松田 晃一 www.amazon.co.jp/dp/4894717239 > ■OpenGL バージョン1.5 で追加された以下の新しいコア機能:頂点配列のバッ > ファオブジェクトへの格納/遮蔽問い合わせ/シャドウマッピング用のテクス > チャ比較関数の追加/トークンの更新 > > ■OpenGL バージョン2.0 で追加された以下の新しいコア機能:シェーダ記述言 > 語の追加/プログラマブルシェーダからの複数のカラーバッファへの異なる色の > 出力/テクスチャマップに関する2 のべき乗のサイズ制限の緩和/テクスチャ > マップされた点スプライトのレンダリング/前面と背面ポリゴンでのステンシル > 処理の分離 > > ■バグ修正 だそうです。 OpenGL1.5とOpenGL2.0についての追加と、訳の見直しが行われている模様。 俺もほしい
283 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 23:10:14 ] 第2版までは翻訳業者が訳してたから読みにくかったね
284 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 23:29:29 ] >>279 ・より赤くなった ・1,000円高くなった
285 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 00:20:48 ] 不覚にも笑ってしまった しかしせめて8000円ぐらいに…
286 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 02:27:06 ] >>284 1.5倍くらいは速くなってんのかな
287 名前:デフォルトの名無しさん [2007/08/07(火) 02:39:49 ] > 原著第5版 テクスチャへの描画とか、実際に使う際の普遍的なチップスとかって 載ってますのん? そういうのは、Game Programming Gems買えって事かな? (そろえたら、赤本よりたけええけどよぉおぉ)
288 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 02:52:53 ] Gems にそんなの載ってたっけ
289 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 03:18:43 ] >>287 テクスチャへのレンダリングにはGL_EXT_framebuffer_objectを使う。 この拡張機能はOpenGL 2.0の仕様に含まれていないから当然赤本には載ってない。
290 名前:デフォルトの名無しさん [2007/08/07(火) 22:16:01 ] ああ、使用に含まれてない=載ってないか・・・ そうだよなあ
291 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 22:51:14 ] 赤本は昔からextensionには触れないからね
292 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 18:58:10 ] The OpenGL ARB officially announced OpenGL 3 www.opengl.org/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic;f=3;t=015351;p=0
293 名前:デフォルトの名無しさん [2007/08/19(日) 23:15:27 ] よしはる別スレに今も登場中
294 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 23:26:55 ] スレ違い、こっちでやれ↓ OpenGL 2.0 専用スレ pc11.2ch.net/test/read.cgi/tech/1126268759
295 名前:デフォルトの名無しさん mailto:sage [2007/08/23(木) 18:42:39 ] カーマック大失敗w ttp://www.technobahn.com/cgi-bin/news/read2?f=200708231640&page=2
296 名前:デフォルトの名無しさん mailto:sage [2007/08/23(木) 18:48:33 ] wwwwwwwwwwww
297 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 05:32:42 ] ざまぁwww
298 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 19:51:37 ] すみません。 OpenGLでなくGLSLでVertex texture fetchをしたいのですが、 テクスチャを取ってくるときの関数はフラグメントシェーダと同じように、 texture2Dやtexture2DRectを使うのでしょうか?
299 名前:デフォルトの名無しさん [2007/08/24(金) 21:08:31 ] >>298 確かそうだったと思う。
300 名前:デフォルトの名無しさん mailto:sage [2007/08/26(日) 01:18:20 ] GeForce8600GTにしてからたまに描画が異様に遅くなるんですが、似たような症状に遭って解決できた方いませんか? VBOにデータ置いても直らず、シェーダやテクスチャはおろか、ライティングすらしてないモデルでも再現。 WindowsXPで、ドライバは最新(162.18)とベータ版(163.44)両方で発症。 GeForce6000系や7000系では問題は起きませんでした。 プログラムを何度も起動しなおしたら上手くいくこともあるのですが…。
301 名前:デフォルトの名無しさん mailto:sage [2007/08/26(日) 01:38:33 ] >>300 熱暴走してないか疑え
302 名前:デフォルトの名無しさん mailto:sage [2007/08/26(日) 21:53:14 ] 盲点でした、が、マシン起動直後でも起きるので、単純に熱だけが原因ではなさそうです。 あとDirectXのゲームとかでは同様の問題は起きず。 # もう検証疲れた…。ドライバが腐ってるせいってことにしたいorz
303 名前:デフォルトの名無しさん mailto:sage [2007/08/26(日) 21:58:46 ] VBOに書き込む際のバッファオーバーランとか
304 名前:デフォルトの名無しさん mailto:sage [2007/08/26(日) 22:09:36 ] glInterleavedArray()/glVertexPointer()系 + VBO使用/未使用の組み合わせ、 glBegin()〜glEnd()、の5パターンで同じモデルを描いてみましたが、全てで発症しました。 モデルは立方体を1000個程描いてるだけです。
305 名前:デフォルトの名無しさん mailto:sage [2007/08/26(日) 22:12:00 ] とりあえずプログラムうp
306 名前:デフォルトの名無しさん mailto:sage [2007/08/26(日) 22:15:40 ] >>305 ちょっと公開したくない部分があるんで、 問題が起きる最小限のプログラム用意してみます。
307 名前:デフォルトの名無しさん mailto:sage [2007/08/26(日) 22:21:12 ] お、えらい。 大抵公開できない部分があるのでそこを何とかお願いしますとかが多いのに。
308 名前:デフォルトの名無しさん mailto:sage [2007/08/27(月) 01:40:12 ] a-draw.com/contents/uploader2/src/up0377.zip.html DLKey: 0000 急拵えなんでバグってたらすみません。 グラフの単位はミリ秒で、上限20msです。 good.jpgは正常時、bad.jpgが異常に遅いときのスクリーンショットです。 これ作りながら検証したところ、どうも全体的な負荷が高い時程発症確率が上がってる感じがします。 立方体1000個にしてシェーダ使うと9割以上発症したり。 しかし500個シェーダ無しでも稀に遅くなったりで、根本的な対処法は依然分からず。
309 名前:デフォルトの名無しさん mailto:sage [2007/08/27(月) 02:23:56 ] >>308 解凍できないのは俺だけか?
310 名前:デフォルトの名無しさん mailto:sage [2007/08/27(月) 03:34:28 ] >>309 とりあえず解凍はできたぞ。
311 名前:デフォルトの名無しさん mailto:sage [2007/08/27(月) 11:02:23 ] >>309 安心しろ俺もだ
312 名前:デフォルトの名無しさん mailto:sage [2007/08/27(月) 11:40:18 ] unzip.dllが古いんじゃね
313 名前:デフォルトの名無しさん mailto:sage [2007/08/27(月) 12:07:05 ] WindowsXP標準の圧縮フォルダで展開できるZIP形式でお願いします。
314 名前:デフォルトの名無しさん mailto:sage [2007/08/27(月) 17:17:02 ] そのぐらいじぶんでやれよ
315 名前:デフォルトの名無しさん mailto:sage [2007/08/27(月) 19:33:23 ] >>308 解凍できません
316 名前:デフォルトの名無しさん mailto:sage [2007/08/27(月) 20:33:59 ] そのままで自動ダウソすると失敗するぽいお リンク押してダウソしたら解凍できるんでないか
317 名前:デフォルトの名無しさん mailto:sage [2007/08/27(月) 20:47:07 ] unzip コマンドで普通に展開できたよ
318 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 21:25:44 ] >>308 うちのgeforce8800gtxでもbad.jpgと同じぐらいのスピードになった。 GLexpertから何もメッセージがでてない(標準出力は起動時につくられるstdout.txtに出力されるんだよね?) っぽいし、ソースコードをざっと読んだけど原因はよくわからなかった。 そういえば、geforce6000, 7000で毎framePBOにデータを送るようなプログラムを書いていたときに 数秒後に急に倍近くfpsが上がることがあった。 ドライバが消費電力を低くするために裏で負荷に合わせて使用するシェーダの数を調整したりしてるのか? 教えてエロ詳しい人
319 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 21:39:21 ] 上のに関連するが、Vista+GeForce8000だとむちゃくちゃ遅くならない? うちだと>>308 のbad.jpgより遅くなってる。 ttp://d.hatena.ne.jp/yaneurao/20061122 これとか見ると少なくとも7000だと問題ないみたいだが。 8000はまだOpenGLの実装が不完全と見た方がいいのかね。
320 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 11:21:10 ] Vista yaneurao
321 名前:デフォルトの名無しさん [2007/09/01(土) 13:24:30 ] >>308 ずっとこんな感じで推移。 gamdev.org/up/img/10058.jpg たまにぐっと負荷がかかるようだが、見た目はスムーズ たぶん常駐が多いせいだと思う 環境は、 CPU: Pen4 2.6GHz メモリ: 1.5GMB GPU: Sapphire RADEON X700 今時だと、さすがにプア環境でアレだが しかし、きれいやねー参考にさせていただこう
322 名前:デフォルトの名無しさん [2007/09/01(土) 13:27:04 ] メンゴ書き忘れ OS: Windows XP SP2 32bit GPU DRIVER: ATI ver 8.342.0.0
323 名前:デフォルトの名無しさん mailto:sage [2007/09/05(水) 10:52:26 ] ttp://www.inside-games.jp/news/232/23262.html すげー
324 名前:デフォルトの名無しさん mailto:sage [2007/09/05(水) 11:09:26 ] OpenGL 3.0て具体的にはどんなんになるんだ。
325 名前:デフォルトの名無しさん mailto:sage [2007/09/05(水) 13:29:05 ] あれだろ コンセプトだけ言って、具体的には何もできてないっての
326 名前:デフォルトの名無しさん [2007/09/05(水) 16:55:37 ] >>325 それは、もまえ、OpenGL自体を馬鹿にしているのかw
327 名前:デフォルトの名無しさん mailto:sage [2007/09/06(木) 00:03:47 ] むしろ、交差とか法線計算とかエッジ検出とか・・自動でやってくれるようにはならんかね。 楽したいんじゃ。ワシャ。 この前セレクション出来るようになったばっかなのに(^ω^;;)
328 名前:デフォルトの名無しさん mailto:sage [2007/09/06(木) 02:36:51 ] >>308 nVidiaのドライバの設定にあるtheaded optimizationがautoになってると遅くなったり速くなったりするようだ。 onにすると常に速く、offにすると遅くなるようだ。 このオプションはマルチコアCPUで複数スレッドを使って高速化するかどうかのオプションらしい。 fpsが60以上になるとだんだんとCPU側がボトルネックになってきてるんかな。 >>327 そういうのはwild magicとかなんとかライブラリを使えばいいんじゃない?
329 名前:308 mailto:sage [2007/09/06(木) 08:33:45 ] >>328 うお、ありがとうございます。 ただ、うちだとoffにすると常に速くなるようになりました。 (FPS60超える/超えない関係なく) なんかこれ不気味なオプションですね…。
330 名前:デフォルトの名無しさん [2007/09/23(日) 10:52:18 ] www.4gamer.net/news/history/2005.10/20051018204436detail.html
331 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 23:02:51 ] glGenTextures()してgluBuild2DMipmaps()した画像のテクスチャが、 ウィンドウがリサイズされたときにSDL_setVideoMode()すると画像が無くなってしまうのですが、仕様ですか? リサイズされたときビューポートをウィンドウと一致させたくて毎回SDL_setVideoMode()しているのですが、 glViewPort()を使ったほうがいいのでしょうか?
332 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 23:26:38 ] カラーマップの使い方がいまいちわかりません おしえてください
333 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 23:40:53 ] >>331 ウインドウのサイズが変わるたびにglViewportするべき だと俺は考える
334 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 02:53:26 ] リサイズでビューポートとprojection matrix設定しなおしてるんだけど、 そうするとディスプレイリストが無効になることがあります。 リサイズのときにディスプレイリストを消して作り直すことにして回避したけど、 これはそういうものですか? それともどっかおかしい?
335 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 03:19:00 ] >>334 俺の経験上、ウインドウのリサイズでディスプレイリストを作り直すってことは無いな… glRasterPosとか使ってるのかな?? >>331 ならglTexParameterのGL_TEXTURE_MIN_FILTERなり、GL_TEXTURE_MAG_FILTER なり と思ったりするけど、どうなんかなぁ〜
336 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 05:05:44 ] ウィンドウ全体を FBO あるいは pBuffer でテクスチャに取り込んで、自前でダブルバッファリングをしようと考えています。 しかし、もしウィンドウのサイズが最大テクスチャサイズを超えてしまうとどうしようもありません。そういう場合どうすればいいのでしょうか?
337 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 22:48:26 ] >>336 いくつかのテクスチャに分割するしか無いだろうな
338 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 23:09:11 ] glTexImage2Dでは2^n乗のサイズしか指定できませんが、 gluBuild2DMipmapsではどんなサイズでも指定できることに関して、わからない点があります。 ミップマップは使う必要がない場合、例えば100*200の画像をglTexImage2Dでテクスチャ化しようとしたとします。 ここから128*256というサイズのテクスチャを作るところまではいいのですが、 そうした場合、100*200に対してはみ出ている部分も含めて、128*256のテクスチャがopenGLに渡されますよね。 そうすると、glTexCoord2fに指定する値は、(0〜100/128) * (0〜200/256) としなければ、 こっちが広げてやった余白(?)も表示されてしまいます。 しかし、gluBuild2DMipmapsで100*200を指定してやった場合は glTexCoord2fに指定する値は、(0〜1) * (0〜1) でうまくいきます。 これはどういうことですか?glTexImage2Dを使ってテクスチャを作った後、 任意のサイズの元画像にたいして、glTexCoord2fに指定する値を(0〜1) * (0〜1) で操作できるようにする方法を教えてください。
339 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 23:17:39 ] gluBuild2DMipmapsは任意のサイズの元画像を2^n乗のサイズに拡大縮小する www.opengl.org/sdk/docs/man/xhtml/gluBuild2DMipmaps.xml >Initially, the width and height of data are checked to see if they are a power of 2. >If not, a copy of data (not data), is scaled up or down to the nearest power of 2.
340 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 01:19:40 ] 2.0以降ならgluBuild2DMipmaps使わんでも 非2^nのサイズ扱えるし、ミップマップも生成してくれる。(パラメータの設定次第
341 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 12:35:09 ] >>331 ,334 Windows上のSDLだとsetVideoModeするとOpenGLのコンテキスト作り直される 設定やらディスプレイリストやらテクスチャは全部作り直す必要があるぞ Windows以外ではどうなってるかわからん
342 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 15:28:10 ] >>339 てことは内部で既に縦横比が変更されてるんですね。ありがとうございます。 >>340 >(パラメータの設定次第 調べてみます。 >>341 ありがとうございます。やはりそうなんですね。ウィンドウリサイズにはglViewportだけ動かすようにしました。
343 名前:デフォルトの名無しさん [2007/10/11(木) 13:21:30 ] >>341 ゲッ! もしかして、OpenGLで、DirectDraw使って全画面表示やってた時に、 環境によって、うまく動かなかった(画面真っ黒)のは、もしや、これのせいだったのか? Geforceでは、うまく動いてたからなぞだったんだが・・・
344 名前:デフォルトの名無しさん mailto:sage [2007/10/15(月) 00:44:43 ] スキンメッシュについて学びたいんだけど、 いいサンプルとかない?
345 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 23:54:45 ] OpenGLを使って作った画像の情報が欲しいんですが キャプチャ以外で画像の情報(RGBなど)はとってこれるんでしょうか
346 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 23:59:45 ] glReadPixels
347 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 02:42:05 ] >>346 ありがとうございます。調べてみました。 いろんなサイトのサンプルを見てみたのですが 具体的にどのようにプログラムすればいいのかどうしてもわかりません・・ (出てきた画面をキャプチャしたいんですが、どうすればいいんでしょうか)
348 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 16:20:56 ] >>347 少なくとも unsigned char pBuffer = new unsigned char[WIDTH*HEIGHT*4]; // sizeof(RGBA)==4? glReadPixels(0,0 WIDTH,HEIGHT GL_RGBA, GL_UNSIGNED_BYTE, (GLvoid *)pBUffer); この位は実験してみようや。
349 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 00:50:11 ] オフスクリーンの DIB にOpenGLで描画してビットマップ参照しれ
350 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 16:46:28 ] >>348 ありがとうございます、解決できました
351 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 17:39:49 ] GPUレイトレっぽいことをやりたくて、バウンディングボックスの各面からレイを放って 各面に3次元テクスチャを並行投影したくて下記のようにしてるのですがどうも表示がおかしいのです。 確認したいのですが、これはちゃんと各頂点に、テクスチャ座標の0と1が対応されてマッピングされていますよね? void vertex(float x, float y, float z) { glActiveTexture(GL_TEXTURE0); glMultiTexCoord3fARB(GL_TEXTURE0_ARB, x, y, z); glVertex3f(x,y,z); } void drawQuads(float x, float y, float z) glBegin(GL_QUADS); /* Back side */ glNormal3f(0.0, 0.0, -1.0);vertex(0.0, 0.0, 0.0);vertex(0.0, y, 0.0);vertex(x, y, 0.0);vertex(x, 0.0, 0.0); /* Front side */ glNormal3f(0.0, 0.0, 1.0);vertex(0.0, 0.0, z);vertex(x, 0.0, z);vertex(x, y, z);vertex(0.0, y, z); /* Top side */ glNormal3f(0.0, 1.0, 0.0);vertex(0.0, y, 0.0);vertex(0.0, y, z);vertex(x, y, z);vertex(x, y, 0.0); /* Bottom side */ glNormal3f(0.0, -1.0, 0.0);vertex(0.0, 0.0, 0.0);vertex(x, 0.0, 0.0);vertex(x, 0.0, z);vertex(0.0, 0.0, z); /* Left side */ glNormal3f(-1.0, 0.0, 0.0);vertex(0.0, 0.0, 0.0);vertex(0.0, 0.0, z);vertex(0.0, y, z);vertex(0.0, y, 0.0); /* Right side */ glNormal3f(1.0, 0.0, 0.0);vertex(x, 0.0, 0.0);vertex(x, y, 0.0);vertex(x, y, z);vertex(x, 0.0, z); glEnd(); } drawQuads(1.0,1.0,1.0)
352 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 17:44:18 ] 要はこういうことをやりたくて ttp://home.student.uu.se/cebl4603/thesis_html_m74d5f1f4.jpg image planeのところをどうやったらいいのか四苦八苦しています
353 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 17:52:30 ] 3次元テクスチャを並行投影ってどういう状態? そのコードだと、サイコロの各表面に2次元テクスチャを貼り付けてるのと大差ない気がするが。 3次元テクスチャの各表面を貼り付けてるだけで、内部は描画されていないが、そのへんは理解してるか?
354 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 18:13:17 ] その辺は理解しています。 サイコロの各面から、内部に向かってレイを放ってテクスチャのピクセル色を決定して(フラグメントシェーダ) それを貼り付ける、といったことをしようとしてこうなっています。 ttp://www.uploda.org/uporg1073971.jpg これは0〜64までの3次元テクスチャに 4〜60まで、テクスチャ在りにしたものを、45度程度傾けたものなのですが テクスチャがある部分を内側になればなるほど、緑〜赤のグラデにしたものです。 6面全体に一部分だけが表示されてしまって、立方体の形状が出てこなくて…
355 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 22:57:00 ] >>351 各頂点にテクスチャ座標の0と1は渡ってるよ。 ActiveTextureは余計な気がするけどまぁいいか。
356 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 23:05:47 ] >>355 ありがとうございます。 とりあえず3次元テクスチャが格納されている側面が写し取られている、と確信がもてて安心しました。 ということはフラグメントプログラムの方なのかな… fragmentの方でfor文を使うと error C6001: Temporary register limit of 32 exceeded; 201 registers needed to compile program こんなエラーが出てきて、本来走査するべきところまでいけなくて64回繰り返すところを 4回くらいしか深度を進めなくなっています ただ、CgじゃなくてGL_TEXTURE_3Dでも同じような表示がされてわけがわからんくなってます。 Cgで同じようなエラーが出たことがある方がいたら…
357 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 23:30:55 ] よく知らないんだけどさ、文法上はforとか記述できるとしても、 実際はループ回数やテクスチャフェッチ回数には上限があるんじゃないの? 最新のグラフィックスカードを使えば、実行結果が変わったりとかー。
358 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 23:33:57 ] 吐き出されているエラーが明らかにハードウェア側のことなのでそうだと思うのですが このエラーに関する記述がWEB上に4つほどしかなくて… ttp://developer.nvidia.com/object/nvemulate.html このエミュレーターでどうにかなるんじゃないか?と英語であったのですがそれを起動しても変わらず nvidiaのカード買うしかないのか…お金ないや
359 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 01:58:33 ] 358ですが、シェーダを弄くって テクスチャの投影部分ではなく、シェーダーで反復回数が足りないせいだと判明しました。 原因はAtiだからだと思います。for文をまわすたびにレジスタが使用されているのか、、、
360 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 04:03:52 ] どのprofileのフラグメントシェーダを使うかにもよるがfor文はループ展開されてたりするよ。 何をしようとしているのかよくわかってないけど、GPUレイトレで3次元テクスチャをボリュームレンダリングするなら、 何故画面の各ピクセルからレイを飛ばさないの?
361 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 04:59:27 ] ATIのカードだとCgでは事実上arbvp/arbfp以外の選択肢がないから 動的なループ、分岐やら新しい技術が使用できないのがきつい、というか終わってるね 最近触ってないけどGLSLだとその辺どんな感じなの?
362 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 17:15:42 ] >>360 画面からするとバウンディングボックスとの交差判定が必要で ものすごい遅くなっていたのです。 実際にarbvp1 arbfp1が選択されていました。 ATIしかない環境でCgを選択したのがマズイのですね… nVidiaを購入するのに…10万か…お金が。。。ない
363 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 17:47:04 ] ATIでもX1000系以降ならGLSL使えるよ CgでもプロファイルのglslvとglslfでGLSLにコンパイルして使える …が、使ったことはないしLatestProfileでも出てこないのであんまりお勧めはできないかも つかGeForceで10万って何買うつもりだよwwww
364 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 17:50:30 ] ぁ、ぃぇ PCそのものを買わないといけなくて、結局10万くらい掛かるっていうことです。 glslv glslfについてちょっと調べてみます
365 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 18:18:35 ] glslプロファイルは去年触ったけどnvidiaでは問題なく動くけど ATIのドライバではコンパイルできないソース吐くから使うのあきらめたな あれからだいぶ時間たってるからその辺直ってるといいね
366 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 19:19:53 ] OpenGL3の続報がなかなか来ないな