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

OpenGLスレ

■ このスレッドは過去ログ倉庫に格納されています
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のカードでも
頂点配列よりはディスプレイリストの方が速いよ。
どちらも普通システムメモリに作られるから、
最適化フォーマットに予めコンパイルできるディスプレイリストの方が有利。
ハードウェアメモリにバッファを作る拡張機能を使うなら話は別だけどねー。
■ このスレッドは過去ログ倉庫に格納されています