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落ち)
422 名前:デフォルトの名無しさん mailto:sage [2007/11/20(火) 22:33:54 ] >>421 オブジェクトが入るような視点にする
423 名前:デフォルトの名無しさん mailto:sage [2007/11/20(火) 23:02:42 ] znear,zfar
424 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 12:07:50 ] objデータがバカでかいので 視界に入ってる領域だけ読み込んで表示できるようにしたいです どうすればいいですか><
425 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 12:27:02 ] データのフォーマットによるが、視界に入ってない領域を読み飛ばせばいいのでは
426 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 13:02:58 ] 視界に入ってるかどうかの領域はどうやって決めたらいいんですか><
427 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 13:13:22 ] 頂点単位ならLookAtとかPerspectiveに渡してるパラメータから視錐台を求めてそこに頂点が入ってるかどうか判別 ポリゴン単位なら視錐台とポリゴンの交差判定 フラグメント単位ならオクルージョンクエリーでも使ったら?
428 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 13:41:33 ] ありがとうございます>< >>パラメータから視錐台を求めてそこに頂点が入ってるかどうか判別 >>ポリゴン単位なら視錐台とポリゴンの交差判定 これやるためには、バカでかいデータをメモリに載せないといけない気がするのですが載りません>< 視錐台に入る座標をまとめてデータにして、それをファイルポインタで読み込むときに 1頂点読み込み→視錐台内の座標か判定→視錐台内ならメモリに格納 そんな流れになるのでしょうか>< オクルージョンクエリーという言葉初めて聴きました!見てみたら難しそうでした!
429 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 16:39:36 ] オクルージョンクエリーは冗談だ。その用途では役に立たんと思うので忘れてくれ やり方としてはそれでいいが、実際には1頂点ずつやってたら大変だわな モデルデータを前もって適当に一度にメモリに載せられる範囲に区切っておいて その範囲と視錐台が重なってるかどうか判定して重なってれば読み込む、 という感じである程度の頂点数を一気に処理した方が速いだろうな
430 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 16:44:46 ] モデルデータのバウンディングボックスをあらかじめ計算しておく
431 名前:デフォルトの名無しさん [2007/11/22(木) 21:08:48 ] 平面の方程式 Ax+By+Cz+D=0 の係数をパラメータにとって 平面を表示させるプログラムを作っています 今はyz平面上に立方体を平べったく伸ばして平面をつくって そのあと原点回りに回転移動させてから平行移動をさせる方法で平面を表現しようと考えて ↓のような感じで組んでいます ----- dcos_x = A/sqrt(A*A+B*B+C*C); dcos_y = B/sqrt(A*A+B*B+C*C); dcos_z = C/sqrt(A*A+B*B+C*C); glPushMatrix(); glColor4d(0.5, 0.5, 0.5, 0.8); glTranslated(trans_x,trans_y,trans_z); glRotated(dcos_x, 1.0, 0.0, 0.0); // x軸に対する回転移動 glRotated(dcos_y, 0.0, 1.0, 0.0); // y軸に対する回転移動 glRotated(dcos_z, 0.0, 0.0, 1.0); // z軸に対する回転移動 glScaled(1.0, height, depth); glutSolidCube(1.0); glPopMatrix(); ----- 平行移動量trans_x,trans_y,trans_zはどう与えればよいのかがわからないので trans_x,trans_y,trans_zは今のところ0.0で実質回転移動のみを行う形になっています dcos_x,dcos_y,dcos_zの計算式はこれでいいのかどうか、 trans_x,trans_y,trans_zの与え方はどのようにすればいいのか どなたか教えていただけませんでしょうか? まあ・・・根本から間違っていたり、もっといい方法があるんでしょうけど・・・
432 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 21:30:14 ] trans_x、trans_y、trans_zにはその平面上のどこか1点を与えてやればいいんでないの? 回転はよくわかんね というか平面を描くなら立方体を変形させるより 平面上の4点とかを適当に求めてポリゴンで描いた方が楽だと思う
433 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 21:47:52 ] >>432 平行移動はそれでいいね。 平面に平行な移動は無意味だから (trans_x, trans_y, trans_z) には2次元の自由度(任意性)がある。 回転については、三角関数を経由して回りくどいことしなくても、 元のyz平面の法線(=x軸)を (A, B, C) に移すような正規直交3x3行列を作ればいい。 つまり、(A, B, C) に直交する2つのベクトルを適当に選んでやればいいだけ。 こっちは法線まわりの回転について1次元の自由度ある。
434 名前:デフォルトの名無しさん mailto:sage [2007/11/28(水) 00:22:43 ] 現在3Dゲームを製作中なのですが、学校から持ち帰ったものを家で動かそうとすると 1>fatal error C1900: 'P1' Version '20060201' と 'P2' Version '20050411' が一致しません。 1>LINK : fatal error LNK1257: コードの生成に失敗しました。 というエラーがでてきます。 思い当たる節としては ・「GLee」を入れてみた これぐらいです。どなたか解決策をお願いします。
435 名前:デフォルトの名無しさん mailto:sage [2007/11/28(水) 01:30:12 ] 「動かそうと」具体的に何をどうしたのか 「GLeeを入れる」とは具体的にどのファイルをどこに置いたのか
436 名前:デフォルトの名無しさん mailto:sage [2007/11/28(水) 02:02:36 ] >>434 学校と家のコンパイラのバージョンが違うんでないか 全プロジェクトをリビルドしてみ
437 名前:デフォルトの名無しさん mailto:sage [2007/11/28(水) 07:36:28 ] >>435 「GLeeを入れる」というのは GLee.cをスタティックライブラリにして追加し glBindBufferARBなどの関数を使っていることをいいたかったんです。 >>436 リビルドしてみましたが、同じエラーでとまってしまいました。
438 名前:デフォルトの名無しさん mailto:sage [2007/11/28(水) 11:35:57 ] >>434 ググったがVC++の環境がおかしくなってるみたいだな 解決策としてはVC++2005のSP1を入れてみる ダメならVC++を再インスコ それでもダメならOSから再インスコするくらいかな
439 名前:デフォルトの名無しさん mailto:sage [2007/11/28(水) 21:23:26 ] >>438 VC++2005のSP1を入れたらなおりました!!!! 課題の締め切りが明日までだったので、本当にうれしいです!!! 今日はこのうれしさをばねに、徹夜でやろうとおもいます。
440 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 00:44:32 ] 嬉しさをバネにって初めて聞いたww
441 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 01:54:54 ] "嬉しさをバネに" の検索結果 約 1,480 件中 1 - 10 件目 (0.39 秒) www.google.co.jp/search?hl=ja&q=%22%E5%AC%89%E3%81%97%E3%81%95%E3%82%92%E3%83%90%E3%83%8D%E3%81%AB%22&btnG=%E6%A4%9C%E7%B4%A2&lr= 結構出てきて吹いたw さすがゆとり。 言葉の意味なんて考えたことないんだろうな。
442 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 02:13:48 ] 嬉しさのときは何て言えばいいの? 嬉しさを追い風にして?
443 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 02:25:04 ] こういうの突っ込む奴は言い回しに気を取られて言葉の意味なんて考えたことないんだろうな
444 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 07:39:58 ] 喜びは 糧に でいーんでねーの。
445 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 08:44:14 ] 糧にするのも大概はネガティブなものだと思うが。 〜をバネには単なる反発、糧には消化して教訓とするって感じじゃないか。
446 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 12:31:40 ] 名誉返上、汚名挽回を思い出した。
447 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 14:08:41 ] 嬉しさを肥やしにして
448 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 20:52:43 ] 喜びなら「さめないうちに」とつなぐのがいいのでないの?
449 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 21:00:13 ] 確信犯
450 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 04:09:52 ] >>449 さすがにその誤用をつっこむやつは最近なかなかいないが。
451 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 10:05:47 ] 役不足
452 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 22:52:52 ] 役不足だと言っているッ!
453 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 23:18:12 ] 流れ断ち切って悪いけど質問。 モデルビューの行列から視点、注視点、アップベクトルを求めたいんだけどいい方法無い? gluLookAtの逆バージョンみたいなの もう1つ質問で 頂点にウェイトをつけたいんだけど、OpenGLだとどうやってやるんだ?
454 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 00:26:46 ] >>453 モデルビュー行列の左上3×3の各行が それぞれ右方向ベクトル、上方向ベクトル、逆視線ベクトル。 モデルビュー行列の逆行列の4列目が視点。 のような気がする。
455 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 01:52:18 ] >>453 >頂点にウェイトをつけたいんだけど、OpenGLだとどうやってやるんだ? いまどきならシェーダを書く
456 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 10:37:09 ] >>454 どうせ逆行列求めるなら、1〜4列目がそれぞれ 右、上、逆視線、視点 でいいと思ったw あと頂点ウェイトは glVertexWeightfEXT かな。
457 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 11:58:24 ] ARB_vertex_blend拡張はATIにしかなく EXT_vertex_weighting拡張はNVIDIAにしかない 頂点ブレンドは汎用的な方法があんまりないから シェーダでやるのが一番無難だろうな
458 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 13:32:05 ] >>457 NVIDIAもARB_vertex_blend対応してるぞ。
459 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 14:20:37 ] >>458 まじか うちのGeForce8600GTでは無いみたいなんだけど… もしかしてExtensionStringに出てこないけど使えんの?
460 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 17:03:05 ] >>459 ソースはOpenGL Extensions ViewerのDatabase。 ちなみに8600は項目がなくてわからん。 8600Mならあるんだがなぁ
461 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 17:12:26 ] あ、原因わかったかも。 OSのフィルタでWindowsに絞ったらNVIDIA全滅した。 MAC使えって話っぽい。
462 名前:453 mailto:sage [2007/12/01(土) 21:56:23 ] >>454-461 サンクス う〜ん、モデルビュー行列から完全に元には戻せないのかな 注視点を求めたいんだけど、さっぱりわからない ウェイトの件はシェーダを使うのが無難みたいですね
463 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 22:07:25 ] 注視点は求まらんよ 見てる方向は求まるけど、その方向ですぐ目の前から無限遠までのどの点を見てるのかは失われる 奥行きをz=1とか適当に決めちゃって、そこを注視点ということにするくらいか
464 名前:453 mailto:sage [2007/12/02(日) 01:39:56 ] やっぱり無理なのか 残念だけど諦めよう
465 名前:デフォルトの名無しさん mailto:sage [2007/12/02(日) 13:03:51 ] 2Dテクスチャを2^nに限定しない関数ってありましたよね。 それの1Dテクスチャ・3Dテクスチャのものってありますか?
466 名前:デフォルトの名無しさん mailto:sage [2007/12/02(日) 18:16:40 ] GL_TEXTURE_RECT_ARBなんかのことか? それなら2D版しかない GL_ARB_non_power_of_two拡張があれば 特に何も考えずに1Dでも2Dでも3Dでも2の乗数じゃないサイズが使えるよ
467 名前:デフォルトの名無しさん mailto:sage [2007/12/02(日) 18:51:47 ] おお、知らない言葉が出てきた ググります!
468 名前:デフォルトの名無しさん mailto:sage [2007/12/02(日) 22:55:54 ] GL_ARB_non_power_of_twoって環境によってはクソ遅いんじゃなかったっけ。 標準にはなってるけど当然古いカードだと使えないし。なんだかなーという感じだ。
469 名前:デフォルトの名無しさん mailto:sage [2007/12/02(日) 23:07:26 ] Radeon系だとクソ遅いらしいね。。 あとRadeonのドライバはOpenGLのバージョン2以降返しときながらGL_ARB_non_power_of_two対応してないこともあったり。
470 名前:デフォルトの名無しさん mailto:sage [2007/12/03(月) 01:19:37 ] nvidiaだと快適サクサク 8600GT。 つーかシェーダ組んだときのRadeonのクソっぷりにビックリした 俺、今度からNvidia住人になるよ
471 名前:デフォルトの名無しさん mailto:sage [2007/12/07(金) 16:30:01 ] ポリゴンを1000枚作って表示させたときと ポリゴンを1枚作って表示させたとき OPENGLではメモリの量違いますか?
472 名前:デフォルトの名無しさん mailto:sage [2007/12/07(金) 18:28:27 ] 違う
473 名前:デフォルトの名無しさん mailto:sage [2007/12/07(金) 20:46:42 ] 了解です!
474 名前:デフォルトの名無しさん mailto:sage [2007/12/07(金) 21:57:58 ] 違わない処理系ってどれよ?
475 名前:デフォルトの名無しさん mailto:sage [2007/12/07(金) 22:28:03 ] 描画領域のメモリは変わらんとか?
476 名前:デフォルトの名無しさん [2007/12/12(水) 10:39:47 ] すみません。教えてください。 cpadでopenGLを起動できないのですが、どうしたらいいですか? 実行ファイルが作れません。というエラーがでます。
477 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 11:29:59 ] まず落ち着こう 次にCPadでOpenGLを使わないプログラムが実行できるか確認するんだ それができたら「実行ファイルが作れません」の前にもエラーが出てるはずなのでそれを確認しよう 前に出てるエラーの原因が分からない、となってから質問しても遅くないと思うぞ
478 名前:デフォルトの名無しさん [2007/12/12(水) 15:03:05 ] お前らまだOpenGLなんか使ってんのかw
479 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 15:25:36 ] 個人的にはカーマックにその手の質問したら何て答えるのか非常に興味あるなw そういえばPS3でGLやCgが採用されるってのは結局どうなったんだろ
480 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 20:00:50 ] PS3ではOpenGLもCgも実装されてる でもOpenGLはパフォーマンスが出ないからGPUのコマンド直に叩くのがほとんどと聞いた 最近はほとんどシェーダだしDirect3D10もGPU仮想化されてOpenGLとたいして違いがないし どっちでもいいわな
481 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 20:17:02 ] >>478 うん。組み込みとかそれしか選択肢がないの多いし…
482 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 20:52:14 ] ゲーム機があります PS3 Wii XBOX Microsoftゲイツ様仕様のDirectXをPS3やWiiが使えると思ってるのかな。 選択肢としてOpenGL+GPU言語(Cg・GLSL)くらいしか無いでしょうに。
483 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 21:27:02 ] 誰に対して何の話をしてるのかわからない
484 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 21:54:01 ] わからないお前の神経がわからない
485 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 23:46:45 ] 変な勘違いをして誰に対してるのか分からない見当外れな話をする誰かさんの神経が一番わからない
486 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 01:15:25 ] gllogicopの使い方がわかりません! ttp://www.arch.oita-u.ac.jp/povjp/povjp/ref7.8/prz8209.jpg 二つの物体あわせてこういうのが作れるってことですか! 作れたら、作り方教えて下しア!!!
487 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 02:26:22 ] >>486 >二つの物体あわせてこういうのが作れるってことですか! 違う・・・ ググれ!
488 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 11:17:11 ] どう違うのか教えてください(;;
489 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 18:47:38 ] ぎろっぎこっプー
490 名前:デフォルトの名無しさん [2007/12/13(木) 18:51:28 ] powerpc版のLinux(Debian GNU/linux 4.0)で OpenGLを実行したらこんな警告がでてくるんですが どう解決すればよいのでしょうか? *********************************WARN_ONCE********************************* File r300_render.c function r300Fallback line 428 Software fallback:ctx->Line.SmoothFlag ***************************************************************************
491 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 20:42:26 ] >>400 HWで対応してないからソフトウェアで処理すんぞってことでしょ ビデオカードを換えるかglDisable(GL_LINE_SMOOTH)してみたらどうか
492 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 00:15:04 ] 1か月越しか
493 名前:デフォルトの名無しさん [2007/12/14(金) 00:59:11 ] シェーダーとかあるの?
494 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 11:58:50 ] OpenGLでテキスト描画したい場合ってどうするの? プラットフォーム非依存なんだから、とうぜん標準で glDrawText 関数なんてものは ないんだと思うんだけど、テキスト描画したい人はやっぱりゴリゴリコード書いて、 フォントイメージ持って来てそれを自力で転送してるの?
495 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 12:41:54 ] >>494 環境依存(任意のフォントでディスプレイリストを作成) glXUseXFont wglUseFontBitmaps wglUseFontOutlines 環境非依存(フォントの種類が少なく、ディスプレイリストを作らないので遅い) glutBitmapCharacter glutStrokeCharacter
496 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 14:02:41 ] ここでくだらん質問するまえにNeheみれ
497 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 18:00:32 ] >>490 mesa-r300は色々と未実装なフォールバックになるやつが結構ある。 それもfglrxならフォールバックなしに使えたりする。 内部的にはlinesmoothはvs使って実相しているらしいが、 仕様公開後もっと開発が進むんじゃないかな。
498 名前:453 mailto:sage [2007/12/14(金) 18:14:48 ] >>494 FTGLがおすすめ
499 名前:498 mailto:sage [2007/12/14(金) 18:15:43 ] すまん、名前はミスだ
500 名前:デフォルトの名無しさん [2007/12/15(土) 07:48:28 ] 二年前にCGのクラスでOpenGLを学んだが 忙しくてそれ以上続けられなかった俺様が 来年こそはと>>500 をゲット
501 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 08:18:14 ] >>500 大丈夫だ。若いんだから年末年始だけでOK 知的欲望全開で突っ走れ
502 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 13:13:22 ] Dynabook A1/X85PMC(PenIII 450MHz メモリ384MB) で、OPENGL動かそうとしたら、止まった なぜ…研究が進められない
503 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 13:22:36 ] >>502 随分古いマシンだな とりあえずグラフィックスドライバ更新 でもOpenGLなんて所詮は最後に表示を担当するだけなんだから 研究は進められるんじゃ?
504 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 13:25:01 ] www.opengl.org/discussion_boards/ubbthreads.php?ubb=showflat&Number=229374#Post229374 OpenGL 3 will not have support for the GL_DOUBLE token. This means it will not be possible to send double precision vertex data to OpenGL. OpenGL3.0からGL_DOUBLEのサポートがなくなることは既出?
505 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 13:27:53 ] doubleとか何に使うの?
506 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 13:35:58 ] 頂点シェーダのレジスタ精度が32/24/16/8bitしかないから無くても問題ないな
507 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 13:36:48 ] >>503 画面サイズを小さくしたら出来ました。 研究室がいきなり工事やら停電やらで土日作業できず 自宅のはもらいもののノート。一応作業できますわ
508 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 09:10:44 ] ラデのドライバを最新にしたらツールが立ち上がらなくなったんで調べてみたら ARB_fragment program_shadowのサポートが無くなってやがった AMD氏ね
509 名前:デフォルトの名無しさん [2007/12/21(金) 12:38:19 ] >>506 GL_FLOATが、16bitだよな? 32bitはなんだっけ?
510 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 22:45:13 ] テクスチャについての質問なんですが、ちょっと前までテクスチャが張れたのに、 アプリを再起動したらそれ以降全くテクスチャが張れなくなるのって何が原因 なんでしょうか? 昨日作ったソフトが今日になって全くテクスチャが張れなくなってしまって 困っています。バイナリ、テクスチャの元画像共に昨日テクスチャが張れた 時から全くいじっていません。また、ドライバの更新等もしていません。 思い当たるとしたらノートンの更新ぐらいですが…
511 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 01:03:45 ] Z座標が同じポリゴンが重なったときに重なった部分のアルファのあるテクスチャを 合成するにはどうしたらいいでしょうか? glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); は実行しているのですが、なぜか合成してくれません。 ┌―――┐ | | | | | ┌―┼―┐ └―┼―┘ | | | | | └―――┘ こんな具合です。
512 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 02:46:14 ] テクスチャのinternalformatはちゃんとGL_RGBA(あるいはその他アルファを含むフォーマット) にしてるかい??
513 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 03:34:45 ] はい、Z軸を0.0000001とかほんの少しずらすとアルファは通っているので 大丈夫です。ただ、Z軸が重なるとなぜか合成されずに上書きになってしまう orz
514 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 03:53:30 ] >>513 glDepthMask(GL_FALSE); glDepthFunc(GL_LEQUAL); 描画 glDepthFunc(GL_LESS);
515 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 20:22:14 ] >>514 遅くなりましたが、上手くいきました! ありがとうごさいます。
516 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 22:49:52 ] >>509 GL_FLOAT は float だから32ビット。 16ビットは GL_NV_half_float の GL_HALF_FLOAT_NV とか VGL_ARB_half_float_pixel の GL_HALF_FLOAT_ARB とか。
517 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 22:50:46 ] ×VGL_ARB_half_float_pixel ○GL_ARB_half_float_pixel
518 名前:デフォルトの名無しさん [2007/12/22(土) 22:59:39 ] >>516 float、32bitか。何年プログラマやっとんだ、アホか俺はw
519 名前:デフォルトの名無しさん mailto:sage [2007/12/24(月) 20:39:34 ] void display(void) { gluLookAt(3.0,2.0,5.0,0.0,0.0,0.0,0.0,1.0,0.0); glClear(GL_COLOR_BUFFER_BIT); glRotated(x,0.0,0.0,1.0); glColor3d(0.0,1.0,0.0); glutWireTeapot(0.5); glFlush(); } void myKbd(unsigned char key, int x, int y) { if(key == KEY_ESC) exit(0); else if(key == 'g'){ x += 1; glutPostRedisplay(); } } void init(void) { int width = 500, height = 500; double aspect = (double)width/(double)height; glClearColor(0.0,0.0,0.0,1.0); glutCreateWindow("Sample"); glutDisplayFunc(display); glutKeyboardFunc(myKbd); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(30.0,aspect,1.0,100.0); }
520 名前:デフォルトの名無しさん mailto:sage [2007/12/24(月) 20:40:54 ] >>519 キーボードを押したらティーポットが回転するプログラムを書いたんですが、 ティーポットが回転してくれません。それどころかポットがどっかに移動して しまいます。どうしたら良いですか? 教えてください。
521 名前:デフォルトの名無しさん mailto:sage [2007/12/24(月) 23:49:54 ] >>520 どう見てもコンパイルすら通りそうにないコードなんだが C言語の基礎(変数のスコープとか)を勉強し直すことだな
522 名前:デフォルトの名無しさん mailto:sage [2007/12/25(火) 01:06:44 ] >>520 glRotated(x,0.0,0.0,1.0); これでxを+1しても回転にならないぞw