OpenGLスレ Part11 ..
[2ch|▼Menu]
348:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/10/18 00:50:11
オフスクリーンの DIB にOpenGLで描画してビットマップ参照しれ

350:デフォルトの名無しさん
07/10/18 16:46:28
>>348
ありがとうございます、解決できました

351:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/10/20 17:44:18
要はこういうことをやりたくて
URLリンク(home.student.uu.se)

image planeのところをどうやったらいいのか四苦八苦しています


353:デフォルトの名無しさん
07/10/20 17:52:30
3次元テクスチャを並行投影ってどういう状態?

そのコードだと、サイコロの各表面に2次元テクスチャを貼り付けてるのと大差ない気がするが。
3次元テクスチャの各表面を貼り付けてるだけで、内部は描画されていないが、そのへんは理解してるか?

354:デフォルトの名無しさん
07/10/20 18:13:17
その辺は理解しています。

サイコロの各面から、内部に向かってレイを放ってテクスチャのピクセル色を決定して(フラグメントシェーダ)
それを貼り付ける、といったことをしようとしてこうなっています。

URLリンク(www.uploda.org)

これは0〜64までの3次元テクスチャに
4〜60まで、テクスチャ在りにしたものを、45度程度傾けたものなのですが
テクスチャがある部分を内側になればなるほど、緑〜赤のグラデにしたものです。

6面全体に一部分だけが表示されてしまって、立方体の形状が出てこなくて…


355:デフォルトの名無しさん
07/10/20 22:57:00
>>351
各頂点にテクスチャ座標の0と1は渡ってるよ。
ActiveTextureは余計な気がするけどまぁいいか。

356:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/10/20 23:30:55
よく知らないんだけどさ、文法上はforとか記述できるとしても、
実際はループ回数やテクスチャフェッチ回数には上限があるんじゃないの?
最新のグラフィックスカードを使えば、実行結果が変わったりとかー。

358:デフォルトの名無しさん
07/10/20 23:33:57
吐き出されているエラーが明らかにハードウェア側のことなのでそうだと思うのですが
このエラーに関する記述がWEB上に4つほどしかなくて…
URLリンク(developer.nvidia.com)
このエミュレーターでどうにかなるんじゃないか?と英語であったのですがそれを起動しても変わらず

nvidiaのカード買うしかないのか…お金ないや

359:デフォルトの名無しさん
07/10/21 01:58:33
358ですが、シェーダを弄くって
テクスチャの投影部分ではなく、シェーダーで反復回数が足りないせいだと判明しました。

原因はAtiだからだと思います。for文をまわすたびにレジスタが使用されているのか、、、


360:デフォルトの名無しさん
07/10/27 04:03:52
どのprofileのフラグメントシェーダを使うかにもよるがfor文はループ展開されてたりするよ。

何をしようとしているのかよくわかってないけど、GPUレイトレで3次元テクスチャをボリュームレンダリングするなら、
何故画面の各ピクセルからレイを飛ばさないの?

361:デフォルトの名無しさん
07/10/27 04:59:27
ATIのカードだとCgでは事実上arbvp/arbfp以外の選択肢がないから
動的なループ、分岐やら新しい技術が使用できないのがきつい、というか終わってるね

最近触ってないけどGLSLだとその辺どんな感じなの?

362:デフォルトの名無しさん
07/10/27 17:15:42
>>360
画面からするとバウンディングボックスとの交差判定が必要で
ものすごい遅くなっていたのです。

実際にarbvp1 arbfp1が選択されていました。

ATIしかない環境でCgを選択したのがマズイのですね…
nVidiaを購入するのに…10万か…お金が。。。ない

363:デフォルトの名無しさん
07/10/27 17:47:04
ATIでもX1000系以降ならGLSL使えるよ
CgでもプロファイルのglslvとglslfでGLSLにコンパイルして使える
…が、使ったことはないしLatestProfileでも出てこないのであんまりお勧めはできないかも
つかGeForceで10万って何買うつもりだよwwww

364:デフォルトの名無しさん
07/10/27 17:50:30
ぁ、ぃぇ
PCそのものを買わないといけなくて、結局10万くらい掛かるっていうことです。

glslv glslfについてちょっと調べてみます

365:デフォルトの名無しさん
07/10/27 18:18:35
glslプロファイルは去年触ったけどnvidiaでは問題なく動くけど
ATIのドライバではコンパイルできないソース吐くから使うのあきらめたな

あれからだいぶ時間たってるからその辺直ってるといいね

366:デフォルトの名無しさん
07/10/27 19:19:53
OpenGL3の続報がなかなか来ないな

367:デフォルトの名無しさん
07/10/28 01:24:13
すいません質問させてください
openglのプログラムのビルドで、error C2381: exit' : 再定義〜とエラーが出てしまいます
何かstdlibとglutが関係ありそうなのですが、よくわかりません
解決策がありましたら教えてほしいのですが

368:デフォルトの名無しさん
07/10/28 06:32:34
>>367
includeの順番入れ替えてみ

369:デフォルトの名無しさん
07/10/28 06:54:27
いまさら気づいたんだけどGL関数群の日本語訳manあったんだねぇ・・・orz
URLリンク(man.sourcentral.org)

370:デフォルトの名無しさん
07/10/28 12:42:06
367です
#include<stdio.h>
#include<cstdlib>
#include<GL/glut.h>
にしたら、解決しました

理由はわかりませんが・・・ありがとうございました

371:デフォルトの名無しさん
07/10/30 16:12:14
学校の課題でOPENGL使ってなんか作らないとダメなんだけどいい感じのサンプルない?
インベーダーとかハノイとかルービックとか。。。
誰かおせーて

372:デフォルトの名無しさん
07/10/30 16:53:14
なんだ、まぁ頑張れ。 とにかく頑張れ。

373:デフォルトの名無しさん
07/10/30 17:28:53
>>371
OpenGLはあくまで動かすための道具なんだから基本は自分でできなきゃ
というか、たぶん基礎を調べるための課題だろ
がんばれ

374:デフォルトの名無しさん
07/10/30 17:44:37
GLSLとCgどっちを使うべき?DirectXは使わない.
なるべくハード依存したくないならGLSL?

375:デフォルトの名無しさん
07/10/30 18:22:17
>>371
超初心者スレに同じ質問があるからそっちみれ

>>374
GLSLはWindowsではIntelGPUで使えない。Macなら使えるがLinuxとかは知らん
あとRadeonとかでもドライバが古いと酷いことになる
CgはGL_ARB_vertex_programとかGL_ARB_fragment_programのアセンブリシェーダにコンパイルできるので
SM2.0に対応してればIntelでもRadeonでもつかえる。もちろんGeForceなら最新機能も使える
ただし配布するには別途ランタイムも配布する必要があるし、プロファイルによっては機能制限もある
あと書き方の違いもあるんで好みでどうぞ。
俺はCgの方が好きだがGLSLのランタイム不要な点も捨てがたいな

376:デフォルトの名無しさん
07/10/30 19:17:12
なんでCgを標準にしなかったんだろうな
GLSLをプッシュしておきながら結局撤退した3DLabs死ねよ

377:デフォルトの名無しさん
07/10/30 19:17:53
俺はインテル製はsm2.0に対応しててもfboやarb_fragment_shadow、
アンチエイリアシング、その他諸々が使えないから最初から無視してるな

378:デフォルトの名無しさん
07/10/30 19:22:22
>>375
なるほどCgの方がハードには柔軟ですね

379:デフォルトの名無しさん
07/10/30 23:59:22
RGBで取り込んだ画像データを表示したいのですが
何か関数は用意されてるんでしょうか?

380:デフォルトの名無しさん
07/10/31 01:28:04
glDrawPixels

381:デフォルトの名無しさん
07/11/01 01:17:23
ネットにあるOpenGLのサンプル書いて遊んでいたんですけど,普通に実行できます.
でも3Dデスクトップ効果の Compiz を起動させて実行すると,描画ができません.
窓枠がでなかったり色とかも変だし.
これって一緒には使えないものなんでしょうか?
使えるとすれば何かおまじないのようなものを書かないといけないとかあるんでしょうか?
教えてください.

382:デフォルトの名無しさん
07/11/01 02:00:05
グラボのドライバが最新でも駄目ならVISTAを窓から(ry

383:デフォルトの名無しさん
07/11/01 02:12:53
compizはvistaじゃないから・・・
compiz起動しながらOpenGLのアプリ動かしても
俺の環境では問題ないなー
どのサンプル?

384:デフォルトの名無しさん
07/11/01 09:40:01
板違い
犬糞板池

385:デフォルトの名無しさん
07/11/01 22:08:00
別にここでもいいだろ

386:デフォルトの名無しさん
07/11/02 17:04:12
opengl 3d絵画の初心者用サンプルプログラムが多く置いてあるサイトありませんか?
解説もついているとありがたいです

387:デフォルトの名無しさん
07/11/02 18:46:27
(#^ω^)

388:デフォルトの名無しさん
07/11/02 20:30:16
絵画とはまた斬新な

389:デフォルトの名無しさん
07/11/03 11:33:46
OpenGLで、絵画を書くのって難しいんじゃないの?

そういうシェーダーを書かないといけないような。
水彩シェーダーは、前に見かけた気がするが、
油絵ってみたことないな・・・

390:デフォルトの名無しさん
07/11/03 11:36:45
>>376
3DLabsをせめないで。
すべてにおいて糞なクリエイティブを呪ってください。

391:デフォルトの名無しさん
07/11/03 13:55:14
クリエイティブが3DLabsを駄目にした.
そしてWildeCatは死んだ,あのボードも波乱だよなIntergraphが死んだりして

392:デフォルトの名無しさん
07/11/04 04:53:55
glDisplayFuncで指定した関数で
6000点ほどの頂点を取ってるのですが
起動して描画まではしてくれるのですが動作がとまってしまいます。
何か解決方法はないものでしょうか

393:デフォルトの名無しさん
07/11/04 11:04:59
boxとかじゃなくpointで描画すれば60万点くらいは描けるよ

そういうのじゃないか

394:デフォルトの名無しさん
07/11/05 00:23:50
>>392
>glDisplayFuncで指定した関数で
glDisplayFuncって何。glutDisplayFuncのこと?

>6000点ほどの頂点を取ってるのですが
頂点を取る、って何。意味不明。

>起動して描画まではしてくれるのですが動作がとまってしまいます。
動作が止まる、って何。意味不明瞭。
単に再描画がされないってだけなら、glutPostRedisplay()でも呼んでみれば。

>何か解決方法はないものでしょうか
ある。

  「正しい用語を正しい用法で使うこと」 これを必ず守れば良い。

なんでこれが解決方法なのか?の説明は面倒なので省く。
しかし、これを常に守る事を心掛けていれば、技術的な問題のうち半分以上は
君自身で答えを見つけられるはずだ。これはマジな話。

395:デフォルトの名無しさん
07/11/05 00:48:53
Kusakabe(void)論法みたいだが
>>394の言うことは確か。

3D絵画とかじゃ当たらないし、状況を文字よりもキャプったりソース上げた方が確実。


396:デフォルトの名無しさん
07/11/05 04:25:07
void氏は相手のバカの壁より常に一歩外側でしか喋らないからな。
横で見てる分には楽しめるんだが。

397:デフォルトの名無しさん
07/11/05 21:14:48
ということにしたいのですね。

398:デフォルトの名無しさん
07/11/05 21:42:43
そんな感じw

399:初心者
07/11/05 23:33:29
はじめまして。プログラミングのことについて初心者です。
次のことについてどなたか教えていただけないでしょうか。

OpenGL+glutでシミュレーション結果を表示しようとしています。
VC++で作成し、コンパイルエラーはなかったのですが、実行してみると
何も起こらずに"終了にはキーを押してください"というような画面のみでした。
しかるべき場所にそれぞれのライブラリなど置いたつもりですが...
どのような原因が考えられるでしょうか。

400:デフォルトの名無しさん
07/11/05 23:41:43
ソース

401:初心者
07/11/05 23:49:25
すみません、わかりません。

402:デフォルトの名無しさん
07/11/05 23:52:46
その作成したプログラムのソースファイルを見せろという意味だ

403:デフォルトの名無しさん
07/11/06 00:07:18
デバックしても原因分かんないの?

404:デフォルトの名無しさん
07/11/06 00:34:13
GLUTのメインループに入らないで、プログラム終了しちゃってるんじゃないの?
VisualStudioならデバッガが使いやすいし、最低限printfデバッグくらいはするべきだ。

405:デフォルトの名無しさん
07/11/07 01:29:21
>400-402
ふいたw

406:デフォルトの名無しさん
07/11/12 07:43:46
texture座標の自動生成を使うと
その前に使ったglColorの値がtextureの色と混じってしまうんだけど
glColorの値の影響を受けないようにするにはどうしたらいいですか

407:デフォルトの名無しさん
07/11/12 08:42:15
glColor を白色にしとけばいい

408:デフォルトの名無しさん
07/11/12 09:58:58
テクスチャ座標の自動生成とは関係なくて、
単にテクスチャ色とglColorの色が乗算(GL_MODULATE)されてるだけですねん。
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
を実行してやると、テクスチャの色だけが描画されるようになるよ。

409:デフォルトの名無しさん
07/11/12 18:01:14
ありがとー
できました

410:デフォルトの名無しさん
07/11/12 19:31:27
FreeBSD6.2R, Mesa 7.0.1をつかっているのですが
プログラム自体は動くのものの、実行時に

libGL warning: 3D driver claims to not support visual 0x4c

とでるのが気になります
どうすればいいんですかね?

411:デフォルトの名無しさん
07/11/12 20:22:06
該当のglvisualをサポートしてないってだけだからwarningってだけ。
本気でやるならデバイスドライバをハックしてみよう。
もっともgpu側がサポートしてなかったらどうしようもないけどさ。

412:デフォルトの名無しさん
07/11/13 22:18:58
カーマック続報
URLリンク(www.technobahn.com)

413:デフォルトの名無しさん
07/11/13 22:52:54
ほとんど自力というのがまたカーマックらしいな

414:デフォルトの名無しさん
07/11/17 01:05:22
OpenGLの日本語リファレンスマニュアルってどっかでダウンロードできませんか?
本買わないとだめ?

415:デフォルトの名無しさん
07/11/17 01:14:39
駄目

416:デフォルトの名無しさん
07/11/17 01:26:24
やっぱりだめですか。
講座サイト漁ろう。

417:デフォルトの名無しさん
07/11/17 12:20:43
赤本の英語版なら読めたんじゃなかった?公式で

最新かどうかわからんけど

418:デフォルトの名無しさん
07/11/18 00:30:04
たしか読めるのは古い

419:デフォルトの名無しさん
07/11/20 02:49:52
古いのでよければこちらへ。
URLリンク(www.opengl.org) (v1.1)
URLリンク(www.opengl.org) (v1.0)
以前はここで pdf が落とせたような気がするが、今は html 化されてる模様。

420:デフォルトの名無しさん
07/11/20 03:52:33
赤本はともかく、古い青本読むくらいなら最新の仕様書を読んだ本がいいね

421:デフォルトの名無しさん
07/11/20 21:50:04
視点移動したらオブジェクトの一部が画面に現れないことがあるのですが
どうすれば解決できますか?

422:デフォルトの名無しさん
07/11/20 22:33:54
>>421
オブジェクトが入るような視点にする

423:デフォルトの名無しさん
07/11/20 23:02:42
znear,zfar

424:デフォルトの名無しさん
07/11/22 12:07:50
objデータがバカでかいので
視界に入ってる領域だけ読み込んで表示できるようにしたいです


どうすればいいですか><

425:デフォルトの名無しさん
07/11/22 12:27:02
データのフォーマットによるが、視界に入ってない領域を読み飛ばせばいいのでは

426:デフォルトの名無しさん
07/11/22 13:02:58
視界に入ってるかどうかの領域はどうやって決めたらいいんですか><

427:デフォルトの名無しさん
07/11/22 13:13:22
頂点単位ならLookAtとかPerspectiveに渡してるパラメータから視錐台を求めてそこに頂点が入ってるかどうか判別
ポリゴン単位なら視錐台とポリゴンの交差判定
フラグメント単位ならオクルージョンクエリーでも使ったら?

428:デフォルトの名無しさん
07/11/22 13:41:33
ありがとうございます><

>>パラメータから視錐台を求めてそこに頂点が入ってるかどうか判別
>>ポリゴン単位なら視錐台とポリゴンの交差判定
これやるためには、バカでかいデータをメモリに載せないといけない気がするのですが載りません><

視錐台に入る座標をまとめてデータにして、それをファイルポインタで読み込むときに

1頂点読み込み→視錐台内の座標か判定→視錐台内ならメモリに格納
そんな流れになるのでしょうか><

オクルージョンクエリーという言葉初めて聴きました!見てみたら難しそうでした!


429:デフォルトの名無しさん
07/11/22 16:39:36
オクルージョンクエリーは冗談だ。その用途では役に立たんと思うので忘れてくれ

やり方としてはそれでいいが、実際には1頂点ずつやってたら大変だわな
モデルデータを前もって適当に一度にメモリに載せられる範囲に区切っておいて
その範囲と視錐台が重なってるかどうか判定して重なってれば読み込む、
という感じである程度の頂点数を一気に処理した方が速いだろうな

430:デフォルトの名無しさん
07/11/22 16:44:46
モデルデータのバウンディングボックスをあらかじめ計算しておく

431:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/11/22 21:30:14
trans_x、trans_y、trans_zにはその平面上のどこか1点を与えてやればいいんでないの?
回転はよくわかんね

というか平面を描くなら立方体を変形させるより
平面上の4点とかを適当に求めてポリゴンで描いた方が楽だと思う

433:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/11/28 00:22:43
現在3Dゲームを製作中なのですが、学校から持ち帰ったものを家で動かそうとすると

1>fatal error C1900: 'P1' Version '20060201' と 'P2' Version '20050411' が一致しません。
1>LINK : fatal error LNK1257: コードの生成に失敗しました。

というエラーがでてきます。

思い当たる節としては
・「GLee」を入れてみた

これぐらいです。どなたか解決策をお願いします。

435:デフォルトの名無しさん
07/11/28 01:30:12
「動かそうと」具体的に何をどうしたのか
「GLeeを入れる」とは具体的にどのファイルをどこに置いたのか

436:デフォルトの名無しさん
07/11/28 02:02:36
>>434
学校と家のコンパイラのバージョンが違うんでないか
全プロジェクトをリビルドしてみ

437:デフォルトの名無しさん
07/11/28 07:36:28
>>435
「GLeeを入れる」というのは
GLee.cをスタティックライブラリにして追加し
glBindBufferARBなどの関数を使っていることをいいたかったんです。

>>436
リビルドしてみましたが、同じエラーでとまってしまいました。

438:デフォルトの名無しさん
07/11/28 11:35:57
>>434
ググったがVC++の環境がおかしくなってるみたいだな
解決策としてはVC++2005のSP1を入れてみる
ダメならVC++を再インスコ
それでもダメならOSから再インスコするくらいかな

439:デフォルトの名無しさん
07/11/28 21:23:26
>>438
VC++2005のSP1を入れたらなおりました!!!!

課題の締め切りが明日までだったので、本当にうれしいです!!!
今日はこのうれしさをばねに、徹夜でやろうとおもいます。

440:デフォルトの名無しさん
07/11/29 00:44:32
嬉しさをバネにって初めて聞いたww

441:デフォルトの名無しさん
07/11/29 01:54:54
"嬉しさをバネに" の検索結果 約 1,480 件中 1 - 10 件目 (0.39 秒)
URLリンク(www.google.co.jp)

結構出てきて吹いたw
さすがゆとり。
言葉の意味なんて考えたことないんだろうな。

442:デフォルトの名無しさん
07/11/29 02:13:48
嬉しさのときは何て言えばいいの?
嬉しさを追い風にして?


443:デフォルトの名無しさん
07/11/29 02:25:04
こういうの突っ込む奴は言い回しに気を取られて言葉の意味なんて考えたことないんだろうな

444:デフォルトの名無しさん
07/11/29 07:39:58
喜びは 糧に でいーんでねーの。

445:デフォルトの名無しさん
07/11/29 08:44:14
糧にするのも大概はネガティブなものだと思うが。
〜をバネには単なる反発、糧には消化して教訓とするって感じじゃないか。

446:デフォルトの名無しさん
07/11/29 12:31:40
名誉返上、汚名挽回を思い出した。

447:デフォルトの名無しさん
07/11/29 14:08:41
嬉しさを肥やしにして

448:デフォルトの名無しさん
07/11/29 20:52:43
喜びなら「さめないうちに」とつなぐのがいいのでないの?


449:デフォルトの名無しさん
07/11/29 21:00:13
確信犯

450:デフォルトの名無しさん
07/11/30 04:09:52
>>449
さすがにその誤用をつっこむやつは最近なかなかいないが。

451:デフォルトの名無しさん
07/11/30 10:05:47
役不足

452:デフォルトの名無しさん
07/11/30 22:52:52
役不足だと言っているッ!

453:デフォルトの名無しさん
07/11/30 23:18:12
流れ断ち切って悪いけど質問。

モデルビューの行列から視点、注視点、アップベクトルを求めたいんだけどいい方法無い?
gluLookAtの逆バージョンみたいなの

もう1つ質問で
頂点にウェイトをつけたいんだけど、OpenGLだとどうやってやるんだ?

454:デフォルトの名無しさん
07/12/01 00:26:46
>>453
モデルビュー行列の左上3×3の各行が
それぞれ右方向ベクトル、上方向ベクトル、逆視線ベクトル。
モデルビュー行列の逆行列の4列目が視点。

のような気がする。

455:デフォルトの名無しさん
07/12/01 01:52:18
>>453
>頂点にウェイトをつけたいんだけど、OpenGLだとどうやってやるんだ?
 
いまどきならシェーダを書く

456:デフォルトの名無しさん
07/12/01 10:37:09
>>454
どうせ逆行列求めるなら、1〜4列目がそれぞれ
 右、上、逆視線、視点
でいいと思ったw

あと頂点ウェイトは
 glVertexWeightfEXT
かな。

457:デフォルトの名無しさん
07/12/01 11:58:24
ARB_vertex_blend拡張はATIにしかなく
EXT_vertex_weighting拡張はNVIDIAにしかない
頂点ブレンドは汎用的な方法があんまりないから
シェーダでやるのが一番無難だろうな


458:デフォルトの名無しさん
07/12/01 13:32:05
>>457
NVIDIAもARB_vertex_blend対応してるぞ。

459:デフォルトの名無しさん
07/12/01 14:20:37
>>458
まじか
うちのGeForce8600GTでは無いみたいなんだけど…
もしかしてExtensionStringに出てこないけど使えんの?

460:デフォルトの名無しさん
07/12/01 17:03:05
>>459
ソースはOpenGL Extensions ViewerのDatabase。
ちなみに8600は項目がなくてわからん。

8600Mならあるんだがなぁ

461:デフォルトの名無しさん
07/12/01 17:12:26
あ、原因わかったかも。
OSのフィルタでWindowsに絞ったらNVIDIA全滅した。
MAC使えって話っぽい。

462:453
07/12/01 21:56:23
>>454-461
サンクス

う〜ん、モデルビュー行列から完全に元には戻せないのかな
注視点を求めたいんだけど、さっぱりわからない

ウェイトの件はシェーダを使うのが無難みたいですね

463:デフォルトの名無しさん
07/12/01 22:07:25
注視点は求まらんよ
見てる方向は求まるけど、その方向ですぐ目の前から無限遠までのどの点を見てるのかは失われる
奥行きをz=1とか適当に決めちゃって、そこを注視点ということにするくらいか

464:453
07/12/02 01:39:56
やっぱり無理なのか
残念だけど諦めよう

465:デフォルトの名無しさん
07/12/02 13:03:51
2Dテクスチャを2^nに限定しない関数ってありましたよね。
それの1Dテクスチャ・3Dテクスチャのものってありますか?

466:デフォルトの名無しさん
07/12/02 18:16:40
GL_TEXTURE_RECT_ARBなんかのことか?
それなら2D版しかない
GL_ARB_non_power_of_two拡張があれば
特に何も考えずに1Dでも2Dでも3Dでも2の乗数じゃないサイズが使えるよ

467:デフォルトの名無しさん
07/12/02 18:51:47
おお、知らない言葉が出てきた
ググります!

468:デフォルトの名無しさん
07/12/02 22:55:54
GL_ARB_non_power_of_twoって環境によってはクソ遅いんじゃなかったっけ。
標準にはなってるけど当然古いカードだと使えないし。なんだかなーという感じだ。

469:デフォルトの名無しさん
07/12/02 23:07:26
Radeon系だとクソ遅いらしいね。。
あとRadeonのドライバはOpenGLのバージョン2以降返しときながらGL_ARB_non_power_of_two対応してないこともあったり。

470:デフォルトの名無しさん
07/12/03 01:19:37
nvidiaだと快適サクサク
8600GT。

つーかシェーダ組んだときのRadeonのクソっぷりにビックリした
俺、今度からNvidia住人になるよ


471:デフォルトの名無しさん
07/12/07 16:30:01
ポリゴンを1000枚作って表示させたときと
ポリゴンを1枚作って表示させたとき

OPENGLではメモリの量違いますか?

472:デフォルトの名無しさん
07/12/07 18:28:27
違う

473:デフォルトの名無しさん
07/12/07 20:46:42
了解です!

474:デフォルトの名無しさん
07/12/07 21:57:58
違わない処理系ってどれよ?

475:デフォルトの名無しさん
07/12/07 22:28:03
描画領域のメモリは変わらんとか?

476:デフォルトの名無しさん
07/12/12 10:39:47
すみません。教えてください。
cpadでopenGLを起動できないのですが、どうしたらいいですか?
実行ファイルが作れません。というエラーがでます。

477:デフォルトの名無しさん
07/12/12 11:29:59
まず落ち着こう
次にCPadでOpenGLを使わないプログラムが実行できるか確認するんだ
それができたら「実行ファイルが作れません」の前にもエラーが出てるはずなのでそれを確認しよう
前に出てるエラーの原因が分からない、となってから質問しても遅くないと思うぞ

478:デフォルトの名無しさん
07/12/12 15:03:05
お前らまだOpenGLなんか使ってんのかw

479:デフォルトの名無しさん
07/12/12 15:25:36
個人的にはカーマックにその手の質問したら何て答えるのか非常に興味あるなw

そういえばPS3でGLやCgが採用されるってのは結局どうなったんだろ

480:デフォルトの名無しさん
07/12/12 20:00:50
PS3ではOpenGLもCgも実装されてる
でもOpenGLはパフォーマンスが出ないからGPUのコマンド直に叩くのがほとんどと聞いた

最近はほとんどシェーダだしDirect3D10もGPU仮想化されてOpenGLとたいして違いがないし
どっちでもいいわな

481:デフォルトの名無しさん
07/12/12 20:17:02
>>478
うん。組み込みとかそれしか選択肢がないの多いし…

482:デフォルトの名無しさん
07/12/12 20:52:14
ゲーム機があります
PS3 Wii XBOX

Microsoftゲイツ様仕様のDirectXをPS3やWiiが使えると思ってるのかな。
選択肢としてOpenGL+GPU言語(Cg・GLSL)くらいしか無いでしょうに。


483:デフォルトの名無しさん
07/12/12 21:27:02
誰に対して何の話をしてるのかわからない

484:デフォルトの名無しさん
07/12/12 21:54:01
わからないお前の神経がわからない

485:デフォルトの名無しさん
07/12/12 23:46:45
変な勘違いをして誰に対してるのか分からない見当外れな話をする誰かさんの神経が一番わからない

486:デフォルトの名無しさん
07/12/13 01:15:25
gllogicopの使い方がわかりません!
URLリンク(www.arch.oita-u.ac.jp)
二つの物体あわせてこういうのが作れるってことですか!
作れたら、作り方教えて下しア!!!

487:デフォルトの名無しさん
07/12/13 02:26:22
>>486
>二つの物体あわせてこういうのが作れるってことですか!
違う・・・
ググれ!

488:デフォルトの名無しさん
07/12/13 11:17:11
どう違うのか教えてください(;;


489:デフォルトの名無しさん
07/12/13 18:47:38
ぎろっぎこっプー

490:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/12/13 20:42:26
>>400
HWで対応してないからソフトウェアで処理すんぞってことでしょ
ビデオカードを換えるかglDisable(GL_LINE_SMOOTH)してみたらどうか

492:デフォルトの名無しさん
07/12/14 00:15:04
1か月越しか

493:デフォルトの名無しさん
07/12/14 00:59:11
シェーダーとかあるの?

494:デフォルトの名無しさん
07/12/14 11:58:50
OpenGLでテキスト描画したい場合ってどうするの?
プラットフォーム非依存なんだから、とうぜん標準で glDrawText 関数なんてものは
ないんだと思うんだけど、テキスト描画したい人はやっぱりゴリゴリコード書いて、
フォントイメージ持って来てそれを自力で転送してるの?

495:デフォルトの名無しさん
07/12/14 12:41:54
>>494
環境依存(任意のフォントでディスプレイリストを作成)
glXUseXFont
wglUseFontBitmaps
wglUseFontOutlines

環境非依存(フォントの種類が少なく、ディスプレイリストを作らないので遅い)
glutBitmapCharacter
glutStrokeCharacter

496:デフォルトの名無しさん
07/12/14 14:02:41
ここでくだらん質問するまえにNeheみれ

497:デフォルトの名無しさん
07/12/14 18:00:32
>>490
mesa-r300は色々と未実装なフォールバックになるやつが結構ある。
それもfglrxならフォールバックなしに使えたりする。
内部的にはlinesmoothはvs使って実相しているらしいが、
仕様公開後もっと開発が進むんじゃないかな。

498:453
07/12/14 18:14:48
>>494
FTGLがおすすめ

499:498
07/12/14 18:15:43
すまん、名前はミスだ

500:デフォルトの名無しさん
07/12/15 07:48:28
二年前にCGのクラスでOpenGLを学んだが
忙しくてそれ以上続けられなかった俺様が
来年こそはと>>500をゲット

501:デフォルトの名無しさん
07/12/15 08:18:14
>>500
大丈夫だ。若いんだから年末年始だけでOK
知的欲望全開で突っ走れ

502:デフォルトの名無しさん
07/12/15 13:13:22
Dynabook A1/X85PMC(PenIII 450MHz メモリ384MB)
で、OPENGL動かそうとしたら、止まった


なぜ…研究が進められない


503:デフォルトの名無しさん
07/12/15 13:22:36
>>502
随分古いマシンだな
とりあえずグラフィックスドライバ更新

でもOpenGLなんて所詮は最後に表示を担当するだけなんだから
研究は進められるんじゃ?

504:デフォルトの名無しさん
07/12/15 13:25:01
URLリンク(www.opengl.org)
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:デフォルトの名無しさん
07/12/15 13:27:53
doubleとか何に使うの?

506:デフォルトの名無しさん
07/12/15 13:35:58
頂点シェーダのレジスタ精度が32/24/16/8bitしかないから無くても問題ないな

507:デフォルトの名無しさん
07/12/15 13:36:48
>>503
画面サイズを小さくしたら出来ました。

研究室がいきなり工事やら停電やらで土日作業できず
自宅のはもらいもののノート。一応作業できますわ

508:デフォルトの名無しさん
07/12/21 09:10:44
ラデのドライバを最新にしたらツールが立ち上がらなくなったんで調べてみたら
ARB_fragment program_shadowのサポートが無くなってやがった

AMD氏ね

509:デフォルトの名無しさん
07/12/21 12:38:19
>>506
GL_FLOATが、16bitだよな?
32bitはなんだっけ?

510:デフォルトの名無しさん
07/12/21 22:45:13
テクスチャについての質問なんですが、ちょっと前までテクスチャが張れたのに、
アプリを再起動したらそれ以降全くテクスチャが張れなくなるのって何が原因
なんでしょうか?
昨日作ったソフトが今日になって全くテクスチャが張れなくなってしまって
困っています。バイナリ、テクスチャの元画像共に昨日テクスチャが張れた
時から全くいじっていません。また、ドライバの更新等もしていません。
思い当たるとしたらノートンの更新ぐらいですが…

511:デフォルトの名無しさん
07/12/22 01:03:45
Z座標が同じポリゴンが重なったときに重なった部分のアルファのあるテクスチャを
合成するにはどうしたらいいでしょうか?
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
は実行しているのですが、なぜか合成してくれません。

┌――┐
|      |
|      |
|  ┌―┼―┐
└―┼―┘  |
    |      |
    |      |
    └――┘


こんな具合です。

512:デフォルトの名無しさん
07/12/22 02:46:14
テクスチャのinternalformatはちゃんとGL_RGBA(あるいはその他アルファを含むフォーマット)
にしてるかい??

513:デフォルトの名無しさん
07/12/22 03:34:45
はい、Z軸を0.0000001とかほんの少しずらすとアルファは通っているので
大丈夫です。ただ、Z軸が重なるとなぜか合成されずに上書きになってしまう orz

514:デフォルトの名無しさん
07/12/22 03:53:30
>>513
glDepthMask(GL_FALSE);
glDepthFunc(GL_LEQUAL);
描画
glDepthFunc(GL_LESS);

515:デフォルトの名無しさん
07/12/22 20:22:14
>>514
遅くなりましたが、上手くいきました!
ありがとうごさいます。

516:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/12/22 22:50:46
×VGL_ARB_half_float_pixel
○GL_ARB_half_float_pixel

518:デフォルトの名無しさん
07/12/22 22:59:39
>>516
float、32bitか。何年プログラマやっとんだ、アホか俺はw

519:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/12/24 20:40:54
>>519
キーボードを押したらティーポットが回転するプログラムを書いたんですが、
ティーポットが回転してくれません。それどころかポットがどっかに移動して
しまいます。どうしたら良いですか? 教えてください。

521:デフォルトの名無しさん
07/12/24 23:49:54
>>520
どう見てもコンパイルすら通りそうにないコードなんだが
C言語の基礎(変数のスコープとか)を勉強し直すことだな

522:デフォルトの名無しさん
07/12/25 01:06:44
>>520
glRotated(x,0.0,0.0,1.0);
これでxを+1しても回転にならないぞw

523:デフォルトの名無しさん
07/12/25 01:14:56
XP上のMicrosft VC++6.0でOpenGLを使いたいのですが、
どうもこうもOpenGL/gl.hが無いと言われます。
ググってみると、
XPはデフォルトであるから心配ないとしか書かれていないのです(泣)

GLUTはインストール済みです。

もしよろしければ、対応策を教えていただけないでしょうか。

524:デフォルトの名無しさん
07/12/25 01:30:20
>>523
もし
#include <OpenGL/gl.h>
ってやってるなら、その行は削除。いらない。

525:522
07/12/25 01:55:07
hahaha!
勘違いしたw 酔ってるので許せ。

>>520
描画のたびに
gluLookAt(3.0,2.0,5.0,0.0,0.0,0.0,0.0,1.0,0.0);
で行列を掛けてるから、どっかへ飛ぶ。


526:デフォルトの名無しさん
07/12/25 04:32:13
> void myKbd(unsigned char key, int x, int y)
で、
x += 1;
は、何も影響を及ぼさない気がする・・・

527:デフォルトの名無しさん
07/12/26 19:22:57
質問です

物体(glutSolidSphereなど)を3次元空間で動かして
動かした三次元座標空間だけマスクして
動かせば動かすほど、画像が変わっていく(3次元空間がマスクされて、隠れている画像が出てくる)
ということをしたいのですが。

どうやればいいかヒントをください

528:デフォルトの名無しさん
07/12/26 20:23:44
>>527
日本語でおk

529:デフォルトの名無しさん
07/12/26 21:47:49
伝わりにくくてすみません

要は3次元空間にマスクをマウスで書き込んでいく、ということをしたいのです。
フォトショップとかの2次元空間でのクイックマスク処理を
3次元でやるイメージです


530:デフォルトの名無しさん
07/12/26 22:09:50
3次元でマスクってのが良くわからない…

もしSculptみたいなことをやりたいならボクセルでも使うのが早いかなぁ

531:デフォルトの名無しさん
07/12/26 22:30:36
>>530
まさしくそんな感じです。

固体を削り取っていって、削られた部分だけ別の物体の色になっていくという感じです。
それか、マウスの範囲内の物体の色(不透明度)を強制的に0にしていければ…同じように出来ると考えてるのですが

マウスでglutSolidSphereの範囲内のカラーを変えていく、ということ出来ますか?


532:デフォルトの名無しさん
07/12/26 22:41:45
正直に脱がせゲーを作るといえばみんな協力するはず

533:デフォルトの名無しさん
07/12/26 22:49:32
…その発想はなかった!!!!!

そっちにシフトします><

534:デフォルトの名無しさん
07/12/26 23:45:14
もし531のようなことやるのに
参考になるサンプルとか考え方あったら、レスお願いします。

535:デフォルトの名無しさん
07/12/27 01:04:05
2Dじゃなくて、3Dでか。

そもそも、サーフェスモデルが基本なので、
「削り取る」というのをどのように表現するか・・・だな

536:デフォルトの名無しさん
07/12/27 01:18:27
削り取るよりも
>マウスでglutSolidSphereの範囲内のカラーを変えていく
こっちのほうを実装するほうが、やりたいことが出来そうな気がしてきました

まだ研究室で、2時くらいに帰るのですが
かなりてんぱってきました

537:デフォルトの名無しさん
07/12/28 23:04:41
536ですが

アキュムレーションバッファで変更したい部分を上書きしてく、ということはできるでしょうか?
もし出来るなら、エリア内の画素のαを0にして上書き・エリアを動かして0にして上書き…で削り取れるかもと思ったのですが

538:デフォルトの名無しさん
07/12/28 23:33:04
サンプル弄くってみて

エリア内の指定
全体が変化する

でアウトでした。
もう夜も眠れません

539:デフォルトの名無しさん
07/12/29 01:58:55
ん、もしかして2Dでマスクできればいいのか?
それならStencilBufferでいいと思うけど
初心者スレにそんな話題が出てたぞ

540:デフォルトの名無しさん
07/12/31 17:54:28
質問させて頂きます。
@FBOテクスチャに適当に描画。
A上のレンダリングテクスチャに、上のレンダリングテクスチャを別のオブジェクトに貼って描画。
としう事をしたいのですが、Aを行う際、@で作ったテクスチャを別のテクスチャにコピーする必要があると思います。
その、テクスチャを別のテクスチャにコピーをしたいのですがどのようにすればいいのでしょうか?
できれば、高速な方法が良いです。宜しくお願いします。

541:デフォルトの名無しさん
07/12/31 17:55:05
すいません、くだすれと間違えました・・・。

542:デフォルトの名無しさん
08/01/06 19:39:29
OpenGL Distilledの邦訳OpenGLの神髄が出てたな
さっと立ち読みしただけだがタイトル通り要点を押さえた本だった
神髄とか言うと上級向けっぽいがそうでもなく
いきなり赤本を読む前に読んでおきたい本だな

543:デフォルトの名無しさん
08/01/06 21:41:32
とりあえず(あえて)7Yでポチった

DirectXとか汎用言語書は自称初心者向け(笑)が増殖してるが、
買うヤツがほとんどいないOpenGL本をあえて出すということはそれなりのクオリティであると期待してみる

544:デフォルトの名無しさん
08/01/06 21:56:29
>>543
だが需要はあると思うぞ。俺も買った。

545:デフォルトの名無しさん
08/01/07 07:55:58
原書で読んだよ。邦訳出たのか。神髄ってのは何か違う気が……。
各章サンプルはあるんだけどあるだけって感じなんで、初心者で
手を動かしながら理解したいって人は合わせて別のチュートリアル読んだ方がいいかも。

546:デフォルトの名無しさん
08/01/15 17:31:13
OpenGLでバナナの腹筋はできますか?
どこかからサンプルコードはダウンロードできないでしょうか?


547:デフォルトの名無しさん
08/01/15 17:37:40
そんな質問どこかで見たと思ったらこのスレの頭の方だった
できるけど、OpenGLのサンプルコードがあるかどうかは知らない

548:デフォルトの名無しさん
08/01/15 18:09:29
ろぼっとアームをバナナに置き換えれば

549:デフォルトの名無しさん
08/01/15 19:41:58
Cgとかのシェーダ言語のスレってないね

550:デフォルトの名無しさん
08/01/15 20:27:55
あったと思ったら違ったw

CGプログラムやれや、お前ら
スレリンク(cg板)

昔はあったんだけどね
落ちちゃったのかな

551:デフォルトの名無しさん
08/01/15 21:48:26
シェーダのスレならゲーム製作技術板だがあった
ついでに過疎ってるが
スレリンク(gamedev板)l50

このスレもOpenGL3が出ないから話題が無いしCgとGLSLならここでもいいんじゃね?
今時DirectXでわざわざCgを使ってる奴がいるとも思えんし

あとは3Dグラフィックスプログラミングスレとかかな

552:デフォルトの名無しさん
08/01/16 04:27:47
ndsやってるかたいらっさいますか

553:デフォルトの名無しさん
08/01/16 10:06:52
仕事の質問なら帰れ
趣味でやってるなら聞くだけ聞いてやる

554:デフォルトの名無しさん
08/01/16 12:50:17
>>549
いっぱい有りますやん。
gpuでこの板検索してみそ。

555:デフォルトの名無しさん
08/01/16 14:25:25
>>554
GPGPUのスレしか見つからないが
グラフィックでのシェーダと使い方大分違くないか?

556:デフォルトの名無しさん
08/01/16 23:53:32
あっちで普通のシェーダ聞いたらすれ違い言われた

557:デフォルトの名無しさん
08/01/17 01:28:03
そりゃ当然

558:デフォルトの名無しさん
08/01/17 21:30:29
マウスで画面クリックしたら
3次元座標空間内の点が消える、という処理をしたいのですが


赤い○←クリック α値が0になって
αテストで画面内から消滅。という流れでやろうと思っています。

ただ、どうにもクリックしたオブジェクトの選択方法・クリックによる色・αの変換方法がわからず
どうにもわかりません。

参考サイトとかあったら教えてくださいませんか

559:デフォルトの名無しさん
08/01/17 21:53:02
定期的に同じような質問が来るな。
αで消すよりポリゴンそのものの描画をカットしたほうが楽じゃないか?
ポリゴン選択なら
glRenderMode(GL_SELECT);
gluPickMatrix
あたりで検索するといいよ。

560:デフォルトの名無しさん
08/01/17 23:01:02
>>559
ありがとうございます。

そこらでググって見ましたがいまいち、クリックしたオブジェクトを、消すというのが
どの時点で選択されているのかわからなく

URLリンク(wiki.livedoor.jp)
URLリンク(son-son.sakura.ne.jp)

こちらを参考にしました。
消すのに、描画をカットする方法やαを0にするのがどこをいじくってよいのやら

無数に飛んでくる玉をクリック・クリックで消すというゲームを想定してます。

561:デフォルトの名無しさん
08/01/18 01:42:23
それなら別にマウスピッキングなんかしないで、マウスポインタ座標と玉との距離で
処理すればいいんじゃない? 結構処理時間食うぞ、ピッキング。
他に意図があるなら別だけど。

562:デフォルトの名無しさん
08/01/18 03:20:46
普通にやるならマウス座標とスクリーン座標に変換したオブジェクトのバウンディングスフィアとの衝突判定を
手前のオブジェクトから順に判定して行く感じかな

もはやOpenGL関係ないけど

563:デフォルトの名無しさん
08/01/18 06:12:05
床井さん復活おめ。

564:デフォルトの名無しさん
08/01/18 14:54:14
>>562
>もはやOpenGL関係ないけど
それが普通だよ。OpenGLの仕事は基本的に描画のみ。衝突判定やピッキングは別でやるのが当たり前。
セレクションモードとかは「場合によっては使えなくもない」ってだけの仕組み。

初心者は、無理してOpenGL使うより、適当なシーングラフライブラリを使ったほうがいいと思うんだよなー。
でも敷居の低いシーングラフってなかなか無いんだよなー。


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

4355日前に更新/177 KB
担当:undef