- 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落ち)
- 2 名前:デフォルトの名無しさん [2007/04/26(木) 02:44:41 ]
- - 関連スレ -
OpenGL 2.0 専用スレ pc11.2ch.net/test/read.cgi/tech/1126268759/l50 くだすれOpenGL(超初心者用) pc11.2ch.net/test/read.cgi/tech/1131208166/l50 - 各社のOpenGL拡張対応状況- nVidia developer.nvidia.com/object/nvidia_opengl_specs.html ATI mirror.ati.com/developer/sdk/radeonSDK/html/info/Prog3D.html - その他もろもろリンク集 - www.nbrains.net/php/pukiwiki/index.php?OpenGL
- 3 名前:デフォルトの名無しさん mailto:sage [2007/04/26(木) 02:45:48 ]
- - 補助ライブラリ -
■OpenGLコーディングの補助 ・glew glew.sourceforge.net/ OpenGL拡張の利用を簡便に。 ■数値演算ライブラリ ・CwMtx library www.xs4all.nl/~hkuiper/cwmtx/cwmtx.html 行列、ベクトル、クォータニオンの演算ライブラリ。LGPL。 ・Matrix, vector and quaternion library 2.0 www.programmersheaven.com/zone3/cat415/26784.htm 配布ページの記述によれば無償で使えるらしい。ライセンスは未確認。 C++のメタテンプレート技法を多用しているので高速。APIとしての形も非常にシンプル。 ・MathGL++ sourceforge.net/projects/mathgl-pp/ 行列、ベクトル、クォータニオンなどの各種演算用ライブラリ。APIはOpenGLライク。LGPL。 ■マルチプラットフォーム化・イベントやサウンドなどのハンドリング ・SDL www.libsdl.org/index.php 定番。数多くの関連ライブラリが開発されている。現在のバージョンでは描画とイベントハンドリングを分離できないため、 描画がもたつくとイベント処理ももたつく。ライセンスはLGPL。 ・Allegro www.talula.demon.co.uk/allegro/ サポートしている機能、対応OSともにSDLに似ている。日本語資料は少ないが、Gift-wareという位の寛大なライセンスが魅力。 ・GLFW glfw.sourceforge.net/ キーボード、マウス、ジョイスティックなどのイベント処理、タイマ、マルチスレッド辺りのみをシンプルに抑えたマルチプラットフォームライブラリ。 サウンドやその他は他のライブラリと組み合わせたい場合は、こちらの方が競合などの問題が無く安心か。 ・Java+jogl https://jogl.dev.java.net/ OpenGLのJavaバインディング。現在のSun JavaVMがC++に肉薄した演算パフォーマンスを発揮している今、 Javaの豊富な標準ライブラリやSwing・Java2Dと連携できる事も考えると、今後はダークホース的選択肢に?
- 4 名前:デフォルトの名無しさん mailto:sage [2007/04/26(木) 02:46:51 ]
- ■サウンド
・OpenAL www.openal.org/ 3Dサウンドライブラリ。マルチプラットフォーム。DirectXゲームでもサウンドはこれを使っているものも。MacOSXでは標準で入っている。 ■その他 ・OpenSceneGraph www.openscenegraph.org/ シーングラフライブラリ。 ・freetype www.freetype.org/ ビットマップフォントやベクタフォントのレンダリングを行うライブラリ。 ■フォント描画 ・FTGL homepages.paradise.net.nz/henryj/code/index.html#FTGL Freetypeを利用したもの。マルチプラットフォーム。アウトラインフォント対応。日本語が使えるかは未確認。 ■物理エンジン ・ODE:Open Dynamics Engine ode.org/ode.html オープンソース物理エンジン(GPL or BSD-Style License)
- 5 名前:デフォルトの名無しさん mailto:sage [2007/04/26(木) 02:48:27 ]
- テンプレはここまで。
追加も歓迎です。
- 6 名前:デフォルトの名無しさん mailto:sage [2007/04/26(木) 05:04:43 ]
- otu
- 7 名前:デフォルトの名無しさん mailto:sage [2007/04/26(木) 06:42:31 ]
- あ、お疲れ様です。
- 8 名前:デフォルトの名無しさん mailto:sage [2007/04/26(木) 07:01:37 ]
- 乙
- 9 名前:デフォルトの名無しさん mailto:sage [2007/04/26(木) 08:40:52 ]
- OpenGLを触ってみたけど何故か懐かしい感じがした。
赤本見てみたけど何故かPC8001mk2時代を思い出した。
- 10 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 14:56:19 ]
- 最近、予備知識なしの状態から OpenGL の簡単なプログラムを書きました。
もっぱらネットで仕入れた知識のみを継ぎ接ぎで使っただけなので、少し不安です。 で、ちょうど連休と言うことでもあるので、暇つぶしを兼ねて本でお勉強をしようと思いました。 以下のような要望に適う本があればご紹介頂けると嬉しいです。 ・次のような人間がちゃんと OpenGL を理解したいと思っている ・VC++ でグラフやなんやらの表示を伴うプログラムを普通に書いている ・OpenGL はネットで調べて簡単なプログラムなら組めるようになった ・でも体系立てた理解をしていないため不安である ・日本語で読める本 orz >>9 そう感じるのは私だけではなかったんですね。w
- 11 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 15:23:14 ]
- 連休だからこそ、英語に挑戦すれ。
ネットにある赤本と仕様の pdf ならタダだし、赤本の先の情報を得ようと思うと ほとんど英語になってしまうんだから。 プログラミング以外でも、世界が広がるぞ。 すごい交じレス
- 12 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 16:01:11 ]
- Mesa 6.5.3 Release
www.mesa3d.org/relnotes-6.5.3.html www.mesa3d.org/ OpenGL 2.Xサポートですよ奥さん
- 13 名前:10 mailto:sage [2007/04/28(土) 21:15:03 ]
- やっぱし?
英語からは逃げれるだけ逃げていたのですが。w 暇つぶしの範疇ですが、ちょっとだけ頑張ってみることにします。
- 14 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 21:29:36 ]
- OpenGL終了
- 15 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 22:44:55 ]
- 1万円以上払えるほど金に余裕があるなら日本語版の赤本でもどうぞ。
ないならそれなりに努力しなさいな。
- 16 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 21:28:34 ]
- >>10
挙げられた条件からすると、どう考えても赤本だなぁ・・・。 って、もう遅いカナ??
- 17 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 20:14:43 ]
- 初心者レスそんません.
赤本って何ですか?大学受験のやつしか思い浮かばないw
- 18 名前:17 mailto:sage [2007/05/06(日) 20:17:18 ]
- 解決しました.
Programing Guideのことか.
- 19 名前:デフォルトの名無しさん [2007/05/17(木) 10:29:56 ]
- バナナの腹筋って具体的にどのようなテクニックを使っているのでしょうか?
- 20 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 15:00:41 ]
- なにそれ?
- 21 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 15:05:14 ]
- スキンメッシュのこと?
- 22 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 17:45:34 ]
- >19
DirectX9SDKヘルプのジオメトリブレンディングの項を見れ
- 23 名前:デフォルトの名無しさん [2007/05/19(土) 03:18:35 ]
- エスパー現る。
- 24 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 01:47:12 ]
- >>19
的確杉な擬人化表現にワロタwww
- 25 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 12:13:01 ]
- ttp://www.microsoft.com/japan/msdn/directx/japan/images/GeomBl4.gif
- 26 名前:デフォルトの名無しさん [2007/05/20(日) 16:12:39 ]
- (x,y,z)というベクトルがあるとき、このxyzからオイラー角を求めるにはどのような計算すればよいのでしょうか?
- 27 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 21:38:12 ]
- プログラムにエスパーを求めないでください。
- 28 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 00:10:26 ]
- x-y、x-z、y-zそれぞれの値でatan2実行すりゃいいんじゃね?
- 29 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 06:10:09 ]
- >>19のせいで>>25がバナナの腹筋にしか見えなくなった
- 30 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 12:23:27 ]
- >>25
バナナワロタ
- 31 名前:おしえてちゃん mailto:sage [2007/06/03(日) 14:34:46 ]
- 質問です。
点を二つ作り、その点の大きさをgl_PointSizeを使って 大きくしたら、点が重なりました。その重なった部分の混合色は どのようにつくられるのですか? 1,(vertex + fragment シェーダでの処理を一単位と考えて) 二度シェーダプログラムを呼んで色の混合を作る。 2,(上と同じ考えで)一度で処理する。 3,そのほか 同じカーネルに、複数の色を叩き込むということなので、 その色の混合処理の方法がわからないのです。 一体どれなんでしょうか?
- 32 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 14:55:32 ]
- マルチしすぎだボケッ
GPGPUをやる前に、OpenGLの基礎をちゃんと勉強しなさい。 話はそれからだ!
- 33 名前:おしえてちゃん mailto:sage [2007/06/03(日) 17:10:14 ]
- 赤本に載ってるのかなぁ・・・
独学でやったからよく判らないんだよねぇ・・・
- 34 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 18:59:58 ]
- >>33
透明の時?
- 35 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 19:48:59 ]
- 一度ブレンドでGL_ONE,GL_ONEとか設定してみると理解できるんじゃなかろうか。
ブレンドの混合色はどのように作られるんですか、とかはここで聞く前に OpenGL ブレンド とかでググってくらさい。
- 36 名前:おしえてちゃん mailto:sage [2007/06/05(火) 19:15:30 ]
- 透明のときです>>34
GL_ONEについて調べてみました。 GL_ONEってfragmentしぇーだですよね。(だと思う。) それでそのしぇーだの内容を調べさせてもらったらただ単純に 結果の色 = 新しい色 * 1 + 元の色 * 1 みたいなことを、してるそうだとわかりました。 この場合、2度色をインプットしなければ混合色を作れません でなければ、しぇーだの内容が 結果の色 = 新しい色(1つめ) * 1 + 新しい色(2つめ) * 1 + 元の色 * 1 みたいな感じになってるはずです。 でも2番目のようなソースは見たことがありません。 やっぱり"順番をつけて"2度シェーダを呼んで 混合色を作っているってことなんでしょうか? どっかでトンデモな間違いをしてそうですが、そこらへんは勘弁してください。
- 37 名前:デフォルトの名無しさん mailto:sage [2007/06/05(火) 19:56:27 ]
- OpenGLの基礎をちゃんと勉強しなさい。
- 38 名前:デフォルトの名無しさん [2007/06/05(火) 21:42:20 ]
- GL_ONEというか最終的なカラーブレンドはシェーダでないよ
古い方でもいいから赤本を図書館でもなんでも見付けて読みなさい
- 39 名前:デフォルトの名無しさん mailto:sage [2007/06/05(火) 22:06:26 ]
- >>36
ブレンド処理はバックエンドのラスタオペレーションなので、フラグメントシェーダは関係無いです。 最初の >結果の色 = 新しい色 * 1 + 元の色 * 1 が正しいです。 「新しい色」てのが今処理してるポリゴンのフラグメント、「元の色」はフレームバッファの色ですね。 >この場合、2度色をインプットしなければ混合色を作れません その通り、混合色を作るには、ポリゴンを複数回重ね合わせます。
- 40 名前:デフォルトの名無しさん mailto:sage [2007/06/05(火) 22:47:10 ]
- Windows Vista上でOpenGLはネイティブサポートされているのでしょうか?
Aero Glassでは、DirectX 9をベースにしているため、 基本的にはOpenGLはDirect3Dにマップする形をとるような話が過去にあり、 それを裏付けるようなベンチマーク 結果 www.tomshardware.com/2007/01/29/xp-vs-vista/page6.html 製品FAQ? jp.wiki.mcneel.com/default.aspx/McNeel/RhinoOnVista.html www.housenetworks.jp/vista.html がある一方、 2007.04.20 Khronos OpenGL ARB ワーキング グループ khronos.jp/wp-content/uploads/opengl200704.pdf にあるような許容範囲内の速度で動くような話も出ています。 Driverしだい... ということでしょうか? フルスクリーンではなく、ウィンドウ内への描画を行っておりまして、 Aero Glassとの併用がどの程度のオーバーヘッドで実現できるのか 解らずにおります。 #開発PCにVistaがなく、私は嫌なのですが、 #今後、導入が計画されていまして...。
- 41 名前:デフォルトの名無しさん [2007/06/06(水) 06:55:27 ]
- メーカーのDirever入れてないVistaのOpenGLはめちゃくちゃ遅かったな。
確か、Geforce。 アプリは、ゲームだったんだが、ゲームにならないほど遅かった。 FPSはちょっと覚えていないが、10以下。 Driver入れたら、ちゃんと規定の速度で動いた。
- 42 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 08:59:03 ]
- またGeforceか。
- 43 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 12:13:16 ]
- 要はVista用の新しいドライバがあれば大体同じ速度で動く。
そうでなければDirectXのラッパーとして動かして OpenGL1.4までサポート・パフォーマンスはだいたい半減、 またはDWMを切って今まで通りに動かす。
- 44 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 20:02:46 ]
- void disp( void ) {
float f; glClear(GL_COLOR_BUFFER_BIT); glPushMatrix(); for(f = 0 ; f < 1; f += 0.1) { // glColor4f(0 , f , 0, 0.2); glCallList(DISP_LIST_INDEX); } glPopMatrix(); glFlush(); } void setDispList( void ) { glNewList(DISP_LIST_INDEX , GL_COMPILE); glBegin(GL_POLYGON); glVertex3f(-0.1 , -0.1 , -0.1); glVertex3f(-0.1 , 0.1 , -0.1); glVertex3f(0.1 , 0.1 , -0.1); glVertex3f(0.1 , -0.1 , -0.1); glEnd(); glTranslatef(0 , 0 , 0.1); glEndList(); } ポリゴンをミルフィーユのように重ねたものを表示したいのですが このようにやってみて、一応重なったのですが、なんとなくスマートではありません -0.1〜0.1の正方形のポリゴンを10枚重ねて表示するにはどうやったらいいのでしょうか また、その1枚1枚に別々のテクスチャを貼っていきたいのですが 御指導お願いします
- 45 名前:デフォルトの名無しさん [2007/06/06(水) 22:24:23 ]
- > ポリゴンをミルフィーユのように重ねたものを表示したいのですが
そもそもこれがわからない
- 46 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 22:32:01 ]
- glTranslatefを外に出す
for(){ glTranslatef(0 , 0 , 0.1); glCallList(hoge); } こんな感じ テクスチャーが10枚とも固定されているなら、DisplayListに 描画命令を埋め込んでもいいと思うが、動的に変更されるなら、 DisplayListは使用しないほうがいいと思う。 あと、GL_BLEND, glBlendFunc あたりを押さえておく必要があります。
- 47 名前:40 mailto:sage [2007/06/07(木) 01:27:22 ]
- >>41
>>43 なるほど。参考になりました。ありがとうございました。 新しいドライバが出ているビデオカードでの開発になると思いますので、大丈夫そうですね。
- 48 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 12:53:15 ]
- >>46
ありがとうございます テクスチャが10枚とも別のものなので 1枚1枚別のを指定しないといけなくて…そこでも躓いてしまっています DisplayListを使わないやり方ですと 頂点を1個1個書いていくのでしょうか? glbeginのところにfor文を入れたらエラーになってしまって、DisplayListを使いました
- 49 名前:デフォルトの名無しさん [2007/06/07(木) 16:20:53 ]
- > glbeginのところにfor文を入れたらエラーになってしまって、DisplayListを使いました
別にglbeginをfor文で囲ってもエラーにはならないよ。 実際の コードだしてみないと、わからない
- 50 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 17:58:43 ]
- void disp( void ) {
float i; glClear(GL_COLOR_BUFFER_BIT); glBindTexture(GL_TEXTURE_2D , texName); for(i=-0.5;i<0.5;i+=0.1){ glBegin(GL_POLYGON); glTexCoord2f(0 , 0); glVertex3f(-0.5 , -0.5 , i); glTexCoord2f(0 , 1); glVertex3f(-0.5 , 0.5 , i); glTexCoord2f(1 , 1); glVertex3f(0.5 , 0.5 , i); glTexCoord2f(1 , 0); glVertex3f(0.5 , -0.5 , i); glEnd(); glBegin(GL_POLYGON); glTexCoord2f(0 , 0); glVertex3f(-0.5 , i , -0.5); glTexCoord2f(0 , 1); glVertex3f(-0.5 , i , 0.5); glTexCoord2f(1 , 1); glVertex3f(0.5 , i , 0.5); glTexCoord2f(1 , 0); glVertex3f(0.5 , i , -0.5); glEnd(); } glFlush(); glutSwapBuffers(); } すいません…勘違いをしていて、これで表示が出来ました これに1枚ごとにテクスチャを変えていけると、なんとか出来そうなのですが
- 51 名前:デフォルトの名無しさん [2007/06/07(木) 18:45:26 ]
- そこまでできたなら、あとは、プログラミング言語の習得の問題だね
テクスチャーを配列に入れて、ループ内で、BindTextureすればいいんでないの。
- 52 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 18:51:50 ]
- その貼り付けたいものが
1枚ずつ(積み重ねているものの下〜上までで)違っていて さらに縦方向(1回目のglbegin)と横方向(2回目のglbegin)で異なっていて そこで、どう組んでいけばよいか躓いてしまいました ただ…あと少しという感じがしているので、もう少しテクスチャマッピングの項を見て勉強します。
- 53 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 03:06:58 ]
- 質問させてください
科学シミュレーションで行う温度の可視化のようなものをしようと考えています (▽こんな雰囲気) www.mathworks.com/access/helpdesk/help/techdoc/visualize/volvis_sliceplane2.jpg 表示する色の与え方についてOpenGLのサンプルを 探してみたのですが見つからず、とりあえず素人考えで 「可視化対象の変数値分布を0-1の範囲に変換」 →「HSV色空間におけるHの0度(赤)-240度(青)に割り振り」 →「HSV->RGB変換して表示」 と試してみたところ、まあまあイメージ通りのものができました・・・ が、他にもっと優れた方法やサンプルがあれば教えて頂きたく存じます どうぞ宜しくお願いします
- 54 名前:デフォルトの名無しさん [2007/06/08(金) 03:58:20 ]
- GDI、OpenGL、Direct3D、ソフトウェアの描画で2D、3Dの軽さに順位をつけるなら?
- 55 名前:デフォルトの名無しさん [2007/06/08(金) 08:48:31 ]
- >>54
環境によるが 2D、3Dとも Direct3D ≒ OpenGL >>>>>>>>> ソフトウェア描画 > GDI
- 56 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 08:49:33 ]
- 3DはOGLのほうが綺麗だろう
- 57 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 12:02:14 ]
- 綺麗とかナンセンス。どっちも大体同じこと出来るから。
- 58 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 14:01:10 ]
- 基本的にD3DとGLの速度比較ならD3Dのほうが少し軽いと思って間違いないよ
もちろん例外はあるけど最近のハードならほぼ間違いない
- 59 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 18:33:45 ]
- 理由は?
- 60 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 19:51:07 ]
- D3DはMSだから重いよ
- 61 名前:デフォルトの名無しさん [2007/06/08(金) 19:54:40 ]
- D3Dの方が軽いと見るのが普通。
- 62 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 20:50:40 ]
- 理由は?
- 63 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 20:52:04 ]
- >>53
> 「可視化対象の変数値分布を0-1の範囲に変換」 > →「HSV色空間におけるHの0度(赤)-240度(青)に割り振り」 > →「HSV->RGB変換して表示」 なんとなくこの部分は1次元テクスチャーを先に作って割り振ったほうが負荷がかからんのじゃないかと思う。 もしかしたらそうやってるのかもしれんけど。
- 64 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 21:24:17 ]
- すいません
BMPのある1色(黒)をマスクのように抜きたいのですが glBlendFunc(GL_ONE , GL_ONE );だと 後ろが極端に白くなってしまいます ただ、抜くだけにはどうすればいいのでしょうか
- 65 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 22:11:30 ]
- >62
自分でd3d/glの切り替え可能な描画エンジン組めばわかるよ
- 66 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 22:15:23 ]
- GL_ONE,GL_ONEだと加算合成。
GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHAだと普通のアルファ合成。 ちなみに一色だけで抜きたいというのであれば、 ブレンドは使わずにAlphaTestのほうが高速。
- 67 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 22:28:37 ]
- 具体的な理由が思いつかなくて逃走ですかね。
- 68 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 22:40:55 ]
- そうですね^^
- 69 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 23:01:39 ]
- >>65
どうせ環境依存だし実際にどっちが速いかはそんなに気にならないけど、 どうして D3D の方が確実に速いと思ったかにはとても興味がある。
- 70 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 23:12:11 ]
- どうこう言ってもドライバー次第だと思うけどなぁ
- 71 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 23:20:09 ]
- D3Dのドライバはかなりの共通部分を部分をマイクロソフトがライブラリの一部として提供しているのに比べ
GLのドライバは全てベンダが提供しなければならない(シェーダコンパイラでさえも!! さらに速度が最も重要視されるゲーム市場においてシェアに圧倒的な差がつけられている 結果的にどちらのドライバが信頼性、速度において洗練されるか言うまでもない
- 72 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 23:25:00 ]
- >結果的にどちらのドライバが信頼性、速度において洗練されるか言うまでもない
OpenGLと言うまでも無いな
- 73 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 23:26:58 ]
- そうですね^^
- 74 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 23:30:14 ]
- >>66
AlphaTestで色々ためしていたのですが どうも色が抜けなくて 床井さんの所では、画像の抜きたいところを透明に処理してから使ったりで やりたいのは黒(っぽい)ところを、黒ければ黒いほど透明にしたいのです RGB=000 ならαも0 RGB=111 ならαも1 といった感じで。。。
- 75 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 23:39:52 ]
- 3Dの軽さ
Direct3D>ソフトウェア>OpenGL>GDI 2Dの軽さ ソフトウェア>Direct3D>OpenGL>GDI
- 76 名前:デフォルトの名無しさん [2007/06/08(金) 23:41:06 ]
- >>71-72
まあまあ^^; ここはOpenGLスレなんだからその辺にしといてくれよ。
- 77 名前:デフォルトの名無しさん [2007/06/08(金) 23:41:52 ]
- >>74
Alha Testするには、黒とかの色じゃなくて、 アルファが重要なのはわかる?
- 78 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 23:53:49 ]
- >>77
はい。 ポリゴンに白黒のテクスチャを貼り付けているので それ自体にα値が無いのでAlphaTestが出来ないのはわかっています こういう場合はどうやって抜けばいいのでしょうか…
- 79 名前:デフォルトの名無しさん [2007/06/09(土) 00:30:25 ]
- >>78
・テクスチャー生成時に、抜きたい色のα情報をテクスチャに書き込む ・シェーダーでゴニョゴニョ(アホ
- 80 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 00:47:26 ]
- 共通のシェーダコンパイラってGPUごとの最適化が利かないんじゃなかったっけ?
- 81 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 00:51:01 ]
- 白黒のテクスチャーだったら、DSTにGL_SRC_COLORとか試してみるといいんじゃないの?
GL_DST_COLORとかあるんだっけ? まあ、自分でやってないのでどうなるかはわかんないけど。
- 82 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 01:04:52 ]
- 本当に究極までドライバの最適化を極めれば仕様上GLのドライバのほうが早くなる
何故なら全てのカードごとに最適化されたドライバを書くことすら出来るからだ 実際に固定機能時代のnVIDIAのカードのパフォーマンスはD3Dを上回った これはQuakeエンジン等のGLベースエンジンの活躍が大きな要因だろう しかしその後のAPI仕様の肥大化、プラットフォームの多様化等のせいで 個別の最適化どころかそこそこの速度と信頼性を維持するのがやっとというのが現状
- 83 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 01:30:24 ]
- 結論をいうと、本格的にやるならOpenGL。
お遊び程度ならD3D。
- 84 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 01:33:57 ]
- 本格的なら両方やっとけ
- 85 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 01:49:18 ]
- 2Dならソフトウェアのほうが軽いのか?
- 86 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 01:55:01 ]
- んなわけない
ハードウェアに依存しないから昔のマシンでもそこそこの速度で安定して動くんで使いやすいという程度
- 87 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 02:03:55 ]
- 実際OGLやD3Dに比べりゃソフトウェアの方が軽い。
- 88 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 02:05:38 ]
- そうですね^^
- 89 名前:53 mailto:sage [2007/06/09(土) 02:18:37 ]
- >>63
なるほど、1次元テクスチャですかー その辺あまり詳しくないので調べてみようと思います どうもありがとうございます
- 90 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 02:39:21 ]
- >>85
Mac のデスクトップは 2D も OpenGL で描画してるよ
- 91 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 02:46:53 ]
- ここで言うソフトウェアってのは画像描画、ブレンド、ラスタライズその他諸々をCPUでやるってこと
MacでもGLの出番はクライアント領域への描画だけ
- 92 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 02:48:41 ]
- そりゃ描画処理切り替えやハード依存を無くす為だろ
- 93 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 02:55:58 ]
- 90=92?
何が言いたいのかわかんないんだけど MacでデスクトップがソフトウェアでもGLで描画していようとも ソフトウェアレンダリングするなら速度に影響しないからどうでもいいでしょ?
- 94 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 02:58:34 ]
- ここでソフトウェアレンダリングって言うと紛らわしいな
○ソフトウェアでラスタライズ
- 95 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 03:03:21 ]
- ああ、わかった
>90はデスクトップ描画に使うくらいGLは軽いって言いたかったのかな? もしそうならすまんかった
- 96 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 03:10:38 ]
- OGLはスペック要求されるから重くなるのは必然
- 97 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 03:15:25 ]
- >>89
わかってるかもしれませんが、1次元テクスチャによる色変換は いわゆる依存(従属)テクスチャ処理になるからシェーダが必須ですよ〜。
- 98 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 03:23:39 ]
- >>91-95
何がしたいんだ?
- 99 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 03:32:43 ]
- (´・ω・`)知らんがな
- 100 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 11:07:42 ]
- >>81
glBlendFunc(GL_ONE ,GL_ONE_MINUS_SRC_COLOR); で上手く黒が消えて、白いところだけ出てきました! ありがとうございました。。。なんか涙出てきた
|

|