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落ち)
126 名前:デフォルトの名無しさん [2007/06/10(日) 21:58:30 ] >>111 オメエ、mixiで手当たり次第に、マイミク登録して、聞いていただろう >>125 え!それ知らなかった。 それってどこかに書いてある?
127 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 21:58:50 ] >>125さん できました。 本当に、ただ、そこだけだったんですね SetTextureをBeginから出しただけで、思ったとおりに出来ました これだけのことなのに、ずっと悶々ググッていました すみません、ほんと助かりました これでようやく帰れます。。。ありがとうございました・゚・(ノД`)・゚・。
128 名前:デフォルトの名無しさん mailto:sage [2007/06/11(月) 00:40:12 ] >>126 OpenGL SDKのリファレンス、glEnableのErrorsの欄にあった たぶん青本でも書いてあると思うよ
129 名前:デフォルトの名無しさん mailto:sage [2007/06/11(月) 01:01:03 ] >>126 常識だぜ
130 名前:デフォルトの名無しさん [2007/06/11(月) 17:59:31 ] >>128 青本もってねーや。webで探してみる >>129 マジ?
131 名前:≠129 mailto:sage [2007/06/11(月) 19:14:30 ] >>130 マジ glBegin〜glEndの中では、glEnableが使えないというよりはむしろ ごく少数の限られたGLコマンド以外のほとんどがエラーになるんだでよ
132 名前:デフォルトの名無しさん [2007/06/12(火) 15:55:36 ] というのはガセ
133 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 17:23:04 ] 青本より引用 Only a subset of GL commands can be used between glBegin and glEnd. The commands are glVertex, glColor, glIndex, glNormal, glTexCoord, glEvalCoord, glEvalPoint, glArrayElement, glMaterial, and glEdgeFlag. Also, it is acceptable to use glCallList or glCallLists to execute display lists that include only the preceding commands. If any other GL command is executed between glBegin and glEnd, the error flag is set and the command is ignored.
134 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 05:00:11 ] カーマックktkr ttp://www.4gamer.net/news/history/2007.06/20070612202046detail.html
135 名前:デフォルトの名無しさん [2007/06/13(水) 06:16:56 ] > マップ全体が,20GBもある一つのテクスチャ画像で覆われており, > 例えば,マップ内にある山の頂上付近の色だけを変えたり, > 岩に名前を掘り込んだりといった具合に,マップの表面を自在に > 変更することが可能。さらに,パフォーマンスや安定性には一切影響を与えないという。 すげえな。 どうやってんだ? 20Gって、VRAM足りんよな? 動的に読み込んだりして、あとはどうするんだろ・・・
136 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 21:33:09 ] カーマックのDirectX嫌いも直ったみたいだしもうWinではGL使わないかもね
137 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 20:48:42 ] OpenGLの勉強を始めたいのですがおすすめの書籍・サイトはありますか? ちなみに大学生でVisual Studioは持っていないのでUNIX環境で作るつもりです。
138 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 21:38:30 ] GLUTによる「手抜き」OpenGL入門
139 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 21:58:18 ] リファレンスなんかはOpenGL SDKをどうぞ www.opengl.org/sdk/
140 名前:デフォルトの名無しさん [2007/06/16(土) 00:32:38 ] 驚愕の事実。 GLUIはLGPLのくせにスタティックリンクしかねぇ! ソース後悔はいやづら
141 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 01:07:26 ] せっかくgluiのソースがあるんだから、 gluiを *.dll とか *.so にコンパイルすればいいんでは。
142 名前:デフォルトの名無しさん [2007/06/16(土) 01:21:51 ] >>141 おっしゃる通りなんですが、ほとんどの機能がクラスで提供されているので、事実上無理ではないでしょうか
143 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 01:23:33 ] >>140 LGPL はスタティックリンクしてもソースは公開しなくて良いんだぜ。 他人が再リンク可能なようにする必要があるだけだから、リンク前の オブジェクトファイルを同梱しておけばオーケー。ソースは隠しておけ。
144 名前:デフォルトの名無しさん [2007/06/16(土) 01:28:53 ] >>143 おおっ、トリッキーな情報さんきゅです。 確かにそんなこと書いてあった気がする。 これで恥ずかしい自コードを隠しておけそうですヽ(´▽`)/
145 名前:デフォルトの名無しさん [2007/06/16(土) 18:19:21 ] > LGPL はスタティックリンクしてもソースは公開しなくて良いんだぜ。 嘘はいけないよ、嘘は・・・
146 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 18:28:43 ] >>145 釣りするつもりならもう少し工夫したらどうなんだ? 最近少し頑張りが足りないぞ。
147 名前:デフォルトの名無しさん [2007/06/16(土) 18:56:46 ] おいおい、LGPLは動的リンクでないとLGPLになるよ。 だから、みんな、DLLにしてるのに・・・
148 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 19:09:54 ] >>147 gnu.org 逝って来い 思い込みだけで書き散らしてないで、原文をきちんと読め
149 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 19:10:06 ] というかLGPLなのにソース公開されてないの?
150 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 19:49:54 ] つうか、2007 年にもなって LGPL にソース公開義務があると 思っている人間がいたのが驚きだ…
151 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 23:12:49 ] lgplを採用するプログラム(ライブラリ)自体にはソースの公開義務はあるだろうよ… ソースの公開義務が無けりゃ、BSDとかわらんではないか… 俺は勝手にwikipediaのttp://ja.wikipedia.org/wiki/GNU_Lesser_General_Public_Licenseが正しいとか思ってるんだが、どうだろうか?
152 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 15:41:18 ] for(i=0;i<WIDTH;i++){ for(j=0;j<HEIGHT;j++){ /* test source */ glGetDoublev(GL_MODELVIEW_MATRIX, model); glGetDoublev(GL_PROJECTION_MATRIX, proj); glGetIntegerv(GL_VIEWPORT, view); glReadPixels(i, j, 1, 1, GL_DEPTH_COMPONENT, GL_FLOAT, &z1); gluUnProject(i, j, 0, model, proj, view, &x1, &y1, &z1); //スクリーン上の座標をワールド座標で取得 /* test source */ } printf(" at (%d, %d) --> ", i, j); printf(" at unproject (%lf, %lf, %lf)\n", x1, y1, z1); } スクリーン上の各ピクセルが、ワールド座標上でどうなっているのか知りたくて 上のようなソースを書いたのですが、変な値が入ってきます。 視点を<10 10 -20>において、<10 10 0>を見ているときに 左端のX〜右端のXを表示しても at (0, 256) --> at unproject (10.552285, 10.465990, -19.000000) at (255, 256) --> at unproject (9.672081, 10.465990, -19.000000) 画面の幅が縦横256なのに、こんな小さな差しか出てきません。 これだとスクリーンは左端〜右端までワールド座標中で約-0.5〜0.5の差でしかないということでしょうか gluPerspective(45.0, (double)w / (double)h, 1.0, 1000.0);はこのようにしております。 スクリーンの点から空間の点を知る方法を教えてください
153 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 15:54:22 ] スクリーン上の点を空間で表すと直線になるけどな。
154 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 16:06:50 ] すみません。仰ってることがわからないです 上のことは、私の勘違いだったかもしれません 画角を90度にして、画面も正方形で作ってみました そうすると距離が1離れているスクリーンは 左端が-1 右端が+1になりますねよね。 それで正しい値だと認識できました。
155 名前:デフォルトの名無しさん [2007/06/17(日) 17:02:30 ] >>152 とりあえず gluUnProject(i, j, 0, model, proj, view, &x1, &y1, &z1); ↓ gluUnProject(i, j, z1, model, proj, view, &x1, &y1, &z1); じゃねぇかね?
156 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 18:41:26 ] ワールド座標中でのスクリーンが欲しいときは0にすると以前教えていただきまして z1だとこの場合スクリーンより奥の値になりますよね? ここまでやって、スクリーンに向かって光線を打てると思ったのですが詰まりました…はぁ…
157 名前:デフォルトの名無しさん [2007/06/17(日) 19:42:18 ] >>156 >ワールド座標中でのスクリーンが欲しいときは0にすると以前教えていただきまして はっきりいって間違ってるよ
158 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 19:43:06 ] >>152 >これだとスクリーンは左端〜右端までワールド座標中で約-0.5〜0.5の差でしかないということでしょうか そーゆーコトです。(gluPerspectiveに与えたwとhの比にもよりますが) >gluPerspective(45.0, (double)w / (double)h, 1.0, 1000.0);はこのようにしております。 とのことなので、これはglFrustumでいえば const double t = tan(22.5 / 180 * M_PI); glFrustum( -1.0 * t * w / h, 1.0 * t * w / h, -1.0 * t, 1.0 * t, 1.0 1000.0 ); に相当しますから、nearクリック面の横幅はw/h*2tan22.5度、となります。 >スクリーンの点から空間の点を知る方法を教えてください 求められているように思えますが・・・。
159 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 19:54:32 ] 多分152さんは、前スレの915〜あたりの人ですよね。 もしいまだにnearクリップ面のことを「スクリーン」と呼んでるのなら、早く直した方がいいですよ。 独自の用語を使われると、意志の疎通以前に混乱を招きますので。 >>157 字面だけみると完全に間違ってる(笑)んですけど、 その辺の事情は前スレを見ないと分からないかと・・・。
160 名前:140 [2007/06/17(日) 20:18:51 ] ライセンススレ化してすんません。原文読んできました。 スタリンクするものはLGPLの派生物となるが、例外として、 リバエン/改変などの告知をし、完全かつ機械読み取り可能なオブジェクトコードあるいはソースコー ド(どちらかでも可) と一緒にする。 この「オブジェクトコード」がglui.libを指すのであれば大丈夫ですな
161 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 20:37:56 ] >>159 さん その節はありがとうございました。 一度他のことで時間を割かれてしまって、もう一度着手しているところです。 ご指摘もありがとうございます。手探りでやっている状態で、、、 上記の方法で、視点位置と、nearクリップ面とを結ぶ直線(レイ)を出そうとして レイを単位ベクトルにしていざ使おうと思ったのですが 今度はそれと、立方体の面との交点の算出に苦戦しています。 ここはOPEN-GLじゃない、数学のレベルの問題なので、どうにかして頑張ります。 今日は帰れそうになさそうです(´;ω;`)
162 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 21:00:36 ] >>160 >この「オブジェクトコード」がglui.libを指すのであれば大丈夫ですな 違う、アプリケーションを構成する.oファイル全てなので、 公開しないコードの部分も.oは公開しないといけない。 つまり、コードは無くても良いけどLGPLの部分が置き換え可能な状態で無ければいけない。
163 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 21:28:27 ] >>161 交差判定は面倒ですね〜。 こことか参考になるかもですよ。 ttp://ft-lab.ne.jp/cgi-bin/wiki.cgi?page=%B8%F2%BA%B9%C8%BD%C4%EA_3DCG 日曜なのに大変そうですね。 がんばれ〜。・ω・`)ノシ
164 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 21:30:40 ] >>162 が正解 LGPL 部分を自分で改変したバイナリで置き換えられる様に、.o を入手可能にする 必要がある。派生物の所持者が入手可能であれば良いから、世界に向けて公開する 必要は無いよ。
165 名前:140 [2007/06/17(日) 22:45:24 ] >>162 ,164 両氏ともありがとうございました。 オブジェクトコード=.oだったんですね(;゚Д゚) なるほど、派生物所持者が再びリンクできるようにってことですね。 >世界に向けて公開する 必要は無い バイナリといえど、ちょっと抵抗があったので安心しました。 重ね重ね感謝ですヽ(´▽`)/
166 名前:デフォルトの名無しさん mailto:sage [2007/06/20(水) 20:36:52 ] >>163 どうにか無事にレイと面の交差判定、できました! あとはそれの効率化で頑張ります。 本当にありがとうございました!
167 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 08:15:38 ] c++でもextern"C"で頑張って、 dllやらsoを使うのが簡単な気がする。
168 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 04:46:17 ] 光源の明るさを0にして描画しても真っ暗になりません。 具合的には、 GLfloat lightAmb[4] = {0.0f, 0.0f, 0.0f, 0.0f}; GLfloat lightDif[4] = {0.0f, 0.0f, 0.0f, 0.0f}; GLfloat lightSpe[4] = {0.0f, 0.0f, 0.0f, 0.0f}; glLightfv(GL_LIGHT0, GL_AMBIENT, lightAmb); glLightfv(GL_LIGHT0, GL_DIFFUSE, lightDif); glLightfv(GL_LIGHT0, GL_SPECULAR, lightSpe); GLfloat mateAmb[4] = {1.0f, 1.0f, 1.0f, 0.0f}; GLfloat mateDif[4] = {0.0f, 0.0f, 0.0f, 0.0f}; GLfloat mateSpe[4] = {0.0f, 0.0f, 0.0f, 0.0f}; glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT, mateAmb); glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, mateDif); glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, mateSpe); にして描画すると、薄暗く (RGB=0.1, 0.1, 0.1 ぐらいの暗さ) 描画されてしまいます。 原因がわかる人おりますでしょうか? 環境は、GeForce 7900 GS です。
169 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 10:16:44 ] GL_LIGHT_MODEL_AMBIENT
170 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 11:42:49 ] >>169 ありがとうございます。原因わかりました。 デフォルトで環境光 0.2 が加わるなんて、知りませんでした。
171 名前:yd [2007/06/25(月) 19:05:50 ] だれかいますか?
172 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 19:09:03 ] (@u@ .:;)ノシ
173 名前:yd [2007/06/25(月) 19:20:10 ] こんち
174 名前:yd [2007/06/25(月) 19:21:49 ] (x, y) = (0 + 0.557 * cos( 90 ), 0 + 0.557 * sin(90)); をFor文で回したいんですけどうまく逝きません;;
175 名前:yd [2007/06/25(月) 19:31:25 ] 円上にポイントを64個、均等に置きたいんですm(__)m
176 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 20:13:16 ] これはひどいマルチ
177 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 21:16:28 ] >>175 int i; float a; const float b = 3.1415926535897932384626433832795028*2/64; glBegin(GL_POINTS); for(i = a = 0; i < 64; i++, a += b) glVertex2f(cosf(a), sinf(a)); glEnd();
178 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 22:55:22 ] 足し算は駄目だろ…
179 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 00:13:33 ] >>178 はあ?
180 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 00:31:45 ] >>179 誤差が蓄積するからって言う意味だろ。
181 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 00:45:55 ] >>180 でも差は、6.283185-6.283182=0.000003だけどな。
182 名前:yd [2007/06/26(火) 04:01:08 ] ありがとうございます。早速試してみますm(__)m
183 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 04:04:36 ] どういたしまして
184 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 00:20:17 ] フィールドシーケンシャル 3DをOpenGLで実装したいのですが、 方法はさておき、左右の画像を1/2に間引きして交互に合成すれば いいのでしょうか。こんな感じに 右右右右右右右右右右右右右右 左左左左左左左左左左左左左左 右右右右右右右右右右右右右右 (繰り返し) 左左左左左左左左左左左左左左 資料があまりないので確証がとれません。どこかにありませんか。 英語サイト可です。
185 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 00:51:01 ] 立体視の話?
186 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 00:58:43 ] そうです。 例えば、 640x480右画像 640x480左画像 ↓ 奇数行は右画像から 偶数行は左画像から ↓ 640x480の(裸眼では見るに堪えない)画像 でいいのでしょうか。それをOpenGLでやりたいんですが。もちろん動画です。
187 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 01:28:29 ] あなたがお使いのフィールドシーケンシャル方式のデバイスの 仕様に沿った形で画像データを渡せばよろしいかと思います。
188 名前:yd [2007/06/27(水) 12:11:18 ] 円周上にうたれた点に対して、1個飛ばしに円弧で結んでいきたいんですが 直線ニナら結べるんですけど、円弧だとどうアプローチしていいかわかりません やさしい人教えてください。
189 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 21:25:16 ] ニナがキモイ
190 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 21:44:06 ] 円周上の点を円弧で結んだら1個飛ばしとか関係なく全部の点通るんじゃね? それはともかくOpenGLでやるなら細かい直線に分けて書く それも面倒ならgluPartialDisk ニナって誰?
191 名前:Light [2007/06/27(水) 22:26:40 ] 脳の視覚システムを研究している者です。 リンク先のような画像をOpenGLで作製したいのですが、うまくいきません。 en.wikipedia.org/wiki/Image:Monocular_rivalry.png いまのアルゴリズムは、赤線を描いた後、緑線を描いているんですが、 それだと上描きしてしまうことになるので、リンク先の画像のように、 重なった部分が混ざり合ってぼけた感じになりません。 また、赤と緑を別々に描くと、僕のiMacだと後の方に描いた線が バチバチします。計算量が無駄に多くなってしまっているのかもしれません。 何か良い解決方法はないでしょうか? 閃いた方、ぜひぜひご教授ください。
192 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 00:22:00 ] 混ぜるのは色のアルファを指定してBlendしてくれ ブレンドについてはGL_BLENDとかglBlendFuncで調べれば出てくるはず パチパチというのはよく分からないがZ比較してるんでないかい? glEnable(GL_DEPTH_TEST)をやってたらglDisableにしてみれ あとこのレベルの質問はくだすれOpenGLスレに書いた方が適切と思われる
193 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 14:35:22 ] 同業界人かよ パチパチはvsyncに同期してないか、 ダブルバッファリング関係かどちらかかと思われる
194 名前:Light [2007/06/28(木) 23:39:57 ] >>192 & 193の方へ 回答、ありがとうございます。 GL_BLENDは可にしていたんですが、glBlendFuncのパラメーターが良くなかった ようです。glBlendFunc( GL_SRC_ALPHA, GL_ONE );でうまく色を融合できました。 バチバチは、glutIdleFunc( idle ); を入れると起こってしまいます。 ただし、idle関数の中身は、glutPostRedisplay();です。 glutSwapBuffers()を使っています。 もう少し自分でやってみて、また判らなければ「くだすれOpenGLスレ」に 投稿したいと思います。
195 名前:デフォルトの名無しさん [2007/07/03(火) 02:15:15 ] 手抜きOpenGlにあるサンプルが起動しません。 どうしたらいいのですか?
196 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 02:44:55 ] >>195 どういうふうに起動しないのよ? 環境わからんからなんとも言えんけど、GLUTは適切にインストールされてる?
197 名前:デフォルトの名無しさん [2007/07/03(火) 08:25:16 ] 【派遣ネガティブ根性チェック】 3つ以上、チェックがつけばアナタの性格はひん曲がっており、 ネガティブ負け組派遣人生を歩んでいます。 □派遣先正社員の作った糞開発ツールはたとえ腐っててもマンセーして使う □派遣先の人事権のある社員の意見はたとえ間違っていてもマンセーする □昼食は必ず派遣先の社員と行くべきだ □自分の仕事で問題が発生しても解決するのは自分の仕事ではない □派遣先から「いつまでもここで仕事してくださいね(安い金でw)」と言われて嬉しい □自社で仕事なんてできるわけがない □派遣労働の問題点の話題が出ると感情剥き出しにして反論する □派遣労働の問題を指摘する人は嫌いだ □派遣先には仕事だけでなくプライベートについてもグイグイ引っ張って欲しい □奢ってくれる派遣先正社員を尊敬する □自分の月額金額を知らないのは当然だ、単金を聞いてはいけない □派遣先正社員より自分の生涯収入が低いのは当然だ □チビは派遣先にかわいがってもらいやすから派遣には有利だ
198 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 12:33:07 ] プログラマー板でやれ
199 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 12:56:45 ] >>198 文句があるなら派遣を辞めてから言え
200 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 15:51:08 ] HaskellでOpenGL使ってる人いる?
201 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 18:44:55 ] いらない
202 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 18:56:57 ] 俺もいらね
203 名前:デフォルトの名無しさん [2007/07/03(火) 21:35:56 ] OpenGLなんて単独で使うもんだ 余計なもんなぞ糞
204 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 18:55:12 ] 何がいらないのかまったくわからないのですが
205 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 19:12:14 ] そうですか
206 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 19:48:52 ] >200-202の流れにはワラタけど >203は全く意味がワカランなぁ・・・ OpenGL単独で一体何ができるってんだか。肝心の絵すら出ないよw
207 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 20:07:38 ] OpenGLが自我をもって動き出す 行く先も分からぬまま
208 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 20:40:07 ] 行く先と言えばLongsPeakって出るの今月だっけ? ほんとに出るのかな…
209 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 21:58:55 ] >>206 ヒント 描画ロジックの分離
210 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 22:35:51 ] >>209 …描画ロジックを分離するとOpenGL単独でいけるんだ。 …へェ。
211 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 22:53:16 ] 俺もOpenGL単独で使いたい! 極意を教えてください!!
212 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 23:00:40 ] メンテナンス性を考慮してできるだけOpenGL単独になるように設計するだろ、普通
213 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 23:20:20 ] >>200 Haskellみたいな純粋に近い関数型言語ってよく知らないんだけどさ、 OpenGLみたいなStateMachineとの相性って悪くないの? あれかな、モナドとかいうやつを使ってむにゃむにゃするのかな?
214 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 00:09:52 ] >>212 言語との組み合わせでどう?といわれているのに 単独とかわけの分からないこと言ってるから突っ込まれてるんだろ
215 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 01:05:16 ] >>214 エスパー乙
216 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 01:20:37 ] >>204 HaskellでOpenGL使ってる人
217 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 00:10:34 ] ウィンドウとレンダリングコンテキストとフレームバッファがひとつに くっついているのって扱いにくくないですか? スレッドにカレントコンテキストを設定するのもグローバル変数のようで プログラムが複雑になるような気がします。
218 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 00:40:14 ] OpenGLのせいではありません。M$に文句言ってください。
219 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 01:23:50 ] D3Dはそのへんちゃんと作ってるのがムカつくなw
220 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 21:19:22 ] そうか? D3DでもDeviceは一個しか作れんし、結局グローバル変数にしちゃわない? デバイスを使用する関数にいちいち渡してたらそっちの方が複雑になるな あとは次バージョンのOpenGLにご期待ください
221 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 21:41:58 ] >D3DでもDeviceは一個しか作れんし 二個以上作れるしデバイスのAPIが複数スレッドからの 呼び出し可能にするオプションもあるんだなこれが。 ゲームはともかくツールとか作る時には未だにwgl*の適切な取り扱いがよーわからん。
222 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 21:55:33 ] そうなのか、昔やった時は1個しか作れなかったからそういう物だと思ってた 確かにツールとか複数ウィンドウに描画する場合はコンテキストの管理が面倒だな 設定は独自管理にしてコンテキスト切り替え時に必ず設定するようにするのがいいのかな しかしマルチコンテキストの場合は何が共有できるのか分かりづらいのが困る… これが嫌でpbuffer諦めてFBOにしたしな
223 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 11:40:57 ] 内部で OpenGL を使うライブラリを作成するときに,ユーザーが 別に OpenGL を使っている可能性があるからライブラリの関数を 呼び出すごとにコンテキストの退避,切り替え,復元をしなけれ ばならないから非効率
224 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 20:53:03 ] それはそのライブラリの仕様が悪いだけのような…
225 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 01:50:28 ] ライブラリの作り方をずっと考えてきたがうまいやり方が思いつかなかった。 OpenGL をライブラリ内部に隠蔽してユーザと同じスレッドで動かすライブラリ の場合,ユーザが設定するコンテキストの影響を受けてもいけないし影響を 与えてもいけない。 結局ライブラリの関数に入ったときにこっそりコンテキストを切り替えて 関数から出るときに元のコンテキストに戻す方法しか思いつかなかった。
226 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 15:32:06 ] OpenGL 3.0 は D3D10 とほぼ同じ API にしてくれないかな。 そのほうが学習も楽だし,GPU ベンダーも楽になるのに。