トップページ⇒tech
1001コメント319KB

OpenGLスレ

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさんNGNG
立てました。
質問・雑談なんでもいいので、書き込みましょう。(批判もOK)

※OpenGL関連のスレ寿命短すぎ!
 とりあえず50目標
0002デフォルトの名無しさんNGNG
MESAってOpenGL完全互換なの?
0003デフォルトの名無しさんNGNG
>>1
OpenGLって初期化の仕方から分からないです
教えて?
0004デフォルトの名無しさんNGNG
glutInit( &argc, argv );
0005名無しNGNG
OPENGL ってさライブラリとかDDLとかが、VC++ のリンク設定
することで、ビルドできるのな
OPENGLでヴァーチャルリアリティっぽい事やってみたいな
0006デフォルトの名無しさんNGNG
opengl32.lib glu32.lib glut32.lib
を追加することでビルド出来る
0007デフォルトの名無しさんNGNG
ずーとphigsやってて、GLはちょこっとだけやった。
phigsでは一旦作成したストラクチャの中のラベルを検索して
エディット出来るんだけどGLにはそれらしいのが無くてちょっと
不便だった。実際少ししか触ってないので間違ったこと言ってるかも。
ずっとewsでやっててWindowsでこの手のプログラムが動いた
時は感動したなぁ。ずいぶん昔の話だけど(w
0008デフォルトの名無しさんNGNG
glut は便利だね。ただちょっと機能は限られるみたいけど。Window システム依存の
書き方しちゃうと相互互換性なくなるし..ジレンマだよね。
00091NGNG
>2
完全互換じゃないからMesa名乗っていたような…(あとライセンスの問題とかで)
NURBSのTRIMが出来ないとか(今は知らん)
というかMesa使ったこと無い!(使おうと思ったことはあるけど)
"ほぼ"完全互換なんじゃない?(どっかに90%位って書いてあったな。適当…)
0010マジレスさんNGNG
志が低いぞ。アリス萌へぇ。
00111NGNG
>3
4の言うようにglut使ったほうが楽。無かったらどっからか拾ってきて♪
glut使わないなら(winの場合)
1、windows.hインクルードして
2、ウインドウ作る際、WM_CREATE辺りで
3、PIXELFORMATDESCRIPTOR構造体作って、中埋めて
4、ChoosePixelFormatに渡すとそれに近いフォーマットの番号が返るから、
5、SetPixelFormatにその値渡して、デバイスコンテキスト初期化
6、wglCreateContext→wglMakeCurrentやって終了
7、SwapBuffers(ダブルバッファの場合)やって、おお!
って感じ。参考にならないと思いますが…
unix系の場合は…
長くなるのでやめます。
00121NGNG
>7
一回作ったテクスチャの切り替えはglBindTextureで。
ってそういう意味とも違う?
00131NGNG
OpenGLのことなら俺に聞け!っていうタイトルじゃないことからお分かり通り、
俺もそれほど詳しくない(;´Д`)
知ってる人、どんどん教えてあげて♪
00141NGNG
>10
じゃぁ70目標ヽ(´ー`)ノ
0015名無しサソNGNG
 OpenGLに限った話ではないけれど、3Dモデルからストライプ形状を
自動検索するプログラムって、どこかに落ちてないかな?ちまちまと
最適化するのは苦手だけど、こういう部分なら勝手に速くなって
くれそうだし(藁)
0016デフォルトの名無しさんNGNG
>>15
ストライプ形状ってどんなやつ?
0017ボログラマーNGNG
>>15
ストリップ(strip)だろ?
俺もきぼーん。
0018名無しサソNGNG
 あ、間違えた。ゴメソ。要はトライアングルストリップが
使いまくれるモデルを手間無く作りたい、ということね。
どれだけ速くなるかは知らないけど、遅くなることは
無いだろうし。
0019デフォルトの名無しさんNGNG
今テキスチャマッピングやろうとしてます。むづかしいです。わがら〜ん
みんなむずかしくない?
あとで質問させてくださ〜い
002017NGNG
>>17
http://home.earthlink.net/~mmchow/meshsdk/meshsdk.html
http://www.cs.sunysb.edu/~stripe/
http://www.nvidia.com/Marketing/Developer/DevRel.nsf/bookmark/0B738E907A7DC3A28825693F0065F772

いずれにしろ。ローダ書くのがめんどい。
ヘタレなんで。
00211NGNG
>19
俺はそうでもなかったけど…
どこらへんが?
00221NGNG
余談
テクスチャ光沢ねーぞ。って方はGL_LIGHT_MODEL_COLOR_CONTROL_EXT
OpenGLこれしか機能ねーのかって方はwglGetProcAddress
002319NGNG
>>21
テクマプ初体験だから、もーチュウボウ状態です。QUADで書いたつもりでも、
3角形のパターンが出とります。そもそもテクスチャの作り方も悪いかも知れんで
す。

画面に書いた内容をglCopyTexImage*でテクスチャ作ろうとしてるです。詳しくまた
書くですから、聞いてくだせー


0024 1NGNG
ただ単にglTexCoordの座標が違うだけだったりして?
GL_QUADS、GL_QUAD_STRIPどっち?
002519NGNG
>>23
ども!
GL_QUADS 使ってますです。glTexCood の座標っすかー?いちおうその箇所書きますね。

glBegin(GL_QUADS);

glTexCoord2f (0.0, 0.0); glVertex3f (0.0, 0.0, 0.0);

glTexCoord2f (0.0, 1.0); glVertex3f (0.0, 0.0, mapdata->row*10.0 - 0.05);

glTexCoord2f (1.0, 1.0);
glVertex3f ( mapdata->col*10.0 - 0.05, 0.0, mapdata->row*10.0 - 0.05);

glTexCoord2f (1.0, 0.0); glVertex3f ( mapdata->col*10.0 - 0.05, 0.0, 0.0);

glEnd();

これの前にモデルビュー変換として

glRotatef ( 90.0, 1.0, 0.0, 0.0 );
glTranslatef ( mapdata->col * -5.0, -10.0, mapdata->row * -5.0 );

ってやって xz 平面を上からみたようになるようにしてるつもりです。
mapdata->col,rowは 1から3の整数がはいってるだけです。なんかコメントくだせー
002619NGNG
>>24
00271NGNG
>25
ヒント
glHint(GL_PERSPECTIVE_CORRECTION_HINT,GL_FASTEST)
002819NGNG
あんがとー。眠いから明日報告すんねー
0029名無しサソNGNG
>>20
 をを、ありがとう。卒業研究が終わったらチェックしてみるよ。
自分の卒論はDXFをまともに読むだけで7割方使ってるよ(涙)
あと2日でProgressiveMeshの実装。地獄だ・・・
003019NGNG
ども!

glHint(GL_PERSPECTIVE_CORRECTION_HINT,GL_FASTEST)使ってみました。
でも変わらんかったです。
でも他で変化ありました。MAG_FILTER, MIN_FILTER 指定したら、三角形の
ままですがその中でそれらしくでました。
これって必須なんすかね?>MIN_FILTER、MAG_FILTER

うーんでもまだ三角です。大変だわ >OpenGL


003119NGNG
ども(疲れモード)

なんかあれこれやったけど、どーもだめっす。なんか、Zの座標値が大きいと(25.0以上)
おかしくなるです。カードのリソースの問題かもなーと思いつつ、もすこしだけ
ねばるっす。ハア
0032デフォルトの名無しさんNGNG
>25,31
Z座標値が大きいとメモリも多く食うってことはないよ。
mapdata->col、rowを1にしてやってみたけどうまくいったよ。
テクスチャが三角じゃなくポリゴンが三角になってるんじゃない?
デバックしてglVertex3fに渡してる値を調べて見ては?
0033ちゅーぼーですよNGNG
あのう、OpenGLとDirectXてどう違うの、端的におしえてちょ。
それとなく方向性の違う技術のようなきはするのだが。
やはりOpenGL使いのみなのしぅはやはりプラットフォームがWinではない?
003419NGNG
>>32
ども(少し回復モード)

コメントさんくすです。そうですよね、関係ないすよね。
あの、ほんとすみません。ごめんなさい。あほなとこで問題おこしてたみたいです。

ハハ、ハハ (ごまかしてるつもり
0035名無しサソNGNG
 下がってるので上げとくよ。最近ヘッドトラッキング機能付きHMD
を買ったので、折角だからこれをOpenGLと併用させることを検討中
だったり。

>>33
 DirectXは3D部分も含めて「最新技術をいち早く」というのをモットー
にしているのだと思う。GeForceシリーズやRADEONが持っている最新機能
(CubeEnvMapとか)も使えるし。けど、安定性や使いやすさは2の次に
なっていたりする(8では使い易くなっているけど)。
 一方のOpenGLは「3D描画を確実に」というのがモットーだと思う。
バージョンも頻繁には変わらないし、OS間での互換性も高い。
VGAのドライバがしっかりしていれば安定性も高い。けど、最新機能
の一部は使えないし、ちゃんとOpenGLをサポートしている安価な
VGAは結構少ない。

 実は、バリバリの最新機能を使うのでなければ、3D描画はたいていは
OpenGLで事足りるのではないかな。Direct3DIMと比べると敷居も低め
だと思うし。
0036デフォルトの名無しさんNGNG
>35
CubeMapだったらOpenGLでも使えるよ。(ビデオやドライバによると思うけど)
他にDirectXで使えてOpenGLでは使えないって機能あるかな?
0037デフォルトの名無しさんNGNG
OpenGLのセレクション便利
0038名無しサソNGNG
>>36
 アキュームレーションバッファとか使わずに高速に出来たっけ?
それなら更に問題無しなんだけど(笑)でも、G400のEnvBampMap
はDirect3Dのみでサポートされて居いたと思う。自分もG400
持って居るんだけど、これはOpenGLの対応があんまり良くない。
プログラムのデバッグ途中で、ドライバ部分がこけることがあるし、
スピードもD3Dに比べて低い。
 GeForceのパワーを手軽に使いたいなら、迷わずOpenGLなんだけどね。
これって、ディスプレイリストに追加するだけでジオメトリエンジンを
自動的に使ってくれるんだよね?前スレでリスト使ったら余計に遅くなった
と言う話を聞いたのだけど、あれはどう言うことだったんだろう。
0039デフォルトの名無しさんNGNG
>38
RADEONとかGeForceとか一部のカードだけだけど、
ハードでサポートしてるよ。CubeMap

オーバーヘッドが大きくて効率悪いけど、
リストにしなくてもジオメトリエンジンは使います。
リストにするだけだと普通頂点バッファがCPU側だから、
Direct3Dよりは遅いです。

拡張機能使えばビデオメモリ側に作れますけど。
0040デフォルトの名無しさんNGNG
glOrtho() で設定した視体積の中を
gluLookAt() で設定した視点で見たいんですけど、
角度は移動するようなんですが、距離が移動してないみたいなんです。
どうしたら良いのでしょう?

glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(left, right, bottom, top, nearZ, farZ);

glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(0.0, 0.0, m_diff, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);

およそこんな感じです。
0041デフォルトの名無しさんNGNG
よく意味がわからんです(理解力不足ゆえ)が、Ortho のパラメータ変えて大きさ
かえるんじゃやだめなんですか?
0042デフォルトの名無しさんNGNG
gluLookAt使ったこと無いから良くわからないけど、
GL_PROJECTIONに対して使うものだと思ってた。
GL_MODELVIEWでもいけるの?
0043(,,゚Д゚)?NGNG
>>42
GL_PROJECTION には gluPerspective 使ってるけど…
0044デフォルトの名無しさんNGNG
Projection カンケーない。< gluLookAt
PROJECTION は 3D->画面 への変換で、
LookAt は あくまで 3D 空間内のはなし。
だから MODELVIEW
というかバグでなかったんだろか42は...

0045デフォルトの名無しさんNGNG
glOrthoだから距離変わっても見た目わからんのだよ。たぶん
0046デフォルトの名無しさんNGNG
>39
ビデオメモリに置くと結構早さ変わりますか?
一応調べてみようぉ
ちなみに拡張機能の何ていうやつです?
004745補足NGNG
>40
glOrthoは平行射影だから視点からモデルが離れても小さくはならないのだよ。
遠近感出したいならglFrustumかgluPerspectiveを使ってPROJECTIONを定義すればよろしいかと。
0048デフォルトの名無しさんNGNG
いいスレだ。あげとこう
0049デフォルトの名無しさんNGNG
>>40-47
総括&補則

GL_PROJECTION
glfrustum or gluperspective <------&gt; glortho

GL_MODELVIEW
glulookat or gltranslate + glrotate <-----&gt; gltranslate + glrotate

でいいんじゃないでしょうか
005040NGNG
色々と皆さんありがとうございます。
説明不足だったみたいで申し訳ありません。
具体的にやりたかったいのは、glOrtho() ※平行射影じゃないとダメなんです。
で設定した空間を拡大縮小すると、視体積からはみ出した部分が表示されない問題を解決したかったんです。

どうか皆さん引き続き、お知恵拝借願えませんでしょうか。

今まで、glScale() の変わりにglOrtho() で表示したい部分 (例えば top / 2., bottom/2., left/2., right/2.)を指定して、
nearZ, farZ をそのままにしたりしてやってみてはいるんですが、空間が歪んで見えるんです…。
glOrtho() って立方体の空間しか指定出来ないのでは?と考えたりしているんですが、ご存知の方情報をお願いします。

参考になりそうな URL でも良いのでよろしくお願いします。

ほんとに他力本願になっちゃってますが、ピアソンの「OpenGL リファレンス」にも
「Win32 OpenGL」プログラムにも具体的に記述しているところがなくて…、
他に OpenGL 関連でこれは読んどけ!みたいな文献も教えていただけるとありがたいです。
00511NGNG
>50
手抜きコードを…
#define VIEWSIZE 100
Reshape(int width,int height)
{
 GLdouble aspectx,aspecty;
 if(width>height)
  aspectx=(GLdouble)width/height,aspecty=1;
 else
  aspectx=1,aspecty=(GLdouble)height/width;
 glMatrixMode(GL_PROJECTION);
 glLoadIdentity();
 glOrtho(-VIEWSIZE*aspectx,VIEWSIZE*aspectx,-VIEWSIZE*aspecty,VIEWSIZE*aspecty,-VIEWSIZE,VIEWSIZE);
 glMatrixMode(GL_MODELVIEW);
}
って、こういうこととも違う?
00523NGNG
Direct3Dでやっとシーンを作る事が出来るようになりました。
しかしDirectX7のヘルプで
チュートリアル 1 : 単一の三角形をレンダリングする
ステップ 3.1 : ジオメトリを準備する。がコンパイル時にエラ〜になるのです。
DirectX始めて1年に成りますが三角形もろくに描画できない。
私には3Dプログラムは向いてないんですかね。

んでOpenGLを昨日海外からチュートリアルをDLしてやってみたのですが………
3Dプログラムってこんなに簡単だったのですか。
1日でポリゴンを動かしたり拡大したり回転させたり出来る様になっちゃった。

俺の1年っていったい………(泣
00533NGNG
ちなみに海外のチュートリアルってのがここの、
Lesson01〜Lesson32まで。
英語だけどソース見れば何となくOpenGLプログラムが分かると思う
http://nehe.gamedev.net/opengl.asp
0054デフォルトの名無しさんNGNG
[Setting Up OpenGL In MacOS X Using GLUT:]もあるのね。Mac OS Xで3Dを
グリグリ動かしてみようかな。ありがとう>53
0055デフォルトの名無しさんNGNG
>53
結構参考になるね。バンプのやり方も書いてあるし。
さんきゅぅ!
0056デフォルトの名無しさんNGNG
http://www.nk-exa.co.jp/~andoh/opengl/faq/openglfaq.html

OpenGLでポリゴンキャラをグイグイいわせてるソフトウェアの
ソースコードを公開しているサイトがあったら教えて下さい。
0057名無しサソNGNG
>>46
 多分、この辺だと思う。

http://www.nvidia.com/Marketing/Developer/DevRel.nsf/pages/E11F4D0F59900C9E8825681E007B1065

 nVidiaのサイト、本当に良いね。とりあえず最新機能を使いたい時は
要チェックかも。あと、Direct3Dのベンチマークで試してみたんだけど、
実はVRAMに置くのとシステムRAMに置くのではそこまでの違いはないみたい
(状況によって変わると思うけど)。それよりも驚いたのが、Strip描画の
効果。一番効かせた時と全く効かせない時との比較だけど、2.5倍くらい
ポリゴン数に差が出たよ。環境にも依存せずに速くしたいなら、やっぱり
これかも。
005846NGNG
>57
ん〜。リンク先のpdfファイルにはそれらしいのが見つからなかったんだけど…
ほかの奴にあるNV_fenceっていうやつでしょうか?
0059名無しサソNGNG
>>58
 ゴメソ。忙しいからまだ詳しくチェックしてない。
出来れば逆に教えて欲しいくらい(爆)。そこに何らか
の情報があるのは確かだと思うので・・・。
006040NGNG
>>51

えー、アスペクト比とは違ったんですけど自己解決しました。
結局 glOrtho() で歪むとか言ってたのは、私のミスで歪みませんでした。
(回転に手抜きして glMultMatrix() 使ってたせい)
その他の皆様も色々とご教授下さってありがとうございました。

結果:glOrtho() だけで見たい部分を拡大縮小すればいい。
に落ち着きました。お騒がせしましたー。

今後もこのスレッド読み直して勉強させてもらいます。
0061デフォルトの名無しさんNGNG
glAge()
0062デフォルトの名無しさんNGNG
なんとなく関係ありそなエクステンション
EXT_compiled_vertex_array
NV_vertex_array_range
NV_fence
あと
wglAllocateMemoryNV()
とかかなー
0063デフォルトの名無しさんNGNG
linuxでやってる奴はいねがー

俺はwindowsで書きなおしたら速度の差に凹んだぞ
0064デフォルトの名無しさんNGNG
呼んだ?
0065デフォルトの名無しさんNGNG
>>63
どっちが速いってこと?
0066デフォルトの名無しさんNGNG
>>65
ぶっちぎりでWindows
0067デフォルトの名無しさんNGNG
>>63
書き直す必要あんの? glut つかってないつうこと?
どんくらいちがうの?
006863NGNG
>>67
glut使ってたけど、俺の書き方が悪いのか、
再描画とかでやたらちらついたのでやめた。
それとWindowsプログラミング初めてだったんで
MFCを使ってみたかったってのもある。

ちなみにずっとアニメーションさせるプログラムね。
006963NGNG
速度に関してはマシンが違うので正確な比較はできないが、
Windowsマシンのほうがあらゆるスペックは劣るが速度差は数倍?
開発環境も違うし全くの体感速度なんでかなり曖昧。

マシンのことは詳しいことは知らないけど
ドライバとかそういう問題なんだろう。
0070デフォルトの名無しさんNGNG
ちゃんとアクセラ対応してる X 使った?
0071デフォルトの名無しさんNGNG
>>69
>ドライバとかそういう問題なんだろう。
Linuxだと3Dのハードウェアアクセラレーションが効く環境がかなり限られる
からね。カーネル2.2以上にしてDRマネージャを有効にして、XFree86 4.0以上
でDRIを有効にすればそれなりに速くなるはず。でも、市場の大きさから考えて
ドライバの出来(チューニング度合い)はWindows用の方が上でしょう。

今、2.4.1のカーネルで確かめたら、カーネルのDRMがサポートしてるチップは
banshee/voodoo3, GMX2000, rage128, radeon, i810, G200/G400らしい。
でも、XFree86のradeonのドライバがジオメトリエンジンに対応してるとは思えん。

0072デフォルトの名無しさんNGNG
>>69
あと nVidia だとドライバ出してくれてるんですがね。これはそんなに変わらん(Windowsとはずです。
007363NGNG
>>71
>カーネル2.2以上にしてDRマネージャを有効にして..
そうそう速くなった。
でもなんか不安定になった(ワラ
0074デフォルトの名無しさんNGNG
glTexImage3Dってどういう機能なんですかね?
使い方を教えてください。
0075デフォルトの名無しさんNGNG
>>74
not 2D ?
0076デフォルトの名無しさんNGNG
>75
1.2にglTexImage3Dあります。が、使い方が…
nVidiaのドライバ1.2正式に対応してるのかな??(winの話)
0077デフォルトの名無しさんNGNG
そろそろ息切れかー?age
0078あげます!NGNG
JavaでOpenGLやりたいんですが、
MagicianやGL4Java、国産(?)のJSparrow等いろいろあるようで、
いまいちそれぞれがどう違うのかよくわかりません。
なにか情報持ってる方、お教えください。
0079デフォルトの名無しさんNGNG
.NET で OpenGL サポートはどうなるの?
0080デフォルトの名無しさんNGNG
>>79
別にライブラリがあれば関係無いんじゃない?
0081デフォルトの名無しさんNGNG
GL_EXT_paletted_textureについて質問です。
8Bitのbmpをテクスチャとして使いたいのですが、うまくいきません。

glColorTable(GL_TEXTURE_2D,GL_RGBA8,256,GL_BGRA_EXT,GL_UNSIGNED_BYTE,ColorTable);
glTexImage2D(GL_TEXTURE_2D,0,GL_COLOR_INDEX8_EXT,Width,Height,0,GL_COLOR_INDEX,GL_UNSIGNED_BYTE,Pixels);

↑を実行するとglColorTableがGL_INVALID_OPERATIONを返します。
何か間違ってますか?教えてください。
008281NGNG
glColorTableをglColorTableEXTにしたらなおりますた。(謎)
0083デフォルトの名無しさんNGNG
Win2KでGLUTの動作が変になりませんか?
具体的には、ウィンドウの大きさを変えると一部が黒くなるんですよ。
やっぱしWin98とNTでなきゃだめなのかな。
0084デフォルトの名無しさんNGNG
GLUTについて質問です
glutMainLoop呼んだらウインドウ閉じてもmainに戻ってこないのですが、
終了時に処理をさせる方法は無いのでしょうか?
メモリ開放や、ハンドルを閉じる場合はどうするでしょう?
0085デフォルトの名無しさんNGNG
>>78
GL4Javaを使うのがよろしいかと。
Magicianはフリーで使うにも(簡単な)ライセンス取らないとキャンバス
の右下にemotionだかなんだか忘れたけどウザい文字が出る。
JSpallowも商用は何かしらのライセンスが必要だった気がする。
GL4JavaはLGPLだからその辺は大丈夫。ソースも落とせるから勉強になるし。
008678NGNG
>>85
レスありがとうございます。早速試してみます。
0087デフォルトの名無しさんNGNG
OpenGLはVCとBCBのどっちが向いてる?
0088デフォルトの名無しさんNGNG
もち、VC。
↓のがあるしね。
http://codeguru.earthweb.com/opengl/index.shtml
0089デフォルトの名無しさんNGNG
>>83
ビデオドライバーの問題じゃないかい?
#W2KでG400使ってるんだけど最近のドライバーで
#やっとテクスチャがきちんと表示されるようになった。
0090デフォルトの名無しさんNGNG
ありがとう。じゃあBorlandC++Compilerでやります。
参考書はOpenGL Programming Guideでいいの?
0091デフォルトの名無しさんNGNG
赤本の内容勉強すんならコンパイラなんてなんだっていいんじゃないの?
0092デフォルトの名無しさんNGNG
ありがとう。
やっぱ金無いんでwebとあの無料配布のpdfでやってます。

0093デフォルトの名無しさんNGNG
ハードの対応がどうのと言う割には
アクセラレーションを有効にする方法に触れないのが謎なスレッドだ
標準で付いてくるOpenGLのスクリーンセーバがビデオカードを何にしようと
速度が変わらない理由が分かってるのだろうか
0094デフォルトの名無しさんNGNG
>>93
教えてほしけれりゃそう言やあいいのに
00951NGNG
>93
確かに、OpenGLスクリーンセーバ遅いね。なんであれはハードが有効にならんのかな。
あのソース見たこと無いからなんとも言えんが、自分で似たようなもん作ったら、数倍早かった。

>94
俺も知りたい。
0096デフォルトの名無しさんNGNG
>>95
ハードウェアアクセラレーションをかける手段が一様でないからでは?
#大体あのOpenGLスクリーンセーバがつくられた頃なんて、ディスプレイリスト
#くらいしかアクセラレート手段がなかったのでは?
ディスプレイリストやgl*Pointerを使えばImmediateModeよりは早くなるけど、
wglAllocateMemoryNVみたいにローカルなアクセラレーション方法しか
ハードウェアの機能を最大限に生かす方法がないからねぇ。

BTW,昨日NVIDIAのOpenGL拡張のドキュメントが更新されたから見て見たんだけど、
専用命令を使えば、DirectX8よりもOpenGL(_NV)の方がGeforce3をしゃぶり
尽くせそう。移植性とかは全くなくなるけど。(W
0097デフォルトの名無しさんNGNG
>>96
OpenGLスクリーンセーバは
ハードウェアが効かないだけではなく、
ウェイトも入っていたような記憶が。
#勘違いかも知れません
0098デフォルトの名無しさんNGNG
ハード使うなら、VCに付いてるライブラリリンクしても無駄だよ
0099デフォルトの名無しさんNGNG
>>98
どゆ意味??
opengl32.lib をリンクしといたら,
実行環境のICD設定で勝手に使われるけど.
0100デフォルトの名無しさんNGNG
>>96
ディスプレイリストって実は速度的なメリットってそんなに無いみたい。
OpenGLの最適化のドキュメントを必死に読んでたんだけど、ディスプレイ
リストに関してはプログラムの手間を軽減位にしか触れられて無かった。
頂点配列は最近では特に高速化されるみたい。
でもこの話はハードウェアアクセラレーションとはあんまり関係無いね。
nvidiaの拡張命令は便利そうなんだけど野暮ったいんだよなあ。
シャドウマップとかバンプマップの例を見てると結構面白そうなんだけど
nvidiaのカード専用じゃ一般のアプリとしては使えないよなあ。
もしハードウェアアクセラレ=ションを効かせたいならOpenGLの
コンテキストを作る際にそれに合ったピクセルフォーマットを選べばOK。
ここん所はプラットフォームによってコードはまちまち、wglとかaglとか。
0101デフォルトの名無しさんNGNG
>>100
ほとんど同意なんだけど、nvidiaのカードでも
頂点配列よりはディスプレイリストの方が速いよ。
どちらも普通システムメモリに作られるから、
最適化フォーマットに予めコンパイルできるディスプレイリストの方が有利。
ハードウェアメモリにバッファを作る拡張機能を使うなら話は別だけどねー。
0102デフォルトの名無しさんNGNG
glRotatefとかglRotatefを使ってるとよくフリーズするんだけど
何か知ってることがあったら教えてください。
元のソースは捨ててしまってないんだけど、こんな感じだったとおもう。
一応視点との距離が0にはなってなかった。

void display(void)
{

glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

glTranslatef( 10.0, 0.0, 0.0 );
glRotatef( 5, 1.0, 0.0, 0.0 );
drawbox(-10, -50, -50, 20, 100, 100);

glRotatef( 5, 1.0, 0.0, 0.0 );
drawbox(80,-20,-20, 40, 40, 40);

glutSwapBuffers();
}

void drawbox(float x, float y, float z, float w, float h, float d)
{
glBegin(GL_QUADS);
glColor3f(1.0, 0.0, 0.0);
glVertex3f(x, y, z);glVertex3f(x, y+h, z);glVertex3f(x+w, y+h, z);glVertex3f(x+w, y, z);
glColor3f(0.0, 1.0, 0.0);
glVertex3f(x, y, z);glVertex3f(x+w, y, z);glVertex3f(x+w, y, z+d);glVertex3f(x, y, z+d);
glColor3f(0.0, 0.0, 1.0);
glVertex3f(x, y, z);glVertex3f(x, y, z+d);glVertex3f(x, y+h, z+d);glVertex3f(x, y+h, z);
glColor3f(1.0, 1.0, 0.0);
glVertex3f(x+w, y, z);glVertex3f(x+w, y+h, z);glVertex3f(x+w, y+h, z+d);glVertex3f(x+w, y, z+d);
glColor3f(1.0, 0.0, 1.0);
glVertex3f(x, y+h, z);glVertex3f(x, y+h, z+d);glVertex3f(x+w, y+h, z+d);glVertex3f(x+w, y+h, z);
glColor3f(0.0, 1.0, 1.0);
glVertex3f(x, y, z+d);glVertex3f(x+w, y, z+d);glVertex3f(x+w, y+h, z+d);glVertex3f(x, y+h, z+d);
glEnd();
}
0103102NGNG
えっと、どんなんかっていうと上のとかなり違うけど
glutIdleFuncでglutPostRedisplayを呼んで
変数を-100〜100の間をうろうろさせて、
それをglTranslatefのx方向とglRotatefの角度に入れて動かしてました。
あ、それからglPushMatrixとglPopMatrixで挟んで
二つの直方体を動かしてました。
コンパイラはbccです。

あと、コンパイルのときに-DWIN32を付ける必要あるんでしょうかね。


とりあえず、目標はquakeです。今世紀中に完成させたいです。
0104デフォルトの名無しさんNGNG
>今世紀中に完成させたいです
ヲイ;
0105デフォルトの名無しさんNGNG
>104
寿命が伸びているから十分可能かと。
0106102(89歳)NGNG
VC++とかで作るとOSごと落ちる可能性は減りますかね?
bccのはDOSと直結してるっぽくてそれがよくない感じなんですけど
そうでもないのかね?
0107デフォルトの名無しさんNGNG
>>100-101
NVIDIAのOpenGL_Perf_FAQによると、(処理時間の順に)
Imm mode > DrawElements > DrawElements using CVA > Display lists >
DrawElements Using wglAllocateMemoryNV
みたい。wglAllocateMemoryNVではAGPメモリにAllocateするより、
VideoメモリにAllocateするほうが(当然)早いみたい。
ま、でもここいらへんはローカル/ドライバの仕様次第って事で。

>>100
わたしはNVIDIA拡張萌え〜です。バンプマップとか特定の要件を
みたせばいいだけならATIのDOT3みたいな単刀直入なやつがいいかな
と思うんですが、レジスタコンバイナは結構使い道がありそうに
思えてしまうところが趣味プログラムには最適だったり。(W
もっとも
>nvidiaのカード専用じゃ一般のアプリとしては使えないよなあ。
というのはおっしゃる通り、というかゲーム以外の実用はほぼありえない
ですね。(^^;
0108デフォルトの名無しさんNGNG
>102
BCBのコンソールでやってみたがOSごと落ちることはなかったなぁ。
でも動作があやしい。main→WinMainで再度確認してみるつもり。
glutIdleFuncでglutPostRedisplay呼ぶよりそのままdisplay呼んだ方がいいかもね。
0109デフォルトの名無しさんNGNG
デモ見たけどバンプマップのやり方がよーわからん。
NormalMapとNormalCubeMapのdot3やったけどうまくいかん。
簡単な流れでいいからおしえて♪
0110102NGNG
考えるとglutPostRedisplayって必要無い感じじゃない?
そのままdisplayを呼べば全て物足りると思うんだけれど。
違いがあるのかな?

> カレントウィンドウのノーマルプレーンを,再描画の必要に応じてマークする.
> 次の相互作用として,glutMainLoopを通じて,
> ウィンドウのディスプレイ・コールバック関数が
> ウィンドウのノーマル・プレーンを再表示するために呼ばれる.
> 次のディスプレイ・コールバックの前に複数の glutPostRedisplay が
> コールされても,ひとつの再描画コールバックしか有効にならないだろう.
> glutPostRedisplayはウィンドウのディスプレイまたは
> オーバーレイの表示コールバック関数内から,再表示のためにそのウィンドウを
> 再マークするために呼ばれるかもしれない.
> 論理的には,あるウィンドウに対するノーマルプレーンのダメージの知らせは,
> ダメージを受けたウィンドウ上のglutPostRedisplayとして扱われる.
> ウィンドウシステムから報告されたダメージと異なり,
> glutPostRedisplay は(glutLayerGet(GLUT_NORMAL_DAMAGED)によって
> 返される)ノーマルプレーンのダメージ・ステータスを真に設定しない.
> glutPostOverlayRedisplayも参照のこと.

The OpenGL Utility Toolkit (GLUT) Programming Interface API Version 3より
0111デフォルトの名無しさんNGNG
>>108
WinMainを使うとGLUTの意味が無いんじゃ・・・ん?
0112デフォルトの名無しさんNGNG
NVIDIAがへんなもの作ったage.
http://www.nvidia.com/marketing/developer/devrel.nsf/oglFrame?OpenPage
0113デフォルトの名無しさんNGNG
うわ、すげー量。
Nvidiaにはついていけんわ。
geforce3の技術、完全に把握してる奴おるのか?
0114108NGNG
>111
端末が出ないだけだでは?

NVIDIA拡張使いづらい。
ドライバ寄りというか…
0115デフォルトの名無しさんNGNG
話はそれるが、
3Dプログラミングやってる人にとってgeforce3は買いなんだろうか?
0116デフォルトの名無しさんNGNG
>>112
おとしたけどほとんどのサンプルがうごかねぇ。
早くR10ドライバをリリースすれ。>NVIDIA

>>115
・DirectX8対応ハードのみで動くアプリを作りたい人
・NV1Xのレジスタコンバイナでは機能不足な人
・Dependentテクスチャの機能が使いたくて仕方がない人
・金が余って仕方がない人
は買いだと思う。
0117デフォルトの名無しさんNGNG
>116
どの条件も当てはまらん…
Dependentテクスチャというのがよく分からんが、
それ以外はどうでもいいと言えばどうでもいいなー
MXで別にスピード文句ないし。
0118デフォルトの名無しさんNGNG
>>116
・NV1Xのレジスタコンバイナでは機能不足な人
はどう考えても当てはまると思うけど…
0119デフォルトの名無しさんNGNG
>>118
スペキュラを (N・H)^m とかやりたい人なら欲しい感じ?
0120デフォルトの名無しさんNGNG
>>119
その程度ならNV1Xで十分じゃん
0121デフォルトの名無しさんNGNG
>>116
R10はここで落せ
http://www.the-ctrl-alt-del.com/Drivers.htm
0122デフォルトの名無しさんNGNG
>>118
レジスタなんちゃらの機能はほとんどかわってないよ
8ステージ使えるようになった量的変化
0123デフォルトの名無しさんNGNG
geforce3は買いだがすぐ値が下がるだろう。しばらくは待ち。
NV1XでもR10で使用可能になる機能もあるし。
0124デフォルトの名無しさんNGNG
アクティブに出来るテクスチャの数が増えたのは魅力だ。
コンバイナってそんなに使う?
0125デフォルトの名無しさんNGNG
コンバイナはバンプマッピングでは必須。
ゲーム向け。
0126デフォルトの名無しさんNGNG
>>121
R10落としてみたけど、VERTEX PROGRAMのエミュレーションが
うまくいってない気がするのは自分だけ?
0127デフォルトの名無しさんNGNG
もうVERTEX PROGRAMに手をつけてる人がいるとは驚き!
0128100NGNG
俺は自分で言うのもなんだけど勉強はしている方だと思うけど、
レジスタコンバイナやVertexShaderとかPixelShaderとかの使い方を
理解してOpenGLの最適化についても知識があり、ちゃんとそれらの手法を
マネージメント出来るレベルの人がいたら凄いと思う。
このスレには何人かいそうな気がするけどもっとアピールしていったほうが
いいと思う。
俺も大した知識は無いけど、無いなりにアピールしてたらその筋の偉い人と
話が出来るようになったし。
0129デフォルトの名無しさんNGNG
みなさんの開発環境は?
やっぱり on Windowsがいいのかなぁ。
0130デフォルトの名無しさんNGNG
>>129
Mac&Javaっす。仕事だとWindowsか。
最新のエクステンションを使いたいならWindowsがいいでしょう。
nvidiaのOpenGLSDKもWindows用だった・・・。
0131デフォルトの名無しさんNGNG
>>130
基本的にはエクステンション+GLUT等で作られたサンプルが多いみたい
(全部見てないっす、スマソ)だから、他のプラットフォームに
移植するのもそんなに難しくないと思う。もちろん言うは易しですが。
0132129NGNG
>130
今、OpenGLは初めてなのですが、bcc + GLUTでプログラミングしています。

Javaってことは、JSparrowとか、GL4Javaとか・・?
(i386だけでしたっけ。)
0133デフォルトの名無しさんNGNG
>>132
JSparrowもGL4JavaもWin,Mac,Linux他で動きますよ。
結構オススメな開発環境です。
GLUTよりもクロスプラットフォーム性が高いですし、
awtのイベントモデルが使えるのは楽ですよ。
問題はビデオカードベンダー特有とか特殊なエクステンションには
対応していない事ぐらいですが、大抵のヤツには対応してますから
試してみるといいでしょう。
0134132NGNG
>133
あ、本当だー。ありがとー。
0135デフォルトの名無しさんNGNG
>>100
ディスプレイリストはNV_evaluatorがらみで重要になってくるカモ
0136100NGNG
>>135
ディスプレイリスト、使い所が難しいなあ。
DrawElementsはディスプレイリストには入れられなかった。
あとポリゴン一枚をディスプレイリストで表示させたらメッチャ
遅くなった。当たり前か〜。
でもいろいろ資料をみたらやはりディスプレイリストが速いって
書いてあるのでこれから使っていこうと思います。
そこらへんの速度関係はどのビデオカードでも一緒ですよね?
で、どのように重要なんでしょうか?nvidia関係の資料は一通り
目を通したんですけど気がつかなかったです。

あ、あと全然関係ないけどRage128はline描画が凄く遅かった。ポリゴン
描画より全然重い。
0137デフォルトの名無しさんNGNG
サーバークライアント型を考慮した作りになってるんじゃない?
0138デフォルトの名無しさんNGNG
>>128
どの筋の偉い人?
0139似非NGNG
>>136
憶測なんだけど。
[ディスプレイリスト/直描画]って描画自体の速度は変わらないと思うのね。
ディスプレイリストにしておくとCPUと描画が並列化されるってことじゃないのかな。
だから、ディスプレイリスト描画開始後、即glFinish()とかをやったら
まるで意味がないってことじゃないのかな。

だったらテメーが実験しろって言うのは勘弁。
0140デフォルトの名無しさんNGNG
>>139
並列処理にも相当効果があるけど、
元々は137の言うようにサーバクライアントを意識したからだよ。

ディスプレイリストを一回サーバ側に作ってしめば、
後は何番を実行しろってコマンドを遅るだけで済む。
だからネットワーク上でも3Dアプリを高速に動かせる訳。

ディスプレイリストが無いと
頂点データを全部ネットワーク転送しなきゃならない。
glxプロトコルすら無かったMesaは、描画した後の画像を
ネットワーク転送するしかなかったから、死ぬほど遅かった。
0141デフォルトの名無しさんNGNG
VRAM とメインめもりの関係も client/server に似てるな。
先進的というより結果オーライな仕様だったのか。
0142139NGNG
>>140
たしかに元がSGIだってことを考えるとアーキテクチャは
サーバークライアントになるのも頷けるね。
ただ、136はどうもスタンドアロンな環境らしいので、
ちょっと別なレベルの話じゃないかと。

作ったリストをビデオカードが抱えてくれれば
スタンドアロンな環境でもc/sな風味になっていいかも。
0143デフォルトの名無しさんNGNG
C#でやってみたいんですけど,どうやってやったらいいのか見当も
つきません。どなたか教えていただけないでしょうか?
0144デフォルトの名無しさんNGNG
wglSwapIntervalEXT(0)
0145名無しさん@お腹いっぱい。NGNG
VC6で凹型ポリゴンのテセレーション(タイリング)を使われた方、
いらっしゃいますか?。(GLUバージョン1.2)

VC6で凹型ポリゴンをテセレーションしようとしたのですが、
gluTessEndPolygonでGLU32.DLLで落ちてしまいます。

ネットを探したのですが、テセレーションに関するサンプルが見つかりません。
よろしくお願いいたします。
0146デフォルトの名無しさんNGNG
参考書籍、参考サイト等ありましたら教えて下さいまし。
本屋に行っても Direct3D(だっけ?)本ばっかりで非 Windowsユーザには
辛い物があります。この間なんか不注意から、VC,VBで学ぶ OpenGL本を買って
しまいました。お救いくだされ。
0147デフォルトの名無しさんNGNG
赤本でいいじゃん
0148デフォルトの名無しさんNGNG
OS/2版のOpenGLってまだ生きてるの?
0149OGLNGNG
>>146
赤本がいいでしょう。英文ならオンラインでも読めるし。ver 1.1だけど。
俺はこれで勉強したですよ。
0150146 赤本とは、、、NGNG
http://ask.ii.uib.no/ebt-bin/nph-dweb/dynaweb/SGI_Developer/OpenGL_PG/

これのことでござりますな。かたじけのうござる。精進しまする。
0151OGLNGNG
そそ。そこにも書いてあるけど5章まで読めば基本的なものはできるし、あとは
徐々に手をひろげていくのがいいかと。俺もまだすこしやり残してるけど。
0152デフォルトの名無しさんNGNG
赤本3版の日本語版はいつ?
0153OGLNGNG
以前だれかも言ってたけど、vertex array って使っても変わらんねえ。ほとんど
同じか逆転するときもあったりする… おかしいかな?

いちおう VIDEO MEMORY に確保してるんだけど…

ちなみに環境は linux + GeForce2 MX だけど、ちゃんとコンパイルリンク通ってるし
なあ…


0154ageNGNG
age
0155OGLNGNG
前言訂正。
どうも解像度、トライアングル数によって話が変わってくるみたいです。
トライアングル数が多いほど、解像度が小さいほど、パフォーマンスがあがる傾向
のようです。

例えば、1200x900、58KTri/frame だと、VAR ON, OFF どちらでも、約45 fpsで
2.6MTri/secですが、約182KTri/frame だとそれぞれ28fps, 23 fpsで
5MTri/sec 対 4.186MTri/secとなります。

さらに、800x600では、58KTri/frameだとどちらも 78fpsで4.5MTri/secですが
182KTri/frameだと それぞれ 38fps, 27.4 fpsで 6.916MTri/sec 対 4.986MTri/sec
となります。カメラの向きでまた変化するし、コードの書き方によっても
ちがってくるだろうし、おおざっぱな数値ですが確かに効果はあるようです。

いいかげんなこと言ってすみませんでした>nVIDIA様。
0156デフォルトの名無しさんNGNG
大きな画像を分割してテクスチャを作成、ポリゴンに貼り付け連結し、
2Dスプライトのように使うということをやっているのですが、
GL_LINEAR でテクスチャを作ると繋ぎ目が出てしまいます。
(GL_NEAREST だと繋ぎ目が出ないのですが、回転が綺麗じゃないです)

綺麗に出力できて繋ぎ目を目立たなくする方法、
もしくは他に何か良い方法はないでしょうか?
0157デフォルトの名無しさんNGNG
>>156
ボーダーとか使うのわ?
0158デフォルトの名無しさんNGNG
>>156
分割してたら無理っしょ。
UVを0.5テクセルずらすとかじゃ駄目か?
0159156NGNG
3Dは初めてで、53 の nehe のサンプル見ながら OpenGL 触って
一週間くらいで、まだ UV とかちょっとよく分かりません。
(現在、Lesson9くらいまで読みました)

3Dハードの半透明機能などが使いたいだけなので、
簡単に実現できそうでなければ GL_NEAREST で
妥協しようかなと思っているのですが。(^-^;
0160デフォルトの名無しさんNGNG
age
01611NGNG
HDDの中身全て消えて、やるき無し無しな1です。
>156
まったく関係無いと思うけど一応、
glHint(GL_PERSPECTIVE_CORRECTION_HINT,GL_FASTEST);

ほかの手、(使い方は良くしらん)
POLYGON_SMOOTH
accume buffer
pbuffer?
使ってぼかす。処理重そう。
01621NGNG
それか、
LINEARだと隣のピクセルも必要になるから
テクスチャに重複する部分を持たせる。
データ  012 123 234 456 …
ポリゴン  1  2  3  .4 .…(実際に表示させる部分)

意味不明な説明だけどわかった?
これでうまくいくかは保証無し。
01631NGNG
ほかいろいろ。
0164デフォルトの名無しさんNGNG
>>161
全部見当違い
0165156NGNG
色々試してみましたが、ことごとく失敗に終わりました。。。
とりあえず LINEAR 使うのは
もう少し OpenGL 理解するまで我慢することにします。
01661NGNG
(;゚Д゚)ガーン!
0167デフォルトの名無しさんNGNG
>>156
テクスチャ座標を0.5ピクセル分内側にずらしてみそ。

0168デフォルトの名無しさんNGNG
VC6 使ってます。
gluTessCallback のヘルプのサンプルにあるとおりに、

gluTessCallback(tess, GLU_TESS_BEGIN, glBegin);
gluTessCallback(tess, GLU_TESS_VERTEX, glVertex3dv);
gluTessCallback(tess, GLU_TESS_END, glEnd);

って、記述したら
error C2664: 'gluTessCallback' : 3 番目の引数を 'void (unsigned int)' から 'void (__stdcall *)(void)' に変換できません。 (新しい機能 ; ヘルプを参照)
って、怒られました。
どうしたらよいのでしょーー。
0169デフォルトの名無しさんNGNG
gluTessCallback(tess, GLU_TESS_BEGIN, (void (__stdcall *) (void))glBegin);
gluTessCallback(tess, GLU_TESS_END, (void (__stdcall *) (void))glEnd);
gluTessCallback(tess, GLU_TESS_VERTEX, (void (__stdcall *) (void))glVertex3dv);

0170デフォルトの名無しさんNGNG
>>169 榕タ
0171デフォルトの名無しさんNGNG
困ってます。

WinNT4.0sp5 VC++6 で今まで開発してたんですが、
Win2000 に変えたとたんに(クリーンインストール)OpenGL の描画が遅くなってしまいました。
ビデオは IBM のオンボードで、Win2000 の sp1, VS6 の sp5 をあててみましたが
何の改善もされませんでした…。

>>83 さんの症状とは違う様です。
どなたか、こんな症状を解決した方、解決策ご存知の方教えて下さい。
0172デフォルトの名無しさんNGNG
>>171
IBMのオンボードって何だ?
IBM製のカードでオンボードってあったか?
0173デフォルトの名無しさんNGNG
やっぱりPCで比較的安価にOpenGLというと、nVIDIAなのかな?
RADEONやKYROはどうなんでしょう?
0174171NGNG
>>172

すんません。IBM のマザーボードにオンボードのビデオ出力っつう事です。
RAM から勝手に 6M 使って描画するバカ野郎の事。
0175デフォルトの名無しさんNGNG
そりゃWin2000用のICDが無いんでは?
チップの種類が判らないと何とも言えないが。
0176171NGNG
>>175

[ディスプレイ]

名前 Intel Corporation 810 Graphics Controller Hub
PNP デバイス ID PCI\VEN_8086&DEV_7123&SUBSYS_71238086&REV_02\3&13C0B0C5&0&08
アダプタの種類 Intel810, Intel Corporation 互換
アダプタの説明 Intel Corporation 810 Graphics Controller Hub
アダプタ RAM 4.00 MB (4,194,304 バイト)
インストールされているドライバ i81xdnt5.dll
ドライバ バージョン 5.11.01.0133.3-NT5 Eng. Sample 03:01AM
INF ファイル i81xnt5.inf (i81x セクション)
カラー プレーン 1
カラー テーブル 65536
解像度 1280 x 1024 x 60 ヘルツ
ビット/ピクセル 16

こんな感じです。6M つってたけど 4M だった…
他の表示に関しては問題なくて、OpenGL の場合だけなんで、
ディスプレイドライバとか関係なさそうな気がするんです。
しかも VC++ から実行した場合のみ。(Debug Release 問わず)
exe をダブルクリックで実行したら遅くないんです。
何が原因として考えられるのでしょう。
0177デフォルトの名無しさんNGNG
>>171
ビデオドライバを最新のものに更新してみては?
多分3Dアクセラが効いていない。

0178171NGNG
>>177

分かりました。やってみます。
ありがとうございました。
0179デフォルトの名無しさんNGNG
>>176
画面が広すぎてメモリが足りないんじゃないの?
でも810なら結局ドライバの手抜きか
0180171NGNG
>>177 >>179

171 です。ドライバ更新してみました。
なんで VC++ から実行した時だけなのか理解不能だったのですが、スピードは改善されました。
ありがとうございました。

View の上にもう一つ View 貼り付けてサブ画面みたいな事してるので、
タイムラグ自体は眼に見えますが、質問した時の "1~2 秒後" って事が無くなったので、
これで良しとしておきます。マシン自体 セレロン 500 MHz ですし…。
(ちなみにメモリ 192M で 1280 * 1024 16bit カラーです)

まがりなりにも 3D の開発なのに、P4 1.3GHz もビデオボードも稟議通りませんでした…。
メモリも 64M は、所長の機械から黙って抜いたモノです。 << まだ気づかれてない(藁
0181デフォルトの名無しさんNGNG
>P4 1.3GHz もビデオボードも稟議通りませんでした…。
だからって普通、i810になるか?
0182171NGNG
>だからって普通、i810になるか?
普通ぢゃないのか…鬱死。
0183GL名無しNGNG
定期age
0184デフォルトの名無しさんNGNG
GL_EXT_vertex_weightingってどういう具合につかうものなのでしょうか?

あと、頂点配列をスキン変形させたいときって、ハードウエアでいけますか?
今現在、スキンとかモーフィングとかソフトウエアで計算してるんですが、
ハードでいければいいな
0185デフォルトの名無しさんNGNG
>>184
GL_EXT_vertex_weightingがスキン用ですね。

使い方忘れてしまったんですが、
モデルビュー行列のモードがもう1つ用意されていて、
これに適切な行列をセットしておいて、
頂点データにウェイトをつけるという簡単な使い方だったかと。
0186184NGNG
>>185 レスありがとう
ということは、

glMatrixMode( MODEL_VIEW0 );
glVertexWeightEXT( weight0 );
glVertex3fv( v );
glMatrixMode( MODEL_VIEW1 );
glVertexWeightEXT( weight1 );
glVertex3fv( v );

みたいになるのかな?
そうだとしたら使いにくそ−・・・

DX8には、それぞれの頂点に行列のインデックス保持して
いっきに計算できるように見えるんですがOGLでそんなことできないのかな?

OGL拡張って、どっちかというとレンダリングクオリティに力入れてるのかな・・
0187デフォルトの名無しさんNGNG
>>186
俺も使い方忘れたが、
イチイチMatrixMode変えてglVertexやる必要なかったと思った。

MODEL_VIEW0や1を適当にいじって、
glBegin(GL_LINE_STRIP);
for(GLfloat i=0;i<1;i+=.1)
{
 glVertexWeightfEXT(i));
 glVertex3fv(i*100-50,0,0);
}
glEnd();
やってみると分かりやすいかもね。
0188デフォルトの名無しさんNGNG
>>186
187が書かれているように、
行列は最初に一度だけセットしておけばOKです。

>DX8には、それぞれの頂点に行列のインデックス保持して
GL_NV_vertex_program (VertexShader) を使うとか。
面倒ですけど。
0189デフォルトの名無しさんNGNG
任意図形でのクリッピングってどう実現できますか?
まず考えられるのはステンシルマスクで書きたいところだけマスクする
って所だけど、ハードウェアに高級なものを要求しちゃうからなるべく
軽い(安カードで実現できる)方法を考えてます。
0190184NGNG
>>187
ありがとうございます。
やってみますね。

>>188
シェーダー、魅力的だけどある程度普及してくれないときびしーですね・・・

このスレ、普通によいスレですね
0191デフォルトの名無しさんNGNG
WildCat4000,4100でOpenGLプログラム
実行したら変にならないですか?

FireGLとかGeforceとかのマシンだときちんと表示されるのに
WildCat4000,4100だとだめなんです。。

例えば・・

WildCat4000なら
テクスチャマッピングがうまく張られない。
張られてるんだけどあきらかにおかしい張られ方してる。
(gluBuild2DMipmaps() 使ってます)

WildCat4100なら
何故かセレクションが手前でなく一番奥の
ポイントがセレクトされてしまう。。

それぞれ最新ドライバをいれています。
知ってる方がいたら教えて欲しいです。
0192デフォルトの名無しさんNGNG
GEFORCE3はようやく今日発売らしー
5万円弱
0193デフォルトの名無しさんNGNG
>>192
5万円弱か〜。微妙な値段だな…
7万だったら絶対買わないけど。
とりあえず様子見
0194デフォルトの名無しさんNGNG
texture map, bump map, texture map + separate specular を経験してる
人に聞きたいんですが、パフォーマンスはそれぞれどの位でしょうか?

単なる texture map が一番早いとは思いますが、他はそれに比べて我慢できる
程度のものでしょうか?
0195デフォルトの名無しさんNGNG
age
0196デフォルトの名無しさんNGNG
>>189
いろいろあると思うけど、任意図形をアルファ値だけのテクスチャ
にしておいて、ソースアルファテストつきで描画→
ディスティネーションアルファテスト付きでモデル描画とか、
ディスティネーションアルファが使えなければ、図形の反転した
部分だけを(ソースアルファテストを使って)Z値だけ埋めていき、
あとはZテスト使って普通に描画とか。

>>194
ハードによるんじゃない?NV_vertex_program(ATI_vertex_transform)
とかを使えばバンプマップの接線座標系のトランスフォームも
ハードウェア支援が受けられるし、そこそこ使えるのでは?(ハード依存するけど)
#もっとも我慢できるかどうかは忍耐力に依存しそうだ。
0197194NGNG
>>196
回答ありがとうございます。

ハードウエアの支援方法を勉強しようと思います。(NV_vertex_program)
0198デフォルトの名無しさんNGNG
>>196
バンプマップはマルチテクスチャーで描画した方がいいような。
vertex programは頂点を増やしたりすることは出来ないし、
細かくしようと思うとただの四角ポリゴンに何百っていう
頂点数が必要だし。
ただ問題は、テクセルのブレンドにdotが使えないとダメって点
かな。と言うか、もしかしてOpenGLでそれ対応してるのってnvidiaだけ?

あ、あと>>189に対する返事サンキューです。
ディスティネーションアルファは恐らく使えないんで、後は
Depth Bufferしかないんだけど、任意でクリッピングした領域の中
でDepthTestとかしたいんですよ。とは言え最早これしか方法は無い
んだろうか・・・。
0199デフォルトの名無しさんNGNG
>>198
vertex_programは今までバンプマップをする時にCPUでやっていた
接線座標系のトランスフォームをGPUでやるって意味です。
(決して頂点を増やすって意味ではないです〈汗)
この方法でも、もちろんマルチテクスチャ、DOT3等は使います。
#判りにくくてゴメソ。
あと、ATIもOpenGLでDOT3に対応してたと思う(こっちは使ったこと
無いので詳しいことは知らないですがEXT_texture_env_dot3とか
があるみたいです)

> 任意でクリッピングした領域の中でDepthTestとかしたいんですよ。
任意でクリップした領域の上にDepthBufferを上書きしていけば
大丈夫でわ?(なんか誤解してたらすまんス)
0200デフォルトの名無しさんNGNG
>>199
そう言えばテクスチャベースのバンプマップってポリゴン毎にライトの座標系
をポリゴンのローカル座標系に変換する必要がありましたね。
ここん所をパイプライン分断せずに処理できたら強そうだ。
しかしNV_なんたらとかやってないでOpenGL1.3の標準機能とかにして欲しいっス。マジ。

>任意でクリップした領域の上にDepthBufferを上書きしていけば
>大丈夫でわ?(なんか誤解してたらすまんス)
そうすると任意クリッピング用のDepthBufferが壊れててしまいませんか?
一つの解法として、DepthRangeでクリッピング用のレンジを設定してやれば
無理無くできる気がしています。精度が落ちるけど。
0201デフォルトの名無しさんNGNG
age
0202デフォルトの名無しさんNGNG
原因がわからないので教えて下さい。

環境は WinNT4.0 VC++6.0 で、

hogeView::OnDraw(CDC* pDC) {
  // この辺で wglMakeCurrent( pDC->m_hDC, m_hRC );
  // CreatePointFont(…); SelectObject(…);
  // は成功してると思って下さい

  if (!wglUseFontBitmaps( pDC->m_hDC, 0, 256, 1000 )) { // この戻り値が FALSE
    GLenum err = glGetError(); // この値が GL_NO_ERROR
    // これを DWORD err = GetLastError() にしても戻り値は 0
  }
  DrawWithOpenGL( pDC );

  // wglMakeCurrent( pDC->m_hDC, NULL );
  // DeleteObject(); glDeleteLists(0, 1000);
  // とかもちゃんとやってると思って
}

問題というのは、wglUseFontBitmaps() の戻り値が FALSE の時、
GetLastError() とか glGetError() やっても戻り値が 0 なんです。
そのせいか、無理やり後の DrawWithOpenGL(実際の描画) しても、
フォント以外の要素(GL_LINE)も描画されないんです。

だれか原因あるいは究明方法ご存知の方、教えて下さい。お願いします。
0203デフォルトの名無しさんNGNG
>>202
あまり使ったこと無いから適当に言うけど、
・使ってるフォントが悪い。違うの使ってみる。
・ちゃんとpDC->m_hDCにフォントを選択しているか。
・ちゃんとglGenLists使う。(はて、関係あったか?)
・ただ単に字が小さい。または、大きい。
・glCallList(s)で違うリストを呼んでいる。
ソースを見た感じ、
wglUseFontBitmaps(pDC->m_hDC, 0, 256,1000)は、
先頭0番目から256個の文字をリスト1000から順番に入れていく。ってのは分かってると思うけど、
描画する時、ちゃんと文字を入れたリスト1000以降をCallしてる?
glCallLists(6,GL_UNSIGNED_BYTE,"OpenGL")見たいな呼び方してるならglListBaseは必要。
glDeleteListsが必要だったかは良くわからんが、glDeleteLists(0,1000)はおかしい。
使ったフォントを消したいなら、glDeleteLists(1000,256)。(リスト1000から256個削除)

多分、使ってるフォントが悪いか、glGenListsかだと思う。
ところでリスト0って定義出来たっけ?
ダラダラ書いたが、全てがあやふやなので聞き流してくれ。
中に当りがあったら明日は晴れだ。
0204デフォルトの名無しさんNGNG
あほな質問だけどOpenGLって何がOpenなの?
総称ってOpen Graphics Library?
0205デフォルトの名無しさんNGNG
>>203

ありがとうございます。
glDeleteLists(0,1000) は書き込みの後で気付いて訂正しました。
glGenLists() はやってないので試してみます。
フォントは Courier New 使ってるので大丈夫だと思います。
0206203 = 205NGNG
ごめんなさい。>>203
解決しました。OpenGL とは全然関係ないところで、0 除算してたのが原因デシタ…。
申し訳ないっす。でも参考になりました。ありがとうございました。

デワ逝ってキマス…
0207203NGNG
>>206
 (\     ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  \\/ (・∀・)<  逝かなくてもいいよ!
   ( 。 /U U  \_____________
   U⌒U
0208デフォルトの名無しさんNGNG
Savege4でOpenGL動いてますか?
0209TakeNGNG
>>208
私の環境(Win2000 + VC++6.0 )でボードはDiamondのStealth540ですが
ちゃんと動いてますよ。確かチップはSavege4だったと思うんですけど。
0210デフォルトの名無しさんNGNG
勉強になるなあ。
0211デフォルトの名無しさんNGNG
auxSolid**
系の関数使うとメモリリークするんですけど。

このバグフィックスしたバージョンのものの存在、どなたかご存知ないですか?
0212デフォルトの名無しさんNGNG
俺はglutがメモリリークするよ。
0213208NGNG
>>209
サブ画面用にレンダリングコンテキストを作り直すとSavage4だけ落ちます
モバイルSavageは初期化で落ちます
0214208NGNG
G450でもレンダリングコンテキスト作り直しで落ちた
ドライバのバージョンを最新の一つ前にしたら落ちなくなった
鬱だ
0215デフォルトの名無しさんNGNG
GLfloat、GLdoubleどっちで使ってる?
0216デフォルトの名無しさんNGNG
>>215
full auto
0217名無しさんNGNG
age
0218名無しさんNGNG
age
0219名無しさんNGNG
age
0220名無しさんNGNG
age
0221名無しさんNGNG
age
0222デフォルトの名無しさんNGNG
full autoって?
0223デフォルトの名無しさんNGNG
MFCのsplitwndにopenglviewを貼り付けてます。
しかし1番目のウインドー以外正しい位置でレンダリングされません。
4つのウインドーはそれぞれのRCをもちwglShareListで共有してます。
OnDrawでは、大まかですが
wglMakeCurrent( dc , rc );
glMatrixMode(GL_PROJECTION )
glLoadIdetinty();
glViewport(w,h);
glFrustum(...);
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
.................
SwapBuffer(..)
wglMakeCureent(0,0);
のようになっています。1画面だとうまくいっているようなんですが、
どこがいけないんでしょう?・・・・
こういうサンプルもなくかなり悩んでます…
0224223NGNG
自己レスです・・・
レンダリングコンテキストを共有したら、うまくいっているように見える。
これでええの?^^;
0225デフォルトの名無しさんNGNG
>>223
http://www.gamedev.net/reference/programming/features/3dmfc/
参考にならなかったらスマソ。
0226223NGNG
>>225
お〜まさしくそのものですね。
ありがとうございます。
0227デフォルトの名無しさんNGNG
PBUFFERってどう言う使い道ある?
ただ見えないバッファ作るってだけで、用途が無いような気がするんですけど。
それとレンダリングコンテキスト二つ用意するのと違いってあるの?
0228デフォルトの名無しさんNGNG
>>227
ゲームとかでマルチパスレンダリングしたいとき
(動的に環境テクスチャを作るとか、シャドウマップを行うときとか)
に使うんじゃないかな?
#シャドウマップに限るならGeforce3ならSGIX_depth_textureとか
#つかうのかな?
0229デフォルトの名無しさんNGNG
>>228
直接テクスチャとして使えるんですか?
glCopyTexImage2Dで吸い上げるんなら、ダブルバッファにして裏に書いたら良いような気も?
0230デフォルトの名無しさんNGNG
>>229
結局glCopyTex[Sub]Image2Dとかで吸い上げるんだけど、(違う方法
もあったらゴメソ)スクリーンサーフェースと違う解像度、Pixel Format
等でレンダリングできるのがウリみたい。
0231デフォルトの名無しさんNGNG
>>229
あと、吸い上げるつーてもハードウェアメモリ間で
コピーされるからかなり速いよ。
無論直接テクスチャとして使えた方がもっと嬉しいけど。
0232デフォルトの名無しさんNGNG
実際にはコピーすらしてない場合もあるから速いらしい。
そこはドライバ次第らしい。
でもトリッキーなので新しい仕様が練られてるらしい。
0233デフォルトの名無しさんNGNG
>>232
おお、そうだったのか!
0234227NGNG
>>228-233
ん〜。便利そうな気もしますが、
わざわざバッファ用意してテクスチャ位しか使い道ないってのも…。(されどテクスチャ?)
他に用途はあります?
とりあえず、物は試しで使ってみます。
0235デフォルトの名無しさんNGNG
open-glで3Dの文字の書き方教えてください
cでlinuxをつかってやってます
0236デフォルトの名無しさんNGNG
GLUTにアルファベット文字のデータ入ってなかったけ?
0237デフォルトの名無しさんNGNG
わからないです
はいってるんですか?
どうやってつかうんですか?
0238デフォルトの名無しさんNGNG
>>237
教えてクソ、10分調べただけで質問すんなや。
0239デフォルトの名無しさんNGNG
>>235
・http://reality.sgi.com/mjk/glut3/glut3.html からGLUTの3.7のパッケージをダウンロード
・progs/contrib/text3D.cをコンパイル
・実行する→ウマー

#でもこれくらい自分で調べようよ…
0240初心者NGNG
スライダーバーで各種変数を変化させ、それをリアルタイムで
OpenGLで表示させたいのだが、Invalidateを入れると画面がチカチカ
してしまいます。

数値が変化したときだけ、画面を更新させる方法はないですか?
0241初心者NGNG
スライダーバーで各種変数を変化させ、それをリアルタイムで
OpenGLで表示させたいのだが、Invalidateを入れると画面がチカチカ
してしまいます。

数値が変化したときだけ、画面を更新させる方法はないですか?
0242初心者NGNG
スライダーバーで各種変数を変化させ、それをリアルタイムで
OpenGLで表示させたいのだが、Invalidateを入れると画面がチカチカ
してしまいます。

数値が変化したときだけ、画面を更新させる方法はないですか?
0243デフォルトの名無しさんNGNG
3回も聞く人には教えてあげません
0244初心者NGNG
スライダーバーで各種変数を変化させ、それをリアルタイムで
OpenGLで表示させたいのだが、Invalidateを入れると画面がチカチカ
してしまいます。

数値が変化したときだけ、画面を更新させる方法はないですか?
0245デフォルトの名無しさんNGNG
スライダーバーで各種変数を変化させ、それをリアルタイムで
OpenGLで表示させたいのだが、Invalidateを入れると画面がチカチカ
してしまいます。

数値が変化したときだけ、画面を更新させる方法はないですか?
スライダーバーで各種変数を変化させ、それをリアルタイムで
OpenGLで表示させたいのだが、Invalidateを入れると画面がチカチカ
してしまいます。

数値が変化したときだけ、画面を更新させる方法はないですか?
スライダーバーで各種変数を変化させ、それをリアルタイムで
OpenGLで表示させたいのだが、Invalidateを入れると画面がチカチカ
してしまいます。

数値が変化したときだけ、画面を更新させる方法はないですか?
0246デフォルトの名無しさんNGNG
ダブルバッファにしてもちらつきますか?
0247デフォルトの名無しさんNGNG
InvalidateじゃなくSwapBuffersでいいんでねーの??
0248245NGNG
>246
>247

遅レスなってスイマセン。
お二方の書かれたとおりにプログラムを書きましたら
できました。非常によい助言ありがとうございます!
0249デフォルトの名無しさんNGNG
たまには、
0250名無しさん@OPENGLNGNG
あげてみるか。
0251デフォルトの名無しさんNGNG
vrmlファイル読み込んで快適に表示&モデル制御できてるやついるかゴラァ!
cybervrml97は読み込み(シーングラフの構築)にカナーリ時間かかるぞ
0252デフォルトの名無しさんNGNG
QvTraverseを後悔しよう!
0253ななしさんNGNG
QUAD/Vertexでルービックキューブ(3x3x3)作って
Light/MaterialでAlphaチャネルいじって全透過で見たいんだけど
端っこの4個がどうしても透過がうまくいかないんだ。
どうしょう。ちなみにOpenGL4Javaっす。
うみゅ。
0254デフォルトの名無しさんNGNG
「端っこの4個」の意味がよくわかりませんが、
透過を綺麗にやろうとすれば3x3x3の立方体を描画
する順番をきちんと考えて制御しないとだめっすよ。
0255ななしさんNGNG
>>254

gl.glDepthFunc(GL_ALWAYS)
入れたら上手く透過できました。デフォルト(GL_LESS)だったようです。
アクリル版で作ったルービックキューブ(ちょっと青色)みたいで
グルグル回して涼しいですぅ。
0256ななしさんNGNG
ふと思ったこと。
GL4Javaってauxライブラリ使える?
0257デフォルトの名無しさんNGNG
Teapot!
0258デフォルトの名無しさんNGNG
windowsプログラムなのになぜmainから始まりますか?
0259デフォルトの名無しさんNGNG
むしろCプログラムなのになぜmainから始まりませんかという感じ
0260  NGNG
Win2K+GL4Javaでセレクション上手くうごかないょぅ。
0261デフォルトの名無しさんNGNG
windowsで赤青めがねを使った立体視したいんですが、参考になるようなページがあれば教えていただけないでしょうか。
0262デフォルトの名無しさんNGNG
>>256
ふと目にはいったんでレス。
使えないよ。gluとglutの一部は使える。
0263256NGNG
>>262
ありがと。
なんとなく使えない気がしてたよ。
0264デフォルトの名無しさんNGNG
定期アゲでしょ。勉強になる!
0265デフォルトの名無しさんNGNG
NURBSバリバリ使いこなしてる人いる?
0266デフォルトの名無しさん NGNG
画面上の物体を常にワールド座標で回転させるにはどうすればいいんでしょうか。
(物体にどんな回転がかかった後でも、ワールド座標系のx軸、y軸、z軸で回転させたい)
0267デフォルトの名無しさんNGNG
>>266
前に回転した行列をとっておいて、その行列にワールド座標系の
回転行列を左から掛ければよいです。時々正規化しましょう。
0268デフォルトの名無しさんNGNG
>>267
レスどうもです。
行列をとっておくのはglPushMatrix()ですよね。
その行列の左から新しい行列を掛け合わせるにはどうすればいいんでしょうか。
glPopMatrix()で取り出した後にglRotatef()とかやると、右側から掛けることになっちゃいますよね。
0269デフォルトの名無しさんNGNG
>>268
姿勢の制御用にOpenGLの行列操作を利用してはダメです。自前でクラスなり
を作りましょう。
例えば、オブジェクト座標系の行列をMo、ワールド座標系の回転行列をMrと
すれば、ワールド座標系での回転は、Mr x Moで表現できる。
左から掛けるというのは単に計算の順番をいれかえてやるだけです。
0270デフォルトの名無しさんNGNG
MFCのCSpritterWndで4つのOpenGLビューウィンドウ
を作ったんですが これらのウィンドウのバーの部分に
メニューをつける方法ってあるんでしょうか?
メタセコイアとかマヤみたいに。
この方法をご存知の方、よければ教えてください。
0271デフォルトの名無しさんNGNG
>前に回転した行列をとっておいて、その行列にワールド座標系の
>回転行列を左から掛ければよいです。時々正規化しましょう。

時々正規化する。というところがわかりません。
こうしないとどうなるのでしょうか?
0272デフォルトの名無しさんNGNG
Libretto買おうと思ってるんだけど
ttp://www.watch.impress.co.jp/pc/docs/article/20010802/toshiba.htm

これについているSavageIX(8MB)ってOpenGL対応しているのでしょうか?DirectX
もそれなりに速ければなお良いのですが。

あとWindows2000だとOpenGLの一部でDirectX使っているというのは本当ですか?
0273デフォルトの名無しさんNGNG
>>272
対応しているよ。
実装がヘボいらしいけれど・・・。
0274!=267NGNG
>>271
行列が正規直行から外れてだんだんオブジェクトの形が崩れてくる
ただし目で見て分かるのは何年も連続稼動したあとだと思う
0275デフォルトの名無しさんNGNG
正規化は外積2回取るのでいいのかな?
0276デフォルトの名無しさんNGNG
>>275

正規化って単位行列にすることかと思ってた。
外積2回取るとどうなるの?
0277デフォルトの名無しさんNGNG
>>272
SavageIXは一見動作しているようなフリをしてOSごとフリーズするから嫌い。
0278デフォルトの名無しさんNGNG
>>272
現行のノートPC用のチップにOpenGLを期待すること自体が無意味だと思われ。

そういやモバイル用Geforceチップの話はどこにいったんだ。
東芝あたりが搭載したノートを4月に出したはずだが、国外オンリーだしYO。
0279デフォルトの名無しさんNGNG
ノートでちゃんと使えるのはGeForce2 Goチップだけ
0280デフォルトの名無しさんNGNG
>>278
DELLもTOSHIBAもgeforce2 goを乗っけたマシン国内向けに売っているけれど、
それじゃなくて?
0281デフォルトの名無しさんNGNG
>>277
落ちたことないけれどなあ・・・。
0282272NGNG
LibrettoでOpenGLしている人いない?
そろそろノートでも3Dしたいですよね。
0283デフォルトの名無しさんNGNG
俺リブでGLやってます。(先日買った)
なんかダブルバッファOnにすると表示が乱れる現象があって困り者。
ダブルバッファ使わなければ問題無いがなんかな〜。
ドライバ更新を待つしかないのか・・・・
0284283NGNG
画面の色数変えたら直った。
0285デフォルトの名無しさんNGNG
>>280
まじで?情報サンクス。探してみるわ。
0286デフォルトの名無しさんNGNG
ところで、GeForce2 Goって性能どんくらいなん?
0287デフォルトの名無しさんNGNG
テクスチャバッファを取得する方法って無いのでしょうか?
フレーム毎にテクスチャ自体を書き換えたいのですが・・

やっぱ、
毎フレームglTexImage2D()をコールしないとダメでしょうか?
0288デフォルトの名無しさんNGNG
>>287
glTexSubImage2D のほうがよい
最近のカードであれば期待した動作になるはず
0289やっと半年NGNG
OpenGLで描いた画面を印刷したいんだけど、プリンタに対してはOpenGL命令は無効なの?
自分で試した限りではダメでした。
こういう場合はビットマップに描いてからそれをプリンタに出力しかないのかなぁ?
0290287NGNG
>>288
ありがとうございます。

glTexSubImage2Dで既存のテクスチャを置き換える関数が
わざわざ用意されているということは、
glTexImage2D()を毎フレームコールすると、イメージが
どんどん追加されていくのでしょうか?
それとも、単なるパフォーマンスの違いでしょうか?
0291デフォルトの名無しさんNGNG
>>290
glTexImage2Dはテクスチャオブジェクトを新規生成する。
glTexSubImage2Dは既存のテクスチャオブジェクトのピクセルだけを書き換える。
なんとなく前者が重い処理に思えるでしょ。え?思えない?

最近のドライバは後者のために最適化されていたりするらしいので、
頻繁に書き換えるのが前提であるなら glTexSubImage2D の利用を考えてみては。

蛇足ですが、レンダリング結果をそのままテクスチャにする、なんてことをやるには、
これと同系統の命令を使います。命令名失念。glCopyなんとか。

ちとズレますがDirectXでも同様です。
DirectXだとサーフェスをロックしてカキコですね。
転送フォーマットを考えないでいい分、OpenGLのほうが楽ですけど・・・
0292287NGNG
>>288,>>291
ご丁寧にありがとうございます。
当初の目的を達成できました。

全然話が変わるのですけど、GeForce3でVRAM to SYSTEMの
イメージ転送(レンダリングイメージ等)をすると、
OpenGLだとそこそこの速度で転送できるのに、
DirectX8だとまるでパフォーマンスがでません。
どういうカラクリなんだろう・・?
DX8でレンダリングターゲットをロックして
単純なメモリアクセス
*sys++ = *vram++;
でも、めちゃくちゃオーバーヘッドがかかります。
CopyRect使っても変わらないですね。640x480x32の転送で30fps位・・
そういう理由でOpenGLを選択したんですけど、
他のカードではどうなんでしょう?
G450だとDX8でもVtoS転送は速いです。
これは、nVIDIAのせいか?

・・・って、スレ違い?
0293デフォルトの名無しさんNGNG
SYSTEM to VRAMじゃなくて、VRAM to SYSTEMなんですね。
やったことないスマソ

レンダリングターゲットから一旦外してみてはどうでしょう。
(あるいはターゲットを別サーフェスにする)
ターゲットされてる間は、特別扱いになってる気がしないでもないです。

>・・・って、スレ違い?

そろそろやばいかな〜
0294デフォルトの名無しさんNGNG
OpenGLで3Dモデルファイルを扱う場合はどのような形式がお勧めでしょうか?
あるいは主流でしょうか?
XGLとかはすでに死んだフォーマットなのでしょうか?
0295デフォルトの名無しさんNGNG
>>294
vrml
0296デフォルトの名無しさんNGNG
>>295

なんで?
0297デフォルトの名無しさんNGNG
bsp
0298デフォルトの名無しさん01/08/27 23:33ID:rH3n9S2o
bspするのみvrmlを使うのがよいということでしょうか?
よくわからないのですが。
0299デフォルトの名無しさん01/08/27 23:34ID:rH3n9S2o
のみ→ために
0300デフォルトの名無しさん01/08/28 01:03ID:tmNas1cA
OpenGLでトーンシェーディングやっているソースってないでしょうか?
0301デフォルトの名無しさん01/08/29 23:28ID:A6szD0bQ
>>300
http://www.darwin3d.com/gdm2000.htm
0302デフォルトの名無しさん01/08/30 23:04ID:KzLfL2Es
>301

Thanx!gdmagのやつだね。
0303デフォルトの名無しさん01/08/30 23:49ID:4x/VOGOc
http://www.hoops.ne.jp/~donec2000/index2.html
0304kNGNG
読むの楽だからあげさせてもらいます。
0305デフォルトの名無しさんNGNG
海外に比べて国内だとOpenGLよりDirectXが使われる機会が多いような
気がしますがそれはなぜでしょうか?

OpenGL使ったゲームとかすくないよね。

日本語の資料が少ないせいかな?
OpenGLでゲーム作りたいのですが市場が許さない?
0306デフォルトの名無しさんNGNG
>>305
あなたの現在の立場は?
0307デフォルトの名無しさんNGNG
>>306

新人ゲームプログラマです。普段はコンシューマゲーム機でゲーム作っています。
PCで出すならOpenGL使いたいかなって思っているところです。
0308デフォルトの名無しさんNGNG
>>307
PCのビデオカードがnVidiaだけならOpenGLもありだとは思う。が、
いかんせん他のビデオカードでの対応が悪すぎて、使えない。

まあ、DX7以降はD3DとOpenGLとの差異が少なくなってきてるから、
"一般に配る"プログラムなら、どっちで作ってもあんまり変わらんよ。
(このスレに時折でてくるGL厨房の妄言は無視しようね☆)

それ以前に、
PCゲーム市場に金を出してくれる人がいないという問題もあるけど。
0309デフォルトの名無しさんNGNG
>PCゲーム市場に金を出してくれる人がいないという問題もあるけど。

この件を考えないでいいとして質問。
同じゲームでDirectX使って作ったものとOpenGL使って作ったもの
あなたならどっち買う?
0310デフォルトの名無しさんNGNG
面白いほう。
0311デフォルトの名無しさんNGNG
>310

たしかにそうだな。
面白さも同じならどっち選ぶ?
0312デフォルトの名無しさんNGNG
買う側にとっては 310 の言うようにどっちでもいいよね。
むしろ、聞き慣れない得体の知れないライブラリ(?)を使われると
「うごかねーんじゃねーの」と敬遠される理由になりかねない。

>>311
「まともに動きそうな方」になるでしょうね。
消費者もバカじゃないから、動かない可能性は排除したがるみたいです。
0313デフォルトの名無しさんNGNG
コインでも投げて決める。
そもそもどんなテクノロジーが使われてるかなんて
一般消費者から見てどうでもいいことなんか選択基準に
なりようがない。
0314デフォルトの名無しさんNGNG
>>311
手持ちのハードウェアで確実に動くほうでしょ。

で、そんなことで悩みたくないから PS2 のゲームを買う。
0315デフォルトの名無しさんNGNG
みんないろいろありがとう。
とりあえずOpenGLでやってみます。
0316デフォルトの名無しさんNGNG
OpenGLってグラフィックのみだからなぁ
DirectXはグラフィック、サウンド、入出力まで揃ってるし
OpenGL採用してるゲームってWin以外にも移植性考えてるからじゃないの?
0317デフォルトの名無しさんNGNG
Win以外って何があるんだよ
0318デフォルトの名無しさんNGNG
Macかな?金になりそうなのは。Linuxは金にならんかも。
研究用ならマルチプラットフォームの方がいいけどね。
0319デフォルトの名無しさんNGNG
>サウンド、入出力まで揃ってるし

サウンドぐらいは機種別に何とかするとして
GLUTでジョイスティック見れなかったけ?

やっぱSDLになるなぁ。
0320デフォルトの名無しさんNGNG
研究用ならOpenGLの方がうけいられやすいの?
SIGGRAPHで発表するのが最終目標なんだけどOpenGLでやっぱやるべき?
DirectXはゲーム用なので馬鹿にされる?
0321デフォルトの名無しさんNGNG
>>320
研究内容がOpenGL依存であるなら、OpenGLで行うべき。
そんな研究が存在するのか謎だけど、自己満足ならアリかも(藁

むしろ研究する環境からの要請で「使わざるを得ない」ということのほうが多いと思うけどね。
標準のライブラリが揃っているとか、他の人と一緒にやるから、とか。
0322デフォルトの名無しさんNGNG
OpenGL詳しくは知らんけど、DirectXだと計算精度は速度重視なんで単精度
OpenGLだと実装次第でもっと高い精度も可能じゃないの?
0323デフォルトの名無しさんNGNG
Quake3 Arena
0324_NGNG
>>322
Direct3Dは倍精度も可能だよ。
パフォは落ちるけど。
やっぱC++&COMが好きな奴はDirectX
Cが好きな奴はOpenGLになるんでないの?
0325デフォルトの名無しさんNGNG
>>323
特例を持ち出しても意味ないって
0326デフォルトの名無しさんNGNG
しかし、個人的にはGlideが・・・(以下略
0327デフォルトの名無しさんNGNG
Quakeは確かに特例っぽいね。他にOpenGLゲームある?
0328デフォルトの名無しさんNGNG
何かあったっけねえ?
0329デフォルトの名無しさんNGNG
X-planeってのがあるらしい。最近のMacのは全部OpenGLか?
http://www.apple.co.jp/opengl/

あとMayaとかSoftImageは内部でOpenGL使ってんじゃないの。
0330デフォルトの名無しさんNGNG
MSってOpenGLサポートやめんの?うちだとWindows2000でもちゃんと動いているよ。
http://www.zdnet.co.jp/macwire/9912/02/c_register.html

-Id Softwareの中心的プログラマーであり,OpenGLの熱心な支持者であるJohn Carmack氏

Carmachファンだから俺はOpenGLでゲーム作るぞ!
0331デフォルトの名無しさんNGNG
つうかQuakeのこいつがOpenGLを選んでなきゃ
今頃、コンシューマーボードのOpenGLサポートも
昔のまんま稚拙なものだったかもしれないね。
それが良い事なのか、そうじゃないのかは微妙。
個人的には、OpenGLなんていらないし。
0332バード大佐NGNG
unrealもいちおうOpenGL対応
0333kNGNG
クエークIIIのエンジン使ってるゲームって
多いからそれらもOpenGLではないの?
アリスインナイトメアとか。
0334デフォルトの名無しさんNGNG
QuakeエンジンならそのままOpenGL対応になるよ
あとQuake系でない独自エンジンのSerious Samとか

OpenGLのサポートって基本的にビデオメーカーに依るので
対応の良いとこ(nVidia)とか悪いとこ(Matrox)とかでかなり差が出ると
思われる。
0335デフォルトの名無しさんNGNG
つうか洋げーの一部でOpenGLが使われているのはCarmachの影響を
うけているだけ?日本のゲームでOpenGLが使われないのはCarmach
を知らないから。
0336デフォルトの名無しさんNGNG
OpenGL初心者です。

OpenGLの射影変換で正射影を使うケースってどんなときでしょうか?
透視射影は普通に使うと思うのですが・・・。
0337デフォルトの名無しさんNGNG
あと
glLoadIdentity()は何をやっているのでしょうか?
マトリックスのリセット?
0338デフォルトの名無しさんNGNG
>>336
CADやShadeなんかのの3面図書くときとかいっぱい使うことあるでしょよ。
0339デフォルトの名無しさんNGNG
>338

なるほど!3面図は確かにそうですね。
0340デフォルトの名無しさんNGNG
glutKeyboardFunc();
に登録するコールバック関数の2,3番目の引数x,yにはなにが入っているの?
0341デフォルトの名無しさんNGNG
キーがタイプされたときのマウスの位置。
0342デフォルトの名無しさんNGNG
ある環境で光源が8つ以上使えるかどうか調べるには
どうすればいいのでしょうか?
0343デフォルトの名無しさんNGNG
>>330
Carmachなんて書いてるようではファン失格!
0344デフォルトの名無しさんNGNG
気になってたけど、Carmachってなに?
0345デフォルトの名無しさんNGNG
ファンのみなさん、すみません。
John Cramackでした。

>344

Doom作った天才プログラマです。
0346デフォルトの名無しさんNGNG
>>342
glGet* で固有の定数もゲットできる
0347デフォルトの名無しさんNGNG
Carmachあげ
0348デフォルトの名無しさんNGNG
カーマッハ?
0349デフォルトの名無しさんNGNG
2ちゃんでは  ジョン・カーマハ  なのです
0350デフォルトの名無しさんNGNG
宿題で曲線を描くプログラムを書いてるのですが
glMap1とgluNurbsCurveを使わないといけないのです。
使い方の説明を見てもいまいちわからないのですが
どこかにそれらを使ったサンプルプログラムはありませんか?
実際に使われているものを見れば分かる気がするのですが。

当方、openGLはこれが初めてのプログラムになります。
0351デフォルトの名無しさんNGNG
age
0352デフォルトの名無しさんNGNG
Mesaをインストールする時点で挫折しました。
0353デフォルトの名無しさんNGNG
質問させて下さい。

VC++ で OpenGL を使っているのですが、画面に描画されたイメージを印刷するには、
どうしたらいいのでしょうか?
できれば白黒の2値にして、反転もさせたいのですが…。
印刷の方法だけでも良いので、どなたか教えて下さい。
0354デフォルトの名無しさんNGNG
そりゃVC++のスレに逝った方がいいな。
0355デフォルトの名無しさんNGNG
ずいぶん前になるが、
OpenGLとDirectXが一緒になるって話はどこ逝った。
さがりすぎあげ。
0356デフォルトの名無しさんNGNG
>>355
逝った。
0357デフォルトの名無しさんNGNG
OpenGLって日本語表示できないの?
0358デフォルトの名無しさんNGNG
用途にもよるがGLUIの日本語化はこちらで
http://www.aya.or.jp/%7Esanami/peace/
0359デフォルトの名無しさんNGNG
>>353

この辺のサンプルでどうでしょう?
http://www.asahi-net.or.jp/~yw3t-trns/opengl/samples/index.htm
0360デフォルトの名無しさんNGNG
良スレage
0361デフォルトの名無しさんNGNG
nVIDIAやATIが対応し始めたOpenGL 1.3ってなにがかわるの?
ねたふりあげ。
0362デフォルトの名無しさんNGNG
>>361
何も変わらない
0363353NGNG
>>359

久しぶりに見てみたら…ありがとうございます!
参考にさせて頂きます。
ほんとにココ良スレ。age!
0364デフォルトの名無しさんNGNG
>>361

基本的には、現在広く使われている ARB や EXT の拡張機能を統合しただけのようです。
0365金穴NGNG
質問君ですまんが、
みんなはなにでモデリングして、どーやって読み込んでるのよ?
ファイル読み込むAPIとかってglutとかにあるの?
やっぱ赤本買わないとだめ?
0366デフォルトの名無しさんNGNG
>みんなはなにでモデリングして、どーやって読み込んでるのよ?
ローダー書け。OpenGLが世話してくれるのは描くとこだけ。
VRMLとかOBJとか読んでくれるライブラリもないわけじゃないが、
カスタマイズしにくいし、俺はあんま使わんな。
0367デフォルトの名無しさん NGNG
単純に2次元の文字列を表示させたいんですが、わかんないです。
(例えば「速度:〜」とか)
3次元空間でグリグリ動かせる文字列の作り方はわかるんですが、
それだと視点が変わるとダメだし…
0368デフォルトの名無しさんNGNG
>367
別のDIBに描画してBltするんじゃダメ?
もっといい方法があれば私も教えてほしい。
0369デフォルトの名無しさんNGNG
>>367
>3次元空間でグリグリ動かせる文字列
ってwglUseFontOutlines?
だったら
wglUseFontBitmaps
0370デフォルトの名無しさんNGNG
>それだと視点が変わるとダメだし…
とりあえず glLoadIdentity() 後すぐに描けばそれっぽく見えるのでは。
0371デフォルトの名無しさんNGNG
質問させてください。

Windows上でglutを使って書いています。
今マウスの動作をCTRLキーで変更したいのですが、修飾キー(CTRL,SHIFT,ALT)のみの
入力はglutKeyboardFunc()が拾ってくれません。具体的には、マウスをクリックした状態で
画面にマウスポインタを囲む形で円を描き、CTRLキーを押すとその円が大きく、
CTRLキーを離すと小さくなるという感じの動作です。
なんとかならないでしょうか。
0372デフォルトの名無しさんNGNG
>>371
CTRLとかはglutSpecialFuncだったかなぁ?
0373デフォルトの名無しさんNGNG
OpenGLでPS2の設定画面のキューブみたいな屈折の表現ってどうやってやるのでしょうか?
工学迷彩みたいなの(?)やってみたいです。
0374371NGNG
>>372
サンクス。CTRL,SHIFT,ALTはglutSpecialFuncではなく
glutGetModifiersでとれるのですが、
このglutGetModifiersをglutKeyboardFuncの中に置いても、
他のキーも一緒に押されないとglutKeyboardFunc自体が呼ばれないので
駄目なのです。

glutDisplayFuncの中でglutGetModifiersを毎回呼んで値を
覚えておくしかないのかなぁ・・・。
0375sageNGNG
>>365
赤本はやめとけョ
0376371NGNG
>>374
> glutDisplayFuncの中でglutGetModifiersを毎回呼んで値を
> 覚えておくしかないのかなぁ・・・。

駄目ジャン。
0377デフォルトの名無しさん NGNG
>>375
何故ダメなんだ?
0378371NGNG
>>377
376の駄目ジャンのことですか?
glutGetModifiersって『修飾』って書いてあるだけあって、
他のイベントと組み合わせないといけないようなので、
たとえ常に呼び続けたとしても例えばCTRLキーが単体で押された場合には
それを検出できないので駄目ということです。
マウス操作+CTRLキーってのはよくある組み合わせだと思うけどなぁ。
0379デフォルトの名無しさんNGNG
>>373

http://nehe.gamedev.net/tutorials/lesson36.asp
0380デフォルトの名無しさんNGNG
>>371
素直に自作した方が良いかもね。
俺はホイール使いたくて自作。ショボイけど。
0381 NGNG
3次元の閉じたオブジェクトをある角度から見たときの可視領域を、
一目瞭然にするプログラムを考えてるんですけど、
たとえば、デフォルトの視点からの可視領域だけ、色を変えて
オブジェクトを再描画・・・とかは出来ないんでしょうか?誰かおしえて。
0382デフォルトの名無しさんNGNG
>381
なぜにそれをOpenGLで??
0383381NGNG
卒論用のプログラムをOpenGLを使って組んでいて、
上で述べたような機能をもたせる必要があるんです。
何分勉強不足なもんで、的を得ていなかったらごめんなさいでした。
0384デフォルトの名無しさんNGNG
glutCreateWindowで、
GLUT: Fatal Error in test: failed to create OpenGL rendering context.

とでてしまいウィンドウが作れません。他のマシンでは起動できるのですが・・・
もしかしてビデオカードによっては起動すら出来ない場合ってあるのでしょうか?

環境 Win2000 + 3DP4500 ( KYROII )
0385デフォルトの名無しさんNGNG
よくある
0386デフォルトの名無しさんNGNG
>>381
「シャドウマップ」が参考になるかもしれません。
0387デフォルトの名無しさんNGNG
>381
 「デフォルトの視点」に点光源を対応づければ、この要求は
いわばオブジェクトにシャドウをつける事の逆をやろうとして
いると考えることが出来ます。
 ですので、OpenGLでの影付けの技術から何かが応用できるん
じゃないでしょうか。

 個人的には対象となるオブジェクトが比較的単純であれば
Stencilを使ったShadow Volumeを使うと思います。
 とりあえず、この辺に出ている文章を参考にしては?

 developer.nvidia.com/view.asp?IO=Stencil_Buffer_Tutorial
0388387NGNG
あう、かぶった
0389 NGNG
ageとこ。
0390デフォルトの名無しさんNGNG
bitmapを読み込んでテクスチャを張るにはどうすればいいの
0391デフォルトの名無しさんNGNG
>390

このへんで

http://www5a.biglobe.ne.jp/~yu_yoshi/gl/opengltop.htm
0392デフォルトの名無しさんNGNG
ここレベル低いなぁ。Bio100あたりの過去ログ見たら?
0393デフォルトの名無しさんNGNG
技術的な話が無いのは確か。
皆、初めで挫折してしまうのかな?
0394デフォルトの名無しさんNGNG
あげ
0395デフォルトの名無しさんNGNG
環境マップは大体理屈がわかりました。屈折マップに関してOpenGLのソース
つきで解説しているような サイト or 本 などないでしょうか?
0396 NGNG
ageたりして。
0397デフォルトの名無しさんNGNG
NV_texgen_reflection?
0398デフォルトの名無しさんNGNG
opengl32.dllとかglut32.dllなどのファイルは非商用or商用でもアプリケーションに
添付して配布してもかまわないのでしょうか?
0399デフォルトの名無しさんNGNG
>>397

特殊なハードウェアがないと駄目なのでしょうか?
0400デフォルトの名無しさんNGNG
>>399
俺もよく分からんから適当に言うけど、
REFLECTION_MAPだったら大抵どれでも出来るんじゃない?
nVidiaだったらglext.h、AtiだったらglAti.hをサイトから取ってきたら、
それインクルードして、
glEnable(GL_TEXTURE_GEN_S);
glEnable(GL_TEXTURE_GEN_T);
glEnable(GL_TEXTURE_GEN_R);
glTexGeni(GL_S,GL_TEXTURE_GEN_MODE,GL_REFLECTION_MAP_EXT);
glTexGeni(GL_T,GL_TEXTURE_GEN_MODE,GL_REFLECTION_MAP_EXT);
glTexGeni(GL_R,GL_TEXTURE_GEN_MODE,GL_REFLECTION_MAP_EXT);
でOk。
そんなことを聞いてるんじゃねーよってことなら無視しておくれ。
本当に適当でスマン。
0401 NGNG
あーげよ。
0402デフォルトの名無しさんNGNG
反射はreflection、屈折はrefractionっつー事で。
Nvidiaのデベロッパーサイトを漁れば例なりソースなり
出てくる様な気がします。
0403400NGNG
間違った。逝ってくる。
0404デフォルトの名無しさんNGNG
Open GLで曲線を書きたいです。あと線の太さもかえたいのですが
教えてください。初心者なのでサンプルプログラムなどあると助かるのですが。
0405デフォルトの名無しさんNGNG
線の太さはglLineWidthで。
(曲線はglEvalなんとかしか使ったこと無いのでNURBSは知らん。)
0406デフォルトの名無しさんNGNG
2つのViewportに描画しているようなサンプルないでしょうか?
レースゲームのバックミラーとかマップ表示とか立体視の左右分割画面
見たいなののサンプルが見たいのです。
0407デフォルトの名無しさんNGNG
>>404
ひじょーに短いサンプル
GLfloat cpt[][3]={{-10,-10,0},{5,20,0},{15,-10,0}};
glEnable(GL_MAP1_VERTEX_3);
glMapGrid1f(10,0,1);
glMap1f(GL_MAP1_VERTEX_3,0,1,3,3,&cpt[0][0]);
glEvalMesh1(GL_LINE,0,10);
というか探せばすぐ見つかると思うが…
0408デフォルトの名無しさんNGNG
406見て思ったんだけど、
画面の一部だけデプスバッファクリアってどうやるの?
glClearじゃ画面全体消えるよね?
適当に面で塗りつぶすしか無いのかなぁ。
0409名無しサソNGNG
>406
 別の解決法として一言。テクスチャサーフィスに
レンダリングするという手もあるよ。ただ、互換性を
重視するとglCopyTexImage2D()を使ってバックバッファ
に描画した物をテクスチャサーフィスに転送する必要
があって遅くなるけど。
0410デフォルトの名無しさんNGNG
いいスレなのでage
0411 NGNG
>>406 >>408
glEnable(GL_SCISSOR_TEST) と glScissor()
に決まっとるやろボケがー!
クリア範囲を決めます。
0412デフォルトの名無しさんNGNG
こんな感じ?

glEnable(GL_SCISSOR_TEST);

//カメラ一個め
glScissor(x1,y1,sizex1,sizey1);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glViewport(x1,y1,sizex1,sizey1);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(Pers, sizex1/sizey1, NearClip, FarClip);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();

//色々描画

//カメラ二個め
glScissor(x2,y2,sizex2,sizey2);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glViewport(x2,y2,sizex2,sizey2);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(Pers, sizex2/sizey2, NearClip, FarClip);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();

//色々描画

SwapBuffers(hDC);
0413408NGNG
glScissorでglClearをクリップ出来ないんだけど。俺だけ?
0414デフォルトの名無しさんNGNG
ステンシルバッファじゃだめなの?
それが一番効率がいいと思う.
いろいろな形でくり抜けるし.
0415デフォルトの名無しさんNGNG
サンプル
ttp://www.google.com/search?q=cache:ffI-O2KkLq4:www.vsl.gifu-u.ac.jp/techinfo/stereo/tbstereo.sample.html+glScissor&hl=ja&lr=lang_ja
0416408NGNG
画面の更新する部分だけバッファクリアできれば効率いいのになぁと思っただけ。
>>414
ステンシルがベターだとは思うけど、ステンシルを他のことにも使いたい
となったときに処理が複雑になるなぁ。

ちなみに406ではありませんので。
0417デフォルトの名無しさんNGNG
>416
確かにそうですな.
ステンシル値がぐちゃぐちゃになりそう.
0418デフォルトの名無しさんNGNG
GL_NORMAL_MAP_EXTって何に使うんですか?
0419デフォルトの名無しさんNGNG
良スレage
0420デフォルトの名無しさんNGNG
glFlush()とglFinish()との違いが良くわかりません。
この二つはどう違うのでしょうか?
0421デフォルトの名無しさんNGNG
                                 /
  ⊂二 ̄⌒\               ノ)      <  >>420 それは愛さ。1さんへの。
     )\   ( ∧_∧        / \        \
   /__   ) ´Д`)    _ //^\)
  //// /       ⌒ ̄_/
 / / / // ̄\      | ̄
/ / / (/     \    \___
((/         (       _  )
            /  / ̄ ̄/ /
           /  /   / /   .
         / /   (  /    
        / /     ) /     
      / /      し′      
    (  /                 
     ) /       ...::::::..:::...:...:..  ........
     し′   .....:::::::::::::::::::::::::::.::::::
     ..::::.::::::::::::::::::::::..::::::::::::::'
0422デフォルトの名無しさんNGNG
答えになってない
0423420NGNG
>>421
そういうことだったのか!
Thanx!
0424デフォルトの名無しさんNGNG
>>420

glFlush()が描画コマンドバッファを全部転送して空にする関数。
glFinish()は描画終了待ちするglFlush()かな。
0425レプタリアン教授NGNG
OpenGLでバンプマッピングはできたっけ・・
0426デフォルトの名無しさんNGNG
どうせどっかにextensionがあるんでないの。
0427レプタリアン教授NGNG
どのサイトに行ってもGLUTの説明ばっかで萎える・・
しばらくGLUTで頑張ったけど、フォントとか、GUI周りの機能がショボ過ぎて・・・
0428レプタリアン教授NGNG
http://www.rimath.saitama-u.ac.jp/lab.jp/tsakurai/opengl/progs/wave2d-bin.zip
http://www.rimath.saitama-u.ac.jp/lab.jp/tsakurai/opengl/progs/wave2d-src.tar.gz
http://www.rimath.saitama-u.ac.jp/lab.jp/tsakurai/opengl/progs/pde1d_01-bin.zip
http://www.rimath.saitama-u.ac.jp/lab.jp/tsakurai/opengl/progs/pde1d_01-src.tar.gz
http://www.rimath.saitama-u.ac.jp/lab.jp/tsakurai/opengl/progs/cubic-bin.zip
http://www.rimath.saitama-u.ac.jp/lab.jp/tsakurai/opengl/progs/cubic-src.tar.gz
http://www.daionet.gr.jp/~masa/archives/glclock-6.0b6.0.zip

改めて数学の知識の大切さを感じます・・・線形数学と数値解析学を勉強し直します。
0429デフォルトの名無しさんNGNG
>>425

擬似的な物なら出来る。

ハードウエアで実現する場合、機種依存の機能拡張に頼らざるを得ないのでは?
0430デフォルトの名無しさんNGNG
バンプマッピングにでも挑戦してみるかなぁ

ttp://www.opengl.org/
0431デフォルトの名無しさんNGNG
GLUT新しいのデタ!
http://www.xmission.com/~nate/glut.html
0432デフォルトの名無しさんNGNG
>>431
機能的には変わってないんでしょ?
0433デフォルトの名無しさんNGNG
>431

\demos\sysview

がVCでコンパイルできません。どうすればよいのでしょうか?
0434デフォルトの名無しさんNGNG
glut-3.7.6-bin.zipの方使えば?っていうのはダメ?
0435デフォルトの名無しさんNGNG
>434

いえデモプログラムのコンパイルがしたいのです。
progs\demos\sysview\
以下なんですが
0436デフォルトの名無しさんNGNG
>429
バンプマッピング.
OpenGL1.3からサポートされるって噂はデマ?
0437デフォルトの名無しさんNGNG
>>435

sysview.cを見れば分かると思いますがIRIX(SGI社のUNIX)依存のコードのようですね。
カーネルの動作状況を可視化しているようですので、Windowsで動くように書き直してみるとか?
0438レプタリアン教授NGNG
衝突検出は面の交差を判断する方法(面の方程式に代入してDの符号の差異で判断するヤツ)を用いるんでしょうか?
0439デフォルトの名無しさんNGNG
視点からの距離でフォグ生成って出来ない?
0440デフォルトの名無しさんNGNG
OpenALのことはここで聞いてもよいどすか。
0441デフォルトの名無しさんNGNG
フォグの意味からするとそれが普通のフォグだと思うんだけど・・・
実際のインプリでは距離じゃなくて深度値で決まるのかな。
0442名無しサソNGNG
>441
 頂点フォグとピクセルフォグというのがあるよ。頂点に距離毎
でフォグの色を付加していく奴と、描画時にZ値の値に応じて
付加していく奴。というのはあくまでD3Dの話なんだけど(笑)
OpenGLではどうなのかな?誰か捕捉プリーズ(役立たず)
0443 NGNG

256*256サイズのビットマップのテクスチャーをglTexImage2Dで作ろうとしたら、
エラーメッセージが出ちゃった。
ビットマップを取り出すにはどうすればいいの?
0444デフォルトの名無しさんNGNG
エラーの内容がわからんとなんともいえんよ。
0445デフォルトの名無しさんNGNG
ビットマップはテクスチャーとして使えないよ。
ちなみにDrawPixelsでもGL_BITMAPはカラーインデックスと
ステンシルインデックスとしてしか使えない。
0446デフォルトの名無しさんNGNG
レジスタコンバイナの勉強ってなにを見て勉強したらいいですか?
0447デフォルトの名無しさんNGNG
>>446
使ったこと無いからまたまた適当にいうけど、
NVShaderAidで適当にいじってコード吐いて見るとか。
0448446NGNG
ありがとうございます。
NVShaderAid調べてみます。
でも、nVIDIAのDeveloperがつながらない......。
0449デフォルトの名無しさんNGNG
次の目標500
0450デフォルトの名無しさんNGNG
OpenGLで、Mouseが動いたかどうか調べる方法は無いですか。
0451デフォルトの名無しさんNGNG
>>450
OpenGLそのものにそんな機能は無いYO!
0452名無しサソNGNG
>450
 そんな分けでGLUTを使うべし。GLUTって何ですか?
というのは聞くの禁止。
0453デフォルトの名無しさんNGNG
451>>452>>
ありがとう。
glutMotionFunc()とかの一般的なものしか使った事が無いので、
緑本で調べてみる。
0454デフォルトの名無しさんNGNG
間違えた!
>>451>>452
ありがとう。
glutMotionFunc()とかの一般的なものしか使った事が無いので、
緑本で調べてみる。
0455デフォルトの名無しさんNGNG
緑本ってのがあるとはしらなんだ。
0456デフォルトの名無しさんNGNG
赤本
緑本
青本
その他たくさん。
0457レプタリアン教授NGNG
Win32APIもやっぱり覚えなきゃダメなのかぁ・・・
0458デフォルトの名無しさんNGNG
>>457
簡単なウインドウを作れるレベルは覚えた方がいいかも。
glutでは物足りないっていうならなお更。
そこらへんはDirectXでもたぶん同じでしょう。
WGL関連も若干Win32APIの知識が必要だし。
0459レプタリアン教授NGNG
プログラムの勉強があっちいったりこっちいったりで・・・ハァ。

C→C++→MFC(途中で断念)→OpenGL(途中でWin32APIの知識を要求された)→Win32API    (独学で)
                  ↓
                   →C++、アセンブリ(casl)                           (大学で)

Win32APIを勉強してて思う事は、Win32APIを知らずしてMFCを学ぶのは自殺行為、というか俺には合わなかったなぁ、という事だ。
下で何が行なわれてるのか分からずにMFC使ってプログラム組んでた時はかなり気持ち悪かった。
Win32APIで、メニューIDとかも自分で整数値振ったりして(リソースエディタ使えよ!)、
実際の動作が理解できるというのは何か心地良い感じ。初心者な意見でスマソ。
0460デフォルトの名無しさんNGNG
>>459
アウトピなのでsage.
VC++の新規作成ウィザードの初期カーソル位置がMFCになっているから
C++→MFCといって一旦挫折する人が多いみたいね。
MFCはWin32とC++の設計(デザインパターンとか)を一度マスターしてから
戻ってくると以外に心地よかったりするよ。
0461デフォルトの名無しさんNGNG
俺もあっちいったりこっちいったりで脱線しまくり。
(;´Д`)ハァハァ…
0462デフォルトの名無しさんNGNG
すみません、基本的な質問かもしれませんが、
デフォルトのカメラ位置、つまり glLookAt を自分で設定する前の
パラメータというのは、どこで得られるのでしょうか?
0463デフォルトの名無しさんNGNG
>>462
ちょっと意味がわからんのだが、、、
もしかして行列以前の問題か??
0464デフォルトの名無しさんNGNG
OpenGL赤本p.99にはgluLookAt()を呼び出さない場合は

「カメラは原点に位置し、負のZ方向を指し、上方向ベク
トル(0,1,0)を持っています」

とかかれています。
これで答えになっているでしょうか?

カメラ位置は自分で変数に保存して覚えておけばよいのではないでしょうか?
0465デフォルトの名無しさんNGNG
>>464
まさにそれです。ありまとう。

ていうか、やっぱり赤本とかいう資料ナシにOpenGLプログラミングするのは
無謀ですね‥‥。
他人のプログラムにちょっと手を加えるだけ、と思ってたんですが、
やっぱり網羅的な資料がないと辛いや。
0466デフォルトの名無しさんNGNG
>>462
英語で良ければ、
ttp://ask.ii.uib.no/ebt-bin/nph-dweb/dynaweb/SGI_Developer/OpenGL_PG
英語に自信が無ければ素直に買ったほうが良いかも。

ちなみに俺は、コンパイラについてた英語のマニュアル
翻訳ソフトにかけてなんとか勉強してたよ。
それにどれくらいの月日を費やしたことか…(;´Д`)
結局、赤本、青本どっちも買った。
0467デフォルトの名無しさんNGNG
gluProject();について質問させてください。

現在、ビューウィンドウ上をマウスクリックした時に
ビューウィンドウで選択されたオブジェクトの位置に
対応したスクリーン座標を取得しようとしているのですが
正しい値を取得できません。

ソースの中身は以下のようになっています。
...
int viewport[4]; //GL_MODELVIEW
double modelview[16]; //GL_PROJECTION
double projection[16];//ビューポート
double ox, oy, oz; // オブジェクトのワールド座標
double wx, wy, wz; // 選択オブジェクトの位置に対応したスクリーン座標
...
オブジェクトのワールド座標値(ox,oy,oz)の取得処理
...
// GL_MODELVIEW, GL_PROJECTIONマトリクス,ビューポートの取得
glGetDoublev(GL_MODELVIEW_MATRIX, modelview);
glGetDoublev(GL_PROJECTION_MATRIX, projection);
glGetIntegerv(GL_VIEWPORT, viewport);

// 選択されているオブジェクトの位置に
// 対するスクリーン座標がwx, wy, wz に入るはず・・
gluProject(ox, oy, oz, modelview, projection, viewport, &wx, &wy, &wz);

以上のような処理をすると本来はWidth 440 Height 310のスクリーンなので
wx 0-440 wy 0-310の範囲の値が入るはずなのに

ox oy oz 43.590000 0.000000 -13.436000
wx wy wz 5845.257067 149.000000 0.507703
とか
ox oy oz 9.217000 0.000000 5.178000
wx wy wz -456.657639 149.000000 0.496399

といったようなとんでもない値が返ってきて期待通りの値が
取得できません。赤本,青本を見てやっているのですが
どうにもよく分かりません。どなたかご存知の方がいれば教えて下さい。
お願いします。
0468467NGNG
途中で切れたので連続で書き込みさせてもらいます。
...
以上のような処理をすると本来はWidth 440 Height 310のスクリーンなので
wx 0-440 wy 0-310の範囲の値が入るはずなのに

ox oy oz 43.590000 0.000000 -13.436000
wx wy wz 5845.257067 149.000000 0.507703
とか
ox oy oz 9.217000 0.000000 5.178000
wx wy wz -456.657639 149.000000 0.496399

といったようなとんでもない値が返ってきて期待通りの値が
取得できません。赤本,青本を見てやっているのですが
どうにもよく分かりません。どなたかご存知の方がいれば教えて下さい。
お願いします。
0469レプタリアン教授NGNG
ビューが歪んでいるのだよ。
0470デフォルトの名無しさんNGNG
やっぱ通は「プンG」と呼ぶのか?
0471レプタリアン教授NGNG
俺は「んぐぅ」と呼んでるぞ。
0472デフォルトの名無しさんNGNG
>>467
レンダリングコンテキストをカレントに設定してる?
0473デフォルトの名無しさんNGNG
通はOpenGLを「アイリス」と呼んでる。
0474デフォルトの名無しさんNGNG
>>467
GL_MODELVIEWって_MATRIX付け忘れるって間違いだったらよくあるけど、
それでもなさそうだしね。
やり方は合ってると思うから、
glGetで取ってるマトリックスがおかしいんじゃない?
YとZはそれっぽい値になってるから、Xに関係ある部分を調べましょう。

それでもだめならint double→GLint GLdouble 多分関係ないと思うが、、、
0475デフォルトの名無しさんNGNG
>>467
gluUnProjectの間違いではないですかね?間違ってたらゴメソ。

参考までに↓
http://www.sys.wakayama-u.ac.jp/~tokoi/opengl/faq.html
0476デフォルトの名無しさんNGNG
「おぺんぐる」じゃないの?
0477475NGNG
あ、UnProjectじゃないっすね…、ボケてました。
0478デフォルトの名無しさんNGNG
( ´_ゝ`)フーン
http://www.watch.impress.co.jp/pc/docs/article/20011130/nec2.htm
ま、漏れには縁の無い世界の話だなと。
0479467NGNG
みなさん、ご親切なレスありがとうございます。

MFCのCSplitterWndクラスを使ってViewWindowを
4分割しているためにおかしな値がはいってくるのでしょうか・・

その後試しに、475さんのおっしゃっていた
glUnProjectでマウス座標からワールド座標を拾ってこれるか
どうかを試してみたところ、2回に一度は正しい値を拾ってこれる
事がわかりました。しかし半分はglProject();同様とんでもなく
大きな値がはいってきます。。どうなっているんでしょうか。。

>469さん
 ビューガ歪んでいる」とはどういうことなのでしょうか?
 良ければ詳しく教えて下さい。

>472さん
 はい。そのようにしています。現に選択されたオブジェクト
 の座標は正しい値が拾ってこれています。
0480467NGNG
すみません。↑の書き込みの訂正です。

glUnProject(); → gluUnProject();
glProject(); → gluProject();
0481デフォルトの名無しさんNGNG
OpenGL 2.0どうよ?
http://www.3dlabs.com/support/developer/ogl2/index.htm
0482デフォルトの名無しさんNGNG
DirectXみたいに3,4,5...と上がっていくのが目に見えてて萎え
0483デフォルトの名無しさんNGNG
>>479
OpenGLのViewが一つでも同様の現象は起きますか?

>>481
いいだしっぺの3Dlabsは仕様にみあったビデオカードを出すことができるんだろ〜か?
0484デフォルトの名無しさんNGNG
ところでNVSDK使ってる人いる?
0485デフォルトの名無しさんNGNG
>484

今ダウンロードしています。

nvOpenGL_sdk.exe (OpenGLのみ)
NVSDK511FullInstaller.exe (上のにDirectXのやつも一緒になっている)

と理解してよいのですか?フレッツISDNだと一晩以上かかりそうだぁ。
0486デフォルトの名無しさんNGNG
コンパイルでエラーが…
古いVCだとダメか。
0487デフォルトの名無しさんNGNG
なかなか興味深いサンプルですね。
ぜひ英語に訳してほしいなぁ。STLの勉強もしないと。
0488デフォルトの名無しさんNGNG
↑のOpenGLSDKですが
ソースコード管理プロジェクトceveritt-98へ接続できません。と怒られてしまいます。
なんなんでしょうかコレは?
0489デフォルトの名無しさんNGNG
初歩的な質問で申し訳ないのですが、

glDepthFunc(GL_LEQUAL);
glBlendFunc(GL_SRC_ALPHA,GL_ONE);

glBegin(GL_QUADS);
 // 前面
 glNormal3f(0.0f,0.0f,1.0f);
 glMaterialfv(GL_FRONT,GL_DIFFUSE,front_color);
 glVertex3f(1.0f,1.0f,1.0f); glVertex3f(1.0f,-1.0f,1.0f);
 (省略)
 // 背面
 glNormal3f(0.0f,0.0f,-1.0f);
 glMaterialfv(GL_FRONT,GL_DIFFUSE,back_color);
 (省略)
 // 同様に上面, 底面, 右面, 左面を記述
glEnd();

のように各面が各色のmaterialを持った立方体を作り、
ライトを当てた上でブレンディングしたいのですがうまくいきません。
ブレンディングするだけならばGL_BLENDをEnableに、GL_DEPTH_TESTを
Disableにすればいいのですが、そこでGL_LIGHTINGをEnableにすると
一部の面しか描画されない状態になります。
なんとかうまく処理する方法はないでしょうか。
0490489NGNG
ごめんなさい。できました。
立方体を描画する前に
glDisabel(GL_LIGHTING)
glDisabel(GL_DEPTH_TEST)
glEnabel(GL_BLEND)
して、描画した後に
glDisable(GL_BLEND)
glEnable(GL_LIGHTING)
glEnable(GL_DEPTH_TEST)
すればいいんだね。
0491489NGNG
ごめんなさい。
やっぱり勘違い。できませんでした。あぅー。
0492デフォルトの名無しさんNGNG
・「一部の面しか描画されない」って具体的にどんな症状ですか?
・そもそもGL_BLENDをDisableのままでGL_LIGHT・GLDEPTH_TESTを
 Enableにして、ちゃんと描画されますか?
・そもそも、光源を最低一個は作成していますか?
・その光源を忘れずに有効にしていますか?
・光源のAlphaは1.0になっていますか?
・頂点の描画順は大丈夫ですか?
・表裏で異なるマテリアルを使うのであれば、GL_FRONTとGL_BACKに
 マテリアルを定義してカリングを無効にすれば良いのでは?
0493デフォルトの名無しさんNGNG
>>488
Visual Source Safeの設定が残っていると思われ。
気にしなくてもOKよ。
0494489NGNG
>>492
どうもです。上から応えます。
・立方体の6面のうち2面しか描画されていない状態です。
・GL_BLEND(Disable)、GL_LIGHT(Enable)、GLDEPTH_TEST(Enable)で
 きちんと描画されています。
・光源(Diffuse)は一個です。
・光源は有効です。GL_BLEND(Disable)、GLDEPTH_TEST(Enable)の状態で
 立方体にちゃんと影が出来ています。
・AMBIENT、DIFFUSEともにアルファは1.0fになっています。
・頂点の描画順というのはちょっとよく判りません。各面の頂点が適切に
 置かれているかということであれば大丈夫です。それとも画面の深さに
 関連したことでしょうか?
・表裏のマテリアルはとくに考えていないのですが、とりあえず作りたいものは
 アクリルのように半透明でカラフルな面を持った立方体に光を当てて
 明るい面と暗い面を作りたいという感じです。
0495デフォルトの名無しさんNGNG
VB で OpenGL を使って、ActiveX コントロールをつくっている。
ファイルのデータを3次元で表示するやつを。

3次元の座標に文字を書く時、GLUT の

glutBitmapCharacter

を使っている。引数の、GLUT_BITMAP_HELVETICA_?? は勝手に 2 と書いている。

とりあえず動きます。

VB & OpenGLで の、glut の正式な初期化の仕方と、文字の書き方が分からない。

だれか、教えて下さい。
0496デフォルトの名無しさんNGNG
>>494
(´-`).。oO(GL_LIGHT_MODEL_TWO_SIDE)
0497デフォルトの名無しさんNGNG
赤本のサンプルコード拾えるトコって↓以外にありませんか?

ftp://sgigate.sgi.com/pub/opengl/xjournal/GLUT/glut-i.j.tar.Z

なぜか↑ではDLできない・・・
0498デフォルトの名無しさんNGNG
>>497
(´-`).。oO(http://www.opengl.org/developers/code/examples/redbook/redbook.html)
0499497NGNG
>>498
多謝
0500デフォルトの名無しさんNGNG
OpenGLはVCのデバックモードって使えるの?
ChoosePixelFormatやSetPixelFormatで止められるだけど。
2000でVC6でやってます。
0501名無しサソNGNG
>500
 ビデオカードに依るのかも。
うちのG400だと、デバッグモードで
不規則に落ちる。他のカードでは
落ちない。謎。
0502494NGNG
>>498
ありがとう。やってみます。
0503494NGNG
やはり駄目なので質問なんですが、
そもそもGL_DEPTH_TESTがDisableな状態でGL_LIGHTINGをEnableにすることに
問題はないのでしょうか?
# なぜ描画の際にGL_DEPTH_TESTをDisableにしているかというと
# 簡単にブレンディングをするためなのですが・・・。

つまり

glDisable(GL_DEPTH_TEST);
glEnable(GL_BLEND);
glEnable(GL_LIGHTING);
glCallList(cube); // 法線とマテリアル指定のQUADSで立方体を描画
glEnable(GL_DEPTH_TEST);
glDisable(GL_BLEND);
glDisable(GL_LIGHTING);

こういう書き方で正常に描画されることは期待できないのでしょうか?
0504デフォルトの名無しさんNGNG
何度も出てきてるページだけど。

>>503
それっぽいことやってる。
http://nehe.gamedev.net/tutorials/lesson08.asp

>>495
上記ページにVBのサンプルがあったよ。役立つかわからんけど。
0505494NGNG
>>504
解決しました!
そのサイトのサンプルと比べると基本的には同じ手順を踏んでいたんですが、
違う点は私のプログラムがテクスチャを使わずにMaterialの設定をしている点でした。
Materialに渡していた色を調べるとRGBになってました・・・。
結局、それをRGBA(A=1.0f)にした上でパラメータ名をGL_AMBIENT_AND_DIFFUSEにしたら
それっぽいのができました。どうもありがと〜。
0506saboNGNG
ロボットのシミュレータでプロセスを二つに分けて
親プロセスはOpenGL表示プロセス、
子プロセスはロボットの動作(座標指定)プロセス。
ってやっていたら変数が渡せません。
共有メモリ等いろいろ試しましたがどうもうまく行きません。
なにかいい方法を教えてください、お願いします。
0507デフォルトの名無しさんNGNG
なぜプロセスを分けるのかが良くわかりません。
0508デフォルトの名無しさんNGNG
おれも。
0509デフォルトの名無しさんNGNG
みんなOpenGLで何作ってるの?

ゲーム?ツール?物理シミュ?
0510デフォルトの名無しさんNGNG
>>507-508
シミュレーションと画面更新を非同期にやってるんぢゃ?
0511デフォルトの名無しさんNGNG
>>509
スクリーンセイバー
0512デフォルトの名無しさんNGNG
スクリーンセーバー
0513デフォルトの名無しさんNGNG
スクリンセイバ
0514デフォルトの名無しさんNGNG
スクーリンセバーー
0515デフォルトの名無しさんNGNG
           / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ∧η∧   <   ーバイセンーリクス
  (,,・Д・)     \__________
 ミ__ノ
0516デフォルトの名無しさんNGNG
wglChoosePixelFormatARBやると落ちるんだけど何でだろう…。
0517デフォルトの名無しさんNGNG
>510

それはわかるのですがプロセスを分ける必要性は感じません。
0518デフォルトの名無しさんNGNG
thread ni sinaino?
0519デフォルトの名無しさんNGNG
ChoosePixelFormatでAccess Violation発生するんだけど、
誰かこの症状について詳しい人いない?
0520519NGNG
誰か教えてage
0521デフォルトの名無しさんNGNG
その部分のコードでも載せれば?
0522519NGNG
調べた結果、wglChoosePixelFormatARB使うと、2回目以降の起動で
ChoosePixelFormatだけでなくSetPixelFormatもエラーになるようです。
なのでwglChoosePixelFormatARBのソースを…

int i=0;
attributes[i*2]=WGL_DRAW_TO_PBUFFER_ARB;
attributes[i*2+1]=true;
i++;
  〜略〜
attributes[i*2]=0;

HDC hdc;
int iPixelFormat;
UINT nformats;
hdc=wglGetCurrentDC();
wglChoosePixelFormatARB(hdc,attributes,NULL,1,&iPixelFormat,&nformats);

どこがおかしいですかね?
今のところ違う方法でエラーは回避してますが、、、
0523デフォルトの名無しさんNGNG

OpenGLの関数をつかって日本語を書きたいのですが、できますか?
glutBitmapCharacter みたいな関数で。
0524デフォルトの名無しさんNGNG
windowsだったら、GDIで書くか、それとも
wglUseFontBitmapsか、wglUseFontOutlines使う。
0525デフォルトの名無しさんNGNG
エラーコードは?
あと、同一ウィンドウに対し、SetPixelFormatは二回以上呼べなかったと思う。
chooseは呼べてもいいと思うけど。
0526519NGNG
一回そのプログラムを終了した後、また起動すると、不正な処理と出る。
デバックすると、ChoosePixelFormatでデバックが勝手に終了してしまうもので、
エラーを調べようにも調べられない。
GDI32.DLLのロード辺りでAccess Violationって出てるんでそれが問題では無いかと。
ドライバーのバクなのかなぁ。
0527デフォルトの名無しさんNGNG
そりゃバグだわさ。
これの追求が現在のタスクでない限り、無駄に時間を費やさないためにも、
ビデオカードを替えることを勧めます。
0528519NGNG
>>527
買えたばっかりなのに…。(;´Д`)
0529デフォルトの名無しさんNGNG
>>519
参考までに、ビデオカードとOSをおしえてくれたもうれ
0530519NGNG
>>529
GeForce3Ti200でWin98です。

OSの問題だったりして…
0531デフォルトの名無しさんNGNG
誰かVERTEX_PROGRAMやってる?
0532デフォルトの名無しさんNGNG
glut を Borland C++ Builder に付属の bcc32 で使ってるんですけど,
glut.h と stdlib.h をインクルードすると
>エラー E2337 test2.cpp 3811: オーバーロード関数群の中の 1 つだけしか "C" にできない
というコンパイラエラーがでて困ってます.
他の方はどうやって回避してますか ?
0533デフォルトの名無しさんNGNG
>>519
NVIDIAは頻繁にドライバーをアップデートしているから
ドライバーを変えれば直る可能性が大
0534デフォルトの名無しさんNGNG
>>532
#define _STDCALL_SUPPORTED 1
#include<GL/glut.h>
やってみそ。
0535デフォルトの名無しさんNGNG
>>534 さん
ありがとうございます.
#define _STDCALL_SUPPORTED
ですよね(1 はいらないのではないかと)?
やってみましたが, まったく状況は変わりませんでした.
0536デフォルトの名無しさんNGNG
>>535
関係なかったか、、、スマソ。
0537デフォルトの名無しさんNGNG
>>532
> >エラー E2337 test2.cpp 3811: オーバーロード関数群の中の 1 つだけしか "C" にできない
その3811行目ってなに。
0538532NGNG
すみません, 問題を探るためにプリプロセッサを通した後のファイルをコンパイル
してたのを忘れててました. test2.cpp の 3811 行目ではなんの情報もなかったですね.
ソースはGl/glut.h, stdlib.h の順でインクルードしたものです.
そのときのコンパイルエラーは
>エラー E2337 stdlib.h 584: オーバーロード関数群の中の 1 つだけしか "C" にできない
です. そして stdlib.h の 584 行目は
> using std::exit;
です. stdlib.h は C++ Builder Ver. 5.0, Build12.34, Update Pack 1 に
付属のもので Revision 9.20.1.0 となっています.
0539532NGNG
自己レスです.
ようやく気づいた.
glut.h の 146 行目の exit() に関するところを
namespace std {
extern _CRTIMP void __cdecl exit(int);
}
using std::exit;
に直したら, とりあえずコンパイルは通るようになりました.
こんな感じの修正でいいのかな ?
0540デフォルトの名無しさんNGNG
>>538-539
Revisionはわからないんだけど、手元にあるGL/glut.hはMesa-3.4に入ってた
奴で

#include <stdlib.h> /* for exit() */

となってる。ちなみに日付は2001/03/18。
0541デフォルトの名無しさんNGNG
デフォルトのクリッピング平面を無効にすることって出来ますか?
あと、デフォのままだとニアクリップが遠すぎませんか?
0542デフォルトの名無しさんNGNG
>>541
デフォルトのクリップ平面はオフに出来ないよ。
それが出来てしまったら、本来描画されないはずの部分も描画されまくってしまうよ。
凸ポリゴンも守れなくなってしまうし。
ニアクリップが遠すぎって射影行列の設定次第じゃないか?
どういう設定にしてるかわからんが。
0543デフォルトの名無しさんNGNG
age
0544 NGNG
age
0545デフォルトの名無しさんNGNG
いきなりコンパイルできません。
LIBやインクルードも設定しています。opengl32.libが見つかりませんという
エラーがでます。心当たりのある人おしえてください。
前に進みません。
0546デフォルトの名無しさんNGNG
LIBパスがおかしい
0547デフォルトの名無しさんNGNG
教えてクンですいません。質問させて下さい。

OpenGL1.3対応で現在お薦めのグラフィックカードって何かありませんか?
予算は3万以内で、メチャクチャ早く無くていいです。
とりあえず現在のオンボードビデオから脱却さえ出来れば(・∀・)イイ!!(涙)
AGP 64M ぐらいで動作安定してて、サポートが結構しっかりしてると嬉しいです。

よろしくお願いします。
0548デフォルトの名無しさんNGNG
OPENGLについて、非常に初歩的な質問をさせてよ。

とりあえず、OPENGLってなに? C言語のライブラリなの?
OPENGLの売り文句に、ハードやOSに依存しないってのがあるじゃない?
けど、一方で、OPENGL対応のビデオボードってのもあるだろ? これって
矛盾してるだろ。 ハードに依存しないくせに、特定のビデオボードがOPEN
GL対応ってどういうこっちゃ? なめとんか、ボゲェ。 OPENGLのライブラリ
関数の中には、ハードやOSに依存しない関数もあれば、特定のハードに特化し
た関数もあるってことなのか?
0549レプタリアン教授 ◆ox4ILOLI NGNG
>>54
死ね
0550デフォルトの名無しさんNGNG
>>548
そーだな、とりあえずSGIのページにでも行って、IrisGLでもしらべたら?
0551デフォルトの名無しさんNGNG
>>548
>OPENGLってなに? C言語のライブラリなの?

see
http://opengl.org/developers/faqs/technical/gettingstarted.htm#gett0010

>OPENGLの売り文句に、ハードやOSに依存しないってのがあるじゃない?
>けど、一方で、OPENGL対応のビデオボードってのもあるだろ? これって
>矛盾してるだろ。 ハードに依存しないくせに、特定のビデオボードがOPEN
>GL対応ってどういうこっちゃ? なめとんか、ボゲェ。 OPENGLのライブラリ
>関数の中には、ハードやOSに依存しない関数もあれば、特定のハードに特化し
>た関数もあるってことなのか?

OpenGL自体は特定のハードウェア、OSの実装に依存しないつくりになっています
が、ハードウェアでその中の機能の一部、あるいは全部を肩代わりする事で高速化
しているハードウェアがあります。それを俗にOpenGL対応ハードウェアと呼んで
いることがあるようです。OpenGLの仕様自体は決められているのですが、実装
そのものについては各ビデオカードベンダーに任されているようで、特定のハード
ウェア、ビデオチップでしか動作しない命令なども現在では多々あり、
それらを統合するためのOpenGLAPIの再構築が今、議論されています。
0552デフォルトの名無しさんNGNG
>>551
あんがちょ。 だいぶん良く分かった。 あんた詳しいね。 
0553 NGNG
age
0554デフォルトの名無しさんNGNG
とあるモデルを真っ二つに切るような処理はどうやって行えば良いでしょうか?
FFの戦闘シーンでそういったシーンがあるらしいのですが。
0555デフォルトの名無しさんNGNG
>>554
斬鉄剣?  
0556デフォルトの名無しさんNGNG
>>554
glClipPlane使って2回描くとか。適当スマソ。
0557レプタリアン教授 ◆ox4ILOLI NGNG
最初から割ったのをくっ付けとけ(w
0558 NGNG
openGLはVC++とセットで世界一!!
DXなんて糞じゃ!!
0559デフォルトの名無しさんNGNG
GL_NORMALIZE入れてるのに
さらにGL_RESCALE_NORMALも入れるのって無意味?
0560 NGNG
pentiumPro200 X2
MEM 64
VB ELSA 511(GFMX400-32MB)PCIを手に入れたんですけど
HDD promiseATA-100+20GB

この構成にNTをインストールしてVC++でOpenGLのプログラミングの入門機
として動作させるのはちときついかな?
0561デフォルトの名無しさんNGNG
>>557
それがいい
ラクだし
0562はじめてのOpenGLらーNGNG
はじめまして。
私も、ものすごい初心者で、これからOpenGLを試してみたいと思っています。目的は、服飾関係で画像を作ってみること。

大昔、IndyのIRIXでOpenGLをかじろうとしたことがありましたが、
OpenGL向けのOSやハードウェアで一番ポピュラーなものはどれでしょうか?
まずは機種を買い揃えたいなと・・・(^^ゞ

アドバイスいただけますか?

ちなみに、今持っているのは、Intel Solaris8 を乗せた中古のHPのベクトラ2台と、Redhat Linux7。 
>>551さんの示されたWebページも少し眺めてみましたが、MesaとかFree OpenGLがあるようですが、まずは初心者としてはじめやすいのはどれがいいんでしょうか? 次に、仕事で作るようになるとしたら、どんな上級機種・OSが適任なんでしょうかね?

一番使われているものを使いたいです。

よろしくお願いします。
0563はじめてのOpenGLらーNGNG
>>562

すみません、追加で、MacOS XもOpenGL使えるのかな・・・?
0564デフォルトの名無しさんNGNG
ClassicなMacOSすらOpenGLは使えたと思うが
移植性だけなら最強
0565デフォルトの名無しさんNGNG
OpenGLアプリを作成するんですが、このマシンなら動くってのを
スペックで言うのが難しくて困ってます。
どのカード+どのクラスのCPUだとOKっていえるのか情報
探したいんだけどなんかありますか?あったら教えてください!
お礼は結果で払います
0566デフォルトの名無しさんNGNG
>>565
http://www.google.co.jp/search?sourceid=navclient&ie=utf8&oe=utf8&q=OpenGL+%E8%B6%85%E3%83%8F%E3%82%A4%E3%82%A8%E3%83%B3%E3%83%89
0567デフォルトの名無しさんNGNG
仕事のジャンルによるだろうけど、
PCなら、3DlabsのWildcatシリーズやNECのTEシリーズがいいです。
(つーかそれくらいの安PCしか使ったことないのですけど)
↓このへんのを使ってる人いる?
http://www.sgi.co.jp/products/


入門ならNVIDIAのGeforceシリーズやATIのRADEONシリーズ
がいいんでないかい?赤本にかいてあるくらいの事なら大抵コレくらい
のシリーズで十分学習できるよ。
0568う〜ん…。NGNG
初めてテクスチャ使ったもので、分からなくって困ってます。
背景としてテクスチャマッピングを使って、その手前に立体(立方体とか)を
表示させたいのですが、テクスチャの方が常に手前に表示されてしまいます。
デプスバッファはちゃんと機能してるはずなのに…。
それぞれの描画部分は簡単に書くと、

glBindTexture(GL_TEXTURE_2D, texid[0]);
glBegin(GL_QUADS);
glTexCoord2f(0.0, 0.0); glVertex3f(-2.0, 0.0, -1.0);
glTexCoord2f(0.0, 1.0); glVertex3f(-2.0, 0.0, 1.0);
glTexCoord2f(1.0, 1.0); glVertex3f(0.0, 0.0, 1.0);
glTexCoord2f(1.0, 0.0); glVertex3f(0.0, 0.0, -1.0);
glEnd();

glutSolidCube(0.5);

です。
よくあるミスとか、ちょっとでも考えられる原因ってありますでしょうか。
0569デフォルトの名無しさんNGNG
座標変換部を省略してる可能性もあるので外してるかもしれないけど・・・

テクスチャうんぬんの前に
 glutSolidCube(0.5);
がどこに(座標の事ね)描画されるかを教えてくだされ。
0570デフォルトの名無しさんNGNG
背景として使うんだったらテクスチャの所だけ
デプスバッファ使わんようにしたら?
0571565NGNG
ごめん。ローエンドなんだけど、なんて言えば
いいでしょうか?特に2000、XPなんてドライバサポートされて
ないし、文言に困るんです。CPU、カード、OSの
組み合わせでこれならOKってのはどうやって言えばいいんで
しょうか〜。
教えて君でごめんなさい。
0572デフォルトの名無しさんNGNG
ゲーム用だけど例えば
CPU: 1GHz以上
VGA: Geforce3以上、Radeon8500以上(LE不可
OS: Win98/2000/XP
とか

って別に動作確認したものを書いておけばよいのでは?
0573568NGNG
>>569>>570 お返事ありがとうございます。
glutSolidCube(0.5);は、(0.0, 0.0, 0.0)に書いてます。
568に書いたのでは、なぜかテクスチャの方がx軸(マイナス)方向にちょいずれてますが、
特に理由はないです。
回転してどこから見ても、視点から見て重なる部分にはやはりテクスチャが表示されるんです。

あと、背景と言いましたが、立体がテクスチャを突き抜けることもしたいので、
デプスバッファは外せない模様です…。
0574デフォルトの名無しさんNGNG
テクスチャDisableにするとちゃんと見えるの?
0575568NGNG
>>574
え〜とすみません…テクスチャDisableとは?
glDisable(GL_DEPTH_TEST)の時に、テクスチャが見えてるかってことでしょうか?
そのことで言えば、見えてます。
ただやはりその場合は、テクスチャの奥にあるはずの立体も
手前に(というか上描きされて)表示されるんですが。
0576デフォルトの名無しさんNGNG
>>575
いやいや、テクスチャ使ってない状態ではきちんと表示されるの?
ってことを聞きたかっただけ。
0577568NGNG
>>576 ごめんなさ〜い。
テクスチャなしでもうまくいってませんでした。
なんでだろーー??うーん、情けない…。
0578デフォルトの名無しさんNGNG
テクスチャの歪みをとるという
GL_PERSPECTIVE_CORRECTION_HINT, GL_FASTEST
を使っているのに歪みが取れません。
パースペクティブコレクションが効かないなんか
理由とかあるんでしょうか?
0579デフォルトの名無しさんNGNG
OpenGLで作った動画or画像をWebで公開する方法はありますでしょうか?
サーバはLinux + Apacheです。もし可能であればOpenGLをこれから学びたい
と思ってます。
0580デフォルトの名無しさんNGNG
>>568
背景として使うポリゴンだけにテクスチャを適用したいのであれば、

glBindTexture(GL_TEXTURE_2D, texid[0]);
glBegin(GL_QUADS);
省略;
glEnd();

glDisable( GL_TEXTURE_2D );
glutSolidCube(0.5);
glEnable( GL_TEXTURE_2D );

のようにしないとイカンのでは?
(もしくは GL_QUADS のところにだけテクスチャON にするとか)
そーしないといらん所にまでテクスチャが適用されてしまうと思うが。

>>578
GL_NICEST で試した?

>>579
残念だがそれは激しくスレ違いと言わざるを得ない。
OpenGL を利用して作られた画像かどうかって、全然関係ないじゃん。
0581578NGNG
>>580
GL_NICEST とGL_FASTESTの両方で試してみたんすけど
変化ナシでした…。
0582デフォルトの名無しさんNGNG
>>581
GL_DONT_CAREとGL_NICESTで違いでる?

座標の指定が変なだけか、意外とミップマップがおかしいとか。
0583568NGNG
>>580 ありがと!
実は原因としては、gluPerspectiveのトコでした。
でも他の問題として、立方体の色がどうしても白色になってしまってて、
その原因は580さんの通りでした。
0584デフォルトの名無しさんNGNG
extension周りの話が無いないなぁ。誰も使ってないのか?
0585デフォルトの名無しさんNGNG
ageだった。
0586  NGNG
あげ
0587デフォルトの名無しさんNGNG
Mesa4.0.1をインストールしたのですが、make後のmake check時に
undefined reference to `gluTessBeginPolygon`
というエラーがいくつか出ます。それで`gluTessBeginPolygon`を探したところ
#define gluTessBeginPolygon mgluTessBeginPolygon
となっていたのですが、`mgluTessBeginPolygon`はどこにも見当たりませんでした。ようはmake checkが成功すればいいのですが、どうすればよいでしょうか。
0588デフォルトの名無しさんNGNG
>>587
自分で考え、自分で決めろ。
自分が今、何をすべきなのか。
ま、後悔のないようにな。
0589デフォルトの名無しさんNGNG
カジさんカコイイ
0590デフォルトの名無しさんNGNG
>>589
よくきずたな
0591デフォルトの名無しさんNGNG
>>588
意味がさっぱり分からないのですが。。。
0592デフォルトの名無しさんNGNG
>591
気にするな。
588はオタ。それを判ってしまったオレもオタ。
0593デフォルトの名無しさんNGNG
glut32.dllって再配布していいのでしょうか?
0594デフォルトの名無しさんNGNG
Rubyを同梱すること。
0595デフォルトの名無しさんNGNG
glCopyTexImage2D()を使いテクスチャを作成したんですけど、
なぜか暗くて、オブジェクト以外は真っ暗。
背景色はコピーされないんでしょうか?
0596デフォルトの名無しさんNGNG
画面をglCopyTexImage2D()を使いテクスチャを作成し、
立方体の一面に貼ろうと思うんですけど、
なぜか暗くて、オブジェクト以外は真っ暗。(オブジェクトも暗い)
背景色はコピーされないんでしょうか?
0597デフォルトの名無しさんNGNG
あれ!
2回送ってしまってすいません。
0598デフォルトの名無しさんNGNG
>>595
背景色とか関係無、く画面に描かれているイメージをそのままテクスチャに吸い上げる。
コピーするサイズが2^nになってるか?

それ以前に、ミップマップ理解してるか?
理解していないなら、とりあえず、glTexParameterのGL_TEXTURE_MIN_FILTERを
GL_NEARESTかGL_LINEARにしとけ。
0599デフォルトの名無しさんNGNG
>>598
メモリを128*128*4確保して、
128*128の画面をglCopyTexImage2D()でコピーして、
そのまま貼ればよいだけですよね?
GL_TEXTURE_MIN_FILTERはGL_NEARESTかGL_LINEARです。
0600デフォルトの名無しさんNGNG
訂正>GL_TEXTURE_MIN_FILTERはGL_NEARESTかGL_LINEARです。

GL_TEXTURE_MIN_FILTERはGL_LINEARです。

0601デフォルトの名無しさんNGNG
そのままコピペしてあっさり間違えてるところからみて
ソースを落ち着いて見直したほうがいいと思われ
0602デフォルトの名無しさんNGNG
>>598
>メモリを128*128*4確保して、
何を確保しているんだ?
PBufferか?

glCopyTexImage2DでなくglTexImage2D使ってみて、
テクスチャがちゃんと張られてるか確認してみ。
0603600NGNG
>>601>>602
オッチョなんでライトの影響を消すの忘れてました( ̄□ ̄;)!!
どうもすいませんでした。<(゚ロ゚;)> うわぁぁぁぁ
あと、glutでGetCursorPos()の様な機能の物が、
見当たらないんですけど、無いんでしょうか?
0604デフォルトの名無しさんNGNG
>>603
glutMotionFunc、glutPassiveMotionFuncでとるべい。
0605603NGNG
>>604
glutMotionFuncとかは、マウスがドラッグされた時しか
入らないんじゃ?
マウスが動いたかどうか判断できるんでしょうか?
0606 NGNG
OpenGL始めようと思っています。
おすすめの入門書とはどういうものでしょうか?
よろしくお願いします。
0607 NGNG
ずっと疑問だったんですが、OpenGLとかDirectXとかって、
座標を1〜−1内で表現するのが一般的みたいに感じるんですが、
これって何故なんですかね?
画面端の座標が(1,1)とかって扱いにくくないですか?
0608デフォルトの名無しさんNGNG
>>607
では、どんな値だったら扱いやすいと思いますか?
0609デフォルトの名無しさんNGNG
>607
拡大・縮小・回転するのに物理的な座標をいちいち計算するほうが扱いにくい。
0610  NGNG
今からOPENGL勉強するのならQuador DDC搭載のELSAのカードがおすすめ。
CPUはP4の2.2かアスロンXPのデュアル。
俺は、
xp1900x2
ELSAのQUADOR DDC
メモリ1Gの安物ハイエンド?で快適で安定動作する環境を構築したよ!!
0611デフォルトの名無しさんNGNG
>>605
ボタン押されている時はglutMotionFunc
押されていない時はglutPassiveMotionFuncが呼ばれるんじゃなかったか?

>>606
赤本(OpenGL プログラミングガイド)
意外と奥が深いぞ。

>>610
そこまで揃えておいて挫折するなよ。
0612605NGNG
>>611
その通りでした。
ありがとう御座いました。
0613606NGNG
>>611
ありがとうございました。


0614 NGNG
OpenGLにおいて定番のサイトは
どういうところがあるのでしょうか?
よろしくお願いします。

私はこれからはじめようと思っているので特に
入門的な解説があるサイトを紹介していただきたいです。
0615615NGNG
>>614 えぬけーえくさ
0616デフォルトの名無しさんNGNG
OpenGLMLのアーカイブとかリンクとか無くなってわからなくなっちゃった。
だれか助けて。
0617デフォルトの名無しさんNGNG
>>615
どーでもいーことですが、IBMの子会社になってエクサにかわりました。

>>614
ググルで「日本語のページを検索」でOpenGLをキーワードにして検索。
0618デフォルトの名無しさんNGNG
>>616
これか?
ttp://www.gimlay.org/~andoh/opengl/ml/
0619デフォルトの名無しさんNGNG
windows上で、OpenGL+GLUTでウォークスルー型の
プログラムを一から作ろうと思っているのですが、
参考になるC++のソースのあるサイトないでしょうか?
0620デフォルトの名無しさんNGNG
GLとMFCでポリゴンビューア作ってるものです。

CGアプリによくある,ビューウィンドウ上の
ある位置に固定して座標軸とか"Front","Top"
とか言う文字列を表示したいのですが
実装方法が良く分かりません。。
あれはどのように実装しているのでしょうか?

ビューウィンドウのある位置に固定して表示する
便利な関数とかあるんでしょうか?
無知な僕に教えてプリーズです。
0621デフォルトの名無しさんNGNG
>>620
文字描画用にPROJECTION_MATRIX持てば?
0622私のパンチを受けてみろ!NGNG
OpenGLで物理やってるホムペ知ってる人!
0623カウンターNGNG
>>622
ここだけの話、
"OpenGL"ということでこのスレ聞くよりも、
"物理"ということで違うスレで聞いて回った方が速いかもぁ。
(この手の質問にはあまり反応が無いようで…)
そういうこと言う俺は、当然のことながら、知らん!
0624デフォルトの名無しさんNGNG
質問です。
RGB値をフレームバッファから、α値をファイル(PNGとか)から取ったテクスチャを作りたいんですが、
glCopyTexSubImage2D とかで特定の値だけを書き換えたりはできないですか?
バックバッファに書いて合成する っていう方法しかないですか?

光学迷彩をカメラの視線に対して垂直に固定された物体に使いたいのです。
一応、Windows でやってます。
0625デフォルトの名無しさんNGNG
>>624
それかマルチテクスチャだろな。
0626624NGNG
>>625
ありがとです。
0627  NGNG

OpenGL専用のビデオボードは高すぎて手が届きません。
Geforce4TI4600 か RADEON8500の購入を考えています。
どちらがおすすめでしょうか?
0628デフォルトの名無しさんNGNG
>>266 さんと同じことがしたいんですけど、
>>269 さんのレスでは自前でしないといけないとのこと。
自前で作るのが面倒(責めないで・・・)なので、
どこかにそれらしいことしてるソースか解説って落ちてないでしょうか。

で、何がしたいかというと、
平面のテクスチャを使って↓のように似非パーティクルを描いておいて、
カーソルキーでグリングリン回したいんです(base_pos,base_rotの値を変える)。
# ↓はパーティクルのテクスチャ面がいつも投影面を向くようにしています。

for (Particle p=particle_begin(); i!=particle_end(); ++p) {
 glLoadIdentity(); // 初期化
 glTranslatef(base_pos.x,base_pos.y,base_pos.z); // 基準の位置
 glRotatef(base_rot.x, 1.0f,0.0f,0.0f); // 基準の回転角 (1)
 glRotatef(base_rot.y, 0.0f,1.0f,0.0f); // 基準の回転角 (2)
 glRotatef(base_rot.z, 0.0f,0.0f,1.0f); // 基準の回転角 (3)
 glTranslatef(p.pos.x,p.pos.y,p.pos.z); // パーティクルの相対位置
 glRotatef(-base_rot.z, 0.0f,0.0f,1.0f); // 回転したテクスチャの向きを戻す (-3)
 glRotatef(-base_rot.y, 0.0f,1.0f,0.0f); // 回転したテクスチャの向きを戻す (-2)
 glRotatef(-base_rot.x, 1.0f,0.0f,0.0f); // 回転したテクスチャの向きを戻す (-1)
 p.draw_particle(); // パーティクルの描画
}

でも、これだと回転軸が投影面に対して一致しないのでうれしくないと。
結構需要ありそうな処理なのでどこかにありそうなもんなんですが・・・。
0629デフォルトの名無しさんNGNG
glTranslate... // 適当に変換
GLfloat m[16];
glGetFloatv(GL_MODELVIEW_MATRIX,m);
glLoadIdentity();
glRotatef... // ワールドで回転
glMultMatrixf(m);
だめだっけ?
0630デフォルトの名無しさんNGNG
>>628
宇治社中改のサンプルとか。
0631628NGNG
どもです。
ちと当たって見ます。
0632628NGNG
ん〜。板に絵を張って騙す方法はビルボードと呼ばれているのか。
知らなかった・・・。ビルボードで検索したらいろいろ出てくるなぁ。

>>629さん
結果は>>628と同じになりました。

>>630さん
原理的な説明はいろいろあったんですが、
これだと結局自前ですることになりそうです。
もう少し超簡単な方法がないか探してみます。
0633デフォルトの名無しさんNGNG
>>628
いや、
3D補講 - #13-平面への影の投影
にあるサンプルのソースの 3dmath.cpp とかではダメなの?
0634628NGNG
あ、それ見てませんでした。
ありがと〜。
0635デフォルトの名無しさんNGNG
アルファ値のある画像フォーマットを読み込むためのローダーで、お勧めなの教えて!!
0636デフォルトの名無しさんNGNG
>>628
何所かで手取り足取りのとこ見たような・・・。
0637デフォルトの名無しさんNGNG
GTK+でOpenGLやってる所知ってる方いらして。
ちなみにVC++でGTK出来るか知ってる方いらして。
0638デフォルトの名無しさんNGNG
c言語スレから紹介されたものです。
glutで文字を出したいんですけど・・・。
glutBitmapCharacter(void *font, int len);
で
byte bitmaps[][12] = {
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
・
・
・
とあるのを
glPixelStorei(GL_UNPACK_ALIGNMENT,1);
display_num=glGenLists(127);
for (i=32; i<127; i++){
glNewList(display_num+i,GL_COMPILE);
int len = ????
glutBitmapCharacter(GLUT_BITMAP_TIMES_ROMAN_24, len);
glEndList();
}
としたいんですがlenの部分がどの様に変換したら良いか
悩んでいます。何か良い方法が在りましたら、お願いします。m(__)m





0639デフォルトの名無しさんNGNG
>>638
質問の意味がいまいち分からん。
glutBitmapCharacter()の第二引数は表示したい文字だろ?

 glutBitmapCharacter(GLUT_BITMAP_TIMES_ROMAN_24, 'A');

自分で作ったビットマップフォントを表示したいということか?
0640デフォルトの名無しさんNGNG
>>639
そうです・・・。
0641デフォルトの名無しさんNGNG
>>640
glBitmap()使え
0642デフォルトの名無しさんNGNG
SCRNSAVE.LIBを使ってOpenGLでスクリーンセイバを
作りたいんですけど、GLの設定などは何所で書けば良
いのでしょうか?
0643デフォルトの名無しさんNGNG
>>642
普通にWM_CREATEを拾えばいいのでは。
0644デフォルトの名無しさんNGNG
あの〜、Quake2で採用されている、QuakeGLっていうOpenGLの
サブセットラッパーライブラリがあるんですけど、これの使い方
を説明したサイトとかないでしょうか。

これを使えば間接的ながらも、Glide/SGL/D3D/OpenGLそれぞれに
同じインタフェースでアクセスできるのでめちくちゃ気になってます。

Quake2はソースがフルで公開されてますが、巨大過ぎて自分にはどこから
たどっていけばいいのか見当もつきません。



0645デフォルトの名無しさんNGNG
Direct3Dのように、Zバッファを複数作って
Zバッファ同士で内容を高速に転送させることはできるのでしょうか。
0646デフォルトの名無しさんNGNG
age
0647デフォルトの名無しさんNGNG
>>645
遅いので良ければglCopyPixels,glDrawPixels
高速なのはわからんなぁ。
extensionでも調べてくれ。
ただ入れ替えだけだったら他に方法があるかも。
0648デフォルトの名無しさんNGNG
>>647
glCopyPixels ではなくて glReadPixels ではないかと思ってみるテスト.
http://www.opengl.org/developers/documentation/man_pages/hardcopy/GL/html/gl/copypixels.html
http://www.opengl.org/developers/documentation/man_pages/hardcopy/GL/html/gl/readpixels.html
0649デフォルトの名無しさんNGNG
>>648
おぉ、そっちだった。

使ったことは無いがWGL_ARB_buffer_regionはどうだろう。
0650デフォルトの名無しさんNGNG
>>647-649
ありがとうございます。

実はまだOpenGLは触ったことがないのですが、>>645に書いたことが出来るなら、
自作ソフトをOpenGLにも対応させるためにこれから勉強しようと思ってました。

でもハードウェアで高速に転送してくれるような機能は標準ではなさそうですね。
勉強しようかどうしようか・・・。
もうちょっと悩んでみます。
0651デフォルトの名無しさんNGNG
>>650
拡張機能の利用をためらってると OpenGL じゃなんもできんわよ。
0652デフォルトの名無しさんNGNG
   ||
   ||
 ∧||∧   モウ・・・ナヤムノ ヤメタ
(  ⌒ ヽ
 ∪  ノ
  ∪∪
0653デフォルトの名無しさんNGNG
   ||     ⊂⊃
   ||    ∧ ∧
   ||    (  ⌒ ヽ
 ∧||∧   ∪  ノ
(  ⌒ ヽ 彡  V
 ∪  ノ  フワーリ
  ∪∪
0654デフォルトの名無しさんNGNG
PyOpenGLっどうなの?
0655 NGNG
今Neheのサイトで勉強しているんですが、何か他にいいサイト知りませんか?
できれば(違ってもいいけど)wglを用いてるところがいいかもです。
0656フェイフェイNGNG
OpenGLとかの参考書って英語が多いけど
日本語の参考書で赤本以外で使えそうなのってない?
0657デフォルトの名無しさんNGNG
>>655
wglの使い方ならmsdnで調べれば?
0658655NGNG
msdn?見たけど無かったです・・NeHeサイトに対する評価ってどれくらいです?
http://www.gamedev.net/community/contest/physics/entries.asp
物理現象シミュレーションコンテスト、どれも凄過ぎです・・
AquaDemoと Physics Demo と SandBox がお気に入りです。
0659!657NGNG
英語のほうね > msdn
0660655NGNG
了解しました。
にしてもAquaDemoで球体から球体が分離して、またくっつくってな芸当を見せてくれたんですが、
どうやってるんでしょうか。ワイヤーフレームなんで、余計気持ちが悪い動きを見せてくれます。
PhysicsDemoレベルになってくると、物理学先攻じゃないと太刀打ちできないっぽいです・・
0661655NGNG
上のコンテスト作品の中で、幾つかfullscreen modeを無力化する前にwindowをDestoyしてるものがあるので、
グラフィックボードによっては終了時に不正動作する事があるかもしれません。
0662デフォルトの名無しさんNGNG
>>660
ただのメタボールのようだが。別にphysicsとは関係ないぞ。
0663デフォルトの名無しさんNGNG
むしろ今時何故メタボール?
0664デフォルトの名無しさんNGNG
リンク先のphysicsdemo見たけど、凄いなぁ
0665デフォルトの名無しさんNGNG
>>658
よりによって最も技術的に面白くない3つを選んでるような……。
(他のも特に真新しいのないけど)
0666デフォルトの名無しさんNGNG
655はいままでdemoというものを見たことがないに一票。
有名なdemo見せたら、655はひっくりかえるに一票。
0667デフォルトの名無しさんNGNG
何かいいデモあったら教えてくれ>666
0668デフォルトの名無しさんNGNG
メタボールつくりてーな
0669デフォルトの名無しさんNGNG
2Dなら簡単だよね
3DもVoxel使って力技でなら楽そう
0670デフォルトの名無しさんNGNG
http://www-2.cs.cmu.edu/afs/cs/user/baraff/www/baraffhome.html
http://www.cim.pe.u-tokyo.ac.jp/~kawachi/thesis/mthesis_kawachi.pdf
http://www.d6.com/users/checker/dynamics.htm
http://cgi3.tky.3web.ne.jp/~tkano/rigidbody.shtml
http://homepage1.nifty.com/kaneko/
http://particlesystems.elemeta.com/
http://www.vividimage.co.uk/ActorDemo.htm
http://www.win.tue.nl/dynamo/
http://www.q12.org/ode/ode.html

せっかくなので、ブックマークから力学シミュ関連適当に拾ってみたぞ。
なんか他に面白いページあったら教えてクレー。粘土をクレー。
0671671NGNG
VC++6.0のSplitterWndでウインドウを左右に分けてそれぞれにOpenGLviewを貼
り付けようとすると、片方のウインドウに2つのviewが貼り付けられてしまい途
方にくれています。どなたかどのようにすればよいか教えてください。
お願いします。
0672デフォルトの名無しさんNGNG
そのviewがactivateされるたびにカレントのglコンテキストを使うように指示すればいんでない?
0673671NGNG
レスありがとうございます。早速やってみます。
0674デフォルトの名無しさんNGNG
>>671
素直に子ウィンドウ作れ
0675672NGNG
あぁごめん、勘違いしてとんちんかんな答えをしてた
0676フェイフェイNGNG
ここのサイト、何らかの参考になるといいけど。
http://www.gametutorials.com/
0677デフォルトの名無しさんNGNG
メタボール作ってみたがショボショボだった。
寝る。
0678デフォルトの名無しさんNGNG
(´-`)。oO(ショボいメタボールってどんなんだろ)
0679デフォルトの名無しさんNGNG
>>678

(´-`)。oO(微妙にしおれてるんじゃない?)
0680デフォルトの名無しさんNGNG
(´-`)。oO(バンプマップでしおしおメタボール?)
0681677NGNG
>>678-680
marching cubesって特許あるっぽいから、
他の方法で何とかならないかと考えたが…
使い物にならなかった。
寝る。
0682デフォルトの名無しさんNGNG
glRasterPos3d(0.0, 0.0, 0.0);
って意味あるの?
glRasterPos2d(0.0, 0.0, 0.0);
となんら変わらないが・・・。
0683デフォルトの名無しさんNGNG
>>682
glRasterPos2d(0.0, 0.0);
じゃないか?
0684デフォルトの名無しさんNGNG
>>682
glRasterPos2dってglRasterPos3dのwrapperで
zに適当な値を入れて放り込んでるだけじゃない?

682はglRasterPos3dのzに0.0以外の値を入れて
回転させてみて、結果を2時間以内に報告すること。
0685デフォルトの名無しさんNGNG
glRasterPosの座標もMODELVIEWとPROJECTIONで変換されるわけだよ。
0686デフォルトの名無しさんNGNG
たまにはage
0687デフォルトの名無しさんNGNG
DelphiかC#でOpenGL初期導入方法を解説しているサイトとか無いかな・・・
C#は無いと思うけど。
0688デフォルトの名無しさんNGNG
>>687
Delphi知らないが
http://www.delphi3d.net/
が良く引っかかるな。
0689MUINGNG
WindowsでOpenGLのソフト作ってるんですけど、
glutCreateMenuで作ったメニューって、バグってません?
(一応最新のglut3.7.6使ってます)

メニューバーでクリック。
メニューがプルダウンする。
メニュー以外のところをクリック。
メニューが消える。(ここまでは良いとします)
んで、メニュー以外をクリック。
なぜかメニューが出現?
繰り返してるとエラー。

エラーの場所はmui.cの
void muiSetLocate(muiObject *obj, int state)
{
obj->locate = (short) state;
}

objが無いからエラーになってるっぽいので、
if文ではじくように定義(一応2通り試した)
if(obj == 0x000000) return;
if(obj == NULL) return;
ですが、はじいてくれません。
悩んでおります...。(--;


0690デフォルトの名無しさんNGNG
>>689
そのobjの値を調べてみるってのはどうよ。
0691デフォルトの名無しさんNGNG
私も3Dのメタボールを描いてみたいです.
Cマガの99年5月に載っていたんですが、
DirectXでした.自分なりにOpenGLにしたんですが、
表示できませんでした。

何か、他に参考になるような情報はあるでしょうか?
0692691NGNG
自己フォロー
まっくろくろすけが表示されるので、
法線ベクトルを逆向きにしてみたら表示されました。

DirectXとOpenGLじゃ法線ベクトルの向きが逆?
0693デフォルトの名無しさんNGNG
>>692
こんなんでどーよ。
ttp://isweb17.infoseek.co.jp/computer/sequoia/tsudoi/tsudoi06.shtml
0694デフォルトの名無しさんNGNG
>>691
ttp://astronomy.swin.edu.au/~pbourke/modelling/polygonise/
marching cubesって特許有りそうなので注意かも。
Cマガに載ってたのってどんな方法?
0695691NGNG
>>693
有難うございます.微妙に,いや,結構違うんですね.
たまたま上手くいってラッキーでしたが,謎が解けそうです.

>>694
う〜ん,私がみたところ,全く同じアルゴリズムで,実装も同じです.
参考文献としておけば大丈夫ですよね?
0696デフォルトの名無しさんNGNG
>>695
デモとかで結構使われてるから金取らなきゃ大丈夫だと思うけど…(無責任)
よくよく考えるとメタボール自体ゲームで使われてるのって見たことないよねぇ。
興味があるならmarching cubes patentで検索掛けてみれば?
三角形で区切る方法もあるらしいがそっちほうはどうなんかな?
0697デフォルトの名無しさんNGNG
ぷよぷよメタボールで表現できたら面白そうだと思ったんだけどな
0698さんでぇNGNG
OpenGL拡張のglTexImage3DEXTを使いたいのですが、ビルドするとエラーになってしまいます。
glGetString(GL_EXTENSIONS)でハードがGL_EXT_texture3Dをサポートしていることは確認済みです。
OpenGL拡張関数を使用する場合には特別なヘッダとかライブラリをリンクしないといけないのでしょうか?

0699デフォルトの名無しさんNGNG
>>698
うーん。Extension は使ったことがないので分からないけど、
どういうエラーが出たかもうちょっと詳しく書いてみた方が良いのでは?

単にコンパイラの吐いたエラーをコピペするだけでも
(読む側にとっては)大分情報が得られると思うんだけど。
0700デフォルトの名無しさんNGNG
mov word ptr [700],⊂(`Д´⊂ )⊃ <うおー700hゲット!!
0701デフォルトの名無しさんNGNG
>>698
簡単に説明(windowsの場合)
nVidiaからglext.h持ってくる。(AtiだったらglAti.h?)
↓
include<glext.h>
↓
PFNGLTEXIMAGE3DEXTPROC glTexImage3DEXT;
↓
glTexImage3DEXT = (PFNGLTEXIMAGE3DEXTPROC) wglGetProcAddress("glTexImage3DEXT");
↓
glTexImage3DEXT(...)呼ぶ。
↓
(;´Д`)ハァハァ・・・
0702さんでぇNGNG
>>701
有難うございました。
説明していただいた通り行ったらビルドできるようになりました。
感謝です。

0703デフォルトの名無しさんNGNG

3か月弱で 700 レスかー。
結構 OpenGL やってる人いるんだなー。





って、2001 年の2月からかよっ!!

これからタマにお世話になります。
どうぞよろしく。
0704デフォルトの名無しさんNGNG
漏れも昨日からGLの仕事に戻りましたヨロ
高度なことはやりませんがね
0705デフォルトの名無しさんNGNG
C#でもやれるんだったらやってみようかな。
0706デフォルトの名無しさんNGNG
マルチプラットフォームなGUIツールキットで、
glutと相性の良いものはどれですかね?
今、GLUI、FLTK、FOXをインストールして試してるんですが・・・
未だ、どれが良いか感触がつかめてません。

GLUIだと既存のソースに組み込みやすいんですが、スライダとかが無いのが惜しいですねぇ
上記3点以外にも良さげなツールキットをご存じでしたら教えていただけると有り難いです。
0707厨房NGNG
赤本買う金なんてないんだぁ〜!!
だれか赤本にかわる素晴らしいHPを教えて下さい。
0708デフォルトの名無しさんNGNG
いやーけっきょく赤本に戻ると思うよ
K&Rみたいなもんかも。
0709デフォルトの名無しさんNGNG
>>707
ttp://www.wakayama-u.ac.jp/~tokoi/opengl/libglut.html
0710デフォルトの名無しさんNGNG
だれか glut にファイル選択のダイアログとか付けてくれんだろうか.
glut のシンプルさは好きなんだけどなあ.
せめてテキスト入力欄だけでも...
0711デフォルトの名無しさんNGNG
>>710
glutにそういう機能を組み込んじゃうと、シンプルさが失われるのでは?

テキスト入力だけで良いならGLUIが簡単で良いかも。
ttp://www.cs.unc.edu/~rademach/glui/

ファイル選択ダイアログとかだと、FLTKやFOX、wxWindowsを使わないとダメかなぁ・・
0712デフォルトの名無しさんNGNG
GL初心者なのですがライトとスケールの関係について
詳しい方はいらっしゃいますでしょうか?

モデル行列にスケールを掛けれるようにしてスケール値をいじると
(元は1.0,1.0,1.0を0.5,0.5,0.5に変更等)
面の明るさが変わってしまうのですが、こういうものなのでしょうか?

ライトはGL_POSITIONなライトが視点のずっと手前に1つあるだけです。
スケールを小さくすると明るくなり、大きくすると暗くなります・・・

流れ的には
glMatrixMode(GL_PROJECTION);glLoadIdentity();glPerspective();
glMatrixMode(GL_MODELVIEW);glLoadIdentity();ライト設定
モデルの座標、回転、スケール設定;モデル描画;
という感じなのですが・・・ (T-T)
0713デフォルトの名無しさんNGNG
当掲示板はフーゾクで働く現役、元AV女優の情報の交換
を目指すものであります。
http://jbbs.shitaraba.com/sports/1923/avkafuzoku.html
0714デフォルトの名無しさんNGNG
え?
0715デフォルトの名無しさんNGNG
>>712
glEnable(GL_NORMALIZE);
を呼ぶとか。
0716デフォルトの名無しさんNGNG
それほど詳しくもないけどレス。

>>712
単に、スケールを大きくすると、視点が光源から離れるから暗くなるだけでは?
モデルから反射光量が少なくなると言うか・・・なんと言ったらいいのかな。。

的はずれだったらスマソ
0717デフォルトの名無しさんNGNG
>>715 >>716
早速お返事ありがとうございます!
まさに glEnable(GL_NORMALIZE) を付けたら直りました!

与えている法線自体は Normalize してある値だったのですが
スケールが法線の値に対しても影響している。ということなのですね。
納得いたしましたです。ありがとうございます。

質問ばかりでは申し訳ありませんのでちょっと考察&速度比較をば。

glEnabel(GL_NORMALIZE) は毎法線 Normalize していそうなので
けっこうコストが高いのかなぁと思ってみたりしたのですが・・・

Enable/Disableを
試してみましたところ検出できる程度の速度差が出ませんでした・・・
テスト環境が GeForce なのでハードで処理されているのかもしれません。
ハードウェアのサポートが受けられない環境では
スケール値が 1.0,1.0,1.0 でない場合のみ glEnable(GL_NORMALIZE)
の方が親切なのでしょうか・・・

となるとハードウェアのサポートが受けられる環境では
CPUで動的に法線を生成しているような場合は
CPUでわざわざ Normalize しないほうが早くなりそうなですね・・・

また何かありましたら教えを乞いに参上するかもしれません・・・
0718デフォルトの名無しさんNGNG
結構スケールいじったり法線いじったりしそうなので
glEnable(GL_NORMAL) しっぱなしで行こうと思います。

今後ともよろしくおねがいします。(^-^;
0719デフォルトの名無しさんNGNG
>>711
>glutにそういう機能を組み込んじゃうと、シンプルさが失われるのでは?
確かに, おっしゃるとおりです(w. が, 欲しくなるのは単なるわがまま ?
glui は 1 度断念したんだけど, 理由が思い出せず.
0720デフォルトの名無しさんNGNG
>>719
>が, 欲しくなるのは単なるわがまま ?

テキスト入力やファイル選択はGraphic Libraryの範疇じゃないので、
別にするべきだと思いますけど。

>glui は 1 度断念したんだけど, 理由が思い出せず.

gluiがダメだとなると、FLTKその他を使うのは難しいかも、、。
0721デフォルトの名無しさんNGNG
OpenGLでちゃんと使っているはずの
ディスプレイリストをglDeleteListsで
消去してもメモリが解放されないのですが。
こんなものなんでしょうか?
0722デフォルトの名無しさんNGNG
>>719
ファイル選択ダイアログ程度なら各OSのAPIを直接呼んだ方がいい気が
しますけど…。なにか理由があるのかな?

>>721
どういう環境で、どこのメモリをチェックしてます?
(そして、そこはその環境下ディスプレイリストが作られる場所ですか?)
0723デフォルトの名無しさんNGNG
>>721
G400だったりする?
0724デフォルトの名無しさんNGNG
>>721
暇なのでやってみた。
作ったリストは、再帰の回数を増やすとだんだんキレイな球体になっていくやつ。
8*(4^3) ポリゴンでは変化が見られなかった。
8*(4^6) ポリゴンでシステムメモリに2MB程度の変化が起きたよ。
GeForce3Ti200@WIN98
メモリは極窓のVer情報で確認したので、ちょと大雑把だと思う。

よくわからないけど、>>721の作ったリストが容量を食わなかったとか。
リストを「作る⇔消す」じゃなく「作る⇔作らない」での変化も見てみたらどうでしょ。
ちなみに、ゲー作の方も見てますがなんとなくこっちに(藁
0725722NGNG
補足、ディスプレイリストがどこに確保されるかは現在のところ実装依存に
なっているということね。(OpenGL2.0ではその問題は解決されるらしい)

http://opengl.org/developers/faqs/technical/displaylist.htm#0140
0726724NGNG
気になったので、ビデオメモリも計ってみた。
これはN-BenchVer2 の起動画面で。
ビデオメモリには変化無かったです。
0727デフォルトの名無しさんNGNG
Windows ならそうかもしれないですけど,
Unix にはそういうものがない気が.
あ, readdir() とかでディレクトリをなめて自作しろってことですか ?
0728デフォルトの名無しさんNGNG
>>727
あなたの環境下で提供されている適当な任意のツールキットを使ってください。:)
Win32と違い、Unixそれ自身も、OpenGLも(あなたの期待するような)ツールキット
の機能を提供していません。特定のAPI体系がなぜそこに切り分けられているか
をよくよく考えてみることです。

もし、WindowsでもUnix系のOSでも通るようなソースを御気楽に書きたいなら、
GLUIかFLTKでも使われることをお勧めします。公約数的なGUIなのであまり
使い勝手がいいとはいえませんが…。またはそれらのツールキットはソースが
提供されているので、ソースコードを見て御自分で使いやすいように書き換えるとか。
0729デフォルトの名無しさんNGNG
>Win32と違い、Unixそれ自身も、OpenGLも(あなたの期待するような)ツールキット
>の機能を提供していません。特定のAPI体系がなぜそこに切り分けられているか
>をよくよく考えてみることです。

何の話してんの ?
0730○NGNG
OpenGLのヴァージョンって今1.3だよね?
マルチテクスチャのチュートリアルサンプルとかないかなぁ。
0731デフォルトの名無しさんNGNG
>>729
>>710のレスから流れを追ってみてくだされ。
0732デフォルトの名無しさんNGNG
>>731
719 までは glut とか glui への GUI の機能拡張の話で,
720 が何の脈略もなく Graphic Libraryの話を持ち出して.
以下話がかみ合ってないように読めるが ...
0733デフォルトの名無しさんNGNG
>>720は、単に、
 「Graphic libraryであるGLUTに、ファイル選択や
  テキスト入力の機能を入れるのはおかしい」
と言ってるだけでは?

>>728の、
 「特定のAPI体系がなぜそこに切り分けられているかを
  よくよく考えてみることです」
も同じようなことを言ってるように思えますが。
0734デフォルトの名無しさんNGNG
Open GLってどこで手に入るんでしょうか?
教えてください。
0735デフォルトの名無しさんNGNG
>>734
OSは?
たいていの情報はttp://www.opengl.orgで見つけられます。
0736デフォルトの名無しさんNGNG
>>733
ああ, なるほど.
多分 glut を toolkit と考えた 719 と Graphic library と
考えた 720 の間では, 話はかみ合わんと見た.
0737デフォルトの名無しさんNGNG
>734
windowsだったら95以外は標準で入っている。
開発するなら話は別だが。
0738デフォルトの名無しさんNGNG
>>735,737
OSはWin98です。
>>735さんの教えてくれた所見たら何とかなりそうみたいです。
ありがとうございました。
ちなみに、OpenGLって、C++分かってる必要あるのでしょうか。
解説書2冊ほど目次だけ見たら、どっちもVisual C++が出てたので。
0739デフォルトの名無しさんNGNG
>>722 - >>726
回答ありがとうございます。
え〜と、システムはWindows XP,2000で
Geforce3とかGeforce2MX400とかです。
FoxというGUI ToolKitをVisual C++でコンパイルしてます。
またメモリはタスクマネージャーの
メモリ使用量で見てるだけです。
それでデータはdouble型
36000点の3次元頂点と、7万ポリゴンくらいを
ディスプレイリストで作っています。
このデータだけなら10MB程度のメモリ使用
するのですが、
ディスプレイリストを作るとさらに70MBくらい
メモリを使用します。
でも同じデータをもう一個読み込んでも10MB
増えるくらいで、再び70MB取ることはないです。
この状態でデータをクリアしても、20MB分は
解放されるのですが、ディスプレイリストで
確保されたメモリは解放されないようです。

下のような理由なのかな〜。
ttp://www.gimlay.org/~andoh/opengl/oglfaq/displaylist.htm#0140
0740デフォルトの名無しさんNGNG
glut のウィンドウやメニュを生成する機能とか
キーボード, マウスのイベントを捕まえる機能を graphic library と
言い切るのは変だろ,
0741デフォルトの名無しさんNGNG
glutって、メニュー作れたっけ?
0742デフォルトの名無しさんNGNG
>>740
glutはもともと"グラフィックライブラリ"ではないと思うけど。

>>741
glutCreateMenu, glutAddMenuEntry, glutAttachMenu
で一応メニューが作れます。
0743デフォルトの名無しさんNGNG
蛇足ながら。
http://www.gimlay.org/~andoh/opengl/glut/section06.html
0744デフォルトの名無しさんNGNG
>>742
710のレスから流れを追ってみてくだされ.
特に 720 と 733.
0745デフォルトの名無しさんNGNG
openglのコマンドって、スレッドまたぐと一切利かなくなるのね。
コンテキストハンドルをグローバル変数にしたり、いろいろやったが駄目だった。

こまったのぉ・・・
0746デフォルトの名無しさんNGNG
>>745
スレッドごとにカレントコンテキストがありますよん。
おそらく排他処理されてるだろうけど・・・あまりお勧めしない
0747745NGNG
スレッド自体の排他制御(制御順序)はこっちでコントロールしているから
問題ないはずなんだが。

glの複数のコンテキストをwglMakeCurrent()とか使って
ひとつのwinデバイスコンテキストに統合できないかなぁ。
0748デフォルトの名無しさんNGNG
うーん、ひょっとすると、コンテキストってそれを生成したスレッドでしか
使えなかったりしないかねえ。
0749デフォルトの名無しさんNGNG
>>722
>ファイル選択ダイアログ程度なら各OSのAPIを直接呼んだ方がいい気が
>しますけど…。なにか理由があるのかな?

そういうAPIにしまりのない奴のソースを見ると、
いきなり DWORD とか書いてあって萎えることが多い。
で、しまいには「GLUT使いにくいよ! Win32API で書こうよ!」
とか言うんだ。

……いや、被害妄想なのはわかってる。聞き流してくれ
0750デフォルトの名無しさんNGNG
フルスクリーンGLなアプリじゃOSのAPI使いようがないわな
そうじゃなければモジュールきっちり分ければ良いし
0751デフォルトの名無しさんNGNG
glDrawPixelsで画像を描画する際に、任意のRGBプレーンのみを描画したいのですが、
そのような命令は標準で用意されていますか?
描画前に、必要なプレーンのみのデータを含むバッファを用意しないと無理なのでしょうか?
0752デフォルトの名無しさんNGNG
>>751
glColorMaskとかそういうこと?
0753デフォルトの名無しさんNGNG
>>752
あ、そのまんまの名前の関数があったんですね・・(汗
glColorMaskで希望通りの描画を実現出来ました。

どうもありがとうございました。m( )m
0754デフォルトの名無しさんNGNG
そろそろPBufferでも実装しようと思っていますが、
GEFORCE256とかでもハード対応してますか?
( CopyPixelsがソフトエミュレーションになってしまった
  記憶があったので、見込み薄に思いましたが、、、)。
0755デフォルトの名無しさんNGNG
マルチテクスチャはそれぞれの色要素が乗算されて重なると考えてよいのでしょうか?
だとしたら、これを加算に変更する事や別のブレンドモードにする事は可能ですか?
0756デフォルトの名無しさんNGNG
OpenGLのマルチテクスチャはあんまりカッコよくないから嫌い
0757デフォルトの名無しさんNGNG
>>754
Geforceだけではなく、TNTまでもPBufferをサポートしているらしい。
http://developer.nvidia.com/view.asp?IO=gdc2001_pixelbuffers
0758デフォルトの名無しさんNGNG
>>757
確かにそう記載されてますね、、以外でした。
俄然、やる気出て来た(W
ありがとう。
0759デフォルトの名無しさんNGNG
訂正)以外でした>意外でした

素で間違えてるぅ・・・。
0760デフォルトの名無しさんNGNG
RGBテクスチャをRチャンネルだけ抜き出して描写することって出来ますか?
つまりt(R,G,B)と色をもっているテクスチャをt(R,R,R)で描写するとか(結果赤成分だけのモノクロ)。
nVidia限定やProgramableShaderの利用でもかまいません。
0761デフォルトの名無しさんNGNG
最近 GL_QUADS で一個だけ四角をFILLしたときに
斜めに対角線みたいな線が一本出ちゃうことがあるんですが
これ何が間違ってるんでしょうか。

scale上げてってポリゴンが画面からはみ出すと、その線が増殖するんですよ。
とっても醜くて困っちゃいます。
0762デフォルトの名無しさんNGNG
>>760
ただglColorで表示したい色1にして書けばいいのでは?
0763デフォルトの名無しさんNGNG
>>760
glPixelMap(),glColorMask()辺りでどーぞ。

>>761
見たこと無いな、、ボード何?

0764デフォルトの名無しさんNGNG
>>762-763
>>760の希望は、例えば赤成分だけをグレイスケールで
表示したいということなので、マスクしただけではダメなんじゃないかな?
マスクしただけだと、赤色の濃淡表示だけになってしまふ。
0765デフォルトの名無しさんNGNG
>>764
そのためにglPixelMap()って書いてるのに〜・・・。
0766762NGNG
勘違いしてますた。グレイスケールなのね。
0767デフォルトの名無しさんNGNG
便乗質問です。
RGBのうち、RG成分だけをグレイスケールで表示するには
どうしたらいいんでしょう?
glPixelMap()って、RGBどれか一つだけしかINDEXにできませんよね?
勘違いしてたらスマソ。
#コーディング例も載せて頂けると大変嬉しいです・・・。
0768デフォルトの名無しさんNGNG
>>767
う〜ん、そーだったかも・・・。
今、赤本が手元に無いので、家帰ったら見てきます。
0769デフォルトの名無しさんNGNG
>>763
>見たこと無いな、、ボード何?
えと、TNTとGeForceで出ちゃうんですよ。
ただ昔は出なかった記憶があるんですよね。
なのでコーディングの仕方に問題あるかもーと思って質問しました。
0770デフォルトの名無しさんNGNG
>>768
複数カラーバッファ間の変換手段は無い
・・・と思う(弱気
アクセラレーションの範疇で、
モノクロ化出来る方法があるのなら、ぜひ俺も知りたいけど。
0771デフォルトの名無しさんNGNG
>>767
もう少し詳しく聞きたいのだけど、

>RGBのうち、RG成分だけをグレイスケールで表示

というのは、レンダリングした、もしくはレンダリングするR, Gの色をグレースケール化
( 明度 = 0.299 * R + 0.587 * G でレンダリング、みたいな)って事ですか?

# 一度描画したものを取り出して…とかではないアクセラレーションの範疇なら、
# ベンダ拡張使う(NVIDIA社のRegister Combinersとか)とかしかないのかなぁ…
# クソレスですまん。
0772デフォルトの名無しさんNGNG
>>769
GL_TRIANGLE_FAN で word around してみてはどうでしょう
0773デフォルトの名無しさんNGNG
>>767
ピクセレシェーダーなら簡単だYO!
0774デフォルトの名無しさんNGNG
>773
ピクセルシェーダってアルファ以外の各チャンネルを個別に操作できったけ?
操作する方法があれば教えてYO!
0775デフォルトの名無しさんNGNG
>>772
すいません、word around ってなんでしょうか。
0776デフォルトの名無しさんNGNG
workaroundですな。あー恥ずかしい・・・
ある手段がうまく行かないときに用意しておく手段、という意味のつもりです。

この場合は、GL_QUADSの代わりにGL_TRIANGLE_FANを使うということを意味します。
つまり
glBegin(GL_QUADS)
 glVertex() * 4
glEnd()
を
glBegin(GL_TRIANGLE_FAN)
 glVertex() * 4
glEnd()
に置きかえるということです。
0777デフォルトの名無しさんNGNG
>>767
見て来ました。
やっぱり、 カラー指標>カラー指標
      カラー指標>R
      R>R
だけですね、、、
勘違いでした、スマンでち。
カラー指標>カラー指標ならモノクロ化は出来るけど、価値は無し、、、(終)。
0778761NGNG
>>776
すいません、GL_POLYGON_SMOOTHを使わないようにしたら
fill時の変な線は出なくなりました。
かなり無関係な問題のようで、どうもすみません。
0779ageNGNG
age
0780デフォルトの名無しさんNGNG
OpenGLのマルチテクスチャってglActiveTexture()を発行するたびに
カレントのマルチテクスチャを切り替えるっていう手法じゃないですか。
これってglActiveTexureを発行した後にマルチじゃないテクスチャを
操作したい(マルチテクスチャを無効にしたい)場合ってどうすれば良いんでしょう?
マルチテクスチャについての日本語ドキュメントは何に等しい状態だし、
自分の認識が間違っていてトンデモかもしれませんが・・・。
0781デフォルトの名無しさんNGNG
チマチマglActiveTexureして一つ以外無効にする。
EXT_texture_env_combine等でチテクスチャの結合設定を変える。
よく知らんから、くらいしか思いつかんなぁ。
0782デフォルトの名無しさんNGNG
Nvidiaがまた変なのだしちゃったよ。
またもやOpenGLがベンダー依存に…。
まぁ、アマチュアプログラマには良いけど。
0783デフォルトの名無しさんNGNG
ベンダー依存環境で囲い込み、これ最強。
0784デフォルトの名無しさんNGNG
GLより生産性いいの?
内容見た人いたらplz
0785デフォルトの名無しさんNGNG
>>784
基本的にはシェーダーアセンブラを置き換えるものであって、
3DAPIと置き換わるものではないよ。
現時点のDirectX8レベルのシェーダーアセンブラでは必要ない
んだろうけど、今後複雑化するにしたがってこういった仕組みが
必要になるだろうから、今回のβリリースはその予告編…って
感じかな。(他のベンダへの牽制って意味もあるだろうけど)

しかしcodeplayのオトナゲない対応には藁った。
http://www.codeplay.com/press/cg_rel.html
0786デフォルトの名無しさんNGNG
openglってみんなつかってる?
これってC言語で使えるんだよね?
VCとかBCとかで
0787デフォルトの名無しさんNGNG
sageだと誰も見ないかも
0788デフォルトの名無しさんNGNG
>>786
仕事で使ってるよ。ゲームじゃないから高度なことはやらんけど、3Dなアプリ作るのに便利。
0789デフォルトの名無しさんNGNG
>>788
サンクス

100レスまでさらっと読んだんだけど,
おすすめの書籍ってありますか?
VC++でC言語のみ使えるんですが
いちおうY座標は,上は正の値くらいはわかるんですが
0790デフォルトの名無しさんNGNG
GeForceとかRADEONの3Dテクスチャって全部ビデオカードのビデオメモリに入りきらないと
利用できないんでしょうか?分割するしかないですか?
AGPメモリに入れればよいのかと思ってwglAllocMemoryとか使ってみましたがアウツでした。
0791デフォルトの名無しさんNGNG
>>789
VC++だけで一応アプリは書けるです。
本は読んだことないけど基礎的なことはネット上サーチすると、
やさしいチュートリアルとかいっぱいある。
個々のAPIはVCのヘルプ見まくり。
おれはライトとかマテリアルの使い方が未だによく分かってないけど、
その辺はちゃんと本でも読まないとダメかも。
まぁGL自体よりも算数とか忘れきってて悩むことの方が多い感じw
0792デフォルトの名無しさんNGNG
>>789
OpenGLは、そのまま使うよりも、glutを使う方が便利です。

で、glutを手っ取り早く使いたいと思うのなら、
GLUTによる「手抜き」OpenGL入門がオススメです。
ttp://www.wakayama-u.ac.jp/~tokoi/opengl/libglut.html
0793デフォルトの名無しさんNGNG
Teapot表示すんの飽きたんで、メタセコのモデル読み込もうとしてます。
で、ポリゴン表示してテクスチャをペチョっと貼るトコまでは来たんですが、
アルファ画像指定してあるポリゴンの表示でつまづいてます。(髪の毛とか)

とりあえず目標は ↓の女騎士を表示するコトです。
ttp://www.geocities.co.jp/Playtown-Spade/7188/3d/down_mqo.html

で、
■テクスチャ画像見るとUV駆使して一枚になってる
■アルファ画像も同様
■モデルの部分毎に材質分けされてない
こーゆー場合にあるポリゴンが不透明か半透明かを判定するのって、
どーしたらいーでしょう?それとも何か他の方法があるんでしょーか?
0794デフォルトの名無しさんNGNG
793 つづき

■ 調べたり考えたりしてみた方法その1(失敗)

不透明のポリゴンを全部描いてから、glDepthMask( GL_FALSE )して
半透明のポリゴンを描画する。
不透明か半透明かが判定できてないので無理だった。

■ 調べたり考えたりしてみた方法その2(やり方ワカラン)

一番奥のポリゴンから順番にBLEND付きで全部描画する。
向きとか変わると順番が入れ替わるので、やり方ワカラン。

何か別のエレガントな方法とかあったら是非教えてください。
0795デフォルトの名無しさんNGNG
>>791-792
ありがとう

とりあえず日曜日にしょうてん見ながらやろうかと思います
0796デフォルトの名無しさんNGNG
ちょっと質問を良いでしょうか?

OpenGLでは、現在の各変換行列の中身を取り出すことは出来ないのでしょうか?
行列出入力関係のOpenGL関数は、glLoadMatrixで変換行列を置き換え、
glMultiMatrixで変換行列の掛け算を行う物位しか無いみたいなのですが。
0797デフォルトの名無しさんNGNG
age忘れました。すみません。
0798デフォルトの名無しさんNGNG
キーワードはglGetFloatvとGL_MODELVIEW_MATRIXっすな。
0799デフォルトの名無しさんNGNG
ついでに
http://pegasus.cypher.sfc.keio.ac.jp/cgsoft/Release/Textbook/zsort01.html
0800デフォルトの名無しさんNGNG
>>798
おおおお!ありがとうございます!!

ちゃんとあるんですね。当然と言えば当然か・・・。
でも、国内のOpenGL系のサイトを当たっていても、ほとんど
自前で行列を扱っているところが見あたらないのが厳しいですね。
Win32のOpenGL本にも全然出てこなくて、げんなり来ていました。

なまじ平行移動とか回転とかあると、みんな使ってしまうのかな・・・。
はっきり言って3次元で何かしらの姿勢計算を自前でしたい場合は、
直接行列を扱わないことにはどうにもならないのに。とにかく助かり
ました。どうもです。
0801デフォルトの名無しさんNGNG
>>800
当たり前すぎて、説明しないだけ。
もっとも行列すらわからないやつもいないけどな。
0802デフォルトの名無しさんNGNG
>>800
余計なお世話かもしれないけど,
「国内のOpenGL系のサイト」「Win32のOpenGL本」という探し方がまずい.
まずは赤本を見ないと.
0803デフォルトの名無しさんNGNG
glLoadIdentityとかでカレントマトリクスにセットした値を
float型の配列に書き戻す関数or手段はありますか?
0804デフォルトの名無しさんNGNG
10件分も見ない奴が居るとは、正直驚きだよ
0805デフォルトの名無しさんNGNG
まあまあ。東大デモクラシーと言いますし。
0806デフォルトの名無しさんNGNG
wingdi.hにwglSwapMultipleBuffersが追加されとるが使い方がわからんぞい
0807まんせーNGNG
OpenManse-Library
0808デフォルトの名無しさんNGNG
OpenManse-Libraryに該当するページが見つかりませんでした。
0809デフォルトの名無しさんNGNG
ATI-RAGE/128使ってるんですけど
32x32より大きい(64とか)のテクスチャを90°(270)回転すると倍くらいスピード落ちます
環境はマックiBook/300でopenGLとQT3Dでこの現象を確認したので
カードのせいかなとか思ってますが、なんか知ってる方教えて下さい。
0810デフォルトの名無しさんNGNG
へー、rage128ってそういう石なんだあ
0811デフォルトの名無しさんNGNG
テクスチャのメモリからの読み込みが非効率になるとか。いや、知らんけど。
0812デフォルトの名無しさんNGNG
age
0813デフォルトの名無しさんNGNG
もしかしてOpenGLって頂点に色設定する方法で
テクスチャの色より明るくできないの?
0814デフォルトの名無しさんNGNG
glLightModelf (GL_LIGHT_MODEL_COLOR_CONTROL_EXT,GL_SEPARATE_SPECULAR_COLOR_EXT);
0815デフォルトの名無しさんNGNG
age
0816デフォルトの名無しさんNGNG
あで
0817デフォルトの名無しさんNGNG
間違ってた?
0818デフォルトの名無しさんNGNG
それってどう有意味
0819デフォルトの名無しさんNGNG
>>814これ
0820デフォルトの名無しさんNGNG
Register Combiner で割り算か逆数ってなんとかできませんか?
0821813NGNG
819>一応4ー5時間程やって炊けどわかんないので
おとなしくなるべく明るい手エクス茶を使う、どうしてもやりたきゃ
半透明白ポリゴン重ねるってことで妥協してる。一応ありがとう
0822デフォルトの名無しさんNGNG
検索かければ一発だと思うんだが。
0823デフォルトの名無しさんNGNG
どっかいいサイトしょうかいsして〜
0824デフォルトの名無しさんNGNG
英語がいやっていうなら、あなたにつける薬はありません。
0825デフォルトの名無しさんNGNG
そんな事いついった?
0826デフォルトの名無しさんNGNG
>>824の脳内いべんつ
0827デフォルトの名無しさんNGNG
しかし正直英語モウマンタイなら「どっかいいサイトしょうかいsして〜」は
変だぞ。普通に検索してトップじゃん・・・
0828デフォルトの名無しさんNGNG
NeHeってとことOpenGLSDKのサンプルみたけど
それらしいもんはみつかんなかった
確かに匿名の掲示板じゃ甘えがでてるかもな
自分で何とかするわ
0829デフォルトの名無しさんNGNG
age
0830デフォルトの名無しさんNGNG
sage
0831デフォルトの名無しさんNGNG
質問です。

Win2000+VC++6の環境で開発してたんですが、
WinNt4.0、Win98で実行するとエラー(glGenListsがGL_INVALID_OPERATION)が出て、
OpenGL32.dllのバージョンの違いかなと思い、
2000からOpenGL32.DLLをコピーしてみました。
すると、NTでは重たいものの何とか動作するようになったんですが、Win98では、
「OpenGL32.DLLは欠落エクスポートGDI32.DLL:GdiSwapBuffersにリンクされています」
というエラーが出てしまい困っています。
WinNT4.0、Win98でOpenGL周りのDLLをアップデートする一番スマートな方法って、
どうしたら良いんでしょうか?
DL先など調べてみたんですがMSのサイトにも無いようで、どなたかご存知の方教えて下さい。
0832デフォルトの名無しさんNGNG
>>831
Win98でもglGenLists普通に動いてるけど?
0833デフォルトの名無しさんNGNG
>>831
他のところでエラーが出てるかも知れないよ。
ちゃんとエラーフラグクリアしてからglGenLists呼んだ?
0834デフォルトの名無しさんNGNG
>>831
OpenGL32.dllはビデオカードのドライバごとに変わる。
NT/2000なら何とか互換性はあるけど、Win98何かに入れたら
動かなくなるのは当たり前。生兵法なんてせずに、大人しく
ビデオカードのドライバを最新にすれ。
0835デフォルトの名無しさんNGNG
>>832-834

分かりました。ぞれぞれやってみます。
ありがとうございました。
0836デフォルトの名無しさんNGNG
BCCでgluiを使いたいんですけど、VC++での

opengl32.lib glu32.lib glut32.lib glui32.lib を
「プロジェクト」→「設定」→「リンク」タブ内に追加

ってのはBCCではどうやればいいんでしょうか。できるんでしょうか。
その前に glui32.lib が見つからないし、VC++が無いとダメなんでしょうか。
「glui32.lib」をGoogleにかけたら2件しかヒットしないし・・・。
いろいろ試したのですが何分アホアホ君なので光明見えずといった感じです・・・。
方法を知ってる方いたら教えてください。お願いします。
0837デフォルトの名無しさんNGNG
>>836
glui以前にglutは使えてるわけ???
glut32.lib glui32.libはVC++にも付いてないよ

内容からしてBCCの勉強の方が先のような気が…
0838836NGNG
>837
glutは使えてます。

>内容からしてBCCの勉強の方が先のような気が…
おっしゃる通りです。Cの勉強自体最近始めたので・・・
自分でも背伸びだよなーとは思ってるんですが。

はっきり言って初心者には不向きでしょうか・・・。
おとなしく先送りした方がいいですか?
0839デフォルトの名無しさんNGNG
>>838
とりあえず、glui.lib見つけてきて、ソースに
#pragma comment(lib,"glui32.lib")とでも追加してみれば?
0840836NGNG
>839
ありがとうございます。試してみます。

と思ったら glui.lib がありません・・・。
やっぱVC++使うかgluiを諦めるかでしょうかねえ・・・。
0841836NGNG
1 bcc32 -c *.c
2 .rspファイルを作る
3 tlib glui32.lib @glui32.rsp

とやったら51KBの glui32.lib ができたんですがこれでいいんでしょうか?
0842デフォルトの名無しさんNGNG
>>841
すまん、実はgluiもBCCも使ったことない。勘で答えてるだけ。
だが、51KBは小さすぎ。間違ってるような気がする。
一応使えるかどうか試してみれば?
あとglui32.libあるよ??ウェブ全体から検索しなされ。
VC++用のライブラリでBCCでは使えないのであれば、
implib(だったかな?)で変換

日本ではOpenGL自体使ってる人が少ない上にgluiとなると・・・
0843836NGNG
>842
レス&情報どうもです。

glui32.libも見つけて試したんですがどうにもこうにも使えないので、
やっぱりC自体とBCCに詳しくなるか
VCを使うようになるまで見送ることにしました。

先にCとglutを習得することにします。

このスレでもgluiの話題は少ししか出てないようですし、
みなさん様子見なんでしょうか。。。
0844デフォルトの名無しさんNGNG
今更遅いかもしれないけど.

もし VC 用の glui32.dll とかがあれば, implib して
Builder の Lib フォルダ以下の Platform SDK とかにつっこんどけば
デフォルトで見てくれないか ?

様子見というより, あまり glui を使ってもうれしくない気がする.
あと OpenGL を使っている人はたくさんいると思うけど, このスレとか
ML とかは活気がない. 新しくはじめる人は DirectX に流れてるのかな.
0845デフォルトの名無しさんNGNG
OpenGLの初心者向け入門書がないからねえ。
解説本はあっても、やけにマニアックだったりSGIマンセーM$イってヨシ
とかいうノリだったりするし。
0846デフォルトの名無しさんNGNG
OpenGL入門 著:エドワードエンジェル

って奴はそれなりによい感じですた。
0847OpenGL!NGNG
保守あげ
0848デフォルトの名無しさんNGNG
シャドウマップって拡張仕様無しでできますか?
0849デフォルトの名無しさんNGNG
glRotetef と glTranslatef の実装方法を知りたいのですがどこを調べたらいいでしょう?
Linux用移植版のmesaのソース見てもどこが該当するか分からなかったです・・
一般的な3Dのアフィン(affine)変換だと物体に対する変換なので、glRotetefみたいな
座標系に対する変換は実現できませんよね?

例えばx軸周りに30度回転させてy軸周りに15度回転させるというのはアフィン変換だと
回転の順序を変えられないけど、glRotetefだと順序は関係なく変換できますよね?

ここんところかなりはまっています。誰かお助けを。
0850デフォルトの名無しさんNGNG
>>849
式は赤本に書いてある。
式の解説は"任意軸" "回転"をキーワードに探せば見付かると思うけど。
0851デフォルトの名無しさんNGNG
>>850
レスありがとう。
任意軸周りの回転といえばQuaternionですが、それとは違う式ですか?
0852デフォルトの名無しさんNGNG
赤本だとAppendex Fの同次系で解説されている内容ですよね?
http://ask.ii.uib.no/ebt-bin/nph-dweb/dynaweb/SGI_Developer/OpenGL_PG/@Generic__BookTextView/37451

この式だとアフィン変換と同じなのに結果が違うとは。。
0853デフォルトの名無しさんNGNG
本当に
>>glRotetefだと順序は関係なく変換できますよね
なの ? まずそこから疑うべきでは.
0854デフォルトの名無しさんNGNG
conservate.
0855デフォルトの名無しさんNGNG
いきなり質問で恐縮ですが
OpenGLってバックバッファを直接いじれるんですか?
できれば合法的に..w
0856デフォルトの名無しさんNGNG
VRML形式のファイルから数値を読み出し
OpenGlを使って、画面に表示したいのですが

VRML側            OpenGl側
translation 10 10 10    → glTranslatef(10,10,10)
rotation 10 10 10 3.14 → glRotatef(180,10,10,10)
scale 10 10 10    → glScale(10,10,10)

上記の関数はそのまま書き換えて、同じ結果が得られるのでしょうか?
もしだめな場合はどうすればよいのでしょうか?

よろしくお願いします。

0857デフォルトの名無しさんNGNG
856>やってみたの? 大丈夫だと思うよ
0858デフォルトの名無しさんNGNG
>>855
glDrawPixels/glReadPixels
0859デフォルトの名無しさんNGNG
858 >
おお!ありがとう試してみます
0860859NGNG
直接とは少し違いますねw>glDrawPixels/glReadPixels
言い方が悪かったみたいです。
バックバッファのポインタを取得したいって事でした。
0861デフォルトの名無しさんNGNG
なら合法は無理だろうねえ・・・
OpenGLの仕組みからして、APIを跨ってメモリ空間を共有することは無いんじゃないかな。
基本的に、OpenGLが持つメモリ空間は、アプリケーションからは
独立していると考えたほうがいいと思う。

そういうDirectアクセスが最初はウリだった"Direct" Xも
最近は直アクセスをしない方向に向ってるからねえ。

つーか、何がしたいの?(笑)
0862859NGNG
何がしたいの?>
モザイクとか主に視覚効果ですね。具体的にはまだ決めてませんけど
できたら自由度が広がるなって事でw
0863859NGNG
862> 一応補足 もちろんリアルタイムね
0864デフォルトの名無しさんNGNG
モザイクだったらテクスチャ使えば?
0865デフォルトの名無しさんNGNG
すき放題に弄りたいわけね・・・それは厳しいかもしれない。
どうしてもやるなら glReadPixels→弄る→glDrawPixels ということになる
けど、相当なペナルティになると思う(嘘かもしれないから実験してね)。

モザイクだったらテクスチャにレンダリングしてnearestフィルタで・・・
とか思いつくけど、例えばセピア色にするとかだとTextureShader使わないと
無理かもしれん。白黒テクスチャにレンダリングして色ブレンドでもいいか?
0866859NGNG
モザイクは単に一例を挙げただけなんですがw
テクスチャ>必要範囲の原画像取ってきて加工してポリゴン描画ですか?
0867859NGNG
パフォを気にしないのならglReadPixels→弄る→glDrawPixelsで解決するんですけどね
0868デフォルトの名無しさんNGNG
うん。パフォーマンスを殺したくないなら、TextureShaderなどをゴリゴリ
組み合わせて「全てビデオカード上で」やるしかないよ。組み合わせが
トリッキーになるけど、速度は最高だと思う。
0869859NGNG
分かりました。TextureShaderとやらを勉強してみます
長々と有り難うございました。
0870デフォルトの名無しさんNGNG
GLUTあげ
0871デフォルトの名無しさんNGNG
誰か赤本と青本の中古品知りませんか・・・・
両方新品を買うと首吊りそうです
0872デフォルトの名無しさんNGNG
>>871
買うのならとりあえず、赤本だけでいいと思うけど。
リファレンスは
http://ask.ii.uib.no/ebt-bin/nph-dweb/dynaweb/SGI_Developer/
このあたりで見ればいいんじゃない?
(リファレンスとして使えるのは UNIXの manコマンドなど他にもあるし)
0873デフォルトの名無しさんNGNG
>>872ありがとう!
赤本だけでいいんですか。
サンコク。
0874デフォルトの名無しさんNGNG
英語なら赤本も
 http://ask.ii.uib.no/ebt-bin/nph-dweb/dynaweb/SGI_Developer/OpenGL_PG/
0875デフォルトの名無しさんNGNG
青本の英語ならVCやBCBに付いてる
0876デフォルトの名無しさんNGNG
DirectX比較してOpenGLって何が凄いのですか?
利点と欠点教えてください〜
一応ageときます
0877デフォルトの名無しさんNGNG
利点:とりあえず、動く環境が多い。
欠点:Windowsゲームに特化してるわけではない。音関連などは含まれていない。
0878デフォルトの名無しさんNGNG
age
0879デフォルトの名無しさんNGNG
hoshu
0880デフォルトの名無しさんNGNG
glReadPixels(0,0,width1,height1,GL_RGB,GL_BITMAP,Hairetsu1);
とかやってウインドウをメモリに保存しようと必死なんですが
初期化したままの配列が返って来て泣きそうです。
マニュアルにglBeginとglEndの間に使うなとか書いてあった気がしましたが
外に何か気をつける事あるでしょうか。おしえてくださいお願いします〜
0881デフォルトの名無しさんNGNG
>>880
glReadBufferは大丈夫?
GL_RGBで指定してGL_BITMAPって・・・
GL_BITMAPとwindowsのビットマップとは違うって分かってるよね?
glGetErrorやってもエラー帰ってこない?
GL_UNSIGNED_BYTEに変えても取れない?
とりあえず(´・ω・`)ショボーン
0882デフォルトの名無しさんNGNG
glGetErrorやってエラー返って来てました
GL_UNSIGNED_BYTEに変えたら取れました
どうもありがとうございました!

ヽ(´ー`)ノ初心者は赤本の前にglGetErrorだ
0883デフォルトの名無しさんNGNG
d
0884お願いします。NGNG
画面上をマウスクリックした、そのポイントをワールド座標に
変換したいんですけど、どうやればいいのかさっぱりです。
誰か教えてください。
0885デフォルトの名無しさんNGNG
クリックを空間内にもってくと
視点からの半直線あるいは三角錐になると思うですが
そのへんの認識はどうですか
0886デフォルトの名無しさんNGNG
ただオブジェクト座標に落とすだけならgluUnProjectがあるよ。
オブジェクト選択には、glSelectBufferという便利なのがあるよ。
俺が言えるのはそれだけ。
0887お願いします。NGNG
>885さん
>886さん
ありがとうごさいます。
えっと、CPointでマウスクリックした点は取れるじゃないですか
そのポイント例えば、CPoint(150,150)などをワールド座標に
変換したいんですよ。スクリーン座標からワールド座標の変換ですね.
DirectXを使わないでやりたいんです。


0888デフォルトの名無しさんNGNG
MFCを使って作ったウィンドウにOpenGLで描画したいのですが、ドウスレバヨロシイでしょうか?
0889デフォルトの名無しさんNGNG
>>887
885 の言ってることは理解してるか?
0890お願いします。NGNG
>889さん
すいません、どうにもうまくいかないので
できれば、誰かサンプルソースなどを上げてくださる
とありがたいのですが
0891デフォルトの名無しさんNGNG
モロにFAQなので
886 が言ってる関数を使ったサンプルをweb等で探すとよいよ
あとは赤本、青本をあたるとか
0892デフォルトの名無しさんNGNG
>>888
MFC使ったことないので分からんのだが
普通(?)の初期化と描画方法じゃ駄目なわけ?
いままでglutしか使ったことなくて、
初期化や描画方法そのものが分からないっていうのならVCのヘルプに付いてる
Platform SDK→OpenGL→Win32 Extensions To OpenGLを参考に
Platform SDK→OpenGL→A Porting Sample→The Program Ported to Win32
のソースをMFCに当てはめて考えてみては。
素直にgoogleで調べた方が速いような気もする
そんなんじゃないよーって言うならこれ→(・ε・)

>>890
変換だけなら手抜きソースを・・・
GLdouble winx,winy,winz,model[16],proj[16],x,y,z;
GLint view[4];
glGetDoublev(GL_MODELVIEW_MATRIX,mode;); // 現行モデルビューをゲト
glGetDoublev(GL_PROJECTION_MATRIX,proj;); // 現行プロジェクションをゲト
glGetIntegerv(GL_VIEWPORT,view);
winx = 150;
winy = 150;
winz = 0.5; //深さ 通常0〜1?
gluUnProject(winx,winy,winz,,winz,model,proj,view,&x,&y,&z);
そんなんじゃないよーって言うならこれ→(・ε・)
0893デフォルトの名無しさんNGNG
>>888
普通にCViewの派生クラスのOnCreateあたりで初期化すればよいと思う。
もしMFCのサンプルをさがしているのなら、

http://www.gamedev.net/reference/programming/features/3dmfc/

を参考にしてみれ。
0894888=2^3*3*37NGNG
>>892,>>893
返答どうもでふ。参考にしてみまふ。
0895デフォルトの名無しさんNGNG
ビュワーつくってるんですが、
オブジェクトの移動とかビューの回転とか
ビュワーを作る上で最低限必要な関数とかをまとめた
ライブラリorサンプルソースってあります?

SorceForge探したけどいいのがありませんでした。
0896デフォルトの名無しさんNGNG
オブジェクト作成後(球など)
ワールド座標で領域を指定して(立方体など)
切り抜くことって可能ですか?
0897デフォルトの名無しさんNGNG
素のOpenGLにはそういう機能はないと思うよ
opengl CSG
あたりで検索してみては
0898デフォルトの名無しさんNGNG
>>897
ありがとうございます。調べてみます。
0899デフォルトの名無しさんNGNG
ほsひゅ
0900デフォルトの名無しさんNGNG
900ゲト
0901初心者NGNG
先生!! 質問です。

OpenGLで作ったテクスチャをジョイステックで操作するって可能なんでしょうか?
具体的には画面上に作ったサイコロをジョイステックの動きに合わせてグリグリ回すようなプログラムなのですが
0902初心者NGNG
また質問なのでが…

作ったプログラムをMACにも移植可能にせねばならないので、開発をDirectXからOpenGLにしたのですが、この判断は正しいでしょうか?
うる覚えですがDirectXはWINDOWS上でしか動かせられないと聞いたので…
0903デフォルトの名無しさんNGNG
>>901
OpenGLはレンダリングしかしない。よってスレ違い。

>>902
おそらく正解。機種依存部分について考慮しながら設計するとよい。
0904デフォルトの名無しさんNGNG
最近、曲線の生成にGL_NV_evaluatorsを使っていたんだけど、こんど廃止になるらしいやん。
それで、これにかわる機能ってありません? GLUのNURBSインターフェイスはパフォーマンス悪そうやし、マルチテクスチャに対応してない。nVidia依存で結構です。手軽な曲面生成ようの機能ってありませんか?
0905デフォルトの名無しさんNGNG
glEvalMesh
0906デフォルトの名無しさんNGNG
glEvalMeshなんてみんな使っているの?
0907デフォルトの名無しさん NGNG
スクリーン座標を指定して2次元プリミティブを描画
することってできますか?
ウィンドウの右端に縦のラインを引くとか。
0908デフォルトの名無しさんNGNG
あがぇ
0909デフォルトの名無しさんNGNG
glOrthoでそういう行列作るくらいしか思いつかんなぁ
頂点の変換が絡むんで
正確にそのポイントを塗りつぶすのは難しそう
0910デフォルトの名無しさんNGNG
>>909
なーるほど。glOrtho()かぁ。
1ドットもズレちゃいかんてことないので
うまくやればできそうですね。サンクス
0911デフォルトの名無しさんNGNG
しまた。あげちた。
0912デフォルトの名無しさんNGNG
>>909 ヤターできたよ! ありがと
0913デフォルトの名無しさんNGNG
nvidia の bump map の pdf 読んだ人いる?今読んでるけど
むずいねー。よく tangent space とか出て来るけどこれどういう
意味かわかる?あと half angle もよく分からんけど、わかる?

0914デフォルトの名無しさんNGNG
>>913
読んだ。半分分かった。
half angleはスペキュラー計算するのに使うんでんでない?
ライティングの式見ればわかるよ。
tangent spaceは…
曲面で考えた場合にu,v,法線方向をaxis(軸)に見立てて
そのローカル座標にライトの位置を変換してやると、
曲面に貼られているテクスチャに対するライトの位置が手に入ると。
(テクスチャは曲面のu,v方向に貼られているという条件で)
俺はこんな解釈でいるけど違うかもしれん…
0915デフォルトの名無しさんNGNG
cg_toolkitをdownloadしたいんだけど、nvidiaのftpから落とせない…。
これはATIからの使者の攻撃ですか?
0916913NGNG
>>914
遅レスになったけど、もう一かい見てみる。でついでに聞くけど
このなかで単に product って出て来るけどこれって他の赤本
なんかでcross product って読んでるもんなのかねえ?

0917デフォルトの名無しさんNGNG
OpenGLでキーボードの上矢印と右矢印の同時押しを検出したいのですが、
glutSpecialFuncのコールバック関数で分岐させると片方しか検出してくれません。
どのようにすれば両方を検出してくれるのでしょうか。

OSはVine Linuxです。
0918デフォルトの名無しさんNGNG
普通、コールバックは一つのキィしか検出できないだろう。
両方のカーソルキィの状態をグローバルか何かで保持しておき、&&で同時だと認定知るのはどうだ?
あと、イヴェントの処理はフレームワークの仕様であって、OpenGLの問題ではない。
0919デフォルトの名無しさんNGNG
> フレームワーク
フレイムワーク
0920917NGNG
>>918
>両方のカーソルキィの状態をグローバルか何かで保持

OpenGLの範疇では無さそうですが、この方法を教えていただけないでしょうか。
X11について調べてみたのですが、調べ方が悪いのか良い資料が見付かりませんでした。
0921デフォルトの名無しさんNGNG
918 が言ってるのは, あるキーが押されたことを単純にグローバル変数とかに
格納しておけ, っていうことでは. あと static な変数でもいいかも.
0922914NGNG
>>916
返しがあったとは知らなんだ
どのpdf読んだのかわからんけど内積(dot product)のことじゃないですかね?
ピクセル単位で内積取りますよってことで。
適当だけど…
0923913NGNG
つまんない話につき合わせて悪いねえ。俺が見てたのは タイトルが
a practical and robust ...てやつだけど、どうも俺には無理めなんで
他をあたろうかと思ってるけど、ほかもむずけりゃあきらめます。
(レス不要
0924デフォルトの名無しさんNGNG
保守
0925デフォルトの名無しさんNGNG
GLで使えるテクスチャって256色までなんですか?
0926デフォルトの名無しさんNGNG
>>925
んなこたーない
0927デフォルトの名無しさんNGNG
glDrawPixelsで、127x127とか中途半端な画像がちゃんと表示されないのですが、
回避する方法はあるのでしょうか?

画像の2ラインめ以降が、数pixelずつずれてしまいます。
0928デフォルトの名無しさんNGNG
描画先が128x128なんでないの
0929デフォルトの名無しさんNGNG
>>927
glPixelStorei(GL_PACK_ALIGNMENT
0930927NGNG
レスありがとうございます。>>928-929

>>928
↓の様にglDrawPixelsを呼んでるんですが、width, heightが
元画像と同じであることはprintfで確認してます。

glDrawPixels( width, height, GL_LUMINANCE, GL_UNSIGNED_BYTE, img );

127x127 以外にも、61x99, 513x129, 257x129 などもうまく表示されません。
128x128, 320, 240, 512x512, 640x480, 1024x1024などは問題無く表示できます。

>>929
↓を試してみましたが、状況は変りませんでした。
glPixelStorei(GL_PACK_ALIGNMENT, 1);

--
読みこんだデータがおかしい可能性も考えて、バッファ(上記の"img")を
pnm型式で出力して、ElectricEyesなどで確認しましたが、ちゃんと表示されました。
なので、glDrawPixels関連の問題だと思うのですが・・。
0931デフォルトの名無しさんNGNG
>>930
ごめん。GL_UNPACK_ALIGNMENT デス。
0932927NGNG
>>931
できましたー!!!

せっかく、"PACK" "ALIGNMENT"というヒントを>>929で戴いていたのに、
UNPACK まで辿り着けなかったのは私の力不足ですね・・。もっと修業します。

みなさん、ありがとうございました。m( )m
0933デフォルトの名無しさんNGNG
http://24honlinecasino.fc2web.com/

0934デフォルトの名無しさんNGNG
GLUTをうまいことC++で包む方法ってないですか?
うーむうまくいかない。
0935デフォルトの名無しさんNGNG
一般的にWGLとGLUTってどっちが高速なんでしょうか?
0936デフォルトの名無しさんNGNG
GLUTってgl,glu,wglなんかの上に構築されてんでないの
0937デフォルトの名無しさんNGNG
そうなんですか、ありがとうございます
とりあえずWGLで組んでみることにします
0938デフォルトの名無しさんNGNG
glDrawPixelsで画像を表示しているのですが,透過色を指定することはできるのでしょうか?
0939デフォルトの名無しさんNGNG
赤本キボン!
0940デフォルトの名無しさんNGNG
OpenGLで、座標(x,y,z)に半径rの一色で塗りつぶされた球を無数に描きたいのですが、
どのような手法をとればよいんでしょうか??

今までにやってきた数値計算の結果を視覚的に見られれば・・・と思いOpenGLに挑戦したのですが挫折してしまいました・・・
0941デフォルトの名無しさんNGNG
>>940
glPushMatrix();
glTranslatef(x,y,z);
glColor3d(色);
glutSolidSphere(r,8,4);
glPopMatrix();
を繰り返してみたら?
0942デフォルトの名無しさんNGNG
>>938
glDrawPixelsにブレンド効くのかなぁ。やったこと無いから分からないけど。
GL_ALPHA_TEST,GL_BLEND,glAlphaFunc,glBlendFuncあたりをやってみそ。

>>939
英語のサイトなら知ってたが見れなくなっとる。

>>940
glut使ってないなら、gluSphereでもよいぞよ。
0943デフォルトの名無しさんNGNG
赤本って、Onyxとかに英語版が入ってたねぇ・・
一度印刷したけど、体裁がおかしくてすぐ捨てちゃった。
今は"Conputer Graphics using OpenGL"と"手抜きGLUT入門" で
なんとかカバーしてます。
0944教えてクンNGNG
教えてください。お願いします。
一つのウインドウの中に
二つ以上のビューポートを同時に
表示する方法ってありますか?
・
・
・
glViewport(0, 0, w/2, h/2);
glViewport(w/2, 0, w/2, h/2);
・
・
としても二つ目のglViewport()しか読み込まれないのですが。
0945デフォルトの名無しさんNGNG
コンテキストについてビューポートは同時には一つだわな。

おそらく所望のことは
glViewport(左半分)
drawTeapot();
glViewport(右半分)
drawTeapot();
でできると思う。
0946944の教えてクンNGNG
>>945 
即レスありがとうございます!

何もしない状態だと一つしか写らないのですが
マウスでドラッグすると交互に二つ表示されるようになりました。

(マウスでドラッグすると物体が回転するようにしてあります)
交互にではなく同時に表示したいのですが、
どうしたらよいでしょうか。

ちなみにやりたい事は一つのウインドウの中に
ウォークスルー画面を二つ同時に表示したいのです。
0947デフォルトの名無しさんNGNG
クリアする領域を明示するとか・・・かな
0948944の教えてクンNGNG
>>947
どうやるんでしょう?
クリアする領域って指定できるんですか?

あとクワッドバッファステレオ(?)
を使うためにはどうしたらよいのでしょうか
すいませんおしえてください。
0949デフォルトの名無しさんNGNG
>>944
glViewport(左半分)
glClear(なんとか);
drawTeapot();
glViewport(右半分);
glClear(なんとか);
drawTeapot();
ってやってるでしょ?もしかして。
glClearはビューポート関係なくバッファ全体クリアしちゃうから、
glClear(なんとか);
glViewport(左半分)
drawTeapot();
glViewport(右半分);
drawTeapot();
でよいよ。ちがってたらごめん。
あとクワッドバッファステレオ(?) ってどんなやつ??
0950デフォルトの名無しさんNGNG
ディスプレイのプロパティでもRivaTunerでもGTUでも、ディフォルトでONにしてるのに
どんなゲームでも垂直同期がまったくされていない。何故なんだ…
0951938NGNG
>>942
ブレンドできました!ありがとうございました!
0952デフォルトの名無しさんNGNG
gluPerspectiveでつくった視野内に、GL_LINE_LOOPでワイヤーフレームのモデルを
作ったんですが、glRotatefで回転するとモデルの結構な部分が欠けてしまいます。
何が原因なんでしょうか?
0953デフォルトの名無しさんNGNG
今大学3年でWGLを独学で必死にやってんだけどよ、大丈夫なのかなぁ?
WGLの文献って洋書ばっかだから読むペース遅いし。Direct3Dの方が良かったかなぁ。
WGL(に限らずOpenGL)をやるメリットがあったらキボンヌ。
0954デフォルトの名無しさんNGNG
Direct系は詳しく知らないので、適当に読んで欲しいんだが・・

Direct3D(に限らず、MSのAPI):
OpenGLよりもお手軽な関数が沢山用意されてる。→ プログラミングが比較的楽?
バージョン毎に仕様が変わりまくり → 新バージョンが出るたびに勉強し直し
Windows専用。

OpenGL:
基本的な関数しか用意されてない。→ 逆に言うと、かゆいところに手が届く。
一度覚えてしまえば、(たぶん)ずーっと使える。
マルチプラットフォーム。

こんな感じ? 間違ってたら識者のフォロー希望。
0955954NGNG
どこが『逆に言うと』なんだか・・・

OpenGL:
基本的な関数しか用意されてない。→複雑な処理をするには、沢山コーディングしないといけない。
→ 逆に言うと、かゆいところに手が届く。
(以下同文)
ってな感じでした。
0956デフォルトの名無しさんNGNG
Xbox -> DirectX
Gamecube -> OpenGL
Dreamcast -> ?
Playstation2 -> Renderware?

知ってる人補完希望
0957デフォルトの名無しさんNGNG
>>953
WGLってこのまま勉強していいのか!
http://pc3.2ch.net/test/read.cgi/tech/1039613603/

このスレはもうほったらかしなのかい?
0958デフォルトの名無しさんNGNG
>>953
ああごめんごめん。誘導されてきたのね。
ちゃんと削除依頼だしとけよ。
tech:プログラム技術[スレッド削除]
http://qb.2ch.net/test/read.cgi/saku/1027372992/
0959デフォルトの名無しさんNGNG
>>952
zNear,zFarの範囲にモデルが納まってないとか、
適用するマトリックスモードが違うとか(glMatrixMode)。

>>953
俺なんか英語だめだめだから、翻訳ソフトに掛けてコチコチ覚えた。
メリット・デメリットは>>954と同じ。
時間があれば両方覚えてそんは無い(たぶん)。
どっち使った方が良いかは用途による。
0960デフォルトの名無しさんNGNG
>956
激しく勘違い
0961デフォルトの名無しさんNGNG
>>934
こんなのはどう?
GLT - OpenGL C++ Toolkit
ttp://www.nigels.com/glt/
0962デフォルトの名無しさんNGNG
>>961
げっ。こんなもんがあるとは・・・。
俺の作ったGlutWindowが無駄になっちまったな。鬱
0963デフォルトの名無しさんNGNG
glutなんかやってる馬鹿いるのか
0964デフォルトの名無しさんNGNG
>>963
どういうこと?pure GLでやれって意味?
0965デフォルトの名無しさんNGNG
GLUTなんてやってるのか?ここもレベル低い馬鹿が紛れてるもんだ
0966デフォルトの名無しさんNGNG
>>965
アホ?
0967デフォルトの名無しさんNGNG
GLUTなんてやる馬鹿いねーだろ
0968デフォルトの名無しさんNGNG
単に、DirectX信者が荒してるだけだろ?
スルー、スルー。
0969デフォルトの名無しさんNGNG
次スレ行っとく?
なんかやけに人少ないけどさ。
0970デフォルトの名無しさんNGNG
>>956
OpenGLはN64でしょう.

でもこの選択が大失敗だったらしい.

>>965
GLUTでなんでだめなの?







次スレに続く.
0971デフォルトの名無しさんNGNG
次スレってこれじゃないよな??
http://pc3.2ch.net/test/read.cgi/tech/1039613603/

テンプレ作ってからでも遅くは無いだろう。
とりあえず適当なリンク集めるか。
http://www.opengl.org/
http://developer.nvidia.com/view.asp?PAGE=opengl
http://www.ati.com/developer/indexsc.html#opengl
http://nehe.gamedev.net/
http://www.flipcode.com/
http://www.gamedev.net/
http://romka.demonews.com/opengl/index_eng.htm
http://www.mesa3d.org/

ver1.0の赤本(英語)
http://ask.ii.uib.no/ebt-bin/nph-dweb/dynaweb/SGI_Developer/OpenGL_PG
ここらへんにもありそう↓
http://romka.demonews.com/opengl/doc/index_eng.htm
青本はVCに付いてるし。

glutはここらへんか??使ってないからわからん。
http://www.opengl.org/developers/documentation/glut.html

他にC#でも使えるような奴があったような…。
ほとんどopengl.orgからだどれるけど。
日本語で便利なサイトなーい?
0972デフォルトの名無しさんNGNG
ここまで来たなら一思いに1000まで埋めてくれ!
0973デフォルトの名無しさんNGNG
>>971
>他にC#でも使えるような奴があったような…。

http://csgl.sourceforge.net/

追加キボン
0974デフォルトの名無しさんNGNG
>>971
GLUTの日本語つったらここだろ
http://www.exa-corp.co.jp/mmtech/OpenGLEdu/
赤本買えない奴はこれしかねぇ!!

後、個人的におすすめは
http://www.wakayama-u.ac.jp/~tokoi/opengl/libglut.html
あとは英語サイトだけど
http://nehe.gamedev.net/
ここはイイ \(゚∀゚)/
0975デフォルトの名無しさんNGNG
glutをいくらやってもゲームは作れない。ユーザインタフェースも作れない。メガデモもつくれない。
WGLやれ。
0976デフォルトの名無しさんNGNG
( ゜Д゜)ポカーン
0977デフォルトの名無しさんNGNG
OpenGLと組み合わせて使えるライブラリ & Toolkit

GLUI
http://www.cs.unc.edu/~rademach/glui/

wxWindows
http://www.wxwindows.org/

FLTK
http://www.fltk.org/
0978デフォルトの名無しさんNGNG
>>977
http://www.trolltech.com/
http://www.fox-toolkit.org/fox.html

こいつらも
0979デフォルトの名無しさんNGNG
>>953が言ってるWGLってwglMakeCurrentとかのことか??
必死になるほどのものだっけ?拡張関数まで覚えてるなら分からんでもないが…。
それ以前にglコマンドそのものを知らなさそうだが。
0980デフォルトの名無しさんNGNG
>>956
PS2は特にライブラリに束縛されてない。
ちなみに某所ではPS2上で動くOpenGLがある。

RenderWareはPCやGC版も出てる。

GCやN64はOpenGLライクだけど、やっぱり全然違う物。
DCはしらん。ニンジャライブラリとかいうのがあるんだっけ?
0981デフォルトの名無しさんNGNG
>>980
> ちなみに某所ではPS2上で動くOpenGLがある。
そんなに勿体ぶらなくても、
OpenGLガワ作ってるのはめずらしいことじゃないでしょ。
http://www.dataplus.co.jp/OpenGL4ps2.html
とか、gamasutraかgame developer magazineあたりにも
PS2用OpenGL作ってゲーム作った話が載ってたし。
098216NGNG
質問です。
ファイルからビットマップを読み込んでOpenGL使ってそれを回転させたいんですが、
どういった手順でやればいいのか全くわかりません。
ちなみにWinでコンパイラはVisual Studioです。
よろしくお願いします。
0983デフォルトの名無しさんNGNG
1004
0984デフォルトの名無しさんNGNG
>>982

コマンドプロンプトから

echo OpenGL > 表示したいマップ
0985デフォルトの名無しさんNGNG
>>982
手順ねぇ・・・
(1) OpenGLを準備(初期化とか)
(2) ファイルからビットマップを読み込む
(3) 読み込んだビットマップをテクスチャに設定
(4) モデルビュー行列に回転を加える
(5) 四角形ポリゴンを描く
こんな感じでどう?
0986デフォルトの名無しさんNGNG
とりあえずまとめ

タイトル:(゚∀゚)アヒャ OpenGLスレ Part2
マルチプラットフォームなグラフィックAPIそれがOpenGL!
DirectXもいいがOpenGLもそれなりに(・∀・)イイ!!
質問、雑談何でもいいから書き込んで1000目指せ!

- 過去スレ -
http://pc3.2ch.net/test/read.cgi/tech/981044659/

- 関連サイト -
http://www.opengl.org/
http://developer.nvidia.com/
http://www.ati.com/developer/
http://www.mesa3d.org/
0987デフォルトの名無しさんNGNG
- ライブラリ & Toolkit -

GLUT
http://www.opengl.org/developers/documentation/glut.html

GLUI
http://www.cs.unc.edu/~rademach/glui/

wxWindows
http://www.wxwindows.org/

FLTK
http://www.fltk.org/

Qt
http://www.trolltech.com/

FOX
http://www.fox-toolkit.org/

csgl(C#)
http://csgl.sourceforge.net/
0988デフォルトの名無しさんNGNG
- 赤本 -
http://www.opengl.org/developers/code/tutorials.html
http://romka.demonews.com/opengl/doc/index_eng.htm

- お勉強サイト -
http://nehe.gamedev.net/
http://www.flipcode.com/
http://www.gamedev.net/
http://romka.demonews.com/opengl/index_eng.htm
http://www.exa-corp.co.jp/mmtech/OpenGLEdu/
http://www.wakayama-u.ac.jp/~tokoi/opengl/libglut.html

>>974
すまん一番上のリンク先が、GLUTのこと書いてないしよくわからんかったので
勉強サイトにしておきますた。

スレタイと1のコメントは適当だから誰か考えてくれ。
0989デフォルトの名無しさんNGNG
WGLだとDirectXも併用できるじゃん。
0990デフォルトの名無しさんNGNG
WGLや他のGLUIとかGLUTとかの良い点、悪い点を箇条書きで教えて。
0991デフォルトの名無しさんNGNG
>>990
winだとWGLでunixとかだとglx、appleはagl。
それぞれsystemとopenglをくっ付けるだけの役割する。
GLUTはそれも含め、ウインドウ管理とかその他をラップした、
シンプルなインターフェース提供する。
glutもマルチプラットフォームを考慮してるんでWGLそのものは隠蔽されてる。
GLUIはGLUTを拡張して、多機能にしたもの。
(らしい。GLUIなんて触ったことも無いので)
glutに不満があるならあなたはきっとWGLを使うであろう(機械語翻訳風)

テンプレフィックスしないまま1000行きそうだよ〜
0992デフォルトの名無しさんNGNG
GLUT は OpenGL での描画をサポートしたツールキット (+ アルファ).
GLUI は GLUT よりももう少し GUI の面で強化したもの.
その特徴は, 良くも悪くもツールキットとしてシンプルなこと.
30 分でいいからマニュアルを読んでみるといい. それでだいたい全部が
分かるくらい単純. たとえば GTK とかだとそうはいかないよね ?

一方, wgl は 991 が言うように, レンダリングコンテキストを生成したり,
バッファを切り替えたりする, システムと OpenGL との間に立つもの.

wgl と GLUT では, そもそも提供しようとしている主な機能が違う.
GLUT のツールキットとしての機能に不足があるなら FLTK とかもっと他の
ツールキットを使う. レンダリングコンテキストやバッファの管理に不満が
あるときは自分で wgl を使って管理する.
0993デフォルトの名無しさんNGNG
あぁ、なんだ。良かった。GLUTやってたんだけど、自分の志向と違うという事でWGLに行きついたんだけど、
このままやってもいいのね。なんかWGLがオシマイみたいな言い方してる人がいたから。
0994デフォルトの名無しさんNGNG
DirectXなんてダメダメ。
OpenGL最強。
0995デフォルトの名無しさんNGNG
>>994
よちよち。このスレなら叩かれないと思ったんだね(w
0996デフォルトの名無しさんNGNG
OpenGLのドライバごとの不具合がなくなったら使ってやってもいい。
とりあえずドライバはMSチェックがあるだけDirectXの方がまし。
だと俺は思ってる。
0997デフォルトの名無しさんNGNG
以前M$がFahrenheitとかいう
DirectXとOpenGLを統合する
ものを作ろうとしていたような気がするが
どうなったんだろう。
0998デフォルトの名無しさんNGNG
g
0999デフォルトの名無しさんNGNG
gddfd
1000デフォルトの名無しさんNGNG
gddfdあああdが
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。