OpenGLスレ Part 3at TECH
OpenGLスレ Part 3 - 暇つぶし2ch1:デフォルトの名無しさん
03/10/31 00:55
マルチプラットフォームなグラフィックAPIそれがOpenGL!
DirectXもいいがOpenGLもそれなりに(・∀・)イイ!!
質問、雑談何でもいいから書き込め!

- 過去スレ -
スレリンク(tech板)

- 関連サイト -
URLリンク(www.opengl.org)
URLリンク(developer.nvidia.com)
URLリンク(www.ati.com)
URLリンク(www.mesa3d.org)

2:デフォルトの名無しさん
03/10/31 00:56
- ライブラリ & Toolkit -

GLUT
URLリンク(www.opengl.org)

GLUI
URLリンク(www.cs.unc.edu)

wxWindows
URLリンク(www.wxwindows.org)

FLTK
URLリンク(www.fltk.org)

Qt
URLリンク(www.trolltech.com)

FOX
URLリンク(www.fox-toolkit.org)

csgl(C#)
URLリンク(csgl.sourceforge.net)


3:デフォルトの名無しさん
03/10/31 00:56
- 赤本 -
URLリンク(www.opengl.org)
URLリンク(romka.demonews.com)

- お勉強サイト -
URLリンク(nehe.gamedev.net)
URLリンク(www.flipcode.com)
URLリンク(www.gamedev.net)
URLリンク(romka.demonews.com)
URLリンク(www.exa-corp.co.jp)
URLリンク(www.wakayama-u.ac.jp)


4:デフォルトの名無しさん
03/10/31 00:58
過去スレ

Part 1: スレリンク(tech板)
Part 2: スレリンク(tech板)

5:1
03/10/31 00:59
適当に立てちゃいました。
あとよろ。

6:デフォルトの名無しさん
03/10/31 01:30
>>1


DAT落ちしててビックリした。
part2は1000までいったの?

7:デフォルトの名無しさん
03/10/31 01:49
>>6
漏れも985までしか確認できなかったyo。


8:デフォルトの名無しさん
03/10/31 03:06
URLリンク(up.isp.2ch.net)
上のようにポリゴンが交差するとギザギザになるのを防ぐには
ポリゴンが交差しないようにモデリングするしかないですかね・・・?


9:デフォルトの名無しさん
03/10/31 07:01
>>1乙です
俺も985までしか見てない

10:デフォルトの名無しさん
03/10/31 08:59
>>8
単にZバッファの精度が足りてないだけと思われ。
near,farを適切に設定(不必要に広くとっていたら狭くしてみる)するとか、
もしZバッファが16ビットだったら32ビットにしてみるとかやってみそ。

11:デフォルトの名無しさん
03/10/31 13:09
>>10
なるほど。やってみます。ありがとう

12:デフォルトの名無しさん
03/10/31 23:45
GL_NV_texgen_reflectionの具体的な使用例を挙げてるとこってないですかね?

13:デフォルトの名無しさん
03/11/01 15:36
>>1
スレ中にでてきた奴も含めろよ

GLT
URLリンク(www.nigels.com)

14:デフォルトの名無しさん
03/11/01 17:09
>>13
んじゃ、ついでに個人的な趣味でSDLとWideStudioも加えて
>>2をこんな感じにするのでどうでしょ?

- ライブラリ & Toolkit -

GLUT: URLリンク(www.opengl.org)
GLUI: URLリンク(www.cs.unc.edu)
wxWindows: URLリンク(www.wxwindows.org)
FLTK: URLリンク(www.fltk.org)
Qt: URLリンク(www.trolltech.com)
FOX: URLリンク(www.fox-toolkit.org)
csgl(C#): URLリンク(csgl.sourceforge.net)
GLT: URLリンク(www.nigels.com)
SDL: URLリンク(www.libsdl.org)
WideStudio: URLリンク(www.widestudio.org)

15:デフォルトの名無しさん
03/11/01 17:33
スクリーンキャプチャした画像をテクスチャとして使うには、
一旦glReadPixelsしたのをglGenTextures~glTexImage2Dで登録して
使うしかないのでしょうか?
なんか一旦メインメモリに持ってくるのが重いんじゃないかとか
余計な心配をしてしまうのですが…。

16:デフォルトの名無しさん
03/11/01 18:12
glCopyTexImage2D か glCopyTexSubImage2D

17:15
03/11/01 20:06
>>16
おぉ!やはり専用の関数があったのですね。
ありがとうございました、早速試してみます。

18:デフォルトの名無しさん
03/11/01 23:37
テクスチャ座標の動的生成で平行投影時に投影角を傾けるにはどーすれば良いんでしょう?
あのテクスチャが直線状になっちゃうのが激しく嫌なんですが。

19:デフォルトの名無しさん
03/11/02 02:18
>18
glMatrixModeでGL_TEXTURE指定してglRotateかけるのではダメなの?

20:デフォルトの名無しさん
03/11/02 04:23
OpenGLってvoxel使えるの?

21:質問
03/11/02 10:24
VC5.0&Win2KでOpenGLやっております。
以下のようなコードで、リンクエラーが出ます。

#include <GL/glut.h>

void display(void)
{
 ~
}

int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGBA);
glutCreateWindow(argv[0]);
glutDisplayFunc(display);
glClearColor(1.0, 1.0, 1.0, 0.0);
glutMainLoop();
return 0;
}

glutTest1.obj : error LNK2001: 外部シンボル "___glutInitWithExit@12" は未解決です
glutTest1.obj : error LNK2001: 外部シンボル "___glutCreateWindowWithExit@8" は未解決です
Debug/glutTest.exe : fatal error LNK1120: 外部参照 2 が未解決です。
link.exe の実行エラー

となります。glut32.libなど、
ライブラリの追加はやったのですが…どうしたらいいでしょうか?

22:デフォルトの名無しさん
03/11/02 10:30
>>1>>14
あまり多くのURLを一度に書き込まない方がいいよ。
この板ではまだ規制は始まっていないみたいだけど

23:デフォルトの名無しさん
03/11/02 11:01
>22
何か始まったの?
漏れのよく逝く何枚かの板ではまだ聞いた事ないんだけど

24:デフォルトの名無しさん
03/11/02 11:02
>20
努力次第で

25:デフォルトの名無しさん
03/11/02 11:20
>>23
スレリンク(operate板)
スレリンク(operate板)
リンク先が2ch内でも規制対象だとか

26:21
03/11/02 11:28
すみません、どなたか21が分かる人いませんか…

27:デフォルトの名無しさん
03/11/02 11:29
>>26
6.0以上を使ってください。

28:21
03/11/02 11:34
>>27
考えてみます。

29:デフォルトの名無しさん
03/11/02 11:46
>>28
どう見てもglut32.libの中身がうまくリンクされてないとしか思えないけど…
glut32.libを入れなおすとかワークスペースを作り直すとか試してみた?


30:デフォルトの名無しさん
03/11/02 12:05
>>19
glMatrixMode(GL_TEXTURE);
glLoadIdentity();
glRotatef(angle, x, y, z);
glMatrixMode(GL_MODELVIEW);

で試したのですがダメでした。

glEnable(GL_TEXTURE_GEN_S);
glEnable(GL_TEXTURE_GEN_T);
↑このテクスチャ座標を傾けたいのですが・・・

31:デフォルトの名無しさん
03/11/02 14:57
>>30
>glEnable(GL_TEXTURE_GEN_S);
>glEnable(GL_TEXTURE_GEN_T);

直線状になるっていうのがなにか良くわからないけど、もしかしたら、
三次元空間に投影していて、同次除算していないとか?
そうだったら、GL_TEXTURE_GEN_R についても考慮しないといけない
気がする。(はずしてたらスマソ)

32:21
03/11/02 15:23
>>29
やってみたけど無理でした…


33:デフォルトの名無しさん
03/11/02 16:45
>>32
ダミーのglut32.lib置いてみたりすると>>21のエラーが出るね
ただ他にも外部シンボル未解決エラーが計9個でる。
なんでその二つだけ見つからないんかな?
やっぱコンパイラ側の問題かなぁ・・・

34:デフォルトの名無しさん
03/11/02 23:58
>>21
URLリンク(www.microsoft.com)

35:デフォルトの名無しさん
03/11/03 00:54
>>25
要するに、h抜けばオッケーなわけね。
次から気を付けよう。

36:デフォルトの名無しさん
03/11/03 01:52
GL_ARB_vertex_buffer_object使ってる人いない?
URLリンク(oss.sgi.com)
ここのサンプルを元に、BufferDataARBのパラメータ変えたり色々弄ってるんだけど、
普通に描画する場合と速度全く変わらない。何でだろう。
GL_NV_vertex_array_rangeだと目に見えて速くなるんだけど…。

37:21
03/11/03 08:17
>>34
ありがとうございます。
とりあえず環境変えてみます。

38:20
03/11/06 22:51
>>24
ヒントください。vtk使えってことじゃないですね?

39:デフォルトの名無しさん
03/11/07 20:50
>38
vtkって何?

voxelは別名なんて言うか知ってるか?
それが分かれば手掛かりになると思うぞ

40:デフォルトの名無しさん
03/11/07 20:57
Volume Element?

41:20
03/11/07 22:27
volume pixel つなげてvoxel.
vtkはOpenGLを利用した高レベル3Dライブラリでつ。

42:デフォルトの名無しさん
03/11/07 22:51
Volume Textureとか聞いた事ないか?

43:デフォルトの名無しさん
03/11/08 15:40
OpenGL 1.5 specification available for download
URLリンク(www.opengl.org)
うほっ!いいOpenGL (プログラミング)やらないか?

今んとこドライバくっついてるの3Dlabsだけ?nVidiaもATIもあるのか?
使ってるのがGeForce2MX400なもんで…

44:デフォルトの名無しさん
03/11/08 18:56
1.5、ヨサゲだよねぇ
早くATIから対応ドライバ出てくれないか待ち遠しいYO!

45:デフォルトの名無しさん
03/11/08 23:44
OpenGL信者は赤本1.4(洋新書)を買って精進しる!

ついでに布教活動も忘れずにね。

46:デフォルトの名無しさん
03/11/09 11:24
おまいらシャドウは何をつかってるんだ?


47:デフォルトの名無しさん
03/11/09 16:08
>>46
平面投射シャドウが一番簡単だけど、詰まる所シャドウボリュームが一番実用的だね。

48:デフォルトの名無しさん
03/11/09 17:08
誰かパーティクルの解説載せてある所知らない?

49:デフォルトの名無しさん
03/11/09 17:48
URLリンク(www2.alc.co.jp)

50:デフォルトの名無しさん
03/11/10 01:17
OpenGL Shading Languageって良さげなんでしょうか?
URLリンク(www.amazon.co.jp)

まだ出てないので難しいかもしれませんが…。

51:デフォルトの名無しさん
03/11/12 12:27
OpenGLでAIを作ろうと思う。
ウィンドウに表示する画像の視点(自分視点)とは別に、画面に表示しないAI視点のビューボリュームを設定して、
その画像認識を行ないたいんだけど、どうやったらいいの?

52:デフォルトの名無しさん
03/11/12 12:33
たしか、HL2でも、カメラオブジェクト視点からの映像を加工した上で画面内のモニタに映してたよね。
あれが出来ればいいんだけど。

53:デフォルトの名無しさん
03/11/12 12:47
おもいっきり外してたらすんません。
グラフィックボードに任せてエフェクトさせてる場合、
画面のキャプチャってできるんです?
エミュレーションじゃ本当の画面と違ってしまうだろうし。
ゲー本なんかのキャプチャ画像ってどうしてんでしょ。
まさか、カメラでパシャなんてことないよね。

54:デフォルトの名無しさん
03/11/12 13:14
>>53
スレ違い

55:デフォルトの名無しさん
03/11/12 14:14
ゲーム作りたいんですが、2D日本語フォント表示する方法教えて下さい。

56:デフォルトの名無しさん
03/11/12 17:40
フォントの表示はかなりめんどくさいよ。
glBitmapかglDrawPixelsで描くか、テクスチャにして貼り付けるしかないと思う。
ここらへんが参考になるかも。
URLリンク(www.uri.sakura.ne.jp)
URLリンク(i-saint.abz.jp)

57:デフォルトの名無しさん
03/11/12 18:06
>>56
JText.cとか言うファイルで上手くやれるって聞いたけど、どうなの?

58:デフォルトの名無しさん
03/11/12 18:17
文字テクスチャにする場合って、Orthoにしなちゃなんないだろうから、
ゲームのPerspectiveとどう分ければいいの?

59:デフォルトの名無しさん
03/11/12 18:38
glMatrixMode(GL_PROJECTION);
glPushMatrix();
glLoadIdentity();
glOrtho(0.0, UIWidth, UIHeight, 0.0, -1.0, 1.0);
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
glLoadIdentity();
// glPushAttrib(GL_ALL_ATTRIB_BITS);
glPushAttrib(GL_ENABLE_BIT);
glDisable(GL_LIGHTING);
glDisable(GL_DEPTH_TEST);
glDisable(GL_CULL_FACE);


60:デフォルトの名無しさん
03/11/12 19:03
続きは?

61:デフォルトの名無しさん
03/11/12 19:20
glTexCoord2fとかでフォントテクスチャ貼るなりしてから
スタックをポップして終わり

62:デフォルトの名無しさん
03/11/12 19:26
>>52
HL2ってOpenGLもつかえるの?

63:デフォルトの名無しさん
03/11/12 22:36
さ~て、そろそろ赤本1.4が発売になるわけだが・・・。
しかしこのスレの寂れ様ときたら(ry

 布 教 活 動 や ら な い か ?

64:デフォルトの名無しさん
03/11/12 22:54
赤本1.4の売りって?何か良い所ある?

65:デフォルトの名無しさん
03/11/12 23:11
持ってるとなんだか威張れる様な気が...

66:デフォルトの名無しさん
03/11/12 23:19
スポットライトがまともに表示されないのですが、なぜでしょうか?
頂点増やさないとだめかな?

67:デフォルトの名無しさん
03/11/12 23:49
>>66
スポットライトは単一面上では不可能です。

68:デフォルトの名無しさん
03/11/13 00:10
GNUが関わってると知ると、よさげなソフトがうんこに見えるんですが、
なんででしょうか。

69:デフォルトの名無しさん
03/11/13 01:06
GNU is not Unko

70:デフォルトの名無しさん
03/11/13 01:19
Great Nature Unko

71:デフォルトの名無しさん
03/11/13 16:49
>>67
単純な面でも、細かいポリゴンで構成しないと駄目ということですね。
帰ったら試してみます。

72:デフォルトの名無しさん
03/11/14 01:05
>>55
要件を満たすかわからないが、FTGLを勧める。
URLリンク(homepages.paradise.net.nz)
これのBitmapフォントかPixmapフォントかどちらかで2Dフォントかけたはず。
コンパイルにfreetypeが必要だから忘れずに。日本語表示する場合は
iconv等でWCHAR_T型に変換しないと文字化けします。
またそのせいで、半角と全角が混在する文字列を描画することはできません。
render(char*)が半角用render(wchar_t*)が全角用なんで分けて描画すればできると思う。

windowsだったら、ポリゴンフォントを取ってくる関数が有るんだっけ?
Linuxで日本語ポリゴンフォントを描画できるものって、ほかにあったら教えてください。

73:デフォルトの名無しさん
03/11/14 02:00
1.4よりOGSL欲しい。
これもガイドでサンプルプログラムとかはあまりないんだろうか…

サンプルプログラムが豊富に載ってるHLSLとかCgの本いっぱいあるからなぁ。

74:デフォルトの名無しさん
03/11/14 19:40
・赤本 Version 1.4
・OpenGL Extensions Guide
・OpenGL Shading Language

この三冊は必携だね(・∀・)ニヤニヤ

75:デフォルトの名無しさん
03/11/14 21:53
OpenGLの本高過ぎ。ゲーム製作関連の本はネへくらいのしか無いし。
D3Dの方が結果的に費用も手間も何でも安くつく。

76:デフォルトの名無しさん
03/11/15 01:57
>>74-75
どっちのAPIにしろ、オンラインのリソース利用すればAPI利用するための
必携の書なんて今更無いけどなぁ…。

# OpenGLなんてopengl.orgやatiやnvidiaのサイトみれば大抵仕様とかサンプルがのってるし、
# OGSLなら仕様もSDKもとりあえず↓にあるし。
# URLリンク(www.3dlabs.com)


77:デフォルトの名無しさん
03/11/15 02:19
ウチのグラボじゃ動かないや>OGSL

78:デフォルトの名無しさん
03/11/15 15:28
win2000,VC++6.0で、
現在テクスチャ貼りやってるんですが、
gluScaleImage()のところで落ちます…

gluScaleImage(GL_RGBA,
image.m_width,image.m_height,
GL_UNSIGNED_BYTE,
image.m_buffer,
scaleW,
scaleH,
GL_UNSIGNED_BYTE,
outBuffer);

ぐぐってみると最後の引数の大きさが足りてない場合に落ちる、
元画像の幅が4の倍数でないとダメ、というのがありましたが、それは守っています。
どなたか助けてください。

79:78
03/11/15 15:40
自己解決しそうです。

80:78
03/11/15 15:55
やっぱり無理でした。

81:78
03/11/15 16:54
OpenGLとは関係ない問題のようなので、
消えます。

82:デフォルトの名無しさん
03/11/15 18:13
なんか赤本1.4の発売日が月末30日に延期になってないか?


まあ、いいんだけど。

83:デフォルトの名無しさん
03/11/15 20:34
>>82
今Amazon.co.jpで確認してみたけど、確かにそうなってるね。
どうりで発送メールが来ないとわけだ。

84:デフォルトの名無しさん
03/11/16 02:03
一度描いたら、ずっと変えない、背景とか建物などの構造物のデータと
アニメーションしたり、動かすことのできるデータを区別して、
描画にかかる負荷を減らしたいんですが、どうすればいいでしょう。

背景などのデータもアニメーションするたびに生成しているので、
効率が悪いのですが、一度生成した、ポリゴンをどう保持すれば
いいのかイマイチ分かりません。

誰か、いい方法知りませんか?

85:デフォルトの名無しさん
03/11/16 02:23
>>84
URLリンク(www.google.com)

86:デフォルトの名無しさん
03/11/16 08:51
某入門書では表示リスト。

87:デフォルトの名無しさん
03/11/16 18:03
OGSLの良い点とか特徴って何ですか?

88:デフォルトの名無しさん
03/11/16 18:09
PyGtkglサイコー


89:デフォルトの名無しさん
03/11/17 00:38
にゃっほー

90:デフォルトの名無しさん
03/11/17 05:06
GLint num;
glGetIntegerv(GL_MAX_LIGHTS, &num);

ってやっても
numに何も入ってくれないんですが
何が考えられますか?
最大光源数(8以上)が入ってくれることを期待してたんですが

91:デフォルトの名無しさん
03/11/17 15:31
タイプミスだろ。mumとか書いてたんじゃないの。

92:デフォルトの名無しさん
03/11/17 19:35
カレントレンダリングコンテキストが無効な状態になってるとか

93:デフォルトの名無しさん
03/11/18 19:45
Cygwinのglut使ったところ、
ウィンドウのクローズボタン押してもglutMainLoop()を抜けない。
どこかでexit(0)を呼び出すことになってるって見た気がするんだけど。
(事実、某UNIX系OSでコンパイル&実行したらちゃんとexit(0)された。)
glutをテスト目的以外で使うのはやはり辛いか...

94:デフォルトの名無しさん
03/11/18 21:35
>>93
普通に終了するけど?

95:デフォルトの名無しさん
03/11/18 21:56
>>93の問題とは少しずれてますが…

確かLinuxでの話だったと思うけど、
終了してもglutMainLoop()の次の処理は実行されなかった気がする…
終了処理を記述したいときは、"Q"とかESCで終了するようにして、
kyefunc()で対応してました。

96:デフォルトの名無しさん
03/11/19 01:04
>Description
>
>glutMainLoopは GLUT イベント処理ループに入る. GLUTプログラム内で一度だけコールする.なお,一度コールされると,決して返ってこない.必要に応じて,登録されたコールバックをコールする.



97:デフォルトの名無しさん
03/11/19 01:19
Part3に移ってたのか…。2ちゃんビュア使ってるから気がつかなかった。

かなり遅レスだが、>>21のはヘッダがc++に対応していないのが原因だとおもわれ。
関数がextern "C"されているか要確認。
もしくは__cplusplusがdefineされていなからその部分が抜けているかだと。

98:デフォルトの名無しさん
03/11/20 02:40
OGSLについて誰か特徴を教えて下さい。
あと、頂点シェーディングとピクセルシェーディングとは具体的にどのような効果をもたらすのか宜しくお願いします。

99:デフォルトの名無しさん
03/11/20 03:05
OpenGLでノンフォトリアリスティック表現って出来る?
鉛筆画風にやりたいんだけど。

100:デフォルトの名無しさん
03/11/20 10:29
頂点シェーディングとピクセルシェーディングでノンフォトリアリスティック表現が出来ます

101:デフォルトの名無しさん
03/11/20 13:12
>>93
あれ? 最近Cygwinを再インストールしたからその関係かなぁ。
>>95
glutMainLoop内でexit(0)するので、glutMainLoopのの先は実行されないのは確認してます。
>>96
URLリンク(www.gimlay.org)の3.070にexitする
ようなことが書いてあったので期待してたけど、正式な仕様ではそうじゃ
ないっぽいな。
うーん。Windowsだとウィンドウが消えてプロセスが残ってても気づかないから
困るんだよね。クローズボタンを押しても何も起きないのならまだいいんだけど。

102:デフォルトの名無しさん
03/11/20 13:20
>>93>>94のミスです。

103:デフォルトの名無しさん
03/11/20 17:29
>>100
OpenGLにその機能ってある?

104:デフォルトの名無しさん
03/11/20 22:11
あげ

105:デフォルトの名無しさん
03/11/21 23:32
グローブ状のデバイスで人の手の運動を計測して,
その運動をOpenGLで画面上に再現したんだけど
どなたかそんなことがピンポイントで書かれている
サイトとか知ってません?

もしくはそれに類似した内容がのってるサイトとか.

106:デフォルトの名無しさん
03/11/21 23:51
>>105
制御工学の教科書買って勉強しる。

107:デフォルトの名無しさん
03/11/21 23:56
いやいや,いきなりソースコードとかのってるようなサイトが知りたいのです.


108:デフォルトの名無しさん
03/11/22 00:05
お前、すげーな

109:デフォルトの名無しさん
03/11/22 00:14
spinに載ってたが、
RADEONがOpenGL Shading Language対応したそうでつ。

110:デフォルトの名無しさん
03/11/22 00:39

O p e n G L S h a d i n g L a n g u a g e a g e

111:デフォルトの名無しさん
03/11/22 01:51
>>109
ATIからARB_vertex_program と ARB_fragment_program
のサンプルも出たね。
URLリンク(mirror.ati.com)

112:デフォルトの名無しさん
03/11/22 10:16
OpenGL Shading Language
ってなに?なにか特殊なスクリプト言語かなにかなの?

113:デフォルトの名無しさん
03/11/22 12:15
頂点シェーダとフラグメントシェーダ用の言語でしょ
特殊なスクリプト言語かというと、確かにそうだな。

114:デフォルトの名無しさん
03/11/22 13:16
カノプーでFX5950が売ってたんで脊髄反射で買ってしまったー!!
せっかくだから、がんばってシェーダーの勉強でもしよう。

そんで、Cgを使おうと思うんだけど、OGSLとは別もんなのかな?
HLSLとCgは言語レベルでは同じもんらしいから、OpenGL上でも
Cgが業界標準になってほしいきがするけど…。

115:デフォルトの名無しさん
03/11/22 15:28
>>114
個人的にはCgは特定グラフィックチップメーカー(nVidia)依存だから、
あんまりデファクトスタンダードになって欲しくなかったり。

nVidia提供の Cg -> HLSL のコンバータみたいなのはあった気がするから、
そのうちOGSLへのコンバータも出すんじゃない?

116:デフォルトの名無しさん
03/11/22 16:19
というか、それ以前にもうCgは終了じゃないのか?
これからはDirectXがHLSL、OpenGLがOGSLの2大政党でしょ。

ちなみにCgはRadeonでも動作するよ。

117:デフォルトの名無しさん
03/11/22 17:11
素人で非常に馬鹿みたいな質問をするのですが…
CgやOGSLの存在意義はなんなのでしょう?
CやC++でOpenGLのプログラムはかけるんじゃないのですか?

118:デフォルトの名無しさん
03/11/22 17:55
Cgの存在意義 = HLSLの元ネタ
OGSLの存在意義 = HLSLに対抗するネタ

CgとOGSLの存在意義 = ビデオチップメーカーの小遣い稼ぎのネタ

119:デフォルトの名無しさん
03/11/22 18:03
Cg, OSGL, (そしてHLSL)も、CPU側じゃなくて、
GPU側で走らせるプログラムを書くための言語。

120:デフォルトの名無しさん
03/11/22 22:45
OpenGL Shading Language 2004年2月1日発売予定
URLリンク(www.amazon.co.jp)

OpenGL Programming Guide 2003年11月30日発売予定
URLリンク(www.amazon.co.jp)

しかし微妙に値段が高いな・・・

121:デフォルトの名無しさん
03/11/24 16:11
フラグメントシェーダって何?
ピクセルシェーダと違うの?



122:デフォルトの名無しさん
03/11/24 18:16
どなたかSkyboxの構築方法をご存知ないですか?

123:デフォルトの名無しさん
03/11/24 19:59
>>121
名前が違う (それしか思い付かん)

124:デフォルトの名無しさん
03/11/24 20:57
頂点毎に色を指定したいのですが、
前に使用したglMaterialfv()の効果が出てしまいます。
glMaterialfv()の無効化はどのように行えばよいですか?

125:デフォルトの名無しさん
03/11/25 08:52
そのミカン俺が剥こうか?

126:デフォルトの名無しさん
03/11/25 09:49
glDisable(GL_LIGHTING);

127:デフォルトの名無しさん
03/11/25 13:06
セレクションモードでゲットした、セレクションバッファの
デプスの最小値と最大値って何に使うの?
URLリンク(www.geocities.jp)
の下の方にある
// 最小デプスの確認
if(depth_min>depth_1){
の意味が分かりません、だれか教えてくださいな。


128:デフォルトの名無しさん
03/11/25 14:03
OpenGLの話題かWin32APIの話題か迷ったのですが、こちらで質問させて下さい。
win32上でOpenGLの描画画面を任意のサイズでオフスクリーンレンダリングし、
ビットマップ形式でファイルに保存したいのですが、以下のような手順でうまくいきません。
どなたかお知恵を・・・。

------
int w = 1000; // 幅
int h = 1000; // 高さ
int bc = 24; // ピクセルあたりの色数

int length = 4*((w*bc+31)/32); // バッファの一行の長さ
DWORD filesize = sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER)+length*h;

// バッファの確保
LPBYTE buf=(LPBYTE)GlobalAlloc(GPTR,filesize);
LPBITMAPFILEHEADER head=(LPBITMAPFILEHEADER)buf;
LPBITMAPINFOHEADER info=(LPBITMAPINFOHEADER)(buf+sizeof(BITMAPFILEHEADER));
LPBYTE pixel=buf+sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER);

// ファイルヘッダ
head->bfType='B'+256*'M';
head->bfSize=filesize;
head->bfOffBits=sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER);

// ビットマップヘッダ
info->biSize=sizeof(BITMAPINFOHEADER);
info->biWidth=w;
info->biHeight=h;
info->biPlanes=1;
info->biBitCount=bc;
---
つづく

129:デフォルトの名無しさん
03/11/25 14:05
つづき
---
// デバイスコンテキストの作成
HDC hdc = ::CreateCompatibleDC(NULL);

// DIBの作成(ここで既に確保された&pixelを指定してるのが怪しい気が・・・)
HBITMAP hbmp = ::CreateDIBSection(hdc,(BITMAPINFO*)info,DIB_RGB_COLORS,(void**)&pixel,NULL,0);

// ビットマップメモリをデバイスコンテキストに設定
HBITMAP hbmp_old = (HBITMAP)::SelectObject(hdc,hbmp);

// ピクセルフォーマットの設定
PIXELFORMATDESCRIPTOR pfd = {
sizeof(PIXELFORMATDESCRIPTOR), 1,
PFD_DRAW_TO_BITMAP | PFD_SUPPORT_OPENGL | PFD_SUPPORT_GDI,
PFD_TYPE_RGBA, bc, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
32, 0, 0, PFD_MAIN_PLANE, 0, 0, 0, 0
};
int pf = ::ChoosePixelFormat(hdc,&pfd);

// レンダリングコンテキストを生成してカレントにセット
::SetPixelFormat(hdc,pf,&pfd);
HGLRC hrc=::wglCreateContext(hdc);
::wglMakeCurrent(hdc,hrc);

// 描画
draw();
::wglMakeCurrent(0,0);
---
もうちょいつづく

130:デフォルトの名無しさん
03/11/25 14:05
つづき
---
// 描画
draw();
::wglMakeCurrent(0,0);

// バッファをファイルに保存
HANDLE hfile=::CreateFile(filename,GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
DWORD dwSize;
::WriteFile(hile,buf,filesize,&dwSize,NULL);
::CloseHandle(hfile);

// 終了処理
::wglDeleteContext(hrc);
hrc = NULL;
::SelectObject(hdc,hbmp_old);
::DeleteObject(hbmp);
::DeleteDC(hdc);
GlobalFree(buf);
------
ここまで

131:128-130
03/11/25 14:13
>>127
セレクションバッファの最小デプス値は一番手前のオブジェクトのピクセルを指すから、
マウス座標とデプスバッファ値から一番手前のオブジェクトの世界座標を取得するときに便利です。




132:デフォルトの名無しさん
03/11/25 16:25
色が違う点が二つあって、それを線で繋いだとき、間の色が滑らかに変化するようにするには
どうしたらいいですか?

133:128-130
03/11/25 18:25
線の両端を違う色にすれば間の色は滑らかに変化しますよ。

134:127
03/11/25 20:03
>>127です。
>>131さん、
複数オブジェクトがあった場合、
ヒットした全てのオブジェクトの最小デプス値は、全て、
一番前のオブジェクトのデプスバッファ値になるのということでしょうか?
言い換えれば、最大デプス値と最小デプス値はどのオブジェクトでも
同じ値ということでしょうか?

135:131
03/11/25 22:16
いえ。セレクションが行われた点において、各オブジェクトについて最大と最小デプス値が与えられます。
で、セレクションバッファに格納されたオブジェクトの中で一番最小デプス値が小さいものが一番手前、
つまり直感的にマウスがポイントしているオブジェクトになるということを書きたかったんですが
説明不足でした。
>>127のサイトでやっているのはそういうことだと思います。

136:127
03/11/26 02:11
>>131さん、
ありがとうございました。
おかげで理解できました。

137:デフォルトの名無しさん
03/11/26 23:24
PROJECTIONモードで描画したオブジェクトをセレクションモードで取得するには、
どうすればいいでしょうか?
PROJECTIONモードでPushName(xxx)で識別子を付けると、
画面のどこを触ってもxxxを取得してしまいます。
PROJECTIONモードで描かれたオブジェクトとオブジェクトの描かれていない、
空間を区別するにはどうすればいいでしょうか?


138:131
03/11/27 00:24
>>137 PROJECTIONモードでPushName(xxx)で識別子を付けると、

ここの捉え方が変ではないですか?
実際に描画するモードがGL_RENDERモード、
セレクションのために仮想的に描画するのがGL_SELECTモードです。
で、PushNameが有効になるのはもちろんGL_SELECTモードです。
で、画面の触った場所に従ってきちんとセレクトするには
その画面を作ったGL_RENDERモードでの描画と、
GL_SELECTモードでの描画がきちんと対応していないと駄目です。
つまり同じプロジェクションマトリクスを使う必要があるということです。

GL_SELECTモードで描画するときに、GL_RENDERモードと同じ
プロジェクションマトリクスを使っていないのが原因ではないでしょうか?


139:デフォルトの名無しさん
03/11/27 11:35
>>131さん、表現が間違っていました。

オブジェクトを描画するときは、GL_SELECTモードとGL_RENDERともに
同じ関数で行っています。
ワールド座標でなく、視点を基にしたオブジェクトを
MODELVIEWからPROJECTIONモードに切り替えて、
描画していて、その描画されたオブジェクトをピックしたいのですが、
何も描かれていない、もしくはMODELVIEWで描いたものの
情報が上手く取得できなくなってしまうのです。

140:131
03/11/27 12:45
たぶんこんな手順になります。(順番重要)
当たり前だったら申し訳ない。

・セレクション
glGetIntegerv(GL_VIEWPORT,vp); // ビューポート変数を取得
glSelectBuffer(BUFFER_SIZE,sb); //セレクションバッファをセット
glRenderMode(GL_SELECT); // セレクションモードに切り替え
glInitNames(); // セレクションバッファを初期化
glMatrixMode(GL_PROJECTION); glPushMatrix(); glLoadIdentify(); // 投影変換マトリクスの保存と初期化
gluPickMatrix(mx,vp[3]-my,pixel,pixel,vp); // セレクション領域が(mx,my)近辺(pixel の範囲)になるように投影変換マトリクスを設定
set_projection(); // 好みの投影変換マトリクスを設定。glFrustum など。
glMatrixMode(GL_MODELVIEW); // モデルビューモードに切り替え
draw(GL_SELECT); // 描画。セレクトしたいものをPushName。gluLookAtやglTranslatefなども含む。
glMatrixMode(GL_PROJECTION); glPopMatrix(); // 投影変換マトリクスを元に戻す
glMatrixMode(GL_MODELVIEW); // ビューイング変換マトリクスに切り替えておく
glPopName(); // ネームスタックをクリア
GLint hits = glRenderMode(GL_RENDER); // セレクション完了

・実際の描画
glMatrixMode(GL_PROJECTION); glLoadIdentify(); // 投影変換マトリクスの初期化 (*1)
glMatrixMode(GL_MODELVIEW); // モデルビューモードに切り替え (*1)
draw(GL_RENDER); // 描画
# ただし (*1) のところは普通はウィンドウサイズが変化したときなどに呼ぶようにする。


141:131
03/11/27 18:02
少し訂正

・実際の描画
glMatrixMode(GL_PROJECTION); glLoadIdentify(); // 投影変換マトリクスの初期化 (*1)
set_projection(); // 好みの投影変換マトリクスを設定。glFrustum など。(*1)
glMatrixMode(GL_MODELVIEW); glLoadIdentity(); // モデルビューマトリクスを初期化 (*1)
draw(GL_RENDER); // 描画
# ただし (*1) のところは普通はウィンドウサイズが変化したときなどに呼ぶようにする。


142:デフォルトの名無しさん
03/11/28 04:05
>>131さんのレス>>140のdraw(GL_SELECT);の下に

draw(GL_SELECT);
glPushMatrix();
glLoadIdentity();
glMatrixMode( GL_PROJECTION );
glPushMatrix();
glLoadIdentity();
Drawオブジェクト();
glPopMatrix();
glMatrixMode( GL_MODELVIEW );
glPopMatrix();

といった感じで、PROJECTIONモードで描きたいオブジェクトを作成したのですが、
「draw(GL_SELECT);で描画したものは正確にピックでき、
それ以外の箇所では、Drawオブジェクト();があるないにかかわらず、
Drawオブジェクト();の識別子がピックされます。」
gluPickMatrix(); は、GL_MODELVIEWにしか対応していなくて、
GL_PROJECTIONの場合は、他の関数を使うべきなのでしょうか?
MODELVIEWとPROJECTIONの理解がまだ浅いようで、勘違いしていたらすみません。

143:131
03/11/28 17:26
gluPickMatrix()はプロジェクションマトリクスを変更する関数です。
>>142 の4~6行目でプロジェクションマトリクスを初期化してるので、
それ以後でセレクションが思い通りに行われていないのではないでしょうか?


144:デフォルトの名無しさん
03/11/29 05:06
>>131さん、ありがとうございます。
やっと、理解できました。

145:デフォルトの名無しさん
03/11/29 16:52
ゲームを作ってみたいと思っています。
OpenGL で 3D モデルを読みこむことはできますか?
それ用のルーチンはありますか?
ポリゴンを半透明にすることはできますか?

スレ先頭にあるガイドやチュートリアルをずっとあさってみているんですが、
そこのところがよく見えてきません。ご教授ください…。

146:デフォルトの名無しさん
03/11/29 17:11
できます。
ここではなく、ぐぐれば出てくる。

147:デフォルトの名無しさん
03/11/29 18:04
>>145
URLリンク(alb.hp.infoseek.co.jp)
ここにメタセコの独自形式モデルから読み込むサンプルがあるね。

ところで、SDLってどうなの?GLUTより使い易いという触れ込みらしいんだけれど。

148:131
03/11/29 18:38
>>128-130はやっぱりWIN32APIに関する質問だったかなぁ・・・。


149:145
03/11/29 19:59
>>146-147
ありがとうございました。
特に147さん、面白いサンプルのあるサイトをご紹介していただいて感謝です。

150:デフォルトの名無しさん
03/11/29 21:33
>>147
> ところで、SDLってどうなの?GLUTより使い易いという触れ込みらしいんだけれど。
使ってる。
タイマとかスレッドとかキーボード、マウス、ジョイスティック入出力とか
標準で使えるので、ゲーム作るなら結構楽。

更に、追加ライブラリのSDL_mixerとかSDL_imageとか使えば
BGM(WAV,MIDI,MP3,ogg,MOD対応)、SE(WAV)再生とか
jpeg,png,tiffその他の読み込みとかも出来るし。

あと使ったことないが、
SDL_ttf使用でフォント表示とか色々拡張できるのもありがたいかも?

因みに2ch内のスレは
スレリンク(gamedev板)
ここね。あんまり活発ではないけど。

151:デフォルトの名無しさん
03/11/29 22:44
Linuxで全画面表示をするにはどうしたらいいのでしょうか?
Windowsでは、
glutGameModeString("1024x768:32@60");
glutEnterGameMode();
で出来たのですが、Linuxではダメでした…。

152:デフォルトの名無しさん
03/11/30 00:23
>>150
なるほど。結構良さげだね。

というか何故にOpenGLには標準でテクスチャ読み込み関数が内包されてないんだろう?

153:デフォルトの名無しさん
03/11/30 07:49
>>152
グラフィックライブラリだからさ

154:デフォルトの名無しさん
03/11/30 17:57
赤本1.4は今日発売らしいけど、誰か既に入手した人いる?

155:デフォルトの名無しさん
03/12/01 01:19
>>154
アマゾンからまだ発送メールこないよ。

156:デフォルトの名無しさん
03/12/01 14:29
「通常24時間以内に発送」になったね。

157:デフォルトの名無しさん
03/12/02 00:01
アキュームバッファを使用してモーションブラーを実装したいのですが
どなたか具体的な使用方法ご存知の方っていません?

158:デフォルトの名無しさん
03/12/02 00:19
>>156
漏れの注文分、「12/2~5に発送」だたYO!
後から注文した方が早かった?

159:デフォルトの名無しさん
03/12/02 00:34
赤本1.4発送しましたメールキター

160:デフォルトの名無しさん
03/12/02 00:38
>>159
インプレ激しく希望。
実は洋書初めてなのでちょっと迷ってるんです。

161:デフォルトの名無しさん
03/12/02 00:53
赤本新版の日本語訳って出る予定ナインですかね?


162:デフォルトの名無しさん
03/12/02 08:14
遅レスだが>>99

URLリンク(www.cs.wisc.edu)
鉛筆画風もあるぞ

まあもともとQuakeはジオメトリは自前でやっててラスタライズのみOpenGLなので
OpenGLに渡す前に処理してるわけだが

163:デフォルトの名無しさん
03/12/02 17:17
赤本1.4発売記念age

164:デフォルトの名無しさん
03/12/03 01:04
1.4買っちゃったけど、結局何が変わったの?

165:デフォルトの名無しさん
03/12/03 01:33
>>164
URLリンク(www.opengl.org)
URLリンク(www.opengl.org)
によると、1.4では、固定パイプライン用GL Extension多数追加の他に、
vertex_program拡張によるシェーダープログラム追加。
ただし1.4では低レベルの言語でのサポートのみ。ってことっぽい。

1.5になるとshader_objects, vertex_shader, fragment_shader拡張により、
高レベルシェーディング言語OGSLによるプログラミングが可能となる模様。

166:デフォルトの名無しさん
03/12/03 02:39
シェーダープログラム追加は嬉しいけど、
OGSLに対応は1.5からで、それまでは見るのも萎えるアセンブリでって事ですか。

167:デフォルトの名無しさん
03/12/03 15:26
要するに、赤本1.4買ったらこれも買えよ、ってことなんだろう。
URLリンク(www.amazon.co.jp)

というかnVIDIAはいつOGSLをサポートするんだろう?
個人的にはNV40を狙っているんだけれども。

168:デフォルトの名無しさん
03/12/03 18:33
>167
つーかその前に1.5も買わなきゃならんくなる

169:デフォルトの名無しさん
03/12/04 01:37
URLリンク(www.aw-bc.com)
待ち切れない・・・

170:デフォルトの名無しさん
03/12/04 04:53
>>145
こんなのもあるよと言うことで…
URLリンク(cal3d.sourceforge.net)

blender用のexporterもついてますです。

171:170
03/12/04 07:29
今思い出したんですが、↑は汎用のライブラリなのでOpenGL専用ってわけじゃないです。
ただサンプルデモがOpenGL+glutなので参考になると思います。
それとライブラリ自体がそれほど大きなものでは無いので、
ソースを読んでみて自分なりのモノに書き換えてシェイプアップしてみるのもいいと思いますです。

172:レプタリアン教授 ◆Sx0UvVQevE
03/12/04 11:52
1.4届いたけど、なんかボリュームが足りない気がした

173:デフォルトの名無しさん
03/12/04 19:14
だれかバンプマッピングを解説している良サイトしりませぬか?

174:デフォルトの名無しさん
03/12/04 19:21
>>173
ちゃんと検索したか?
俺、昔見たぞ。保存してないから今わからんけど。

175:デフォルトの名無しさん
03/12/05 13:54
>>172
確かに物足りないね。もっと突っ込んで欲しかった。
まあ、入門書籍だから仕方ないんだけれども・・・

OGSLに期待。

176:レプタリアン教授 ◆Sx0UvVQevE
03/12/05 18:25
青本読んでみたけど、所々全角アルファベットになってたり妙な事になってるのは仕様ですかぁ?

177:デフォルトの名無しさん
03/12/06 11:25
>>176
翻訳が変なのは仕様です。

178:デフォルトの名無しさん
03/12/06 11:51
翻訳本は訳わからんのが多いよな。なんとかならんかな。ならんよな。
なるべく原書読むようにしてるけどね。赤本は原書のほうがわかり易いと思う。

179:デフォルトの名無しさん
03/12/06 17:45
っていうか赤本1.4のサンプルコードが置いてないのは気のせいですか・・・?

180:デフォルトの名無しさん
03/12/06 17:59
>>179
無いね。さらには、errataページもrev.2向けのままだし。

181:デフォルトの名無しさん
03/12/06 18:10
>>180
気のせいじゃなかったか・・・。

まあ、発売されて間もないから仕方ないけど、ちょっと理不尽過ぎる。

182:デフォルトの名無しさん
03/12/06 23:04
よーしパパOpenGLでゲームつくっちゃうぞ!
LightWaveでモデル作ったんですがこれを座標の数値に変換する方法ないですかね?

183:デフォルトの名無しさん
03/12/06 23:38
>>182
lwoファイル読み込みライブラリでもつかえ
URLリンク(www.dstorm.co.jp)

184:デフォルトの名無しさん
03/12/06 23:57
>>183
ぅぅライブラリに頼るしかないのか…
できれば自分で作りたいんだけど3Dオブジェクトのファイルを自分で
作るのって難しいですよねぇ?

185:183
03/12/07 00:05
>>184
漏れはMetasequiaファイルの読み込みライブラリつくったけど
たらたらやってたが2週間くらいでできたぞ。
LightWaveのファイルは細かいデータがいっぱいあって、
読み込みライブラリがめんどくさそうなのでやめた。
(まぁその分高機能なんだろうが・・)

186:145
03/12/07 11:27
>>170-171
どうもありがとうございました!

187:デフォルトの名無しさん
03/12/07 12:36
>>185
じゃメタセコでやろうかな

188:デフォルトの名無しさん
03/12/07 17:56
glMap2fで同時に自由局面を2つ以上表示させたいのですが、
どこかにサンプルソースありませんか?

189:デフォルトの名無しさん
03/12/07 18:19
ていうか、いい加減SGIは赤本1.4のサンプルをアップしる!

190:デフォルトの名無しさん
03/12/08 23:11
昔自分で読み込み作ったけど183のと比べて3倍くらい遅くて凹んだ

191:デフォルトの名無しさん
03/12/10 22:43
アキュムレーションをハード処理出来るカードって有りますか?

192:デフォルトの名無しさん
03/12/11 01:37
>>191
wildcatの高いやつとかSGIのWSならできるはず。

193:レプタリアン教授 ◆Sx0UvVQevE
03/12/11 03:31
残像を作ると凄く重くなるんだけど、何かスマートな解決法はある?

194:デフォルトの名無しさん
03/12/11 04:46
ハードウェアの買い換え

195:デフォルトの名無しさん
03/12/11 06:54
全然解らん。

196:レプタリアン教授 ◆Sx0UvVQevE
03/12/11 15:11
ほら、GLExcessのデモで、ファンみたいなマークが残像残しながら回転するシーンがあるじゃん。
あれってメチャクチャ処理軽いんだけど、どうやったんだろ・・

197:デフォルトの名無しさん
03/12/11 17:23
>>196
How old are you?

198:レプタリアン教授 ◆Sx0UvVQevE
03/12/11 22:34
13歳だよ。

199:デフォルトの名無しさん
03/12/12 06:02
16進数の13歳って落ちでしょ。


200:デフォルトの名無しさん
03/12/12 15:37
まだ赤本4版のサンプルはアップされないのか・・・

201:デフォルトの名無しさん
03/12/12 18:41
どういう残像かで方法も全然違うと思うが…。
前フレームの結果を重ねるだけならglCopyTexImage2D使えば効率いいと思う。

202:あああ
03/12/13 01:37
サンプルコードを自分のプログラムに混入したら、
カラーだった出力画面がモノクロになってしまいました。
原因はなんでしょうか?

203:デフォルトの名無しさん
03/12/13 01:52
>>202
おまえ

204:あああ
03/12/13 02:04
そうですね。

205:デフォルトの名無しさん
03/12/13 02:53
>>202-204
コーヒー吹くとこだったw

206:デフォルトの名無しさん
03/12/13 08:56
むしろモノクロにしてみたいんで詳細きぼん

207:203
03/12/13 09:23
マジレスすると、ライティングがうまくいってないんじゃないかと。

俺も最近OpenGLを使い始めただけなんだけど、RGBに0~255を
渡すべき所を全部1を渡していたというアフォなことしてた。

208:デフォルトの名無しさん
03/12/13 11:17
vtkは、すごいんですけど、自分で書いたレンダラに組み込むには
どうしたらよいのか、不明です。要するにvtkRenderの中の
ジオミトリ作成部分だけ取り出して実行させたいのですが、
やり方知ってる人いますか?スレ違いかもしれませんが…

209:デフォルトの名無しさん
03/12/13 11:24
ライティングのambientかdiffuseあたりの設定が変わったか、
もしくはglColorMaterialあたりがあやしい。

210:ya-su
03/12/14 01:17
背景を画像にしたいのですが、どうすればいいのでしょうか?
巨大なスフィアを作って、それにマップする方法だと、
どうしても画像が崩れてしまいます。

211:デフォルトの名無しさん
03/12/14 01:40
GL2.0は企画倒れか?


212:デフォルトの名無しさん
03/12/14 18:32
>>210に付随して。雲が流れるみたいにするのって、どうやればいいかな。

213:ya-su
03/12/14 23:29
スフィアが駄目ならシリンダーですかねぇ。
でも、底と天辺の違和感が在りそうです…まいった。

214:デフォルトの名無しさん
03/12/15 00:00
>>210
Orthoなカメラで背景描いてしまってから、
Perspectiveなカメラに切り替えるのじゃダメ?

215:ya-su
03/12/15 00:52
>>214
正射影で、カメラの向いてる方向に合うような方法があればいいのですが。
普通にやれば、背景画像は微動だにしませんよね。


216:デフォルトの名無しさん
03/12/15 02:05
FLIGHTGEARの天球、雲が参考になるのでは

217:デフォルトの名無しさん
03/12/15 02:14
>>210
URLリンク(csx.jp)
↑こういう感じ?

218:デフォルトの名無しさん
03/12/15 13:56
いやー、それはアレなんですよ。
その画像だと、背景にベタっと一枚貼ってるだけですけど、
スフィアのようにグルッと見渡せるような背景を。

219:ya-su
03/12/15 14:24
FLIGHTGEARって、Mesaなどのデモじゃないんですね。
GEARっていうので、歯車だと思い込んでいました。
少し試してみます。

220:ya-su
03/12/15 14:27
>>217さん。
>>218と同じです。
私もスフィアに綺麗に張れたらいいと思っています。
すみません。

221:デフォルトの名無しさん
03/12/15 15:09
しかしnVidiaはいつGLSLをサポートするんだろう・・・もうしてる?

222:デフォルトの名無しさん
03/12/15 16:26
OGSLという略に違和感を感じずにはいられない

223:デフォルトの名無しさん
03/12/15 17:37
URLリンク(www.t-pot.com)
IF氏のGLSL入門キタ。


224:デフォルトの名無しさん
03/12/15 20:01
emacs スレから誘導されてきました
OpenGL.el をお持ちの方はいませんか?
配布元 ftp.cs.utah.edu/pub/users/karra/OpenGL.el
がだめぽなんで・・・

225:デフォルトの名無しさん
03/12/15 21:13
URLリンク(www.google.com)

226:デフォルトの名無しさん
03/12/15 21:28
>>210
>>212
遠景に画像使うだけなら
URLリンク(www.delphi3d.net)
ここの Animated Skyboxes: のようにでかい立方体でいいかと

227:デフォルトの名無しさん
03/12/16 01:07
slang age

228:デフォルトの名無しさん
03/12/16 10:30
SGIに文句言ったらDave Shreinerからメール来たよ・・・オマケ付きで。

229:デフォルトの名無しさん
03/12/16 12:26
>>226
立方体じゃ違和感無い?

230:デフォルトの名無しさん
03/12/16 16:19
>>229
unreal1のマップエディタつかったことあるけど、ほとんどのマップは
巨大な立方体にテクスチャ貼り付けてましたよ。


231:229
03/12/16 19:56
あー、立方体の角が気にならないくらい大きいのかな。

232:デフォルトの名無しさん
03/12/16 20:20
誰か、知ってる限りのゲームで使う表現法のTipsをここに書き連ねてくれないかなぁ。
魔法とかで自分の周囲をボワッとした光がグルグルホーミングみたいに回るエフェクトとか、どうやればいいのか全く分からない。

233:デフォルトの名無しさん
03/12/16 20:53
>>232
ビルボード

234:デフォルトの名無しさん
03/12/16 21:19
え~?ビルボードでどうやって?

235:デフォルトの名無しさん
03/12/16 21:25
>>229
簡単だからつくってみるとわかるけど
fovy 90度でテクスチャの絵をつくると
周囲360度 / 4面 = 90度できれいにつながる。

テクスチャはquake2 skyboxとかで検索すればたくさんあるので参考に。

>>232
URLリンク(nehe.gamedev.net)
ここのTutorialsとか

236:デフォルトの名無しさん
03/12/16 21:40
いや、俺は232のエフェクトを聞いてるんだけど

237:デフォルトの名無しさん
03/12/16 21:49
あ、悪い悪い勘違いしてた

238:デフォルトの名無しさん
03/12/16 21:54
fovy 90度?

239:名無しさん@Vim%Chalice
03/12/16 22:09
>>238
ああ fov(field of view angle)ね。
正方形(aspect=1.0)の画像なんでx方向、y方向とも90度ってことで。

240:デフォルトの名無しさん
03/12/16 22:57
>>231
もちろん立方体の中心から見ないとだめだよ。
遠景(skybox)は動かさないで見る方向だけ変える。
それで他のオブジェクトは視点の位置によって動かす。

241:デフォルトの名無しさん
03/12/17 00:13
遠景動かさなかったら空が動かないじゃん

242:デフォルトの名無しさん
03/12/17 13:29
>>241
雲とかは普通skyboxとは別に半透明テクスチャ用意して(ry

243:デフォルトの名無しさん
03/12/18 00:59
>>228
まだftpにコードはうpされてないみたいだが、
もし問題なければ内容教えてプリーズ。

244:228
03/12/18 01:21
>>243
SGIのフィードバックから「さっさと赤本新版のサンプルageろや」って文句言ったら、
1週間くらい放置されて忘れかけた頃にDave Shreinerからメールが来ますた。

「正直、スマンかった。サンプル添付しといたから許して。」

いや、マジな話です。

245:デフォルトの名無しさん
03/12/18 22:23
glutでaux{Wire|Solid}Boxに当たるものを教えてください。

246:デフォルトの名無しさん
03/12/18 23:58
>>245
glut{Wire|Solid}Cube

247:デフォルトの名無しさん
03/12/19 00:19
glTranslateとglRotateってさ、オブジェクトを動かすの?固定座標を動かすの?なんか混乱しちゃったよ。
赤本の最初の説明には、移動した後回転するとグルッと回転移動してしまう例を挙げてたけど、
その後の140P辺りの太陽系のサンプルプログラムでは、公転分回転→軌道半径分移動→自転分回転ってしてたんだよ。
これって最初に書いてた通りなら、自転分回転した時に余計に公転回転してしまわない?って思ったわけ。
腕関節のアニメーションプログラムを考えてたら頭がこんがらがっちゃったよ。

248:デフォルトの名無しさん
03/12/19 00:49
glRotateの回転の中心がどこになるかわかってる?
glTranslateが事前に行われたそれにどう影響してくるのかホントにわかってる?
赤本持ってるなら斜め読みしないでちゃんと読みなよ。


249:デフォルトの名無しさん
03/12/19 01:10
余談だけど、 glulookat は使ってないです。gltrans + glrotate で済ますです。そのほうが
理解しやすいから。glmatrix とか使う人とか居るのかな。むずそうでできん>自分

250:デフォルトの名無しさん
03/12/19 01:13
というかさ。
そもそも変換の手順がきちんとわかってないのでは?
「自転分回転したときに公転分回転しているか」の答えはイェスだ。
なぜなら公転がオブジェクトの描画に反映されてくれなきゃそれこそ困るからだ。

だいたい「固定座標」なんて言葉赤本に出てきてないと思うんだけど
「グローバル座標系」のことを言っているの?
モデリング変換は「ローカル座標系」を動かすんだよ。

公転のところの説明には、
『当初はグローバル座標系」と一致しているローカル座標を動かす』と
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
って丁寧に書いてある。
これで誤解しているのは>>247
「ローカル座標系」の理解が足りていないだけなんだと思うが。


251:243
03/12/19 02:05
>>244
返答ありがとう。
つまり欲しかったら直接メールしる!ってことでつか?(いやちがうか)

252:デフォルトの名無しさん
03/12/19 03:10
>>250
赤本日本語版は固定座標とグローバル座標を入り乱れて使ってる

253:デフォルトの名無しさん
03/12/19 03:54
あ、ホントだ。あるね。
でも入り乱れてって違わないか?

固定座標系のアプローチ:
対象オブジェクトはつねに原点にあると考えて
逆順で変換行列を掛ける(そのまま幾何学から持ってきた考え方だな)。
ローカル座標系のアプローチ:
座標系自体を動かしてその上にオブジェクトを構築する。
みたいに説明されてる。

「固定座標を動かす」って
やっぱり言いたいことがわからないぞ。


254:247
03/12/19 04:41
太陽系は分かった。glTransとRotateがローカル座標に働くとは今まで知らなんだ。
ところでさ、次のロボットアームの肩の処理は絶対おかしいでしょ?
最初のTransで-1,0,0に動いて、もし次のRotateのshouldが90°だとすると、次のTransの1,0,0で肩のローカル座標系がグローバル座標系でのyの正方向に上がっちゃって、グローバル座標での[-1,1,0]になっちゃうでしょ。
どう考えても最初のTransはいらないでしょ。最初のTransが無ければ、最初にShould分回転して、次に肩が原点に来るようにTrans1,0,0してやればいいだけだし。
次の肘の処理は分かるんだけど、この肩だけは納得出来ない。

255:デフォルトの名無しさん
03/12/19 05:00
正確には働く対象はよりけりなんだけどな。
一般的にいえば「現在変換の対象としている行列に対して
{x, 0, 0, 0, y, 0, 0, 0, z } を掛ける」というのが正しい。

……というかさ、
何でも単純に読み流しただけで
簡単に「わかった」って言うのやめた方がいいよ?

何でこんなこと言うのかっていうと
君のさんざん挙げてるその本のP108に
>void glTranslate{fd}(TYPE x, TYPE y, TYPE z);
>現在の行列を,指定したx, y, zの値分オブジェクトを移動(平行移動)させる行列
>(または同じ量だけローカル座標系を移動させる行列)と乗算します。
ってばっちり書いてあるの。

君の発言見てると使い方覚えてもらえないで
文句言われてる本が可哀想になってくる。


256:デフォルトの名無しさん
03/12/19 05:09
もう少し具体的に説明しようか。
太陽系の例でも最初にそれぞれどのglTranslateやglRotateに対しても
「ローカル座標系を」って目的語が付いてるでしょ?

2番目の例に対する君の答え自体
「ローカル座標系を動かす」って赤本/こっちの説明をわかってない証拠。
”ローカル座標系そのものを移動させてる”んだよ?
最初のtransでローカル座標系をグローバル座標系の上で-1,0,0移動させ、次のtransで戻してる。
間のRotateはローカル座標系をそのローカル座標系の原点を中心に回転させてる。
でもグローバル座標系自体に何も変更はない。

これでもわからなきゃ大きい紙と小さい紙に座標軸書いて
小さい方をコマンドと同じように動かしてごらん

257:デフォルトの名無しさん
03/12/19 05:56
よく247みたいな人の相手ができますね

258:247
03/12/19 11:18
大漁だなぁw

259:デフォルトの名無しさん
03/12/19 12:12
>>256
>最初のtransでローカル座標系をグローバル座標系の上で-1,0,0移動させ、次のtransで戻してる。
>間のRotateはローカル座標系をそのローカル座標系の原点を中心に回転させてる。

ローカルのx軸がローカルの回転方向になるので、次のtransではグローバルの原点には戻らないと思われる

260:デフォルトの名無しさん
03/12/19 14:28
OpenGLは素人ですし、本を読んだこともないのですが

>254
1. 最初は上腕の真中
2. 肩に移動
3. 肩を回す
4. 上腕の真中に移動
5. 上腕を描画
6. 肘へ移動
7. 肘を回す
8. 下腕の真中へ移動
9. 下腕を描画

…何が問題なのか判らない

>259
>ローカルのx軸がローカルの回転方向になるので、次のtransではグローバルの原点には戻らないと思われる

そうですね…でもそれで良いように思いますが

261:デフォルトの名無しさん
03/12/19 15:15
>>260
247は>>259の部分に疑問を持ってたんじゃないの?

262:260
03/12/19 15:43
>261
>260 の 1. と 4. の原点座標は上腕ローカル座標では同じだけど、グローバル座標では回転している
…って当たり前だと思うけどなぁ

263:デフォルトの名無しさん
03/12/19 16:09
ん?上腕真ん中から肩に移動ならglTranslate(1,0,0)じゃないの?
あれって左腕だよね?

264:デフォルトの名無しさん
03/12/19 17:12
左腕ってのは、ロボットがこっちを向いてるとして。つまり肘が右に伸びてると。

265:ya-su
03/12/19 20:56
OpenGLのかっこいい作品とかないですかねぇ。

たまには、技術以外の話題とか

266:デフォルトの名無しさん
03/12/19 23:09
ATIがGLSL正式サポートか・・・nVIDIAはどーなってんの?
もう我慢できないからRadeon9700pro買っちゃいそうだ・・・。

267:レプタリアンまうまう ◆Sx0UvVQevE
03/12/19 23:43
サポートして欲しいけど、プレイする人の環境にまで及ばなきゃ意味ないや

268:デフォルトの名無しさん
03/12/20 00:07
>>265
そうだねぇ
日本でデモぽくOpenGLと公言して出してるのは
URLリンク(www.viep.org)
これじゃね?
海外だとメガデモとかで山ほどあるけどねぇ



269:レプタリアンまうまう ◆Sx0UvVQevE
03/12/20 01:21
URLリンク(www.tecmo.co.jp)
こういう感じでウネウネーってどうやるんだろ。ピクセル演算?

270:デフォルトの名無しさん
03/12/20 04:07
>>269
一度レンダリングしたテクスチャををバネメッシュの要領で歪めて貼り付けてやればこんな感じになりそう。


271:デフォルトの名無しさん
03/12/20 12:56
>>265
URLリンク(www.asahi-net.or.jp)
こんなのとかどうでしょ?

272:デフォルトの名無しさん
03/12/21 01:38
>>271
イイねぇ!!
レトロな雰囲気とテクノミュージックが相まって
トランス状態になりそなSTGだ。

こういうレトロなのはOpenGLがよく似合う(雰囲気的に)
と、なんとなくおもた。


273:デフォルトの名無しさん
03/12/22 14:38
実行時にコマンドプロンプトがでないようにするにはどうすればいいですか?

「GLUTによる「手抜き」OpenGL入門」などを参考に勉強させてもらっているのですが
実行時にどうしてもコマンドプロンプトがでてしまいます
>main(void) とし、glutInit()をコメントアウトして
なども試してみたのですが同じでした

BCC、windows2000です

274:デフォルトの名無しさん
03/12/22 18:20
winmain glut で検索し

275:デフォルトの名無しさん
03/12/22 22:29
読み込んだモデリングデータってNURBS使った方が良い?
使うと見た目以外に何か利点はある?

276:この鬼畜が!
03/12/23 03:41
1  レプタリアン教授   2003/12/17(Wed) 23:52

顔射、胸揉み、尻揉み、手マン、手コキ、ディープキス、フェラ、口内射精、アナル、アナル中出し、セクース(体位指定)、中出し、
腹にぶっかけ、マムコにぶっかけ、手コキ、足コキ、などなど

まず自分の耐久昇天回数を書いた後、取る行動とその順序、理由を書いて下さい。

俺はまず3回くらいが限度。
唇を奪い、口内を舌で執拗に犯しつつ、右手で小振りな胸を堪能、左手で尻を揉みしだく。
手コキフェラでまず口内に一発ドクドクと射精して飲ませる。これで耐久時間を稼ぐ。
手マン後、服を脱がさずはだけさせて胸を揉みながら正常位でズコバコ。尻をまくってバックで尻を鷲掴みに揉みまくりながらズコバコ。服を全部脱がして同じく尻を揉みながら駅弁でズンズン。イキそうになって、正常位でドクドクと中出し。
もう一巡さっきのセクースをやって、今度は思いっきり顔射でフィニッシュ。
最後に顔射じゃないと俺はダメ。精液まみれの顔の子とのセクースは萎える。最後に思いっきり汚さないと。以上、尻フェチの意見でした。
--------------------------------------------------------------------------------

2  レプタリアン教授   2003/12/17(Thu) 00:01

手コキフェラはレイプでは普通にやるのではちょい難度ムズなので、ナイフを頬にヒタヒタ当てている想定で。
小学生以下にはあんまり効果無いし可哀相なので、ナイフを向ける事はしないんですがね。中高生は賢いので一瞬で大人しくなるので最適です。
--------------------------------------------------------------------------------
3  レプタリアン教授   2003/12/17(Thu) 15:43

結構昔、夜の暗い公園のベンチで女子中生が一人で座ってたんだよ。
あれは絶好のカモだったから美味しく頂いたョ。後で妹の友人と知ってビビったけどw
親の不仲で飛び出す事がしょっちゅうあるらしいんだけど、悪い事しちゃったなw

277:デフォルトの名無しさん
03/12/23 11:03
>>275
ポリゴンでLODするのに比べてメモリ使用量を減らせる、
とかあるかも…。

278:>>276
03/12/23 13:28
以下N速で配布されてたコピペ

【危険人物注意】
URLリンク(jiten.newsplus.jp)

<ドック・ナカダシ>
今、2ch全体を人生削って荒らし回ってる(私怨を持ったレプタリアン教授がいるスレは特に)基地外コテハンです。
普段は名無しで荒らし回っていますが、文体や粘着ぶりで容易に区別が付きます。
行動の特徴としては、煽る、卑猥なコピペを貼る、周囲の人間を無差別にレプタリアン教授と思い込み攻撃する、IDを変えて自作自演を繰り返す、などです。
精神的な不安定な高校生らしいので、徹底的に叩くか放置してください。すぐにいなくなります。




279:デフォルトの名無しさん
03/12/23 14:59
mesaを入れようとしてるのですが、このようなエラーが出て
うまくコンパイルできません。
/usr/lib/libc5-compat/libICE.so.6: undefined reference to `__bsd_signal'
/usr/lib/libc5-compat/libICE.so.6: undefined reference to `_xstat'
/usr/lib/libc5-compat/libICE.so.6: undefined reference to `__sigjmp_save'
/usr/lib/libc5-compat/libICE.so.6: undefined reference to `__setjmp'
collect2: ld returned 1 exit status

280:デフォルトの名無しさん
03/12/23 20:15
>>279
それだけじゃ誰も答えられないのでは?
環境は何よ?
そもそもXFree86 4.0以降では標準装備なんだが > mesa

281:デフォルトの名無しさん
03/12/23 20:18
AD変換して得た値を関節角度にしてリアルタイムでマニピュレータを描画
させて動かしたいんですが、どうもうまくいかんのです。OpenGLにて。
どうすればいいですかね?

282:>
03/12/23 20:27
どう上手く行かないんだか

283:デフォルトの名無しさん
03/12/23 20:36
卒論スレでも作るか?

284:281
03/12/23 20:49
OpenGLまだ初心者なもんでなにぶんよくわかってないのですが、AD変換をどのタイミングで
入れたやればいいかがわからなくて。。。とりあえず今はfor文で回してるんですが、
AD変換だけ。

285:デフォルトの名無しさん
03/12/23 21:30
idle時に繰り返し実行する関数じゃだめ?

286:デフォルトの名無しさん
03/12/23 21:32
>>284
全くOpenGLに関係ない話としか読めないけど。

287:デフォルトの名無しさん
03/12/23 23:03
卒論厨UzEEEEEEEEEEEEEEEEEEE!!!

288:レプタリアンまうまう ◆Sx0UvVQevE
03/12/24 00:31
話題に余り上らない所から察するに、1.4はイマイチだったという事ですか

289:デフォルトの名無しさん
03/12/26 17:39
質問。

物体(原点)を中心とする「polarview」ビューイング変換において、
その視点位置をワールド座標上で表したいのですが、どうすれば良いのでしょうか?

ご存知の方、是非。

290:デフォルトの名無しさん
03/12/26 20:42
URLリンク(www.google.co.jp)
このサイトならいいかもね

291:デフォルトの名無しさん
03/12/30 13:12
最近OpenGLを始めたんですけど、gluLookAtで視点を
物体が離していくとすぐに消えてしまう(Zクリップ?)んですけど、
これってなんとかなりませんか?


292:デフォルトの名無しさん
03/12/30 13:36
>>291
透視変換のzの範囲を広げてやればよいのでは?
たとえばgluPerspective使ってるならzFarの値を遠くにするとか。


293:デフォルトの名無しさん
03/12/30 14:08
>>292
おお、zfArで解決しました。
ありがとうございます。
それにしても車の挙動計算は面倒くさいなぁ・・・


294:ya-su
04/01/05 21:37
あげえぇ


295:デフォルトの名無しさん
04/01/05 21:38
プログラマー版がダウンロードになるんだけど?

296:デフォルトの名無しさん
04/01/05 22:49
ディスプレイリストでアニメショーンは単純なアニメーションでも不可でしょうか?

297:レ プ ◆Sx0UvVQevE
04/01/05 22:55
横着しない!

298:デフォルトの名無しさん
04/01/07 04:49
LightWave3DのデータをOpenGLでモデリングする事は出来たんですけど(変換ツールも配布されてましたし)、
3DStudioMaxのデータをOpenGLで読み込む為の方法をどなたかご存知ですか?

299:デフォルトの名無しさん
04/01/07 21:11
そんなLightWaveだのMaxだの、高いツールは使った事ありません。
販売している会社に聞いてみた方が早いのでは?

300:デフォルトの名無しさん
04/01/07 21:45
>>298
NeHeで紹介されてたんで、見てみたら?
URLリンク(www.gametutorials.com)

301:デフォルトの名無しさん
04/01/08 01:07
>>298
単純にフリーの.3dsデータのローダを用意したいだけならlib3dsで検索。
3DStudioMax持ってるならプラグイン書いて独自フォーマットに変換して読み込むもよし。

302:デフォルトの名無しさん
04/01/10 16:29
テクスチャマッピングの解説のあるHPしりませんか?
環境はVC++とVB6です VC++でDLL VB6で本体作ってます
人間がアニメーションするのを作ろうと思ってたら顔が難しくて・・・
あきらめで「あにめっぽくていいや~」という考えで顔貼ろうと思ったら
VCのみでなら貼り方分かるんですが VC++単体でのコマンドみたいなの教えてください
プログラムソースは46kですのでUPも可能です

よろしくおねがいします

303:デフォルトの名無しさん
04/01/10 16:31
↑訂正 VCで基本図形設定 VBでPICファイル設定でなら貼れます
VCで張る方法 か コマンド知りませんか?
とするところあわてていて書き間違えました・・・ すいません

304:デフォルトの名無しさん
04/01/10 16:44
2重にスレ違いなヨカン。
VC++のコマンド探しているならVC++スレだろ

305:デフォルトの名無しさん
04/01/10 19:09
ライブラリーに頼っている君達は負け組み

306:デフォルトの名無しさん
04/01/10 23:24
>>305 は MSVCRT.DLL すら使わない神

307:デフォルトの名無しさん
04/01/10 23:29
ていうか OpenGL はまごうことなきライブラリなんだが
何のためにここにいるんだ

308:デフォルトの名無しさん
04/01/11 23:02
最近D3Dはじめたんだが、テクスチャ読み込み関数とかついてるくせに
細かい頂点指定みたいなコマンドが無いなぁ(VertexBufferはあるけどねぇ)
OpenGLのglVertex3d(...)みたいな関数がねぇ・・。(もしかしてまだ知らないだけかも)
いまいちかゆいところに手が届かない感じ。このスレでもよくいわれてきたことだけど
やって見てあらためて実感した。


309:デフォルトの名無しさん
04/01/12 10:46
DrawPrimitiveUP

310:デフォルトの名無しさん
04/01/14 12:03
OpenGL + MFC でツール作ってるんだが、秒間60フレーム固定にしたい、
とかいう時の処理はどうするんでしょ?

今のところメインループの中で描画、みたいな感じだけど描画
ポリゴン数で遅くなったり早くなったりするw

int CMainApp::Run()
{
// main applications contious thread until exit
while (1)
{
// Process All Messages
while (PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE) == TRUE)
{
if (GetMessage(&msg, NULL, 0, 0))
{
if (!PreTranslateMessage(&msg))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
else
return TRUE;
}

g_pclGLView->vDrawGLScene(); //=== ここでOpenGLビューを描画
       }
}


311:レ プ ◆rkh8hhoXwg
04/01/14 14:07
frequency

312:デフォルトの名無しさん
04/01/15 15:25
下記サイトにあるpngライブラリのラッパーを使って画像情報は取得できたのですが
URLリンク(www.fachschaften.neuphilologie.uni-tuebingen.de)
アルファ付の画像になると
int APIENTRY pngLoadF(FILE *fp, int mipmap, int trans, pngInfo *pinfo)
関数のtrans, にどんなパラメタを振っても

png_read_image(png, row_p);

の行で処理が中断してしまいます。アルファブレンドの1を指定すれば問題ないだろ
うと思っていましたがことごとくこの行で処理を中断してしまいます。
 寝不足もあって煮詰まってしまっているので何かヒントでも良いのでくださぁい。

313:デフォルトの名無しさん
04/01/15 16:06
pngにアルファ情報が含まれてない、とか?
超てきとー。

がんばってくれ。


314:レ プ ◆rkh8hhoXwg
04/01/15 17:28
png_read_image()のエラー処理の辺り見ればいいじゃーん

315:デフォルトの名無しさん
04/01/16 05:01
>>313
>>314
レスありがとうございます。
glpngのメンテナンス2000年でストップしてる (T△T)
ブラウザで表示するのには問題なく透過されているので
PNGフォーマットをうまく読み込めていないようです。

少しいじってたのですぐには分からなかったのですがエラー
メッセージは Bad adaptive filter type と出力されているので
データ行のフォーマットに対応できていないのではと予測
してます。なのでlibpng を最新のものにしたところglpngが
対応していないので困っています。
 本当にフォーマットだけの問題なら古いフォーマットで
出力するソフトを手に入れるか、glpngに手を加えて最新
のlibpngでも動作するようにしないと解決しないのではと
思っています。

316:デフォルトの名無しさん
04/01/17 03:22
>>315
libpng 使ってローダーを自作すりゃイイんじゃない?
俺は glpng の存在を知らんかったのでサクっと作っちゃったよ。

317:デフォルトの名無しさん
04/01/17 12:44
arb shadow の使い方て赤本の新盤に載ってますかね。
スペック読んでもじぇんじぇん分かんないの。

318:デフォルトの名無しさん
04/01/17 13:53
>317
サンプルソースは載ってませんが、それでもよければ

319:315
04/01/17 23:11
>>316
libpngが最新のものではないので、読み取り失敗してたようです。
glpngを参考にしたらサクっとできました。ただ実際に表示させると
画像が鏡面反射みたいになってしまって、それを直すのに関数を
組みました(これもどこかにあるかもしれない)。
 以上 事後報告ですた。
 

320:デフォルトの名無しさん
04/01/18 00:11
そういや、いつの間にかftp.sgi.comに赤本1.4のサンプルうpされてるね。

321:デフォルトの名無しさん
04/01/18 01:55
>320 ありがとう

322:デフォルトの名無しさん
04/01/18 09:12
URLリンク(www.xmission.com)
ここのglutを使っているのですが、
陰面消去が環境によってできません。
(ちらつきや、後ろにあるものが前に描画されるなど)

どの環境もVC++6.0のWin2kです。
全員同じソースで試しており、
コンパイルはできています。

うまくいっている環境と
そうでない環境の違いがわかりません…
どうかよろしくお願いします。


323:322
04/01/18 09:41
自己レスですが、
あるMLでこんな文章を見つけてしまいました…

>バイオなどi815系とかの統合チップセットを使っているPCは
>よくエッジの部分が欠 けたり、
>Z方向のソートがおかしかったりすることが多いので、
>仕方ないのだと思っていましたが。

ヽ(`Д´)ノウワァァァン!!

324:デフォルトの名無しさん
04/01/18 14:27
で、統合チップセット使ってるんですか?

325:322
04/01/18 18:00
今確認したところ、
うまくいかない環境のPCでは、
Intel 830MGを使っています。
これは統合チップですよね…

みなさん、お気をつけ下さい。

326:デフォルトの名無しさん
04/01/18 18:07
(´・ω・`)ノ

327:デフォルトの名無しさん
04/01/19 09:49
Intelから最新のドライバ拾ってくれば結構直ったりするよ。

328:デフォルトの名無しさん
04/01/19 16:44
glReadPixels (0, 0, ImageWidthDc, ImageHeightDc,
GL_RGBA, GL_UNSIGNED_BYTE,
(GLubyte *)BufferColors[taskId]);

これでフレームバッファのRGBAを取りたいんですが、
結果をみるとA値にすべて255がはいってます。
もともとαブレンドしてあるんですが、
A値はどうやったら保存できるのでしょうか。

329:デフォルトの名無しさん
04/01/19 18:57
>>328
アルファのバッファが確保されてないときそうなった記憶が。
これは漏れが以前はまったことだが、
glutの場合はglutInitDisplayModeにGLUT_ALPHAを指定しないとアルファバッファ有効にならんので注意。
(GLUT_RGBAだけではだめ)

330:328
04/01/19 19:37
>>329
有難うございまつ。
諸事情により、ウィンドウはgtkで開いてます。
ってことは、掘るのはそっちか。

331:330
04/01/19 23:07
int attributes[] = {
GDK_GL_RGBA,
GDK_GL_RED_SIZE, 1,
GDK_GL_GREEN_SIZE, 1,
GDK_GL_BLUE_SIZE, 1,
GDK_GL_ALPHA_SIZE, 1,
GDK_GL_STENCIL_SIZE, 1,
GDK_GL_NONE
}
GTK_WIDGET(gtk_gl_area_new (attributes));

こんな感じにしてみますたが、
結果かわらず。

glkglareaを使ってるかたがいらっしゃいましたら、
おしえてちょんまげ。

332:デフォルトの名無しさん
04/01/19 23:35
ボードによってはDestAlpha使えなかったりするけど。

333:デフォルトの名無しさん
04/01/20 00:49
333Gets!

334:デフォルトの名無しさん
04/01/20 03:48
GDK_GL_ALPHA_SIZE, 8,
でどうだろう。

335:デフォルトの名無しさん
04/01/20 06:12
glutmainloopから抜けたい・・
FLTKに移行かな

336:デフォルトの名無しさん
04/01/20 07:03
FOXもFLTKもマニュアル読んだら
runすればmain()での以下の行は実行されないのかな。
必要な時だけwindowを開いて、処理が終わったら閉じたいんだけど。

337:デフォルトの名無しさん
04/01/20 21:22
ポリゴン表示したらディザリングがかかってる上に
かなり遅いんだけど。
頂点リストとか使った方がいいんじゃろかね。


338:331
04/01/21 18:06
>>334
ありがとうございます。
それもやってみましたがだめですた。
はまってるかんじだなー。
1行の問題なんだろうけど。


339:331
04/01/21 18:08
>>332
ありがとうございます。
G/Cは、FX5600です。


340:デフォルトの名無しさん
04/01/23 21:04
現在のマトリクスと、任意のベクトルとを乗算する
命令ってないのかな?


341:デフォルトの名無しさん
04/01/23 23:28
ベクトルヲ行列に変換汁

342:デフォルトの名無しさん
04/01/24 11:41
mage

343:デフォルトの名無しさん
04/01/24 12:14
DirectX8とパフォーマンスを比べてみた。
同じ処理でも1.5倍ほどDirectXの方が速いね。

344:デフォルトの名無しさん
04/01/24 12:25
OpenGLとX Window Systemはその役目を終えた、って感じだな

345:デフォルトの名無しさん
04/01/24 12:40
>343
それはどういった処理において?
全て、とは思えないんだが
特にウィンドウの拡大縮小とか、ライン描画とかはどうなのよ?

346:デフォルトの名無しさん
04/01/24 14:08
>>343
悪いDirectx使えねえ

347:デフォルトの名無しさん
04/01/24 18:13
MFC + OpenGL で、OpenGL用のウィンドウに
大きく表示されるポリゴンを描画するとすごく遅い。
視点を離して小さくすると、かなり早くなるんだけど・・・
MFCが悪いんじゃろか。
DirectXにしとけば良かったかも・・・


348:デフォルトの名無しさん
04/01/24 21:13
>>343
正直、「同じ処理」という比較が無意味だし、個々のドライバの出来にも左右される
ので343の環境下におけるパフォーマンスがAPIの評価を変える判断基準にはならないなぁ。

最近のAPIの機能の充実度はたしかにDirectXがいい印象はあるけどOpenGLが
パフォーマンス面で劣っている印象はないよ。すくなくともちゃんとしたドライバ書いてる
メーカーのビデオアダプタ買えば(パフォーマンス面で)困ることはないし。


349:デフォルトの名無しさん
04/01/24 21:29
>347
それはキミのプログラムの組み方が悪いと思われ

350:デフォルトの名無しさん
04/01/24 23:32
343じゃないが、
ポリゴン描く場合はバーテックスバッファ+インデックスバッファのあるDirectXの方が早くない?
インデックスバッファ相当品はOpenGLには見当たらないし、
バーテックスバッファ相当品のARB_vertex_buffer_objecでtは(少なくともGeForce系では)早くなってるようには見えないし。

351:デフォルトの名無しさん
04/01/25 00:04
>>350
それ知らないな
glDrawArraysとどう違うの

352:351
04/01/25 00:10
ビデオ側に明示的にデータを置けるのね。

353:デフォルトの名無しさん
04/01/25 01:52
>>352
標準化されてないだけで、メーカー毎のAPIにあったりして。

354:デフォルトの名無しさん
04/01/25 09:08
誘導 OpenGL VS Direct3D
スレリンク(tech板)

355:デフォルトの名無しさん
04/01/25 17:51
VC6でgl*の補完が効かないんですけど、
どうやって補完を効くようにできるか
ご存知ありません?

356:デフォルトの名無しさん
04/01/25 22:36
>>355
これ?
URLリンク(www.komoto.org)

357:355
04/01/26 11:00
スレ違いの質問だったみたいでごめんなさい…。
補完はauto completion、インテリセンスのことです。

358:デフォルトの名無しさん
04/01/26 12:26
>>357
自分はこれ使ってる。
URLリンク(wholetomato.com)


359:355
04/01/26 14:12
>358
これはすごいですね!
早速使ってみてますがいい感じです。
勝手にエディタの配色を変えられたのがちょっとあれですけど
機能はとても素晴らしいです。ありがとうございました!

360:デフォルトの名無しさん
04/01/26 20:00
>>350 >>353
VertexBuffer相当品は、NVの拡張でNV_vertex_array_range、ATIの拡張でATI_element_arrayってのがあるね。
ATIの方は試せる環境が無いのでわからないが、
GeForce4Ti4600+NV拡張+IndexBuffer要らないglDrawArrays()でひたすらポリゴン描くだけのテストしてみたら、
65000ポリゴンくらいまで60FPS以上で動いた。DirectXでもほぼ同じ結果だった。
ARB_vertex_buffer_objectでは確かに速くなってないように見える。

361:デフォルトの名無しさん
04/01/26 20:26
DirectXみたくXファイル読み込ませてアニメーションしたいです
どうすればいいと思う?

362:デフォルトの名無しさん
04/01/26 20:50
私は初心者だからよくわからないけど、
1. Xファイルパーザを持ってくるか自作して
 glVertex*()とかでポリゴンつくって、テクスチャ貼る。
2. マトリクスのスタックをつかって、モデルのセクション毎に
 動きをつける
でいいんでない?

363:デフォルトの名無しさん
04/01/26 21:03
>>361
DirectX使ってXファイル読み込ませてアニメーションすれば?

364:デフォルトの名無しさん
04/01/27 00:18
.          ,'  ..::| .::;',' :;:','フ'7フ''7/   ',.ト',_|, , ',.',
       ,'   .::::::!'''l/!:;'/ /'゙  /     '! ゙;:|:、.|、| 'l
.         ,'.  .:::::::{ l'.l/  、_  _,.      'l/',|.';|
       l  :::::::::::';、ヾ      ̄     `‐-‐'/! ';. '
.         ! :::::::::::/ `‐、        ゝ   |'゙ |
       | ::::::::/   \    、_, _.,.,_ ノ::: !
       |::::/.     _rl`': 、_     ///;ト,゙;:::::./   >>363がとっとと氏にますように…
..      `´      /\\  `i;┬:////゙l゙l ヾ/ 
                ,.:く::::::::`:、\ 〉l゙:l  / !.|
.            /:.:.:.:\:.:.:.:.`:、ソ/:.:|    | |
           /.:.:.:.:.:.:.:.:.:\:.:.:.:У:.:;l   /./
.          /:.:.:.:.:.:.:.r'´`‐,`、:/.,.:‐{   | !`:、
           ,'.:.:.:.:.:.:.:.:.';_,゚.,ノ.:./,:':.:.:.:',  | |`、:|

365:デフォルトの名無しさん
04/01/27 01:03
>>361
Xファイルパーサを自作するか探すかするのがいい気がするけど面倒なら、一度D3DXかなんかを使って
Xファイルを読み込んでID3DXMeshなんかからデータを引っ張ってきてOpenGLで自前で表示できる
フォーマットにコンバートすればいいんじゃない?

自前のフォーマットとコンバータ用意するのが一番いいと思うけど。

366:デフォルトの名無しさん
04/01/27 04:53
なんでX→OpenGLなんだ?話がひたすらややこしくなるぞ。
別のフォーマットを模索した方が良い

367:361
04/01/27 21:10
いま有るファイルがXファイルだからです。

変換した方がよさそうですか、google逝ってきます。

368:デフォルトの名無しさん
04/01/27 23:39
せめて「変換する」というアイデアにお礼を言ったら。

369:デフォルトの名無しさん
04/01/28 09:01
アイデアってほどであるまい

370:デフォルトの名無しさん
04/01/28 17:34
皮肉だろ

371:デフォルトの名無しさん
04/01/29 16:36
FreeBSD4.8上でtest.cを作成、
#include <GL/glut.h>
void display(void)
{}
int main( int argc, char **argv )
{ glutInit(&argc, argv);
glutCreateWindow(argv[0]);
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
だけ書いて、
gcc -I/usr/X11R6/include -L/usr/X11R6/lib -lglut -lGLU -lGL -lXmu -lXi -lXext -lX11 -lm -o test test.cpp
ってやったら、
/usr/X11R6/lib/libglut.so: undefined reference to `glXBindChannelToWindowSGIX'
/usr/X11R6/lib/libglut.so: undefined reference to `glXQueryChannelDeltasSGIX'
/usr/X11R6/lib/libglut.so: undefined reference to `glXChannelRectSyncSGIX'
/usr/X11R6/lib/libglut.so: undefined reference to `glXChannelRectSGIX'
/usr/X11R6/lib/libglut.so: undefined reference to `glXQueryChannelRectSGIX'
*** Error code 1
と出たわけなんですが、何が足りないんでしょうか?
libglutが怪しいのでmakeしてみると
===> Building for libglut-5.0.2
Warning: Object directory not changed from original /usr/ports/graphics/libglut/work/Mesa-5.0.2/src-glut
cc -fpic -DPIC -O -pipe -I../include -I/usr/X11R6/include -c glut_bwidth.c -o glut_bwidth.So
/usr/libexec/elf/ld: cannot find -lGL
*** Error code 1
とか言ってこけるのと関係あるのかな?

372:デフォルトの名無しさん
04/01/29 17:53
BSDな人もOpenGLいじるんだな。。ま、がんがれ。

373:デフォルトの名無しさん
04/01/31 19:39
テクスチャをはるとライティングが機能しなくなりました。
ググって調べた所
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL);/*or GL_REPLACE*/
と書けとあったんですが
書いてもライティングが機能しません。どしたらいいんでしょう?
詳しい方がいらしたらご教授願います。



374:デフォルトの名無しさん
04/01/31 22:56
MacOS9でGLUTは使えるのでしょうか?
OSXは対応しているようですが。

375:デフォルトの名無しさん
04/01/31 23:13
もづれーとすれ

376:デフォルトの名無しさん
04/01/31 23:49
もづれーとってなんですか?

377:デフォルトの名無しさん
04/01/31 23:51
GL_MODULATEでも上手くいかないっす

378:373
04/01/31 23:53
377=373

379:デフォルトの名無しさん
04/01/31 23:56
>>377
じゃ他になんかすれ

380:デフォルトの名無しさん
04/01/31 23:57
>>374
使えるよ。つーか、使ってる。
「GLUT Mac サンプルコード」でぐぐって上から五番目くらいにOS 9用の
サンプルコードがあった。

381:デフォルトの名無しさん
04/02/01 01:39
>>377
鏡面反射が無いというのであれば、
glLightModelf(GL_LIGHT_MODEL_COLOR_CONTROL_EXT,GL_SEPARATE_SPECULAR_COLOR_EXT);


382:デフォルトの名無しさん
04/02/01 13:14
PNGやBMPやGIFやJPGを読み込んでテクスチャに出来る
ライブラリって無いですか?

383:デフォルトの名無しさん
04/02/01 13:22
OpenIL→DevIL

384:デフォルトの名無しさん
04/02/01 21:20
>>383
使ってみた。
こりゃいいね。
サンクス!

385:383
04/02/01 22:13
>>384
そうか、俺は名前しか知らなくて言ってみただけだが
あたりでよかった

386:デフォルトの名無しさん
04/02/01 23:16
>>384
レス有り難うございます。
たしかにありました。
ところでGLUTはMacOS9にダウンロードする必要あるのでしょうか?
また、ダウンロードする必要があるとすれば、
GLUT for Win32で良いのでしょうか?
いかにもwindows専用っぽいのですが。



387:380
04/02/02 01:08
レス番が違うような気がするけど、どうやら>>374の件の続きと思われるので
追加でレスします。

ftp.apple.com/developer/opengl/SDK/
にOpenGL SDKの1.2があります。Coreと付くサイズの小さい方は、サンプルコードの
コンパイル済みバイナリが付いてこない奴なので、どっちを落としても内容は一緒。
この中に、OpenGLの開発環境とMac用GLUTが入ってます。

で、ディスクイメージを開いて、中にあるHeaders、LibrariesとResourcesの中身を、
コンパイラのパスの通ってる場所(CWならMacOS Supportとか、Carbon Support
に放り込む、と。

まくで3Dをやる人は少ないので、是非がんばってください。

388:386
04/02/02 18:47
>>387
確かに。間違ってました。W

で、SDKの方ですが今ダウンロードしてみました。
実はあのあとSDKの存在を知り、
どこでダウンロードできるのかをきこうと思ってたので
ちょうど良かったです。ありがとうございます。
(正確にはSDKの存在は知っていたが、SDLとかんちがいしていて
それをダウンロードしてしまった。)



389:388
04/02/03 12:20
すいません。またわからなくなりました。
MPWでOPENGLを使うにはどうしたら良いのでしょうか?
opengl関係のライブラリーをリンク(?)させれば良いのでしょうか?
しかしその方法がわかりません、というかメイクファイルをつくることができません。
simpleIDE という私怨ツールをつかってもできません。
どなたかわかる方いるでしょうか?
(他スレに行った方が良いかも知れませんね。)



390:デフォルトの名無しさん
04/02/03 19:29
age

391:デフォルトの名無しさん
04/02/04 11:33


392:デフォルトの名無しさん
04/02/05 01:16
GLSL本、届かねーと思ったら発売1週間延びてるし…。

393:デフォルトの名無しさん
04/02/06 00:34
ところで3DlabsとATI以外でGLSLのサンプルがある場所ってないの?
ていうか、そもそも日本人でGLSLやってる人ってどのくらいいるんだ?

394:デフォルトの名無しさん
04/02/06 01:09
>>393
とりあえず
URLリンク(www.t-pot.com)
とかどうよ。
なんかもう1つぐらいどっかのサイトで見かけた気がしたけど忘れた。

395:デフォルトの名無しさん
04/02/06 01:25
>>393
URLリンク(esprit.campus.luth.se)
のOpenGLセクションにもあるよ。

ある程度使い方覚えれば充分だろうからそんなに他にサンプルみたいか?
という疑問はあるけど。


396:& ◆h9Bn.Lr5Ro
04/02/06 17:42
lib3dsつてlib使ってる人いますか?
ここURLリンク(lib3ds.sourceforge.net)
3dsファイル読み込みlib見たいだけとアニメーションができないです
だれかhelp

397:393
04/02/06 19:20
ごめんなさい、読み込んでた3dsファイルにモーションデータ入ってなかったです
anim8orだめだ

398:デフォルトの名無しさん
04/02/06 20:00
>>396
ボーンアニメーション制御の勉強をする前に日本語の勉強をしたほうが(ry

ところで、GLSLでベクタ演算をしてOpenGLにそのデータを渡す、ていう事は可能?
例えば光源L(x0, y0, z0)から頂点V1(x1, y2, z2)までのベクタLV1(x1-x0, y1-y0, z1-z0)を計算して
さらにV1を始点としてそのベクタを実数倍してV2(x2, y2, z2)を算出して
それをOpenGLに渡してポリゴンを描く・・・とか(長ったらしくてスマソ)。

399:398
04/02/06 20:01
ミス。
V1(x1, y1, z1)でした。

400:デフォルトの名無しさん
04/02/06 21:01
400Gets!

401:デフォルトの名無しさん
04/02/07 10:22
>>398
レンダーテクスチャは試した?

402:401
04/02/07 10:29
ごめん、レンダーターゲットだった。しかもそれ使わなくても出来るね
無視してください

403:デフォルトの名無しさん
04/02/07 18:05
頂点座標をV、視線ベクトルをE、光源ベクトルをL、光源座標をLightPos、
法線ベクトルをN、半ベクトルをHとすると、

V = gl_Vertex
E = gl_ModelViewMatrix * V
L = LightPos - E
N = gl_NormalMatrix * gl_Normal
H = E + L

でOK?

404:デフォルトの名無しさん
04/02/08 12:47
半球(ドーム型)を書きたいのですがglutWireSphereみたいなモデリング関数なんかはないのでしょうか?

405:デフォルトの名無しさん
04/02/09 05:15
>>404
ないと思う。それくらい自分で作れない?

406:デフォルトの名無しさん
04/02/09 23:24
ていうかGLSL教科書(朱本?)まだ「予約」状態なのね・・・。

407:デフォルトの名無しさん
04/02/10 00:29
発売元のページでは2月20日ってなってるしまだ先なんじゃない?>GLSL本



408:デフォルトの名無しさん
04/02/12 21:19
廃れage

しかしDirectXはHLSL、OpenGLはGLSLの台頭で、もはやCg使う意義なんてあるのかね?
nVIDIAはCg v1.2を近々リリースするらしいけど
いい加減そんなモンにしがみ付いてないでさっさとGLSLサポートしろと言いたい。

409:デフォルトの名無しさん
04/02/14 00:35
glTexImage2Dでテクスチャを作ったのですが、
このテクスチャに修正を加えるにはどうすればいいんでしょうか。
保持されているメモリ領域のポインタが取得できれば楽なんですが、
調べてみたところそういう関数は見つかりませんでした。

410:デフォルトの名無しさん
04/02/14 00:40
>>409
glTexSubImage2Dで上書きってのが妥当だな

411:デフォルトの名無しさん
04/02/14 00:53
やはりそれしかないんですね。
デバイスコンテキストみたいなのがあれば便利なのに・・・

412:デフォルトの名無しさん
04/02/16 00:16
opengl.el って何処で拾えますか?
ググッてもリンク切れで見つかりませんでした。


413:デフォルトの名無しさん
04/02/16 00:42
てゆーか!!!!!!!!!!!!!!!!!!!!!!!!!!111111111111111111

なぜ赤本ですらOPENGLの全機能を網羅していないのですか。

まるでMS-DOSコマンド解説書がコマンドのすべてを網羅していないように

414:デフォルトの名無しさん
04/02/16 17:08
>>413
偉大なるOpenGLは紙切れごときで表せるような低俗なものでは無いからです。

ってかGLSL本マダー?

415:デフォルトの名無しさん
04/02/16 22:54
とりあえず「語呂がいいから」とか言って

「おーぷんぐる」とか言うの即刻やめろ!!

416:デフォルトの名無しさん
04/02/16 23:21
>>415
>「おーぷんぐる」とか言うの即刻やめろ!!
グルの大物もうすぐハンケツ。

417:デフォルトの名無しさん
04/02/17 05:16
>>413
執筆しているときには全機能網羅していたがその後に新しい機能ができたとかそういう話じゃなくて?

418:@i865G
04/02/18 02:45
glEnable(GL_POLYGON_SMOOTH);
とやってもアンチが効かない奴↓
_-)ノ

419:デフォルトの名無しさん
04/02/18 06:16
アンチフラットシェーディング

420:デフォルトの名無しさん
04/02/18 15:32
OpenGLの命令の中で行列が使われてるものって何がありますかね?
宜しければ、命令文とその行列の計算式を教えていただけるとありがたいのですが…

421:デフォルトの名無しさん
04/02/18 18:01
行列演算ってアフィン変換のこと?
glTranslate* にしろ glRotate* にしろ glOrtho や glPerspective にしろ
基本的な計算方法ばかりなんだから
同等のことは一冊CGの本読めば(ネットにだって)まず書いてあるだろ。

そんなおおざっぱな質問されてもいちいち答えてられんよ。

422:レ プ ◆rkh8hhoXwg
04/02/18 19:24
行列が使われてるもの、って、おぬし行列計算がレアだと思っとるな!3Dを何だと心得るか!

423:デフォルトの名無しさん
04/02/18 22:11
う、すみません_| ̄|○
命令群をポンと入れて「わー、でたー」と言うのが嫌だったのでどの命令に
どのような計算が使われてるのか知りたかったんです(´・ω・`)

自分で調べて見たところ、平行移動と回転とスケール変換・射影行列などの計算式は
見つかったのですが、他にはどれがどう使われているのかわからなかったのでここで質問させてもらったんです。
…すみませんでした_| ̄|○


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