OpenGLスレ Part16
レス数が1000を超えています。これ以上書き込みはできません。
現在のバージョンは4.1
http://www.opengl.org/
== OpenGLと一緒に使われるツール&ライブラリ ==
苦労したくなかったらとりあえず入れとけ。
・glx: XからOpenGLを使うためのライブラリ。普通は直接は使わず意識する事はない
・glut: クロスプラットフォームなツールキット。でもさすがに古くさい
・glew: これを入れないと拡張機能が使えないor使いにくい
・glxgears: 歯車が回るベンチマーク。-infoでOpenGLのバージョンが見られる。OpenGLの動作確認はこれで
・glxinfo: 自分の使っているカードのOpenGLの機能が全てリストアップされる。
・OpenTK C#からOpenGLを簡単に使えるようになる。VC#の強力なIntellisenseとあわせてサクサク開発可能。
== 必読書 ==
・OpenGLプログラミングガイド 原著第5版 (通称赤本)
・OpenGL(R) Reference Manual (通称青本)
・OpenGL Shading Language (通称だいだい本)
・OpenGL(R) SuperBible: Comprehensive Tutorial and Reference
・OpenGL ES 2.0 プログラミングガイド
・GLUTによるOpenGL入門
・GLUTによるOpenGL入門2 テクスチャマッピング
あると便利。
・ゲームプログラミングのための3Dグラフィックス数学
== チュートリアルサイト ==
床井研究室: http://marina.sys.wakayama-u.ac.jp/~tokoi/oglarticles.html
OpenGL de プログラミング: http://wiki.livedoor.jp/mikk_ni3_92/
NeHe: http://nehe.gamedev.net/
== 前スレ ==
OpenGLスレ Part15
http://hibari.2ch.net/test/read.cgi/tech/1289992928/
Part15: http://hibari.2ch.net/test/read.cgi/tech/1289992928/
Part14: http://hibari.2ch.net/test/read.cgi/tech/1263901596/
Part13: http://pc12.2ch.net/test/read.cgi/tech/1247349324/
Part12: http://pc12.2ch.net/test/read.cgi/tech/1221215309/
Part11: http://pc11.2ch.net/test/read.cgi/tech/1177523018/
Part10: http://pc11.2ch.net/test/read.cgi/tech/1141034983/
Part 9: http://pc8.2ch.net/test/read.cgi/tech/1132403929/
Part 8: http://pc8.2ch.net/test/read.cgi/tech/1126267690/
Part 7: http://pc8.2ch.net/test/read.cgi/tech/1118151979/
Part 6: http://pc8.2ch.net/test/read.cgi/tech/1105612993/
Part 5: http://pc5.2ch.net/test/read.cgi/tech/1100085657/
Part 4: http://pc5.2ch.net/test/read.cgi/tech/1091724463/
Part 3: http://pc5.2ch.net/test/read.cgi/tech/1067529308/
Part 2: http://pc2.2ch.net/test/read.cgi/tech/1039984523/
Part 1: http://pc3.2ch.net/tech/kako/981/981044659.html (dat落ち)
== C/C++以外から使うには ==
Rubyから --> ruby-opengl
Pythonから --> PyOpenGL
Javaから --> JOGL
JavaScriptから --> ???
Haskellから --> ???
C#等、.NET系 --> OpenTK
OpenGL.org wiki:
http://www.opengl.org/wiki/Main_Page
OpenSceneGraph: OpenGL を高度に抽象化し、利便性を高めたラッパー。C++ ライブラリ
http://www.openscenegraph.org/
OpenGL Mathematics (GLM): GLSL の仕様を元に特化された C++ 数学ライブラリ
http://glm.g-truc.net/
WebGL あたりのテンプレも欲しいな
0004デフォルトの名無しさん
2011/06/27(月) 23:04:59.83http://www.khronos.org/files/opengl41-quick-reference-card.pdf
OpenGL 3.2 API Quick Reference Card
http://www.khronos.org/files/opengl-quick-reference-card.pdf
OpenGL ES 2.0 API Quick Reference Card
http://www.khronos.org/opengles/sdk/docs/reference_cards/OpenGL-ES-2_0-Reference-card.pdf
WebGL 1.0 API Quick Reference Card
http://www.khronos.org/files/webgl/webgl-reference-card-1_0.pdf
0005デフォルトの名無しさん
2011/06/27(月) 23:45:48.21TriMesh2 :
- http://gfx.cs.princeton.edu/proj/trimesh2/
- モデラーから出力した綺麗なデータを描画したい時に使う
- 主要なファイルフォーマットが読めて使い方もファイル名を指定してreadするだけ
TriStripper :
- トライアングル・ストリップ化ライブラリ
- メッシュからストリップを作りたい時に使う
- NvTristipより高速でモダン
0006デフォルトの名無しさん
2011/06/27(月) 23:47:10.81NeHe's チュートリアル: 昔からあるOpenGLのオンライン教材
0007デフォルトの名無しさん
2011/06/28(火) 00:21:16.68GPL注意
OpenGL使わなくてもC++のGUIライブラリとしては定番な感じかな。
これからはglutより新しいglfw, sfmlあたりがいいんでないだろうか。
日本語の情報は少ないかもしれいが。
0009デフォルトの名無しさん
2011/06/28(火) 03:49:02.31どのライブラリがいいの?
0010デフォルトの名無しさん
2011/06/28(火) 07:46:13.80OpenGLで使えるライブラリとかテクニックとかまとめたWikiが欲しいね。
自分専用で作る気でいるけど、誰でも書き込めるようにしたほうがいいのだろうか。
0011デフォルトの名無しさん
2011/06/28(火) 07:48:40.29http://groups.google.com/group/opengl_japan
未だに使われてないけどw
0012デフォルトの名無しさん
2011/06/28(火) 21:56:48.64SFMLは日本語情報がまったくないのが欠点だろう。
個人的にはSDLを使うならSFMLを使いたい。作りがSDLは古臭すぎる。
0013デフォルトの名無しさん
2011/07/01(金) 18:02:36.58ただ、それだけの理由で使わなくなった
0014デフォルトの名無しさん
2011/07/01(金) 21:14:41.49perspective division(クリップ座標→正規化デバイス座標の変換。wで割る作業)は
普通、どのタイミングで行われるのですか?
webにはglFrustumやglOrthoで変換されると書いてあるページもあるものの
opengl.orgのリファレンスを読む限りカメラ座標→クリップ座標への変換しか
やっていないように見えます
0015デフォルトの名無しさん
2011/07/01(金) 22:16:16.07本によってはクリップ座標と正規化デバイス座標がごっちゃになっていたり無くなっているのでよく混乱する。
0016デフォルトの名無しさん
2011/07/02(土) 12:45:07.49(すみません、自分の質問がおかしかったです)
ローカル/ワールド/カメラはGL_MODELVIEW_MATRIX (gluLookAt+glTranslatef他)
カメラ→クリップはGL_PROJECTION_MATRIX (glOrthoやglFrustum)
クリップ→正規化デバイス ?
正規化デバイス→デバイスはglViewport。行列不使用
0017デフォルトの名無しさん
2011/07/02(土) 12:55:02.740018デフォルトの名無しさん
2011/07/02(土) 14:56:59.15シェーダー使うとwの出力に何でも代入できたはず。
0019デフォルトの名無しさん
2011/07/02(土) 15:11:41.31CCからNDCへの変換は、「x,y,zをwで割る操作である」と決められてるので
それらを制御するAPIはありませんよ。
ちなみにプログラマブルシェーダの場合、バーテックスシェーダの出力gl_Positionは
クリップ座標であるべしと決められてるので、シェーダでは変換しないです。
どのタイミングで変換されるのか・・・はよく分からんけど、クリッピングが終わって
ラスタライザでトライアングルセットアップされる直前あたりじゃないかなぁ。
0020天使 ◆uL5esZLBSE
2011/07/03(日) 05:37:05.38変数に$ついてる言語触ってるって事だよね
いちいちSHIFT+4キーおして $ 打ちまくってる感触はどう?
ゴッミゴミだな
0021デフォルトの名無しさん
2011/07/03(日) 14:05:16.15でも処理速度がねぇ…
Lua最強!
0022デフォルトの名無しさん
2011/07/03(日) 18:24:13.750023デフォルトの名無しさん
2011/07/03(日) 18:56:36.400024デフォルトの名無しさん
2011/07/03(日) 19:26:04.020025デフォルトの名無しさん
2011/07/03(日) 19:27:25.86ぐぅの音もでないまでに打ちのめすにはどうすればいい?
0026デフォルトの名無しさん
2011/07/03(日) 19:37:38.070027デフォルトの名無しさん
2011/07/03(日) 19:42:52.93| ノ ヽ/⌒) ♪ ぐぅ
/⌒) (゚) (゚) | .| ぐぅ
/ / ( _●_) ミ/ ぐぅ ♪
.( ヽ |∪| / ぐぅ ぐぅ
\ ヽノ / ぐぅ ぐぅ ぐぅ
/ >>23 / ぐぅ ぐぅ
| / ぐぅ ぐぅ ぐぅ ぐぅ
| /\ \ ぐぅ ♪
| / ) )
∪ ( \
\_)
0028デフォルトの名無しさん
2011/07/03(日) 20:27:26.020029デフォルトの名無しさん
2011/07/03(日) 21:25:29.870030デフォルトの名無しさん
2011/07/03(日) 23:42:03.76黙るようなコードを書けば良い
0031デフォルトの名無しさん
2011/07/04(月) 00:54:22.33お互いに相手も知らないし、実際の程度も知らないし、何も知らない状態で
言ってるだけだから普通はスルー
0032デフォルトの名無しさん
2011/07/04(月) 20:25:57.28大抵が何やってもうまくいかずいつもボロクソ言われてるから
せめてネットでは、と>>23みたいな発言するもんだ
気にすることないよ
0033デフォルトの名無しさん
2011/07/04(月) 20:51:17.78| ノ ヽ/⌒) ♪ ぐぅ
/⌒) (゚) (゚) | .| ぐぅ
/ / ( _●_) ミ/ ぐぅ ♪
.( ヽ |∪| / ぐぅ ぐぅ
\ ヽノ / ぐぅ ぐぅ ぐぅ
/ >>23 / ぐぅ ぐぅ
| / ぐぅ ぐぅ ぐぅ ぐぅ
| /\ \ ぐぅ ♪
| / ) )
∪ ( \
\_)
0035デフォルトの名無しさん
2011/07/05(火) 04:26:35.63OpenGLで>>33のスキニングアニメーションをやりたいです
サウンドはOpenALでぐぅぐぅ♪です
0036デフォルトの名無しさん
2011/07/05(火) 07:26:17.68それは、いっしょにやりませんか、というお誘いか?
それとも、何か質問があるのか?
前者なら断る
後者なら、今何ができて何ができないか、質問は何か、ちゃんと言いなさい
0037デフォルトの名無しさん
2011/07/05(火) 09:53:21.030038デフォルトの名無しさん
2011/07/05(火) 12:44:05.760039デフォルトの名無しさん
2011/07/05(火) 19:45:41.240040デフォルトの名無しさん
2011/07/05(火) 21:01:32.450041デフォルトの名無しさん
2011/07/05(火) 21:48:59.550042デフォルトの名無しさん
2011/07/05(火) 22:42:08.980043デフォルトの名無しさん
2011/07/05(火) 22:53:00.620044デフォルトの名無しさん
2011/07/05(火) 23:50:04.800045デフォルトの名無しさん
2011/07/06(水) 02:26:01.66さ、とっとと OpenGL の話しに戻すんだお前らwwwwwwwwww
0046天使 ◆uL5esZLBSE
2011/07/06(水) 06:42:10.73<<<<<<<< つまり、全てがオープンなGirL が居たと言う事ですね。 >>>>>>>>(キリッ!
∧∧∧∧∧∧∧∧(キリッきリッッ!!!キリッッキリッッッ
∨∨
<<<<<< さ、とっとと OpenGL の話しに戻すんだお前らwwwwwwwwww >>>>>>(キリッッッ!!!キリッッッッ!キリッッッッキリキリッ!!!!
0047デフォルトの名無しさん
2011/07/06(水) 07:25:06.990048デフォルトの名無しさん
2011/07/06(水) 07:47:54.37言語訓練のために使用しているハンドルです。
アイと研究員とのやり取りに利用する書き込みなので、
関係者以外はレスしないで下さい。
京都大学霊長類研究所
0049デフォルトの名無しさん
2011/07/06(水) 12:59:27.03京都大学霊長類研究所が何様だよ。
命令すんじゃねーよ!
0050デフォルトの名無しさん
2011/07/06(水) 13:47:10.82glutReshapeWindowは無効なんですか?
どこで呼び出してもウィンドウサイズに
変化がみられません
ちなみに
glutInitWindowSizeはうまくいきます
0051デフォルトの名無しさん
2011/07/06(水) 15:07:27.620052デフォルトの名無しさん
2011/07/06(水) 15:40:29.30ありがとうございます
機能的にWin7でも動くということなので
他の何が原因なのか探ってみます
0053デフォルトの名無しさん
2011/07/07(木) 15:52:47.580054デフォルトの名無しさん
2011/07/07(木) 19:01:29.43それとも回避する方法ある(´・ω・`)?
0055デフォルトの名無しさん
2011/07/07(木) 19:29:27.530056デフォルトの名無しさん
2011/07/07(木) 19:43:36.19GL_MULTISAMPLE
どっちでもポリゴンのアルファだけじゃなく色もアンチエイリアスの影響で値が小さくなるから
黒くなるんだよ
0057デフォルトの名無しさん
2011/07/07(木) 19:53:48.070058デフォルトの名無しさん
2011/07/07(木) 20:03:34.730059デフォルトの名無しさん
2011/07/07(木) 20:07:56.25話し聞いてくれてありがろん
0060デフォルトの名無しさん
2011/07/07(木) 21:32:57.73OpenGL specificationの"4.3 Reading and Copying Pixels"を読んで見たら?
>>54
OpenGL specificationの"3.3 Antialiasing"を読んで見たら?
0062デフォルトの名無しさん
2011/07/08(金) 09:59:25.14ダウンロードした画像リソースとアプリ内に持っている(resファイル配下)
画像リソースとで組み合わせてアルファブレンドを行っていますが、
うまくブレンドされず、後に描画した画像で塗りつぶされてしまいます。
原因がわかる方いらっしゃいましたら、ご教示頂けませんでしょうか
0063デフォルトの名無しさん
2011/07/08(金) 10:35:23.54理由はいろいろ考えられるので自分で調べろ。
0064デフォルトの名無しさん
2011/07/08(金) 13:42:38.33もう数年まともにいじってないからのう。
0065デフォルトの名無しさん
2011/07/08(金) 15:45:42.98TriStripperは16ぐらいで短いストリップを敷き詰めたほうが
バーテックスキャッシュのヒット率が上がっていい、
みたいな事が書いてあるけど。
0066デフォルトの名無しさん
2011/07/08(金) 22:55:33.42ファンばかりでなく、アンチからも愛されるという稀有な存在。
0067デフォルトの名無しさん
2011/07/09(土) 00:26:58.530068デフォルトの名無しさん
2011/07/12(火) 02:32:35.38glClear(GL_COLOR_BUFFER_BIT)を書かなければ描画が蓄積されると思ったのですが、windowはぐちゃぐちゃになって表示できません。
どうしたらよいでしょうか?
0069デフォルトの名無しさん
2011/07/12(火) 02:36:46.84最初だけ glClear() 実行しても駄目?
0070デフォルトの名無しさん
2011/07/12(火) 03:14:43.320071デフォルトの名無しさん
2011/07/12(火) 04:24:47.54ダブルバッファを使わない
glClear()は1度はする
0072デフォルトの名無しさん
2011/07/12(火) 18:54:46.96glGetUniformLocationで-1返るようになった。
0073デフォルトの名無しさん
2011/07/12(火) 18:57:07.95シェーダでuniform変数を定義しててもそれをシェーダ内で使用していなければ
そのuniform変数は無かったことにされ、glGetUniformLocationは-1を返す。
そこんとこ大丈夫?
OpenGL specificationのOpenGL Operation->Vertex Shaders->Uniform Variables
の所を読み返すのだ。
0075デフォルトの名無しさん
2011/07/13(水) 00:15:33.27ゲーム製作とか?
0076デフォルトの名無しさん
2011/07/13(水) 00:19:28.220077デフォルトの名無しさん
2011/07/13(水) 01:02:14.300078デフォルトの名無しさん
2011/07/13(水) 01:14:18.580079デフォルトの名無しさん
2011/07/13(水) 01:23:29.75しかし最近AMDのGPUの方がコストパフォーマンスがいいらし
ノートPCでもRadeonを載せたものが多いようだ。
だが、ATIのGPUでOpenGLプログラミングするのはどうなんだろうか。
AMDの技術関係のスライドの殆どはOpenGLではなくDirect3Dをベースに説明していたり
Geforceで作ったプログラムがRadeonで動かないというのはよく聞くが
逆はあまり聞かないような気がする。
AMDはDirect3Dひいきで、OpenGLのサポートはしかっりしていないような気がするが
ATIのGPUを最後に使ったは7年ぐらい前になるのではっきりした事はわからない。
もしRadeonでOpenGLプログラミングの経験のある方がいれば御意見を伺いたい。
0080デフォルトの名無しさん
2011/07/13(水) 02:54:03.51NVIDIAドライバのOpenGL実装が、優秀すぎると言うか、ゆるすぎる
GLの規格外の実装していても大抵は動いてくれる
そんで、ATI(Radeon)ドライバの場合は
OpenGLの規格に厳密すぎて、ちょっと規格から外れる実装(例えばFBOを作って使う部分とか)
しようものなら、すぐにハングって感じ
まあ、それで英語のGL仕様規格を翻訳しながら読む癖がついたって言えば良い事なのか?w
0081デフォルトの名無しさん
2011/07/13(水) 08:37:50.23意外とOpenGL関係のツールも充実してる
NVIDIAの方が拡張に熱心だから最新機能は使いやすいが
AMDも最新標準まで早いうちにサポートしてるし
今時はNVIDIAの方がOpenGLにはいいってこともなさそうだな
0082デフォルトの名無しさん
2011/07/13(水) 09:29:11.69フリー化されたりAMDに買われた(?)り迷走感が凄い。
昔のgDEBuggerはうちでは動かなかったが、AMD版なら動くかもしれない
0083デフォルトの名無しさん
2011/07/13(水) 12:36:12.37スマフォブームでOpenGLが再び脚光を浴びたの知らないのか
0084デフォルトの名無しさん
2011/07/13(水) 13:59:35.550085デフォルトの名無しさん
2011/07/13(水) 21:58:38.330086デフォルトの名無しさん
2011/07/13(水) 21:59:59.900087デフォルトの名無しさん
2011/07/13(水) 22:18:57.01主流はって意味だろ流れを読め。市ね
0088デフォルトの名無しさん
2011/07/13(水) 22:27:39.03アスペかお前ら
0089デフォルトの名無しさん
2011/07/13(水) 22:47:15.180090デフォルトの名無しさん
2011/07/13(水) 23:59:12.460091デフォルトの名無しさん
2011/07/14(木) 00:08:30.740092デフォルトの名無しさん
2011/07/14(木) 02:38:40.480093デフォルトの名無しさん
2011/07/14(木) 10:26:18.35真面目な話をしてる時は空気を読め
0094デフォルトの名無しさん
2011/07/14(木) 10:31:38.320095デフォルトの名無しさん
2011/07/14(木) 12:05:18.62迷惑な人なんですね。
0096デフォルトの名無しさん
2011/07/14(木) 20:04:25.530097デフォルトの名無しさん
2011/07/14(木) 21:16:48.40調べたらglew使えって書いてあったんで導入してみたんだけど
glewだとGL_PIXEL_UNPACK_BUFFER,がなくてGL_PIXEL_UNPACK_BUFFER_EXT
とかになってるんだけど、
GL_PIXEL_UNPACK_BUFFER=GL_PIXEL_UNPACK_BUFFER_EXTって考えておけ?
0098デフォルトの名無しさん
2011/07/14(木) 22:31:07.260099デフォルトの名無しさん
2011/07/15(金) 00:38:46.99>>97
多分同じ定数じゃないかな?
>>98
むしろあなたがどのLLを使えるのかが大切なような。
ちなみにPerlはGLUT/OpenGL使うのが超簡単だった。
Ioも楽だったと思う。Gaucheとかもすぐ使えるんじゃね。
0100デフォルトの名無しさん
2011/07/15(金) 06:57:27.89拡張でもないのにあのapiだけ呼べない、あの定数がないとかあるからなー
0101デフォルトの名無しさん
2011/07/15(金) 09:51:31.69何の意味あんの?
0102デフォルトの名無しさん
2011/07/15(金) 10:30:40.69コンパイラによっては通すかもしんないけど意味ないんじゃね
0103デフォルトの名無しさん
2011/07/16(土) 10:31:13.72完全に透明なピクセル(α=0)を書き込んだらZバッファーって更新される?
どうもメタセコイアだと更新されなくて、OpenGLだと更新されている気がする。
手前の透明ピクセルを書いてから、後ろのピクセルを書くとZで落とされる....
0104デフォルトの名無しさん
2011/07/16(土) 10:37:18.480105デフォルトの名無しさん
2011/07/16(土) 10:39:15.81自分で書いた処理だとこう表示される、どうして?って話か
0106103
2011/07/16(土) 10:57:59.05この画像のサンダルの足の甲の部分なのですが、
http://www.picamatic.com/show/2011/07/16/05/53/7697888_890x672.png
αテストで落ちていればZには描かれない=上の画像ではαテストが行われてない
という理解でOK?
設定は間違えてないはず。
0107デフォルトの名無しさん
2011/07/16(土) 11:19:04.330108デフォルトの名無しさん
2011/07/16(土) 11:19:53.870109デフォルトの名無しさん
2011/07/16(土) 11:23:31.89この欠け方は確かに気になる。直したくなる
0110デフォルトの名無しさん
2011/07/16(土) 11:23:42.370111デフォルトの名無しさん
2011/07/16(土) 11:29:26.47もうちょい閾値上げてみたら?
0112デフォルトの名無しさん
2011/07/16(土) 11:53:18.05矢印の先端から下(少しだけ左)の部分に数ピクセル描かれてる部分があるから、
αテストはちゃんとできてるんじゃないのかなぁ。
他の問題もあるのかも、って気もする。
別の角度からの画像とかは無いですか?
0113デフォルトの名無しさん
2011/07/16(土) 12:57:24.99このモデルは構成がかなり複雑で
右サンダル --> 両足 --> 左サンダル と描画してるから左足は常に正常に表示できる。
で、みなさんの意見を参考にいろいろ試すとαテスト抜けてねーーーー!!
っていうか絶対αテストしてねーーーー!!
(外部から見たらしたことになってるけど、レンダラー内部で無視しているようだ)
手前にα付きの板ポリを描画して、その奥に球を書いた図。
http://www.picamatic.com/show/2011/07/16/07/47/7698154_890x672.png
ちなみにレンダラーはHI社のもの。
雑な実装しやがって(- -メ
0114デフォルトの名無しさん
2011/07/16(土) 13:01:37.85PFYさんポニメガ娘。http://www.cg-site.net/products/127155
この場をお借りして感謝の意を表します。
こうやってデータを公開してくれているのはありがたい。
できればアニメーション付きで欲しいな(チラッ
0115デフォルトの名無しさん
2011/07/16(土) 13:03:54.500116デフォルトの名無しさん
2011/07/16(土) 13:44:47.00だったら「OpenGLで表示すると」じゃなくて「そのレンダラで表示すると」の話になっちゃうから
何とも言えないというか、どうしようもないというか。
0117デフォルトの名無しさん
2011/07/16(土) 13:47:42.87OpenGLでプログラミングを行っているスレに、質問しにきた訳ですね。
もう無視でいんじゃね
0118デフォルトの名無しさん
2011/07/16(土) 13:56:27.74なんで?と聞かれても、HIさんに聞いてくださいとしか言えないよね。
とりあえず・・・
>完全に透明なピクセル(α=0)を書き込んだらZバッファーって更新される?
これはYES。
>αテストで落ちていればZには描かれない=上の画像ではαテストが行われてない
>という理解でOK?
これもYES。ただ、112で指摘した数ピクセルの件が気になるっちゃ気になる。
まぁでも、113で結論は出たっぽいので、いいのかな。
0119デフォルトの名無しさん
2011/07/16(土) 18:27:31.63ああ、このモデルなら既に頂いてたわ…
http://www.dotup.org/uploda/www.dotup.org1795019.jpg
0120デフォルトの名無しさん
2011/07/17(日) 19:41:56.61これはひどいな なんていうソフト?
0121デフォルトの名無しさん
2011/07/17(日) 21:24:01.480122デフォルトの名無しさん
2011/07/18(月) 00:43:39.50centerがnearとfarの中心になるように死体咳が縮尺されるってことですか?
0123デフォルトの名無しさん
2011/07/18(月) 00:46:22.92まったく関係のない機能を並べて
疑問を投げられても。
0124デフォルトの名無しさん
2011/07/18(月) 00:51:57.13gluLookAt の center は、eye から見てその方向を見るってだけで、(center - eye)ベクトルの長さに意味はないからな。
0125デフォルトの名無しさん
2011/07/18(月) 00:56:46.96gluLookAtのupと同じように向きだけが重要なんですね
カメラのモデルを完全に間違って理解してた
0126デフォルトの名無しさん
2011/07/18(月) 01:12:31.27下記の順で定期的にレンダリングしてるんですけど
ライトまでくるくる廻ってるように見えます。
自分がしたいことはライトは一方向からずっと照らしてて
立方体だけくるくる廻ってるのをカメラで狙って画面に表示したいんですけど
立方体が回転にあわせて明るくなったり暗くなったりしてしまいます。
これって手順を間違えてライトも回してしまってるんでしょうか。
どういう順にライトの設定、カメラの設定、立方体のレンダリングをすれば
意図した表示が出来るんでしょうか。
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
setCamera(); // 固定位置
setLighting(); // 固定位置
glRotatef();
renderCube();
0127デフォルトの名無しさん
2011/07/18(月) 01:26:58.40glRotatef();
renderCube();
glPopMatrix();
0128デフォルトの名無しさん
2011/07/18(月) 01:35:35.66>>126 であってる。
立方体の法線が全部同じ方向向いてたりとかじゃね
glut使ってるならrenderCubeをglutSolidCubeとかにしてみたら
0129デフォルトの名無しさん
2011/07/18(月) 01:38:31.34こうしましたが変化なしでした
void render()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
setLighting(); // 固定位置
setCamera(); // 固定位置
glPushMatrix();
glRotatef(rot, 1.4, 1.4, 0.0);
renderCube(0.6); // 一辺0.6の立方体表示
glPopMatrix();
rot += 12;
if(rot == 360)rot = 0;
}
0130デフォルトの名無しさん
2011/07/18(月) 02:08:12.57これっぽいです!
glutは使ってないからわからないですけど
glBegin(GL_POLYGON);でやってるので多分法線設定されてない・・・?
試しに頂点配列でやってみます。
0131デフォルトの名無しさん
2011/07/18(月) 02:30:41.91glBegin使ってるならglNormal使わなきゃ法線設定しないよ
0132デフォルトの名無しさん
2011/07/18(月) 02:57:51.16わ、ほんとだ。 できましたー!
0133デフォルトの名無しさん
2011/07/18(月) 03:39:33.45OSはWindowsVista32bit グラボはGeforce8600GTS
基本ヘッダだけ最新にしてwglGetProcAddressで使うAPIを持ってくるようなんだが、
OpenGL4.0で古いのが一掃されたみたいだがそのヘッダが見つからない。
gl3.h gl.h glext.h どれ(すべて?)使うべきなのか・・・。スタブライブラリいらないんだろうかとか
opengl.orgのスペックカード見て関数取り出していくような感じなんだろうか
最終的にWindowsでOpenGLES2.0互換の環境つくりたいんだ
ご免ね、DirectX畑でOpeGLの作法分からなくてご免ね
0134デフォルトの名無しさん
2011/07/18(月) 04:17:01.050135デフォルトの名無しさん
2011/07/18(月) 06:57:57.74http://code.google.com/p/angleproject/
自分でビルドする必要はあるが、あとはインポートライブラリをリンクするだけで使えるはず
そうでなければGLES2互換用の拡張とか使うことになるが8600で使えたかちょっとわからない
0136133
2011/07/18(月) 07:30:03.94Androidエミュレータかな? あれはOpenGLES2.0動かないんだ・・・
あとすごい重い
>>135
ありがとう。とりあえずそれを調べてみる
拡張はOpenGL Extension Viewerで見てみたら
3.3まで100% 4.0全滅 4.1がES2.0関連がOK?のようだ.具体的には
GL_ARB_ES2_compatibility OK
GL_ARB_get_program_binary OK
GL_ARB_separate_shader_objects OK
GL_ARB_viewport_array OK
Shading language version 4.10 NG
GL_ARB_shader_precision NG
GL_ARB_vertex_attrib_64bit NG
のようなのでいける?のかな
OpenGL ES2.0の関数ヘッダ、ポインタとwgl系の関数ヘッダ、ポインタのファイルを
作ればいいんかな(あとegl)
とりあえずやってみる。ありがとう
0137デフォルトの名無しさん
2011/07/18(月) 11:03:22.01eeeee
俺後でやろううと楽しみにしてたのに・・・・
動かないのか・・・・
0138デフォルトの名無しさん
2011/07/18(月) 14:16:14.585年以上前のintelのヘボgpuでも動くし
0139デフォルトの名無しさん
2011/07/18(月) 23:36:06.06WindowsでES2.0やるときはいつもそうしてる。
MacならiPhoneシュミレーターがオススメ。
Androidシュミレーターはゴミ。
0140デフォルトの名無しさん
2011/07/19(火) 00:30:16.63画面の正面が明るくならず上から照らされる感じになるのは
どんな理由が考えられますか?
gluLookAt(0, 0, -5, 0, 0, 0, 0, 1, 0);
GLfloat lightPosition[4] = {0.0f, 0.0f, -5.0f, 0.0f};
glLightfv(GL_LIGHT0, GL_SPECULAR, lightPosition);
0141デフォルトの名無しさん
2011/07/19(火) 00:44:11.71書き間違えましたここ誤記です><
×glLightfv(GL_LIGHT0, GL_SPECULAR, lightPosition);
○glLightfv(GL_LIGHT0, GL_POSITION, lightPosition); ←ちゃんとこうしてます!
0142デフォルトの名無しさん
2011/07/19(火) 01:16:14.320143デフォルトの名無しさん
2011/07/19(火) 01:16:50.35俺の超能力だと、gluLookAtとglLightfvの間にglRotatefがあると思う。
あと関係ないと思うけど、点光源をカメラと同じ「位置」に置きたいなら、ライト位置のwは1.0だよ
0144デフォルトの名無しさん
2011/07/19(火) 01:19:16.170145デフォルトの名無しさん
2011/07/19(火) 01:48:32.59キューブ表示はこんな感じです。法線おかしいとこあります?
http://ideone.com/WyKQr
0146デフォルトの名無しさん
2011/07/19(火) 02:01:52.080147デフォルトの名無しさん
2011/07/19(火) 21:01:57.73ありがとうございますーー!!
0148デフォルトの名無しさん
2011/07/20(水) 14:13:12.32基礎から現在のゲーム業界で使われるテクニックまでトータルで解説してあるもの。
英語でもいいです。
0149デフォルトの名無しさん
2011/07/21(木) 02:38:25.79string subscript out of range
と出るのですが 解決法ありますか?
0150デフォルトの名無しさん
2011/07/21(木) 09:25:48.83どこにでもあるだろ
0151デフォルトの名無しさん
2011/07/21(木) 11:17:43.81そういう回答が一番イラネ
0152デフォルトの名無しさん
2011/07/21(木) 12:48:24.88「Real-Time Shadows」という本が今まで進化してきた理論と実践の
総括的な内容となっていると期待している
出版社のサイトによると 2011/7/25 発売だそうだ
http://www.crcpress.com/product/isbn/9781568814384
0153デフォルトの名無しさん
2011/07/21(木) 21:30:04.11どこにでもあるだろ
0154デフォルトの名無しさん
2011/07/22(金) 02:47:07.23影というより全体的だけど、コンシューマ機の仕組み載ってると言う意味で。第3版翻訳マダー?
>>139
EGLのWindows実装ってもうあったっけ?
0155デフォルトの名無しさん
2011/07/22(金) 13:20:03.67いくつかあるが製品に組み込んでokかどうかは知らん
0156デフォルトの名無しさん
2011/07/24(日) 14:09:36.740157デフォルトの名無しさん
2011/07/24(日) 14:57:10.413組のfloatを持ってるだけのクラス。
これはワールド上に配置される何かって位置づけにしてるので、それだけ。
描画先デバイスのアスペクト比とかは、別の立ち位置のクラスに持たせてる。 そんな構成
0158デフォルトの名無しさん
2011/07/24(日) 14:59:43.87特に不要というか
0159デフォルトの名無しさん
2011/07/24(日) 15:09:05.19むずー
0160デフォルトの名無しさん
2011/07/24(日) 17:51:23.74基本的なパラメーターfov,aspect_ratio,near,far.
あとはT,R,S,M(それぞれ平行移動、回転、スケーリング、任意の4x4行列)
0161デフォルトの名無しさん
2011/07/25(月) 17:59:31.08こういう順番(回転、生成、ティーポット)で書くとテクスチャーがティーポットの回転にくっついて
一緒に回るのですが、これが納得いきません。
// 回転
glRotatef (angle, 0,1,0);
// テクスチャーの自動生成
glTexGenfv (GL_S, GL_EYE_PLANE, tex_gen_func);
// ティーポット
glutSolidTeapot (1);
glTexGenfv()を発行した段階でMODELVIEW行列はすでに回転済み(実際に取得して確かめた)にもかかわらず
なぜテクスチャーは視点に固定にならないのでしょうか?
床井先生のところhttp://marina.sys.wakayama-u.ac.jp/~tokoi/?date=20041229
でも同様の解説があり動作自体は問題ありません。
ただOpenGLがこういう動作になるのが納得行きません。
0162デフォルトの名無しさん
2011/07/25(月) 20:31:47.580163デフォルトの名無しさん
2011/07/25(月) 21:01:14.810164デフォルトの名無しさん
2011/07/25(月) 21:23:49.220165デフォルトの名無しさん
2011/07/25(月) 21:50:43.30ちょっと質問の意味がわかってないんだが、GL_EYE_PLANEは関係ないんじゃないか?
視点座標での生成はGL_TEXTURE_GEN_MODEをGL_EYE_LINEARにするとできる。
あとテクスチャ座標の自動生成は描画時点で計算だからな
glTexGenを呼び出したタイミングは関係ない
0166デフォルトの名無しさん
2011/07/25(月) 21:59:15.83GL_EYE_PLANEのパラメータはそれを設定したとき(glTexGenを呼んだとき)のモデルビュー行列で変換されるよ
だからティーポットを描くときのモデルビュー行列で呼んだら、ティーポットのモデルビュー行列で変換されて、ティーポットの位置や向きと連動するよ
モデルビュー行列が恒等変換のときにglTexGenを呼べば、ティーポットの向きに関わらず一定になるよ
0167デフォルトの名無しさん
2011/07/25(月) 23:27:04.78生成される座標 = p1x + p2y + p3z + p4w
従ってGL_EYE_LINEARの時はビュー座標(x,y,z,w)をパラメーター(p1,p2,p3,p4)で変換してテクスチャー座標ですよね?
>>161の場合はティーポットが回転すると、例えば注ぎ口のビュー座標も変化するので、それに応じてテクスチャー座標も変化しますね。
ところが実際にはそうならず常に一定のテクスチャー座標が割り当てられます。
これはどう説明するのがいいのでしょうか?
0168161
2011/07/25(月) 23:35:51.07>>167の式はGL_OBJECT_LINEARの時だけですね。2ページ後ろに
生成されるテクスチャ座標 = p1'x + p2'y + p3'z + p4'w
ただし(p1' p2' p3' p4') = (p1 p2 p3 p4) M^-1 (Mはモデルビュー行列)
というわけでパラメーターの方がモデルビュー行列に応じて変化するんですね。
こんなのわかるか〜 (ノ`Д´)ノ彡┻━┻
素直にビュー座標にパラメーター(一定)をかけて作ってくれよ...
シャドーマップを実装しようと思っているのですが先は長そうです。
0169161
2011/07/25(月) 23:50:56.45なんでわざわざGL_EYE_LINEARでビュー座標を使えと指定しているのにオブジェクト座標に戻すのか・・・
仕様策定の時に酩酊していたとしか思えない。
この仕様はおかしい。
0170デフォルトの名無しさん
2011/07/26(火) 00:24:13.53OpenGLのGはGirlのG
OpenGLのLはLadyのL
0171デフォルトの名無しさん
2011/07/26(火) 00:55:54.070172デフォルトの名無しさん
2011/07/26(火) 08:29:25.680173デフォルトの名無しさん
2011/07/26(火) 09:35:07.290174デフォルトの名無しさん
2011/07/26(火) 09:42:35.670175デフォルトの名無しさん
2011/07/26(火) 10:12:52.140176デフォルトの名無しさん
2011/07/26(火) 13:23:28.660177デフォルトの名無しさん
2011/07/26(火) 21:13:25.710178デフォルトの名無しさん
2011/07/26(火) 21:15:25.790179デフォルトの名無しさん
2011/07/26(火) 21:17:52.060180デフォルトの名無しさん
2011/07/26(火) 21:22:04.790181デフォルトの名無しさん
2011/07/26(火) 21:32:06.070182デフォルトの名無しさん
2011/07/26(火) 22:27:28.18それを作るのが醍醐味。 てか、OpenGLの、ゲーム向け、ってどういう事だよ
0183デフォルトの名無しさん
2011/07/26(火) 22:41:41.060184デフォルトの名無しさん
2011/07/26(火) 23:04:08.780185デフォルトの名無しさん
2011/07/26(火) 23:19:09.370186デフォルトの名無しさん
2011/07/26(火) 23:23:11.19角が攻撃力高いです
0187デフォルトの名無しさん
2011/07/26(火) 23:27:42.24ダンボールが雨にぬれるとダンボールがふやけてプレイヤーは死にます
これはプレイヤーの命がダンボールにこめてあるためです。
0188デフォルトの名無しさん
2011/07/27(水) 06:20:23.71gl.hやglu.hの関数を使用する方法はありませんか?
なぜこんなことを言うのかというと他のライブラリとwindows.hが一部競合
してしまって・・・無理なら他の解決策を考えます。
すごく具体的にいうと、juce libraryです。
0189デフォルトの名無しさん
2011/07/27(水) 09:36:26.13思うけど・・・どのヘッダだったかな。忘れちゃった。
あるいは、WINGDIAPIとAPIENTRYを自分で定義してやれば?
0190188
2011/07/27(水) 15:44:42.35ありがとうございます。
アドバイスにしたがって定義してみました
#ifdef _WIN32
#define WINGDIAPI __declspec(dllimport)
#define APIENTRY __stdcall
#define CALLBACK __stdcall
#endif
一応競合は解消され、コンパイル、動作ともに良好です。
が、とても無理やりなかんじです。
なにか他に方法を知っている方がいらっしゃいましたら、
教えていただければ幸いです。
0191デフォルトの名無しさん
2011/07/27(水) 16:38:36.870193デフォルトの名無しさん
2011/07/27(水) 19:46:39.510194デフォルトの名無しさん
2011/07/27(水) 19:59:14.780195デフォルトの名無しさん
2011/07/27(水) 19:59:22.670196193
2011/07/27(水) 20:23:53.05非常に良さそうなのですが、ウィンドウを作らないでOpenGLコンテキストだけ作れませんか?
ウィンドウ自体はFLTKを使って作って、その中の一部のウィンドウだけ(ウィンドウツールキットとは独立して)OpenGLを使いたいです。
0197デフォルトの名無しさん
2011/07/27(水) 20:36:39.760198デフォルトの名無しさん
2011/07/27(水) 20:44:07.60それとも、OpenGLコンテキスト作る他に何か求めてるものでもあるのか
0199デフォルトの名無しさん
2011/07/27(水) 20:50:26.720200193
2011/07/27(水) 21:55:35.06ありがとうございました。
0201デフォルトの名無しさん
2011/07/27(水) 22:20:53.90Windows専用でいいじゃない
0202デフォルトの名無しさん
2011/07/27(水) 23:09:01.310203デフォルトの名無しさん
2011/07/27(水) 23:53:03.070204デフォルトの名無しさん
2011/07/28(木) 00:21:21.50そんなバカみたいな事しなくても、VC++使う時で、特に windows.h includeしたくない時は、
コンパイラのプリプロセッサ定義を _CONSOLE にして、リンカのサブシステム指定を WINDOWS にしてやればおk
そうすると、メインエントリが WinMain じゃなくて、main になるので、
windows.h も stdafx.h も必須じゃなくなる。
※要はコンソールプログラムとしてコンパイルはされるが、
サブシステムとして コンソールベースでなく、ウィンドウGUI前提になるので、多分望みどおりになる
※ただし、勿論当然、win32は扱えなくなる。自前で改めて includeすれば当然使えるが。
また、これらの設定を IDE の GUI から行わずに、プリプロセッサマクロで指定したい場合は、
_WIN32 だったかが定義されてるか否かで、ifdef すればいい
0205デフォルトの名無しさん
2011/07/28(木) 00:22:47.13○定義されてるか否かで、分岐すればいい
ワケわからん事言ってしまった
0206デフォルトの名無しさん
2011/07/28(木) 00:49:05.37特別なことじゃない
それに分かりやすい
0207デフォルトの名無しさん
2011/07/28(木) 00:54:52.66いや ifdef を使う使わないじゃなくて、意味が重複したから訂正しただけ
0208デフォルトの名無しさん
2011/07/28(木) 00:58:26.660209デフォルトの名無しさん
2011/07/28(木) 01:17:10.970210デフォルトの名無しさん
2011/07/28(木) 02:00:29.430211デフォルトの名無しさん
2011/07/28(木) 08:06:22.17gluUnProject
0212デフォルトの名無しさん
2011/07/28(木) 13:45:16.28なぜ方向として(0,0,1)を指定するとZ軸正の方向を向かずに負の方向を向くのでしょうか?
単なる誤植?
0213212
2011/07/28(木) 13:45:45.130214デフォルトの名無しさん
2011/07/28(木) 14:42:29.13向きが(0, 0, 1)の場合は法線も(0, 0, 1)の時最大になる
外から見た場合の向きとは逆向きを指定しないといけないんだよな
0215デフォルトの名無しさん
2011/07/28(木) 18:34:35.63それをメインメモリにコピーしてPNG画像で出力仕様としています。
テクスチャーからメインメモリにコピーするときに、ドキュメントには
glGetTexImage (GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_BYTE, pixels);
というようにGL_DEPTH_COMPONENTを<<<指定してはいけない>>>と書かれていますが、
glGetTexImageを使わずにどうやってデプステクスチャーからメインメモリにコピーすればいいか教えてください。
ちなみに試しにやってみたら正しく取れているようです....
(デプスバッファーをちょくに読み取るのはできましたがデプステクスチャーから読む方法を探しています)
0216デフォルトの名無しさん
2011/07/28(木) 19:51:24.71なんという非直感的な仕様
0217デフォルトの名無しさん
2011/07/28(木) 21:06:51.32つまり +z 方向の無限遠点に光源があるんだと思うとスッキリする
0218デフォルトの名無しさん
2011/07/28(木) 21:19:29.84アホか。
0219デフォルトの名無しさん
2011/07/28(木) 21:26:48.17>+z 方向の無限遠点に光源がある
>「位置」を指定
0220デフォルトの名無しさん
2011/07/28(木) 21:28:47.60If the last value, w, is zero, the corresponding light source is a
directional one, and the (x, y, z) values describe its direction.
ハッキリ (x, y, z) は 「向き」 だと書かれてるからなぁ
w で割って (0, 0, +∞) の「位置」に点光源がある(平行光線)と考えるのは、
結果的にそう考えても(この件に関しては)不都合がないというだけの話でしょ
その考え方は、方程式の授業で移項という操作を教え込まれるみたいで、
やはりなんか違和感があるんだよなぁ
文句ばかり言っても全く進まないから、>>217 の考え方で乗り切るしかないけど
0221デフォルトの名無しさん
2011/07/28(木) 21:30:38.820222デフォルトの名無しさん
2011/07/28(木) 22:16:50.080223デフォルトの名無しさん
2011/07/28(木) 22:54:30.93元々数学が得意な人と、そうでない人の間には、理解し難い溝がある
0224デフォルトの名無しさん
2011/07/28(木) 23:05:03.320225デフォルトの名無しさん
2011/07/28(木) 23:09:21.250226デフォルトの名無しさん
2011/07/29(金) 02:47:07.00GL_EXT_shadow
0227デフォルトの名無しさん
2011/07/29(金) 08:54:38.68ARB_depth_texture拡張じゃね
3.0以降は標準ぽい
0228デフォルトの名無しさん
2011/07/29(金) 21:50:37.82直接OpenGLを使う方法をとっている本やWebサイトを教えてください
0229デフォルトの名無しさん
2011/07/29(金) 22:13:34.54英語じゃだめ?
0230デフォルトの名無しさん
2011/07/29(金) 22:28:09.74出来れば日本語のほうが嬉しいですが、英語でもかまいません
0231デフォルトの名無しさん
2011/07/29(金) 22:59:11.37それでは http://nehe.gamedev.net/
ページ右の Legacy Tutorials のレッスンを 01 から順に見るといい
特に 01 では Windows でレンダリング コンテキストを作るところから解説してる
0232デフォルトの名無しさん
2011/07/29(金) 23:03:55.25ありがとうございます
0233デフォルトの名無しさん
2011/07/30(土) 16:33:36.78Desktop Tutorialが準備中で
これまでのTutorialがレガシー扱いになってるな。
4系対応に期待
0234デフォルトの名無しさん
2011/07/31(日) 23:00:25.69#extension GL_ARB_draw_instanced : require
しなきゃいけなかったのか。コレで実験できる
0235デフォルトの名無しさん
2011/08/01(月) 00:22:04.150236デフォルトの名無しさん
2011/08/01(月) 00:59:12.280237デフォルトの名無しさん
2011/08/01(月) 02:52:36.560238デフォルトの名無しさん
2011/08/01(月) 03:22:17.76OK。巣に帰ろう
0239190
2011/08/01(月) 04:26:24.97ありがとうございます。
ですが、問題はマクロやテンプレートの競合で、
WinMainはもともと使っていませんでした。
stdafx.hはプリコンパイル済みヘッダも今回は使っていません。
今はサブシステム指定を WINDOWSにしてエントリーポイントだけ、
mainCRTStartupに変更しています。
ただデバッグだとコンソールが便利なのでリリースだけですが
0240デフォルトの名無しさん
2011/08/02(火) 11:04:04.62いるサイトをご存知ありませんでしょうか?
なかなか見つかりません。
αブレンディングがOpenGLES1.X系でうまくいっておりません。
0241デフォルトの名無しさん
2011/08/02(火) 11:16:01.060242デフォルトの名無しさん
2011/08/02(火) 14:53:27.050243デフォルトの名無しさん
2011/08/02(火) 17:05:38.540244デフォルトの名無しさん
2011/08/02(火) 21:56:34.02ドライバのバグ修正なら機種を限定しないと見つからんだろう
0245デフォルトの名無しさん
2011/08/03(水) 00:34:42.460246デフォルトの名無しさん
2011/08/03(水) 01:03:07.110247デフォルトの名無しさん
2011/08/03(水) 01:32:54.450248デフォルトの名無しさん
2011/08/03(水) 01:36:14.590249デフォルトの名無しさん
2011/08/03(水) 07:03:17.62ですよね
ただglAccumでINVALID_OPERATIONが返ってくるんですよ
多分glutInitDisplayMode(GLUT_ACCUM)で状態変えてないからだと思うんですが
これって中では何をしてるんですか?
0250デフォルトの名無しさん
2011/08/03(水) 12:37:59.38WindowsならChoosePixelFormatで使う値の変更
0251デフォルトの名無しさん
2011/08/03(水) 18:05:06.70もうちょっと調べてみます
0252デフォルトの名無しさん
2011/08/03(水) 22:34:01.02glutを使うプログラムをテストするとアキュムレーションバッファが使える
glutを使わないプログラムだとアキュムレーションバッファが使えない
どうもバッファ自体が存在しないらしい
PIXELFORMATDESCRIPTORもいじってみたが効果無し
どなたかアキュムレーションバッファを増築?させる方法をご存知であればご教授願います
0253デフォルトの名無しさん
2011/08/03(水) 22:36:27.20/ \
/ ヽ
l:::::::::. |
|:::::::::: (●) (●) |
|::::::::::::::::: \___/ |
ヽ:::::::::::::::::::. \/ ノ
\ / ♪
/ ::::i \
/ / ::::|_/
\/ ::|
| ::::| キュム
i \ ::::/ キュム
\ |::/
|\_//
\_/
0254252
2011/08/03(水) 22:38:44.41やりたいことは被写界深度からずれた時のボケとモーションブラーなのでアキュムレーションバッファを
使わずにこれらを実装する方法があればご指南願います
0255デフォルトの名無しさん
2011/08/03(水) 22:39:25.41多分、そこまで触ってる人いないかもしれない。
あるいはいたとしても、たまにしか来ないかもしれない。
勿論、俺はわからない
0256デフォルトの名無しさん
2011/08/03(水) 22:51:46.37以前、マルチサンプリングがうまくいかなかったときに、
wglChoosePixelFormatARB
で何とかした記憶がある
アキュムレーションバッファは、やったことないから知らない(´・ω・`)
0257デフォルトの名無しさん
2011/08/03(水) 22:53:09.79> PIXELFORMATDESCRIPTORもいじってみたが
どう弄ったんだよ書いてみろ。
0258デフォルトの名無しさん
2011/08/03(水) 22:53:33.17glutだと動くならglutのソース落としてきてglut_win.cのglutCreateWindowの中で
PixelFormatがらみでなにやってるかprintfでもしてみればいいのでは
0259デフォルトの名無しさん
2011/08/03(水) 22:57:30.35この関数でエラー帰ってきてたりしてない?GLUTで使えるんならビデオカードが対応してないことは
ないだろうし。どっかにGLUTのソースなかったっけ。まぁまだ万策と言うには早いな
ボケとモーションブラーならステンシルバッファとかテクスチャに描画して拡大縮小なりフィルタなり
色々あった気がする。GAME WATCHのグラフィックス講座でも見てみたらいいんでないか
0260252
2011/08/03(水) 23:58:33.54とりあえずやってみたことは以下です
HDC hDC = wglGetCurrentDC();
PIXELFORMATDESCRIPTOR pfd = {
.....
1, //accumulation buffer
.....
};
int iPF = ChoosePixelFormat(hDC,&pfd);
SetPixelFormat(hDC,iPF,&pfd);
(pfdの他の値は
http://www.sm.rim.or.jp/~shishido/gltest.html)
これから>>258,>>259辺りを検証してみます
0261デフォルトの名無しさん
2011/08/04(木) 00:01:42.30はあ。1bit のアキュムレーションバッファか
0262デフォルトの名無しさん
2011/08/04(木) 00:02:38.00http://msdn.microsoft.com/en-us/library/dd368826%28v=vs.85%29.aspx
これ見て自分がやってることのおかしさ分からん?
0263252
2011/08/04(木) 00:45:37.89結局以下のようにしました
HDC hDC = wglGetCurrentDC();
PIXELFORMATDESCRIPTOR pfd;
int iPF = GetPixelFormat(hDC);
DescribePixelFormat(hDC, iPF,sizeof(PIXELFORMATDESCRIPTOR), &pfd);
pfd.cAccumRedBits = pfd.cAccumBlueBits = pfd.cAccumGreenBits = pfd.cAccumAlphaBits = pfd.cAlphaBits;
pfd.cAccumBits = pfd.cAccumAlphaBits + pfd.cAccumRedBits + pfd.cAccumGreenBits + pfd.cAccumBlueBits;
iPF = ChoosePixelFormat(hDC,&pfd);
SetPixelFormat(hDC,iPF,&pfd);
これでAccumのBitsは変わったのですが、相変わらずエラーがでます。
それと何故かAccum側はColor側と同じバイトを用意させてるはずが、2倍のビットが用意されます。
むう、何かまだ勘違いしていそうです
素直にFrame Buffer Objectを使うようにしたほうがいいんじゃないの?
0265デフォルトの名無しさん
2011/08/04(木) 08:02:24.08速度気にしないならいいけど
0266252
2011/08/04(木) 11:51:52.16Frame Buffer Object (+Shader?)で同じことができそうですか?であればそっちを勉強しようと思います
重いのはちょっと嫌ですし
0267デフォルトの名無しさん
2011/08/04(木) 11:56:58.750268デフォルトの名無しさん
2011/08/04(木) 13:12:30.02glutで動くならそのままglut使っとけ
0269デフォルトの名無しさん
2011/08/05(金) 00:00:18.79それともポリゴン描画すら出来ない?
古くてFBO+Shaderが使えないけどアキュムレーションバッファが使えるGPUでも動かしたいなら
アキュムレーションバッファを使うのがいいかも。
0271デフォルトの名無しさん
2011/08/05(金) 11:57:20.12これだけアドバイスいただいてあっさりあきらめてしまったのは申し訳なかったです。
精進いたします。
>>269
ポリゴン描写は出来ています。
>>270
そういった情勢の話はありがたいです。
しばらくはFBO+Shaderの方向で勉強です。
0272デフォルトの名無しさん
2011/08/05(金) 20:45:32.060273デフォルトの名無しさん
2011/08/05(金) 21:47:30.09FBO は便利。とにかく便利。マジおすすめ。
がんばって勉強するのだ。
0274デフォルトの名無しさん
2011/08/06(土) 23:02:50.00「バッファリングの半分は優しさで出来とる。」
0275デフォルトの名無しさん
2011/08/07(日) 00:09:34.39以上です
0276デフォルトの名無しさん
2011/08/08(月) 13:23:12.240277デフォルトの名無しさん
2011/08/08(月) 18:43:11.33金返せごるあ!
っていうのは外出ですか
0278デフォルトの名無しさん
2011/08/08(月) 22:14:20.910279デフォルトの名無しさん
2011/08/09(火) 07:24:35.780280デフォルトの名無しさん
2011/08/09(火) 09:22:01.72まあ、2.1で手に余っていますが
そもそもOpenGL4クラスのGPUはどのくらい普及しているのだろうか。
俺はまだOpenGL3クラスの3Dアクセラレータを使ってるぜ。
0282デフォルトの名無しさん
2011/08/10(水) 07:54:44.27ゲーマーに限って言えば、steamの統計が参考になるかも、意外と最近はDX11クラス使ってる人が多かった気が。
0283デフォルトの名無しさん
2011/08/10(水) 10:51:55.81似たようなものをみつけたけど解決方法は不明……。
http://labo.xo-ox.net/article/83721955.html
0284デフォルトの名無しさん
2011/08/10(水) 12:20:09.070285デフォルトの名無しさん
2011/08/10(水) 14:50:06.63フォグを間違って理解しているぞ
0286デフォルトの名無しさん
2011/08/10(水) 17:51:56.660287デフォルトの名無しさん
2011/08/10(水) 18:10:20.53理解も何もキミの理解が間違ってる
シェーダーってのは、基本的にポリゴンのシェーディングをする物
ポリゴンが無い部分はフレームバッファ(テクスチャだとFBOとか)だよ
0288デフォルトの名無しさん
2011/08/10(水) 18:20:48.90フラグメントは文字通りポリゴンのフラグメントのシェーダーなわけか
そうするとバーテックスシェーダーって言い方が微妙な気がしてきたがまあいいや
ありがとう
0289285
2011/08/11(木) 00:21:12.860290デフォルトの名無しさん
2011/08/11(木) 01:15:53.71三角形を構成する各フラグメントに対して実行される。
昔は頂点単位でライティングの計算をして、ポリゴン内部は頂点の色を補間していたので
バーテックスシェーダという言い方はそんなに変でもないと思う。
まぁ、ジオメトリシェーダではシェーディングの計算する事が無くてもシェーダと呼ばれるわけだから
今はもうシェーダ=シェーディングを計算する物という意味では使われなくなっているんじゃない。
0292デフォルトの名無しさん
2011/08/12(金) 18:12:42.79glTexEnvで設定するのもユニットに付く?
0293デフォルトの名無しさん
2011/08/12(金) 20:55:57.19glTexEnvはテクスチャユニット
0294デフォルトの名無しさん
2011/08/12(金) 21:05:29.64ややこしいんだねえ
ありがとう
0295デフォルトの名無しさん
2011/08/13(土) 06:04:39.59glFlush()やglFinish()では、画面が即時には更新されず
他のウィンドウを一旦上に置くなどして、ウィンドウの再描画を促してやるとやっと更新される
CompizFusion(3Dデスクトップ)を切ると更新されるようになるから、CompizFusionとかち合ってるのは間違いないんだが
なぜかglutSwapBuffers()を使うと即時更新されるのがよくわからん…内部的には何が違うんだろ?
0296デフォルトの名無しさん
2011/08/13(土) 07:36:53.600297デフォルトの名無しさん
2011/08/13(土) 08:54:08.25それを参考にfreeglutのソース読み直したら理解できた
freeglutのglutSwapBuffers()はGLXのglXSwapBuffers()を呼んでるのな
俺の勘違いは「OpenGL仕様にダブルバッファはない」のだから
・OpenGL自体は常に単一バッファであるため、glFlush()やglFinish()の動作は不変
・だからGLUTやCompizFusionはそれを自前か、または何らかのライブラリで実装している
という風に思い込んでいたんだ…ところが
実際は仕様でなくとも「実装」であるGLXがダブルバッファを持っているから、どちらもそれを利用していて
GLXのダブルバッファを有効にすると、同じくGLXで実装されているglFlush()、glFinish()の動作に影響してしまうワケね
ありがとう、すっきりした!!!
0298デフォルトの名無しさん
2011/08/13(土) 19:57:55.19横からなんだけど、詳細な情報、参考になりました。ありがとう
0299デフォルトの名無しさん
2011/08/14(日) 02:36:59.14GLXの都合でダブルバッファになっちゃうというのは合ってると思うんだけど、
「OpenGL仕様にダブルバッファはない」は違うと思う。
glDrawBuffer()/glReadBuffer()でfront/backバッファの指定ができるし、
OpenGLはダブルバッファを扱う(ついでに言えばステレオも)という解釈の方が
適切なんじゃないかな。
0300デフォルトの名無しさん
2011/08/14(日) 03:22:52.78赤本の割と後ろのほうの、バッファの項に書いてあった…<<glDrawBuffer()/glReadBuffer()
索引からダブルバッファで探すと、最初のほうの「アニメーション」の部分しか出てこないから見逃してた
こうやってOpenGLの仕様内でもダブルバッファは実現できるのね、サンクス
0301デフォルトの名無しさん
2011/08/16(火) 12:19:50.59ptrの配列にデータが書き込まれてこないんですけどどんな原因がありますか?
0302デフォルトの名無しさん
2011/08/16(火) 12:29:12.120303デフォルトの名無しさん
2011/08/16(火) 12:40:03.38kwsk
0304デフォルトの名無しさん
2011/08/16(火) 14:44:36.830305デフォルトの名無しさん
2011/08/16(火) 15:09:11.810306デフォルトの名無しさん
2011/08/16(火) 15:26:28.220307デフォルトの名無しさん
2011/08/16(火) 16:39:46.860308デフォルトの名無しさん
2011/08/16(火) 16:44:14.380309デフォルトの名無しさん
2011/08/16(火) 17:08:03.98glGetを使用するマウス入力処理が描画処理の外(wglMakeCurrent(セット)〜wglMakeCurrent(解除)の外)にあるため失敗していたようです。
描画以外で使うなら各種マトリクスは自分で覚えとけってことなんですね。
OpenGLの関数は基本的にOpenGLのコンテクストが設定されていないと使えないんじゃ。
よーく覚えてOK
0311デフォルトの名無しさん
2011/08/16(火) 21:56:15.83コンテキストの設定はライブラリ中の描画関数呼び出し前後でやっててプログラム側では見えてなかったので
盲点でした。。
0312デフォルトの名無しさん
2011/08/17(水) 15:19:05.12どうしたらいいでしょうか?
ttp://sakurasite.homeip.net/imgboard/img-box/img20110817151830.png
0313デフォルトの名無しさん
2011/08/17(水) 16:00:07.360314デフォルトの名無しさん
2011/08/17(水) 16:37:35.24クライアントエリアを固定サイズにしてglViewPortをちゃんと設定すると直ると思う
0315デフォルトの名無しさん
2011/08/17(水) 17:27:12.91と思ったら、glDrawPixelsがGL_RGBでglutInitDisplayModeがGLU_RGBAだった。よくわからないな。
ttp://sakurasite.homeip.net/imgboard/img-box/img20110817171726.png
0316デフォルトの名無しさん
2011/08/18(木) 01:14:13.49ModelView行列はフレーム処理の最後にGLdouble配列に保存しておくとして
描画のフレームスキップ中にもModelView行列を参照したい場合どうすればいいでしょうか
描画処理を行わなくても入力処理は行うのでフレームスキップ中でもModelView行列を
更新しないと古い情報を使用してしまうため困っています
描画する時以外は常にOpenGLのコンテクストが設定されていない状態なの?
プログラム起動中はずっとコンテクストを設定しておくとか
OpenGLの関数が必要なときだけコンテクストを設定するとかは駄目なの?
俺はコンテクスト一個で済むときは初期化からずっとコンテクストは設定したままにしてるし
以前複数ウィンドウ&複数コンテクストなプログラムを作ったときも描画終了時にコンテクストをはずしたりはしなかったよ。
0318デフォルトの名無しさん
2011/08/18(木) 04:19:41.40Windowサイズが変わるとhdcも変わるので(?)毎回コンテキストを設定してるみたいです(ライブラリ側で)
なので描画時しかOpenGLの情報を取得できないです。
カメラ座標等からModelView行列が取れればいいんですが数学の知識に乏しく・・
0319デフォルトの名無しさん
2011/08/18(木) 06:29:09.122. 行列計算を自分でする
どちらか選べ
0320デフォルトの名無しさん
2011/08/18(木) 08:42:23.49ならModelViewをGet/Setするっていう機能をライブラリに追加すればいい
0321デフォルトの名無しさん
2011/08/18(木) 13:56:20.300322デフォルトの名無しさん
2011/08/18(木) 14:07:35.64ついでにView位置からモデル座標を割り出すために深度バッファもフレーム処理の最後にコピーを保存してもらって
コンテキストがない時でも取得可能にして下さいって言ったら怒られますかね・・・さすがに・・
通常って深度バッファも保存しておくものですか?
0323デフォルトの名無しさん
2011/08/18(木) 14:40:31.59ライブラリユーザーが何を言っても怒られるこたーないだろ。
怒りっぽい人が作ってるなら別だが。
で、ここはopenGLのスレだから、そのヘンテコライブラリの実装について聞かれても困るよ
0324デフォルトの名無しさん
2011/08/18(木) 16:33:17.020325デフォルトの名無しさん
2011/08/18(木) 16:39:17.58その辺りからはプログラマの思想次第。
答えはない。
0326デフォルトの名無しさん
2011/08/18(木) 17:20:06.14GPU-CPU間のやり取りは、時間がかかる。
普通は、わざわざCPU側に保存しない、と思う。
0327デフォルトの名無しさん
2011/08/18(木) 18:34:59.76保存するよ
0328デフォルトの名無しさん
2011/08/18(木) 20:54:05.12ありがとうございます50−50なんですね むむむ
0329デフォルトの名無しさん
2011/08/18(木) 21:14:34.30>View位置からモデル座標を割り出すために深度バッファも
って所が気になるが、まぁいいか
0330デフォルトの名無しさん
2011/08/18(木) 21:43:00.700331デフォルトの名無しさん
2011/08/18(木) 22:27:58.69Viewのマウス座標(x, y)+深度バッファ(z)からgluUnProjectでモデル座標を計算してるんですが
深度バッファを利用せずに低コストに代替できるような方法があれば是非教えて頂きたいです
0332デフォルトの名無しさん
2011/08/18(木) 22:44:19.98ここが鍵だな
0333デフォルトの名無しさん
2011/08/19(金) 00:43:21.59なら(x,y)の深度だけがわかればいいので、深度バッファ全体を貰うことはないのでは?
とりあえず326も言うようにGPU<->CPUのデータのやり取りは高コスト
まぁ遅くてもいいっていう場合もあるし、>>325が正解か
0334デフォルトの名無しさん
2011/08/19(金) 01:00:46.67どんなマシンを想定するかとかもあるしねー
0335デフォルトの名無しさん
2011/08/19(金) 01:03:10.07「入力処理→移動処理→描画処理(処理遅延状況でフレームスキップの可能性あり)」
の3ステージに処理を分離しているので描画処理の時点では
取得が必要な座標がどこなのか決まらないんです。
このため全ての座標について深度を保持しておく必要があるかなと思っています。
それともっと問題なのが描画処理がスキップされた場合保持しておいた深度バッファの情報も
古くなっているという・・
ジレンマだらけです
0336デフォルトの名無しさん
2011/08/19(金) 21:04:38.16無数のポイントからそれぞれのポリゴンが交差しないような
メッシュを作成する方法はないでしょうか?
結果としてはボールのような形になると思います。
0337デフォルトの名無しさん
2011/08/19(金) 21:21:12.28凸包を3各ポリゴンで作成
M≠SならばS-Mに対し、それを凸包のポリゴンからの距離が近いグループで分割
このポリゴンーグループの集合に対し凸包を作る、以下繰り返し
0338デフォルトの名無しさん
2011/08/19(金) 21:30:00.460339デフォルトの名無しさん
2011/08/19(金) 22:29:02.650340デフォルトの名無しさん
2011/08/19(金) 22:57:12.37曖昧
辺の繋ぎ方が提示されていない
あと、もし無数のポイント「全て」を使ってという制約があるなら、
>>399 が考えている方法ではたぶん無理
0341デフォルトの名無しさん
2011/08/19(金) 23:58:09.90お前何言ったんだよww
0342デフォルトの名無しさん
2011/08/20(土) 00:10:14.15>>399 になったら俺が >>339 の内容をコピペしとく
0343デフォルトの名無しさん
2011/08/20(土) 01:00:12.800344デフォルトの名無しさん
2011/08/20(土) 09:46:06.86あなたへ課題(レポート)提出するの
きっとそのとき凸包は張り裂けそうに鋭角
やさしくつつんであげる♪
以下繰り返し
0345デフォルトの名無しさん
2011/08/20(土) 14:34:06.95現在、顔の2次元データと、3次元データを持っております。
この3次元データに対し、2次元データをマッピングしたいのですが、
うまくいきません。
現在やっている処理は
glTexCoord2d -> glVertex3d で顔のポイントを対応づけています。
ただ、これだけでは、顔の3Dデータに対し2次元データがうまく貼り付けられず、
z軸(奥行き?)が飛び出してしまっているような状態になっております。
もしよろしければ、アドバイスをいただけないでしょうか。
よろしくお願いします。
0346デフォルトの名無しさん
2011/08/20(土) 16:26:26.70こういうことでいいのか。抽象表現やめて素直に書けよ。
0347デフォルトの名無しさん
2011/08/20(土) 16:53:56.32かと。
0348デフォルトの名無しさん
2011/08/20(土) 22:07:59.64>ただ、これだけでは、顔の3Dデータに対し2次元データがうまく貼り付けられず、
これだけで貼り付けられるはずですが
0349デフォルトの名無しさん
2011/08/20(土) 23:40:09.660350デフォルトの名無しさん
2011/08/21(日) 02:30:00.040351336
2011/08/21(日) 02:58:45.80ちなみにレポートでもなければ宿題でもありません。仕事です。
辞めた(逃げちゃったに近い)人の仕事を引き継いだのですが、
一部OpenGLで表現するところがあって自分は3Dは未経験なので
参考書片手にポリゴンを出すところまでは出来ました。
そんなところに>>336のような要求が来て困っています。
ぐぐってみたところ考え方みたいなところは見つけたのですが、
自分にはさっぱりでした。
凸包を生成してくれるような拡張ライブラリみたいのはないのでしょうか?
0352デフォルトの名無しさん
2011/08/21(日) 04:45:01.80あとスレチ
3Dアルゴリズム全般
http://hibari.2ch.net/test/read.cgi/tech/1164171086/
0353デフォルトの名無しさん
2011/08/21(日) 05:48:05.06Convex(凸包)とか、そういう固有の要件はもう OpenGL ライブラリとは無関係なので
>>352 の誘導先に行くか、さもなきゃ bullet でも使っとけ。そして bullet の質問は他所で
あと、考え方がさっぱりでした、な状態でそんな仕事するな。話来た時点で他の人間に回せよ
0354デフォルトの名無しさん
2011/08/21(日) 11:23:40.36外郭だけを表示するのが目的なら凸包でいいけど、
ひょっとして有限要素法なんかで使われる
メッシュ作ろうとしてるんじゃないよね?だとしたらこっち
- Netgen Mesh Generator, Gmsh メッシュ生成
- Finite elements for partial differential equation
- ALBERTA Adaptive finite element library
0355デフォルトの名無しさん
2011/08/21(日) 13:06:23.840356336
2011/08/21(日) 22:16:04.62スレチのようなので誘導先で質問してみます。
ちなみに会社が零細なので人がいないのと、OpenGLを知ってる人が辞めた人だけなのと、
たまたま案件が片づいて手隙になったのが自分だったということで引き継いだのが経緯ですか。
スレ汚してしまい失礼しました。
0357デフォルトの名無しさん
2011/08/22(月) 15:27:46.23のクラスを使って自前のplyファイルをOpenGLのウィンドウに描画したいと考えています。
ざっくりとした質問で申し訳ないのですが、
ファイルを読み込み、ウィンドウに表示するためには
このファイルにどのような改変を加えれば良いのでしょうか。
また、他にplyファイルを読み込む良い方法を知っている方がいらっしゃいましたら
教えていただけると非常にありがたいです。
0358デフォルトの名無しさん
2011/08/22(月) 16:22:49.270359デフォルトの名無しさん
2011/08/22(月) 17:33:36.81>>1 にあるチュートリアルサイトおすすめ
0360デフォルトの名無しさん
2011/08/22(月) 21:02:15.41>また、他にplyファイルを読み込む良い方法を知っている方がいらっしゃいましたら
>教えていただけると非常にありがたいです。
いや普通に読むだけだと思うけど。勿論、OpenGLだとかDirectXとかじゃなく、普通にC/C++でファイル読むっていうだけの話
0361デフォルトの名無しさん
2011/08/22(月) 21:35:22.74まずC/C++の勉強から始めればいいと思う
0362デフォルトの名無しさん
2011/08/23(火) 08:33:31.78そのクラスにはplyファイルを読み込むコードも描画するコードも既に入ってる
つまりそのcppファイルを変更する必要はないので、
自前のウィンドウを作るとこだけなんとかしてあとはLoadとDrawの各メンバ関数を呼ぶだけ
0363デフォルトの名無しさん
2011/08/23(火) 10:48:34.93さらに元ソースが他人の丸コピーで、その plyファイルとやらだけ自作したか、別人のデータを変換した
ってだけなんじゃね。 だから大雑把で基本的な質問しか出来ないんじゃね
全部他人製のコピーって状態
0364デフォルトの名無しさん
2011/08/23(火) 11:03:27.080365デフォルトの名無しさん
2011/08/23(火) 12:15:52.380366デフォルトの名無しさん
2011/08/23(火) 12:44:25.120367デフォルトの名無しさん
2011/08/23(火) 13:11:13.26元レスにあるurl見ろよ馬鹿w
0368デフォルトの名無しさん
2011/08/23(火) 14:33:18.620369デフォルトの名無しさん
2011/08/24(水) 06:57:44.39恥ずかしい見落とししたからって、元レスの人と思いこもうとしないでくれ。
0370デフォルトの名無しさん
2011/08/24(水) 21:17:47.78>>368 と >>363 は別人だと気づいて欲しい
0371デフォルトの名無しさん
2011/08/25(木) 00:47:57.00これって宣言に見えて定義なの?あるヘッダでこれをかいて他のところで読み込もうとすると複数回定義ではじかれる
0372デフォルトの名無しさん
2011/08/25(木) 01:15:13.90逆になぜ宣言に見えるのか知りたい。
0373デフォルトの名無しさん
2011/08/25(木) 01:46:26.640374デフォルトの名無しさん
2011/08/25(木) 02:06:37.00どこかに定義が1つだけ必要。
0375デフォルトの名無しさん
2011/08/25(木) 04:57:11.660376デフォルトの名無しさん
2011/08/25(木) 07:37:56.48んでもどうやらソースファイルの切り分けは出来ないみたいね
ラッパーのようなものをしこしこ作るしかないのかしら
0377デフォルトの名無しさん
2011/08/25(木) 07:53:50.23別人でも同じ見落とししてないと出てこない返しじゃね
それとも、sourceforge?何それ?おいしいの?な人の率高いのかこのスレ
0378デフォルトの名無しさん
2011/08/25(木) 08:05:05.510379デフォルトの名無しさん
2011/08/25(木) 08:10:13.88言語の勉強やり直すことをオススメするわ・・・
0380デフォルトの名無しさん
2011/08/25(木) 23:17:40.750381デフォルトの名無しさん
2011/08/25(木) 23:21:17.61単にOpenGLを使っているアプリを使うだけの事か?
でも、授業でプログラミングを習ったけど大して身についていない学生が
別の授業や研究室でOpenGLを使ってプログラミングって事がありそうだな。
0382デフォルトの名無しさん
2011/08/25(木) 23:42:00.710383デフォルトの名無しさん
2011/08/26(金) 17:16:15.46//sub.h
#include "GL.h"
void glXxxEXT(Hoge hoge);
void Startup();
//sub.cpp
#include "sub.h"
extern PFNGLXXXEXTPROC glXxxEXT0 = NULL;
void glXxxEXT(Hoge hoge){
glXxxEXT0(hoge);}
void Startup(){
glXxxEXT0 = (PFNGLXXXEXTPROC)wglGetProcAddress("glXxxEXT");}
//main.h
#include "sub.h"
//main.cpp
#include "main.h"
void main(void){
...
Startup();
glXxxEXT(hoge);
}
他になにかいいやり方あったら教えてくれ
0384デフォルトの名無しさん
2011/08/26(金) 18:47:44.24きっと彼はglewやgleeを超越した、まったく新しいパラダイムに基づいたライブラリを構築しようとしているのだろう。
特にこの部分が今だかつて誰も使った事の無い手法ではないだろうか。
> extern PFNGLXXXEXTPROC glXxxEXT0 = NULL;
> void glXxxEXT(Hoge hoge){
> glXxxEXT0(hoge);}
0386デフォルトの名無しさん
2011/08/27(土) 12:59:23.00hoge(a,b){
}
みたいなくくり方いやだわあ。
hoge()
{
}
のほうが見やすいだろ。
0387デフォルトの名無しさん
2011/08/27(土) 13:02:29.500388デフォルトの名無しさん
2011/08/27(土) 14:02:26.44同意
古き良き時代のK&Rはどこへいってしまったのか
JavaとかC++のクラス定義とかからそんな感じのが蔓延しだした
0389デフォルトの名無しさん
2011/08/27(土) 15:45:15.65Cより先にJava覚えた俺には上のが見やすい
0390デフォルトの名無しさん
2011/08/27(土) 16:17:36.640391デフォルトの名無しさん
2011/08/27(土) 17:49:58.64画面が狭かったから今以上に行節約されてクソ読みにくかった
0392デフォルトの名無しさん
2011/08/27(土) 21:59:16.64VisualStudio使ってると下に慣れるよな
Javaな人は上だよな
0393デフォルトの名無しさん
2011/08/28(日) 02:46:46.16if文とかクラスは上だけど、関数は下だわ・・・
0394デフォルトの名無しさん
2011/08/28(日) 07:59:18.970395デフォルトの名無しさん
2011/08/28(日) 08:11:49.670396デフォルトの名無しさん
2011/08/28(日) 08:21:54.290397デフォルトの名無しさん
2011/08/28(日) 12:03:32.810398デフォルトの名無しさん
2011/08/28(日) 12:21:43.92あとプリプロセッサマクロは実行時評価だったよな
死ね
0399デフォルトの名無しさん
2011/08/28(日) 12:55:22.280400デフォルトの名無しさん
2011/09/02(金) 09:06:44.31同意
0401デフォルトの名無しさん
2011/09/03(土) 19:30:23.14cgplotみたいな使い方できる?
0402デフォルトの名無しさん
2011/09/03(土) 22:12:16.09そういう用途にはデータプロット用のライブラリを使うべきで、
OpenGLを直接使うのはおすすめしない
0403デフォルトの名無しさん
2011/09/05(月) 01:10:57.39データプロット用のライブラリそのものを自分で書きます、なら使ってもいい
そういうレイヤ、あるいは作図で言えば >>402 も言うような簡易な物です
0404デフォルトの名無しさん
2011/09/08(木) 12:25:29.84将来的にはOpenGLを使ってFF14みたいなグラフィック・エンジンを作りたいです。
0405デフォルトの名無しさん
2011/09/08(木) 12:36:25.940406デフォルトの名無しさん
2011/09/08(木) 13:56:56.48ティファのおっぱい担当を早急に決めてくれ
0407デフォルトの名無しさん
2011/09/08(木) 19:33:20.87こんなこといって始めるやつは1ヶ月以内に投げ出す法則
0408デフォルトの名無しさん
2011/09/08(木) 22:16:16.58つまり見た目の割りにクソ遅い失敗作を作りたいって事?
0409デフォルトの名無しさん
2011/09/08(木) 22:30:32.274.0でもいいけど基本は3.0ベースなのでまず3.0あたりから学べばいい
OpenGL ES 2.0でもいいよ
とにかくシェーダと頂点バッファが無いと何も描けないところから始めよう
0410デフォルトの名無しさん
2011/09/08(木) 23:58:47.220411デフォルトの名無しさん
2011/09/09(金) 01:44:19.73出直せ
0412404
2011/09/09(金) 10:03:53.56Opengl 4.0 Shading Language Cookbook [ペーパーバック]
David Wolff (著)
0413デフォルトの名無しさん
2011/09/09(金) 10:11:07.060414デフォルトの名無しさん
2011/09/09(金) 10:13:02.17入門の仕方を聞きにくるレベルで洋書買っても積ん読になるだけ
近道なんかないぞ
0415デフォルトの名無しさん
2011/09/09(金) 10:25:35.05ペーパーブックを漁れるなら本家HPを熟読する所から始めたら?
>>414が言うように近道なんて無いよ。
0416デフォルトの名無しさん
2011/09/09(金) 10:42:46.670417404
2011/09/09(金) 11:36:30.15結局洋書を読むしか無いんだからいつ読んでも同じ
0418デフォルトの名無しさん
2011/09/09(金) 11:38:41.810419デフォルトの名無しさん
2011/09/09(金) 11:59:37.120420デフォルトの名無しさん
2011/09/09(金) 12:27:49.830422デフォルトの名無しさん
2011/09/09(金) 14:31:10.77どうせおめーもだろw
0423デフォルトの名無しさん
2011/09/09(金) 14:31:14.80ご指導ってレベルに至らないんだよ。
0424404 ◆hEpdoZ.tHU
2011/09/09(金) 14:43:25.930425デフォルトの名無しさん
2011/09/09(金) 14:55:53.930426デフォルトの名無しさん
2011/09/09(金) 15:04:50.410427404
2011/09/09(金) 15:53:50.760428デフォルトの名無しさん
2011/09/09(金) 20:01:27.730429デフォルトの名無しさん
2011/09/09(金) 20:19:44.35巻きつけテクスチャーの端と端で頂点を重ねるように準備するしかないですか?
0430デフォルトの名無しさん
2011/09/09(金) 20:38:24.720.0-0.1-0.2-・・・-0.9-0.0
で0.9-0.0間だけ別のテクスチャーユニットにする
テクスチャー座標を指定しない頂点ってどうなるんだっけな?
0431デフォルトの名無しさん
2011/09/09(金) 23:36:09.69こんなシェーダとかどうよっていう本なので入門書ではまったくない
4.x系の入門書っぽいものは無さそうだが
OpenGL Programming Guideの8th Editionなんての出てたのね
だが入門書としてはちょっと向いてないかもしれない
0432デフォルトの名無しさん
2011/09/10(土) 00:18:16.190433デフォルトの名無しさん
2011/09/10(土) 01:10:27.830434デフォルトの名無しさん
2011/09/10(土) 08:49:30.55自己紹介乙
0435デフォルトの名無しさん
2011/09/10(土) 12:30:24.650436デフォルトの名無しさん
2011/09/10(土) 12:46:58.32>>425 と >>431 の話を良く見てくれ
それは今から OpenGL4.0を (という大くくりで) 勉強する人向けの本じゃ全然無い
タイトルに思いっきり書かれてるのに OpenGL4.0 っていう字面だけで持ってきて、どうですか?とか聞いてるぐらいだから
それが誰にでもわかる、推し量れるヒント、です。 それすらわかんなそうなので、横から補足
0437デフォルトの名無しさん
2011/09/10(土) 14:59:21.180438デフォルトの名無しさん
2011/09/10(土) 16:26:37.640439デフォルトの名無しさん
2011/09/10(土) 16:37:35.710440デフォルトの名無しさん
2011/09/10(土) 19:08:12.250441デフォルトの名無しさん
2011/09/10(土) 19:27:21.190442デフォルトの名無しさん
2011/09/10(土) 19:47:01.250443デフォルトの名無しさん
2011/09/10(土) 22:20:52.190444デフォルトの名無しさん
2011/09/10(土) 22:34:04.55>>443おまえ宿題スレと麻雀スレで暴れてるキチガイだろ
>>434の書き込みで気付いて関心引くようなレス書いたら即釣れるとかどうなの?
0445デフォルトの名無しさん
2011/09/11(日) 00:13:14.96小学生以下の知能しか無いならネットなんか使うなクソが
0446デフォルトの名無しさん
2011/09/11(日) 00:44:27.260447デフォルトの名無しさん
2011/09/11(日) 01:06:40.43落ち着けもうさわんな
0448デフォルトの名無しさん
2011/09/11(日) 01:18:11.02あれか、ニコニコとかMMDとかから人流れ込んできたせいで
こんな事になってんのか
0449デフォルトの名無しさん
2011/09/11(日) 03:24:02.46その辺はどこから来たんだろうか。
0450デフォルトの名無しさん
2011/09/11(日) 05:54:26.75ここはひとつ>>429-430を考えて元の流れに戻そうじゃないか
0451デフォルトの名無しさん
2011/09/11(日) 10:34:51.52たかだかシェーダーを使うだけなのに手間が多すぎる
0452デフォルトの名無しさん
2011/09/11(日) 10:52:14.700453デフォルトの名無しさん
2011/09/11(日) 16:59:08.570454デフォルトの名無しさん
2011/09/11(日) 17:19:37.160455デフォルトの名無しさん
2011/09/11(日) 18:05:33.470456デフォルトの名無しさん
2011/09/11(日) 18:15:29.660457デフォルトの名無しさん
2011/09/11(日) 18:25:12.380458デフォルトの名無しさん
2011/09/11(日) 23:36:55.920459デフォルトの名無しさん
2011/09/12(月) 00:03:41.770460デフォルトの名無しさん
2011/09/12(月) 09:06:57.130461デフォルトの名無しさん
2011/09/12(月) 11:56:53.62そうだね
プロテインだね
0462デフォルトの名無しさん
2011/09/12(月) 16:13:00.89ないような気がするんだけど。
0463デフォルトの名無しさん
2011/09/12(月) 16:21:25.360464デフォルトの名無しさん
2011/09/12(月) 20:05:02.51そもそもソースは人じゃないのでは?
0465デフォルトの名無しさん
2011/09/12(月) 20:59:47.84こういう方とは一緒に仕事したくありませんわ
めんどくさそうです
0466デフォルトの名無しさん
2011/09/12(月) 22:04:55.650467デフォルトの名無しさん
2011/09/12(月) 23:18:41.76こういう誰でも(本人でも)理解していることをわざわざ皮肉たっぷりに書かずにはいられない精神が病んでる人とはねぇ
0468デフォルトの名無しさん
2011/09/13(火) 00:08:20.920469デフォルトの名無しさん
2011/09/13(火) 00:26:45.600470デフォルトの名無しさん
2011/09/13(火) 01:06:08.60間違えた本人乙
基本的にシェーダ内の関数はすべてinline展開されてたはず。
気になるなら最近のOpenGLの拡張機能であるバイナリ出力を見るといいかも。
でもOpenGL4.0で関数の呼び出し先を変更できる機能が付いたようで
これはinline展開されないのかな?
0472デフォルトの名無しさん
2011/09/13(火) 08:29:22.43Uniform変数を見てif文で切り替えるのに比べて比較と関数呼び出しのコストがかからないらしいが...
絶対使わない。
0473デフォルトの名無しさん
2011/09/13(火) 22:45:01.23謎も何もそういう機能がGPUにあるかドライバが何か頑張ってるんじゃないか?
本当に速いかどうかは謎だが試してみないことには絶対使わないは言いすぎ
0474デフォルトの名無しさん
2011/09/15(木) 03:21:35.74テクスチャをバインドしたらフィルタ等のフラグが全部クリアされるとかやめてくれ。
ちょっと順序を間違っただけでドツボにはまる仕掛けが多すぎるぞ。
0475デフォルトの名無しさん
2011/09/15(木) 05:18:03.58TexParameterで設定できる物はテクスチャオブジェクト毎に保持されてるんだ
ぱっと見てどのオブジェクトに影響与えてるのかわからないのは確かにひどいけどな
EXT_direct_state_accessが標準になれば楽なのに
0476デフォルトの名無しさん
2011/09/15(木) 08:18:30.04複数のレンダリングパスを持つマテリアルをシェーダー1つで
レンダリングパス毎に異なる部分をサブルーチン化して実装してるのなら見たことがある。
みんなマルチパスが必要なシェーダーってどう実装してる?
0477デフォルトの名無しさん
2011/09/15(木) 11:52:33.32なるほど
glGenTextureで作ったハンドルごとに設定されてるのか
それなら納得^^
0478デフォルトの名無しさん
2011/09/16(金) 01:48:26.20TexEnvはテクスチャステージごとの設定
パイプラインをきちんと理解できてれば、覚えやすいと思うけど。
0479デフォルトの名無しさん
2011/09/16(金) 10:22:45.17あまり頻繁にブラシを切替えると効率良くないって脅されたけど
今はテクスチャバッファ上に乗っていれば切替えコストなんて無視できるのかな?
0480デフォルトの名無しさん
2011/09/16(金) 22:12:15.82テクスチャーへ描画したいのですが、レンダーターゲットの変更が上手くいきません。
glBindFramebufferEXT( GL_FRAMEBUFFER_EXT, uinFboID );
glClearColor(0.0f, 0.0f, 0.0f, 1.0f); //バックバッファをクリアする色の指定
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); //バックバッファクリア
レンダーターゲットへの変更部分なのですが、glClearでエラーが出ているようです。
glGetError()で調べた所、エラーコード 1286 が返ってきました。
(このコード直前はエラーコード 0 で問題ありませんでした)
どうやったら解消できますでしょうか?
分かる方、よろしくお願いします。
0481デフォルトの名無しさん
2011/09/16(金) 22:18:54.020483デフォルトの名無しさん
2011/09/17(土) 03:17:08.33glutpostredisplayを使って、ディスプレイのコールバックを呼び出して再描画するように、
resize関数内のgluperspectiveを更新を促すようなものはありますか?
変な説明になってますが、分かる方教えて下さい。
0484デフォルトの名無しさん
2011/09/17(土) 04:30:11.400485デフォルトの名無しさん
2011/09/17(土) 08:24:37.580486デフォルトの名無しさん
2011/09/17(土) 10:02:03.83テクスチャーの特定の"色"を透明にする事は可能ですか?
α値を用いてアルファブレンドやアルファテストで抜く方法は分かるのですが、
α値が1.0で特定の色だけ抜く方法が分かりません。
アルファテストならぬカラーテストみたいなのがあったら良いのですが。。。
お願いします。
0487デフォルトの名無しさん
2011/09/17(土) 10:14:48.56使わないならできない。
0488デフォルトの名無しさん
2011/09/17(土) 10:36:10.15Color Key Transparency
ttp://www.codesampler.com/oglsrc/oglsrc_4.htm
0489483
2011/09/17(土) 11:11:10.22gluPerspective(45.0, (double)width / (double)height, 0.1, 100.0);
という感じで引数を用いているので、displayに持って行くとエラーになっちゃいます…
>>485
もう一度呼ぶとはどういうことですか?
無知ですみません。
0490デフォルトの名無しさん
2011/09/17(土) 11:19:02.49っていうかdisplay()関数の中で毎回gluPerspective()を呼ぶ必要はない。
必要があることもあるけど、お前には多分必要ない。
お前はする必要のないことを心配している。
0492デフォルトの名無しさん
2011/09/17(土) 15:13:48.750493デフォルトの名無しさん
2011/09/17(土) 15:17:09.42たとえば仕事で初めて出会った人に「お前」と言われると、
態度悪いなと感じる
0494デフォルトの名無しさん
2011/09/17(土) 15:17:24.310495デフォルトの名無しさん
2011/09/17(土) 15:38:43.200496デフォルトの名無しさん
2011/09/17(土) 15:44:43.34慇懃無礼な方が効果の出る場面もあるな
ていうかスレチだぞテメーら
0497デフォルトの名無しさん
2011/09/17(土) 15:52:47.540499デフォルトの名無しさん
2011/09/17(土) 16:38:28.04resize呼ばれたときにwidth/heightを覚えといてgluPerspectiveを呼びたいときにはそれつかえばいいいだろ
0500483
2011/09/17(土) 16:52:04.73width/heightを覚えるってどうやるんですか?
あと、gluPerspectiveはdisplay内に入れていいんですか?
本当にバカらしい質問かもしれませんが、お願いします。
0501デフォルトの名無しさん
2011/09/17(土) 17:05:49.900502デフォルトの名無しさん
2011/09/17(土) 17:42:53.07それはopenGLの質問ではないので、c++かcのスレでどうぞ。
0503デフォルトの名無しさん
2011/09/17(土) 17:56:05.450504デフォルトの名無しさん
2011/09/17(土) 18:02:27.740505483
2011/09/17(土) 22:09:55.92もう少し質問できるレベルになって分からかったらまた来ます。
0506デフォルトの名無しさん
2011/09/17(土) 22:58:07.30そういう状態なんだろうな。 一旦戻って、基礎飛ばさないで真面目に、せめて普通にコード書ける状態になってからくるべき
0507デフォルトの名無しさん
2011/09/17(土) 23:30:20.520509デフォルトの名無しさん
2011/09/18(日) 00:09:41.15ごめんなさい
0510デフォルトの名無しさん
2011/09/18(日) 22:31:45.17cgCreateProgramFromFileでCGprofileをCG_PROFILE_GPU_VP
にしたらハードウェアスキニングが崩壊した・・・
一体何が変わったというのだ・・・
0511デフォルトの名無しさん
2011/09/19(月) 21:54:30.27最近GLSLの勉強を始めたんだけど、シェーダプログラムって
用途ごとに何個も別々に用意して作っていく、ってのが正道なんでしょうか。
たとえばテクスチャとポリゴン色の合成方式を乗算から加算にするとかの些末な変更でも
それぞれのケース毎にフラグメントシェーダを用意するのかな、と。
条件分岐も考えたのだけど、それは速度的にどうかという気がするので…
環境はGLES2.0/GLSL ES1.0です。
0512デフォルトの名無しさん
2011/09/19(月) 22:17:49.01俺なら別に用意する
1つ作って、あとはそれコピペして一部改変、みたいな
そんなに速度気にしなくてもいいぐらいの描画内容なら、1つにまとめて中で分岐するけど
0513デフォルトの名無しさん
2011/09/19(月) 22:20:01.23どういう都合だからどうしたいって言う、自分で判断する事だろ。普通に
0514デフォルトの名無しさん
2011/09/19(月) 22:56:56.29成程、つまりそういうスタイルも普通にあり得るということですね。
巷のサンプルとかは大抵1コード1シェーダで解説してるので、実際に運用する時の扱いが結構気になってたんですよ。
何にしろおかげで迷いが取れました。ありがとうございます。
0515デフォルトの名無しさん
2011/09/20(火) 17:49:15.46ちなみにOpenGL4(からだったっけ?)のシェーダーサブルーチン機能を使えば、比較的低負荷に機能の分岐ができる。
0516デフォルトの名無しさん
2011/09/20(火) 18:10:10.88glGenTexture(1, texture) → texture = 1
glBindTexture(GL_TEXTURE_2D texture)
glTexImage2D( …, image1)
glGenTexture(1, texture) → texture = 2
glBindTexture(GL_TEXTURE_2D texture)
glTexImage2D( …, image2)
ってやった後
glBegin(GL_POLYGON)
glBindTexture(GL_TEXTURE_2D, 1)
: (テクスチャ1)
glEnd
glBegin(GL_POLYGON)
glBindTexture(GL_TEXTURE_2D, 2)
: (テクスチャ2)
glEnd
ってやるとテクスチャ1の部分にもテクスチャ2が貼られるんだけど
何か間違えてる?もしかして毎回glTexImage2D呼ばないといけない?
0517デフォルトの名無しさん
2011/09/20(火) 18:23:06.290518デフォルトの名無しさん
2011/09/20(火) 18:45:40.00ありがとうございました。解決しました。
0519デフォルトの名無しさん
2011/09/20(火) 22:16:59.31三次元ベクトルをリアルタイムで表示することはできますか?
目的としてある並んだ黒色マーカの移動量をベクトル表示したいと考えています。
ここでの移動量はマーカの初期位置とある時間でのマーカ位置の差から三次元の位置差を計算した値です。
�@カメラから画像をとりこむ
�A処理
�Bベクトル表示
の三段階をループすればいいとおもうのですが、ループがうまくいきません。
�@,�Aはopencvを用いています。
openglの関数ではglutmainLoopを用いています。これがまずいのでしょうか。
初心者なため、これといった根拠のない関数を使っているとおもいます。
三次元ベクトルをリアルタイムで表示できればいいので
最適なものも含めアドバイスお願い致します。
0520デフォルトの名無しさん
2011/09/20(火) 22:38:55.80OpenGLで三次元ベクトルをリアルタイム表示はできます。
そういうことするためのAPIです。
しかしながらループがうまくいきませんだけではそれ以上のことはわかりません。
上手くいってないところをもうちょい詳しく書くとアドバイスできるかもしれません。
0521デフォルトの名無しさん
2011/09/20(火) 22:52:21.95�@�A�Bをwhile文の中に書いています。
本来なら、終了条件を満たすまでループすると思いますが、最初の画像をとりこんでグラフを書いたところで次の画像が取り込まれず、待ち状態になります。
グラフのウインドウを消せばプログラムが終了します。
カメラを使った簡単なサンプルプログラムがあれば嬉しいです。
0522デフォルトの名無しさん
2011/09/20(火) 22:56:46.370523デフォルトの名無しさん
2011/09/20(火) 23:03:34.23OpenCVで取り込み、処理するまではできています。今、出力をテキストにだしているものをグラフ化したいのです。
お願い致します。
0524デフォルトの名無しさん
2011/09/20(火) 23:12:19.44glutmainLoop 関数の振る舞いを調べてみろ
ググれば簡単に分かるはずだ
そうすれば、なんで while ループが回らないのか理解できる
まずはそこからだ
ちょっと先走って言うと、そういう処理には GLUT は不向き
OpenGL を直に叩くか、あるいは GLUT の代わりに GLFW なんか使うといい
0525デフォルトの名無しさん
2011/09/20(火) 23:22:08.42やっぱりそうなんですか。
glutmainLoop はループをし続けてウインドウを閉じた時、プログラムを終わる関数ですよね?それでglutmainLoopを抜け出す為にfreeglutのglutmainReleaseLoop関数をあるんですよね?
これ以外の方法とりたかったんです。
GLFWですか、あたってみます。
0526デフォルトの名無しさん
2011/09/21(水) 07:34:00.68と書いたなら、void disp()の中を弄るんでないかい?
0527デフォルトの名無しさん
2011/09/21(水) 08:45:27.87glutMainLoop()はイベントの発生を監視しつつループする関数
それ以上でもそれ以下でもない
GLUTでやるなら、基本的にはループ自体はglutMainLoop()任せで
各種のglutXXXXFunc()に登録したイベントで処理をするんだよ
定期的に処理させたいならglutIdleFunc()とかglutTimerFunc()とかで
定期的に呼んでほしい関数を登録する
0528デフォルトの名無しさん
2011/09/22(木) 08:34:37.72glGetAttribLocation, glGetUniformLocationなどで指定するリソースインデックスの値を固定することってできる?
HLSLやCgだとセマンティック名なんかで固定できるんですが。
あと、どういうパラメータがシェーダに入っているか調べる方法はあります?
Cgでいう所のcgGetFirstParameterとかみたいなAPIがあると良いのですが。
0529デフォルトの名無しさん
2011/09/22(木) 09:40:57.18attibute 変数のインデックスは glBindAttribLocation で変更できます。
uniform 変数はたぶんリンカーが決定したロケーションしか使えません。
attibute 変数の列挙は
GL_ACTIVE_ATTRIBUTES, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, glGetActiveAttrib
uniform 変数の列挙は
GL_ACTIVE_UNIFORMS, GL_ACTIVE_UNIFORM_MAX_LENGTH, glGetActiveUniform
0530デフォルトの名無しさん
2011/09/22(木) 09:48:54.13わーお、ありがとう!
0531デフォルトの名無しさん
2011/09/22(木) 09:51:40.99layout (location = 3) oin vec4 VertexNormal;
ただ番号で管理するより名前で管理したほうがいいと思うが...
サンプルなんかではコードが単純になるぶん番号を直叩きしたほうがいいかも。
0532531
2011/09/22(木) 09:53:04.230533デフォルトの名無しさん
2011/09/22(木) 10:06:51.50ありがとう、GLSLの仕様書もう一度真剣に読んで見るよ。
おっしゃるとおり、名前で管理したほうが堅牢だと思います。
0534531
2011/09/22(木) 11:29:38.08具体的にはnoise()関数が実装されているかどうかが知りたい。
うわさではされてない。
0535デフォルトの名無しさん
2011/09/22(木) 14:28:27.860536デフォルトの名無しさん
2011/09/22(木) 17:29:05.85今はどうなんかねぇ。
試してみるのが一番なんだろうけど試せる環境にない。
0537デフォルトの名無しさん
2011/09/22(木) 23:00:36.36最近はどうだろうなぁ。
0538デフォルトの名無しさん
2011/09/22(木) 23:22:34.51その後実装されたという話は聞かないので今でもされてないと思う。
どうでもいい勝手拡張は”実装しました!!”とか書いてるけど
肝心な情報は書かないからな。実際に読んでみるのが一番だが
全部の機能を自分で試せというのも乱暴な話だ。
0539デフォルトの名無しさん
2011/09/23(金) 00:16:04.900540デフォルトの名無しさん
2011/09/24(土) 14:42:43.53点(ポイント)スプライトでテクスチャを回転させる方法はありますか?
もしあれば方法を教えてください。
0541デフォルトの名無しさん
2011/09/24(土) 14:49:50.74点(ポイント)スプライトでポイントごとにテクスチャを貼り付けて(つまり自動でリピートしないで)、その個々のテクスチャを任意に回転させる方法はありますか?
(普通の三角形ストリップにテクスチャを貼り付けるのと同様に)
もしあれば方法を教えてください。
よろしくお願いします。
0542デフォルトの名無しさん
2011/09/24(土) 14:50:48.900543デフォルトの名無しさん
2011/09/24(土) 18:01:44.15それか>>542が言うようにフラグメントシェーダでテクチャ座標回転させる
0544デフォルトの名無しさん
2011/09/24(土) 22:15:32.250545デフォルトの名無しさん
2011/09/24(土) 23:11:59.810546デフォルトの名無しさん
2011/09/24(土) 23:40:19.19確かVS3.0縛りになったはず
0547デフォルトの名無しさん
2011/09/25(日) 00:39:15.36いまの一般的に出回ってるグラボで普通に動くんだろうか
…一般なグラボって言い方が曖昧で申し訳無いんだけど
0548デフォルトの名無しさん
2011/09/25(日) 02:57:47.380549デフォルトの名無しさん
2011/09/25(日) 03:01:34.350550デフォルトの名無しさん
2011/09/25(日) 03:01:53.77ってそこまで遡らんでもええやろ
0551デフォルトの名無しさん
2011/09/25(日) 03:03:37.070552デフォルトの名無しさん
2011/09/25(日) 11:17:40.160553デフォルトの名無しさん
2011/09/25(日) 11:18:41.040554デフォルトの名無しさん
2011/09/25(日) 11:52:56.390555デフォルトの名無しさん
2011/09/25(日) 14:54:24.71すごい時代になったもんだ
0556デフォルトの名無しさん
2011/09/25(日) 15:02:10.370557デフォルトの名無しさん
2011/09/25(日) 20:06:23.04すごいって書いてるの読めない?
0558デフォルトの名無しさん
2011/09/25(日) 20:10:06.44というニュアンスかと
0559デフォルトの名無しさん
2011/09/25(日) 20:25:11.84(Xbox以上なのは)不思議でもなんでもない
だろ
日常会話レベルだけどお前日本語大丈夫か?
0560デフォルトの名無しさん
2011/09/25(日) 20:50:03.070561デフォルトの名無しさん
2011/09/25(日) 21:02:00.52日本語読めて無いのお前じゃねえかw
0562デフォルトの名無しさん
2011/09/25(日) 21:21:20.98まったく時代の進歩は凄いな。驚くばかりだ」
「その話のXBOXって、最新の機種じゃなくて初代の事か?
もしもそうならば、驚くような事じゃないだろ」 (=初代機の性能は、そんなに高い物じゃないと言いたい)
ただのこういう会話だと思ったのに、
「不思議なんていってないけど、すごいってかいてるのよめない?」
なんだよこの流れ。子供でも混じってんのかwww
0563デフォルトの名無しさん
2011/09/25(日) 21:31:49.730564デフォルトの名無しさん
2011/09/25(日) 21:57:13.00喩えとか皮肉とかまったく通じない。
0565デフォルトの名無しさん
2011/09/25(日) 22:00:02.300566デフォルトの名無しさん
2011/09/25(日) 22:20:37.95本当は分かってるはずだから無視すればいい
0567デフォルトの名無しさん
2011/09/25(日) 22:38:09.46お前優しいな。最近は想像を絶する無知ゆとりも増えてんだぜ
本当はわかってるはずと見せかけて、さらに本当に何も知らないわからないバカもいるんだぜ
0568デフォルトの名無しさん
2011/09/25(日) 22:48:01.541万5000円程度で買える中華パッドでさえ物凄いポテンシャル秘めてるし
0569デフォルトの名無しさん
2011/09/25(日) 23:02:34.080570デフォルトの名無しさん
2011/09/25(日) 23:13:23.30だから無視すればいい
0571デフォルトの名無しさん
2011/09/25(日) 23:16:33.14そうだね、おれはそうはおもわないけどひとそれぞれだよね。これで終わりにすればいいだけの話
0572デフォルトの名無しさん
2011/09/25(日) 23:34:24.620573デフォルトの名無しさん
2011/09/26(月) 00:11:27.080574デフォルトの名無しさん
2011/09/26(月) 07:38:33.04みなさんありがとうございます。
iPhoneでES2.0より前でやっていますのでシェーダは使えません。経験もありません。(始めに書くべきでした)
でも今後機会があったらトライします。
結局>>544さんが言うように、VBOで一気に glDrawElements(GL_TRIANGLE_STRIP,...); &レンダリングした方が速いようです。
0575デフォルトの名無しさん
2011/09/26(月) 08:00:30.87>>574 の補足です
テクスチャ行列で回転させるのと、頂点を回転(行列とコード上で直接計算両方)させるのとをやってみましたが、どれも速さは変わらないようでした。
体感やiPhone SDKに付属の"OpenGL ES Performane Detective"というツールで見る限り
もっと切れの良い動きを期待して点スプライト(ES2.0機能の一部使えたので)での件質問したのですが、まこれでも十分かという感じです。
時期を見てES2.0へ移行したいとも思います。
ありがとうございました。
0576デフォルトの名無しさん
2011/09/26(月) 16:20:02.91intelのオンボードは結構最近のまでサポートしてない。
ドライバをMesaにでもしたら対応してくれるだろうか
0577デフォルトの名無しさん
2011/09/26(月) 16:51:08.870578デフォルトの名無しさん
2011/09/26(月) 16:57:16.080579デフォルトの名無しさん
2011/09/26(月) 20:41:55.020580デフォルトの名無しさん
2011/09/26(月) 21:42:25.77ProgramじゃないVertexShaderってなんだ
0581デフォルトの名無しさん
2011/09/26(月) 21:48:01.37俺の見識が足りないのかとw
0582デフォルトの名無しさん
2011/09/26(月) 21:55:25.90「プログラムを組む類の話では無いんだけど(と言う前置きで)、
intelのオンボードグラフィクス機能は、最近の物でも VertexShader に対応していない。
ドライバを他に変えたら、動くものなんだろうか。
(例えば、Mesaに買えたら、VertexShaderに対応していないチップでも、それが使えるだろうか) 」
って、聞きたいんだと思う答えは無理だろばか。 以上
0583デフォルトの名無しさん
2011/09/26(月) 22:02:13.43それが何かは知らんが
0584デフォルトの名無しさん
2011/09/26(月) 22:08:26.22>>583
"固定パイプライン"って言葉とごっちゃになってるだろww
あれは予め用意されてて、隠されたシェーダ処理だよ
0585デフォルトの名無しさん
2011/09/26(月) 22:22:00.19プログラマブルシェーダーに対して、
PICA みたいなのを固定機能シェーダーと言うこともある
0586デフォルトの名無しさん
2011/09/26(月) 22:27:12.56プログラマブルじゃないシェーダ=固定機能シェーダに対応してない時点で、そもそもシェーダ自体対応してないって事になる?
だとしたら、(programじゃないほう) とか言う必要なかったよな
0587デフォルトの名無しさん
2011/09/26(月) 22:50:03.420588デフォルトの名無しさん
2011/09/26(月) 23:12:41.90glCreateProgramを呼ばずにNASAの開発した最新技術を使って
シェーダオブジェクトをbindしておうという事かとエスパーしたが
大誤算のようだったな。
0590デフォルトの名無しさん
2011/09/26(月) 23:49:00.08まぁ opengl グラボの依存性高い印象はあるからその辺動かんかもしれんけど
0591デフォルトの名無しさん
2011/09/27(火) 00:02:56.83openGLにはDirectXのHELみたいなのないの?
0592デフォルトの名無しさん
2011/09/27(火) 01:42:35.61>>576が言いたいのは、ARB_vertex_shaderが使いたい(ARB_vertex_programじゃないほう)って事でしょ。
0593デフォルトの名無しさん
2011/09/27(火) 02:44:27.060594デフォルトの名無しさん
2011/09/27(火) 08:08:02.060595片山博文MZ
2011/09/27(火) 11:01:05.932.円や楕円を描くにはどうすればいいですか?
教えてください。
0596デフォルトの名無しさん
2011/09/27(火) 11:14:01.91どこで詰まったの?
テキストの件は環境によるとして、円や楕円なんて単純に計算してLINEでも引けば
0597片山博文MZ
2011/09/27(火) 11:20:53.98アンチエイリアス&αブレンドが掛かった日本語文字列を出力する方法はありませんか?
0598片山博文MZ
2011/09/27(火) 11:26:31.83http://www21.atwiki.jp/opengl/pages/24.html
0599デフォルトの名無しさん
2011/09/27(火) 11:28:12.70winでテキストなら、きっと必要になる関数は
wglUseFontBitmapsW で、あとは
wglGetCurrentDC
CreateFontW ※win32API
とかかな。αブレンド云々は、普段3D処理書くときの要領で
0600デフォルトの名無しさん
2011/09/27(火) 11:29:24.320601デフォルトの名無しさん
2011/09/27(火) 11:56:22.03プリミティブ全体にアクセスできるシェーダーなんだからPrimitive Shaderの方が正しいと思う。
シェーダーの名前付けはプリミティブ、バーテックス、フラグメントと適応される場所でなされていると思っていたのだが...
(ただ理想的にはジオメトリー、マテリアル、ライティングみたいに処理内容で名前をつけたほうがいいと思う)
0602デフォルトの名無しさん
2011/09/27(火) 12:02:25.22英語圏の言葉的な意味で。 なので
>プリミティブ全体にアクセスできるシェーダーなんだからPrimitive Shaderの方が正しいと思う。
これだけは無いわ。もうちょっと考えてよく観察してから言ってくれ
0603576
2011/09/27(火) 12:23:33.47拡張機能のARB_vertex_saderを使おうと思うんだが(GLSL)
intelのオンボードは結構最近のまでサポートしてない。
ドライバをMesaにでもしたら対応してくれるだろうか。
vertex対応でfragment非対応とかいう変態でもMesaで対応できるんだろうか。
拡張機能全滅のグラボでもMesa入れたら2.1までの機能全部使えるようになるんだろうか。
もしそうならCgはMesaと変わらん
というかCgは将来削除されそうでそっちのほうが怖い
vertex_programも現状ほぼ無視されてるからなあ
0604デフォルトの名無しさん
2011/09/27(火) 12:33:00.65普通はプリミティブで「基本的な構成要素」と解釈される。
お前がなぜそんなに顔真っ赤なのか理解不能
0605デフォルトの名無しさん
2011/09/27(火) 12:36:26.94なんで顔真っ赤にして言い返してきてんだよw
0606デフォルトの名無しさん
2011/09/27(火) 12:37:01.810607576
2011/09/27(火) 12:44:46.36CgはOpenGLの機能じゃないのね
DirectXでも使えるのはいい
でもARB_vertex_programも動かない環境ではどうなるんだろう
0608デフォルトの名無しさん
2011/09/27(火) 20:15:42.80テッセレーションステージのシェーダーは、ハルシェーダー、ドメインシェーダーがそれぞれテッセレーションコントロールシェーダー、テッセレーションエバリュエーションシェーダーになってDirectXとは違っているが。
0609デフォルトの名無しさん
2011/09/27(火) 21:46:56.33あ、本当だ。ぜんじーのコラムにもそう書いてある。
http://journal.mycom.co.jp/articles/2007/02/18/dx10/003.html
ちなみに、ジオメトリシェーダは当初「プリミティブシェーダ」(Primitive Shader)という仮称も候補に挙がっていたのだが、
いろいろな議論の結果、DirectX環境下では「ジオメトリシェーダ」という名称に確定統一された。
たしかに違和感のある名前ではある。やろうと思えばジオメトリシェーダーの中でライティングの計算も可能だしな...
このスレ侮りがたし。
0610デフォルトの名無しさん
2011/09/27(火) 22:42:17.41Cgは結局のところCg言語から他のシェーダ言語へのコンパイラだから全くシェーダが無い環境では当然動かない
ソフトウェアレンダラが欲しいというならOSMesa使え
ただしまともに使える速度では動かんぞ
0611デフォルトの名無しさん
2011/09/27(火) 22:47:24.52http://www.keshi.org/blog/2006/12/b2con2006.html
0612デフォルトの名無しさん
2011/09/28(水) 18:29:11.44POINTSとかTRIANGLESとかの各描画モード間で描画速度に差がでる
POLYGONがTRIANGLESとかより速度が遅い理由はわかったんだが、POINTSがTRIANGLESより遅くなる理由がわからなくて困ってる
※描画速度に関してはディスプレイリストを用いて再描画した時の速度のことに限定してる
0613デフォルトの名無しさん
2011/09/28(水) 18:35:49.560614デフォルトの名無しさん
2011/09/28(水) 18:44:50.36因みにLINEもTRIANGLESより遅い
グラボ内での処理の違いによるものなのかな
0615デフォルトの名無しさん
2011/09/28(水) 20:09:56.400616デフォルトの名無しさん
2011/09/28(水) 20:16:33.03ここにもいたのか麻雀スレのかわいそうな子
0617デフォルトの名無しさん
2011/09/28(水) 22:13:14.33なるほど、透過した際の処理が絡んでくるからか
ありがとう
0618デフォルトの名無しさん
2011/09/28(水) 22:57:22.84透過は関係ない、面であれば普通裏むいてりゃラスタライザ前で捨てる
0619デフォルトの名無しさん
2011/09/29(木) 01:05:54.07なんだよそれ。シャドーボクシングならよそでやってくれ
0620デフォルトの名無しさん
2011/09/29(木) 21:56:03.83テッセレーションできる方法が実装できてすぐにも実用できそうなんだけど
そういう話を聞いたことがないのは誰も注目してないの?
*1 Geometric Mesh Refinement on GPU, Boubekeur & Schlick
0621デフォルトの名無しさん
2011/09/30(金) 01:07:02.96リンクが見つからなくて・・・
0622デフォルトの名無しさん
2011/09/30(金) 02:18:42.792011年になって256個に増やされたとかいう事は無い?
0623デフォルトの名無しさん
2011/09/30(金) 08:34:30.71http://jogamp.org/
ここからいけない?
>>622
なんで急に増えるわけがあるんだよ
万が一規格で増えたとしても古いハードウェアが勝手に性能アップするわけもないだろ
0624デフォルトの名無しさん
2011/09/30(金) 18:15:39.22Interactive Computer Graphics: A Top-Down Approach with Shader-Based OpenGL (6th Edition) [ハードカバー]
Edward Angel (著), Dave Shreiner (著)
値段が値段(9458円)だけに買うのがためらわれるんだけど、値段分の価値はある?
OpenGLの基本的なことは知っているので応用がしりたい。
0625デフォルトの名無しさん
2011/09/30(金) 22:52:31.480626デフォルトの名無しさん
2011/10/01(土) 15:58:13.65視界から見える可能性のある頂点だけピックアップして行ないたいのですが、
この「見える可能性のある頂点」を高速に判定するにはどうすればいいでしょうか?
0627デフォルトの名無しさん
2011/10/01(土) 18:09:30.840628デフォルトの名無しさん
2011/10/01(土) 22:23:24.14簡易モデルでオクルージョンカリングするとかかな
0629626
2011/10/01(土) 23:27:56.94そのトライアングルの元になった頂点を求める方法がベストなんですがどう考えても難しいです。
0630デフォルトの名無しさん
2011/10/01(土) 23:39:59.11「レースが始まる前に一度競馬の結果を知る事が出来れば、
効率よく当たり馬券を得られるのですが、何か良い方法が無いですか?」
と質問した?
0631デフォルトの名無しさん
2011/10/02(日) 11:04:39.87事前にプリミティブの頂点が全て収まる球を CPU で計算しておいて、その球が視体積と
交差する可能性がなければそのプリミティブに対する描画コマンドを実行しない。
0632626
2011/10/02(日) 12:27:52.201 頂点ごとに固有のIDを頂点Attributeで送る
2 ジオメトリーシェーダーでピクセル毎に3頂点IDを複製する
3 最終的に残ったZバッファーのピクセルを見ると元になった頂点IDx3がわかる
4 Zバッファーから全ての頂点IDを取得してソートして重複を取り除けば完成
というアルゴリズムを考えたのですが、どう考えても4が実用的でありません。
できればジオメトリーシェーダーも使いたくありません。
0633デフォルトの名無しさん
2011/10/02(日) 12:33:25.44当然オクルージョンカリングを試した上での発言だろうな
0634デフォルトの名無しさん
2011/10/02(日) 12:51:50.50コンディショナルレンダリングを使うのは検討した?
0635デフォルトの名無しさん
2011/10/02(日) 14:14:11.750636626
2011/10/02(日) 14:31:22.25はじめて知った\(^o^)/
え、何これ凄い便利そうなんですけど
3回レンダリングするのが少し気になりますがこれ使えばいけそうです
0637デフォルトの名無しさん
2011/10/02(日) 14:38:33.110638デフォルトの名無しさん
2011/10/07(金) 15:58:15.19という事をしたいのですが、どうやったらいいですか?
詳しく紹介されているサイトがありましたら、教えてください。
0639デフォルトの名無しさん
2011/10/07(金) 23:26:20.560640デフォルトの名無しさん
2011/10/08(土) 01:07:37.18マウスで画面上の座標をクリックした時、そのスクリーン座標 x, y から、三次元空間で向いてる方向に
まっすぐ線を延ばして、その伸びた線分と最初に交差する面を計算して特定しておいて、
あとは通常通り、メッシュをdraw&その特定した面を構成する頂点位置と、まんま重なる別のポリゴンを重ねて描画
※ただし完全に同じ位置に描画するとモアレみたいな状態になるので、わずかにカメラ側のベクトルに移動させて描画
とかが、ぱっと思いつくベタな方法。勿論他にもやりようなんて都合と工夫次第
0641デフォルトの名無しさん
2011/10/08(土) 01:38:08.44glBegin,glEnd,glVertex3fとかの固定機能系はdeprecated
となってるそうですけど、
やはり積極的にシェーダ利用の描画に乗り換えていくべきですか?
0642デフォルトの名無しさん
2011/10/08(土) 02:07:59.760643デフォルトの名無しさん
2011/10/08(土) 02:10:31.780644デフォルトの名無しさん
2011/10/08(土) 02:29:37.33ありがとうございます!
0645デフォルトの名無しさん
2011/10/08(土) 03:52:17.70ありがとうございます。
とりあえずその案でやってみます。
逆に各三角形をスクリーン座標系へ座標変換してからスクリーン座標系で
マウス位置と重なっているか計算するという手もあるぞ
0647デフォルトの名無しさん
2011/10/12(水) 12:42:17.87Android SDKと一緒に使おうと思ってます
0648デフォルトの名無しさん
2011/10/12(水) 15:10:26.32ネットを探すだけ無駄
そもそも適切なキーワードを知らないし、見つけたサイトが有用かそうでないかわからないでしょ。
素直に1冊買いなさい
0649デフォルトの名無しさん
2011/10/12(水) 23:06:41.66デビットカードの残金が切れていてamazonで買い物ができないんですが分かりました
代引きで頼んでみます
0650デフォルトの名無しさん
2011/10/13(木) 11:06:10.70エキスパート向けの高度なテクニックをわかり易く解説している本がいいです
0651デフォルトの名無しさん
2011/10/13(木) 12:37:24.970652デフォルトの名無しさん
2011/10/13(木) 19:38:45.02最強の怪獣を教えてください
すごい強いのがいいですって、言った?
0653デフォルトの名無しさん
2011/10/13(木) 20:39:38.54エキスパート向けの高度なテクニックって、基本的にその前提になる
別の高度なテクニックについて、予め知識がある人向けわかり易く解説してる物だから、
「凄い本おしえてください!」 とか言ってるような初心者では、多分、全然わかり易くはないと思うよ
例えばC++のイディオム集みたいな物があったとして、そこで高度なテクニックがわかり易く紹介されてたとしても、
そもそもそれを理解する為の C++ の高度な使い方知ってなかったら、何を話してるのかすらわからない、みたいな
0654デフォルトの名無しさん
2011/10/13(木) 20:50:28.31(エキスパート向けというわけではないが)
この人のブログで時々マニアックなもの紹介されてたりするから、
過去のチェックすると良いよ
http://masafumi.cocolog-nifty.com/masafumis_diary/
0655デフォルトの名無しさん
2011/10/13(木) 23:32:51.06例えばdeffered renderingしたいけどMSAA効かないよね
⇒ そうだあれしよう(ぴこーん!)
みたいなのお願いします
0656デフォルトの名無しさん
2011/10/13(木) 23:54:52.70そういう用途なら、Googleが最適じゃないの?
0657デフォルトの名無しさん
2011/10/14(金) 00:02:46.750658デフォルトの名無しさん
2011/10/14(金) 12:44:31.43最新のものを知りたいならGDCとかSIGGRAPHの発表資料とか論文見ろ
さらにそこから参考文献探し出せばよい
あとOpenGLに限らずDirect3Dの資料も読め。どうせやってることはかわらん
0659デフォルトの名無しさん
2011/10/14(金) 16:54:37.64目的地 WinG
経由地 DirectX 11
表示順序 乗換回数順
0660デフォルトの名無しさん
2011/10/15(土) 11:43:26.540661デフォルトの名無しさん
2011/10/15(土) 12:19:05.80DIBセクションって、DIB形式画像のヘッダ部分だと思うが
0662デフォルトの名無しさん
2011/10/16(日) 11:32:25.19人間や動物が手足を動かすものを
作る方法について書いた本やWebのページは
あるでしょうか。
ロボットが手足を動かす例はみつけましたが、
ロボットを九体や立方体に分けて別々に
動かすというもので、人間や動物のように
柔らかいものについては使えそうには
ありません。
よろしくお願いします。
0663デフォルトの名無しさん
2011/10/16(日) 14:07:21.15ロボットの手足を動かす事はできてるわけだ
ボーンを手足に見立てて人間のように動かすことできていると
(できてなければ、そこから始めた方がいい)
であれば、あとは各ボーンの動きに合わせて、
ポリゴンを「人の皮膚のように」切れ目なく動かすだけで、
とりあえず人間や動物が手足を動かしているように見える
(皮膚を押したら凹むとかはまた別の話)
まずは下記のようなページでスキンメッシュの計算の基礎を学ぶといい
http://graphics.ucsd.edu/courses/cse169_w05/3-Skin.htm
日本語での理論の丁寧な解説が意外にないな・・・
0664デフォルトの名無しさん
2011/10/16(日) 19:28:11.82ジェイソングレゴリーのゲームエンジン・アーキテクチャに詳しい
俺はそれで勉強して実装した
ゲーム作るには必須の技術だが日本語で読める解説書は無きに等しい
0665デフォルトの名無しさん
2011/10/16(日) 20:16:59.28OpenGL ほとんど関係ないしMMD周辺調べてみたら?
0666デフォルトの名無しさん
2011/10/16(日) 21:26:36.11それでええやん?
0667デフォルトの名無しさん
2011/10/16(日) 21:34:58.13>>662
その立方体や球体に分けて関節表現、が本当にわかってて、
読んでわかったとかコピペしたら出来た、とかでないなら、
後はどうすればいいか、とりあえず気づくと思う。
要は、 「ボーンの移動や回転に合わせて単純に位置更新、が、出来ない頂点」 に視点を向けろ
そこがどうなればいいかわかれば、後は簡単だから。
単純移動出来ない頂点は、どちらかに何パーセント移動し、
他方に何パーセントか移動する訳だから、それを計算しろ。
単純にとある面を構成する頂点が、全て同じボーンに含まれるなら、それは形は変わらず、
面が回転移動するだけだけど、 そうでない 「単純に更新が出来ない、変形する面の頂点」 は、
どう計算したらいいか、って話。 その観点に視点を向ければ楽勝。簡単なこと
0668デフォルトの名無しさん
2011/10/16(日) 21:36:13.990669デフォルトの名無しさん
2011/10/16(日) 21:43:51.19無言安価打たれる理由がないんだが
0670デフォルトの名無しさん
2011/10/16(日) 21:58:51.52スキニング、原理の説明だとこことか分かりやすいんじゃないかな
http://marina.sys.wakayama-u.ac.jp/~tokoi/?date=20091231
0671デフォルトの名無しさん
2011/10/16(日) 22:55:30.02原理はともかく実装はノウハウの塊だからなぁ
mikoto互換から始めたけど未だにmikotoの品質を超えられない
0672デフォルトの名無しさん
2011/10/16(日) 23:16:58.74+0|-0
の角度を
+π|+0
-π|-0
に変換するスマートな方法ってある?
0673デフォルトの名無しさん
2011/10/16(日) 23:23:26.92元コメで欲されてるスキニングの変形方法について有為な情報が皆無だからじゃねーの
0674664
2011/10/16(日) 23:24:17.76お前がスケレタル・アニメーションについて理解してないことがよく分かった。
恥をかくだけだからもう発言しない方がいい。
>>670
床井先生には申し訳ないのだが、この説明で初心者が理解できるだろうか?
ゲームエンジンアーキテクチャーを読んだほうが100倍良くわかるはずだ。
床井先生にはいつも感謝してるが、世界最高の良書と比べるとやはりわかりにくい。
というわけでこういうゲーム作りの基本情報がネイティブ言語で読めないというのは日本の国益に非常にダメージを与えている。
国は床井先生に金を払って書き直してもらうべき。
0675デフォルトの名無しさん
2011/10/16(日) 23:27:45.04床井研究室主導で一発凄いのを作ってもらえないだろうか。
ソースだけじゃなくドキュメントも豊富に揃えて。
例えばスタンフォードのPBRTとかが理想。
0676デフォルトの名無しさん
2011/10/16(日) 23:30:14.58意味が分からん
縦棒の記号はなんだ?
なんで上下2段になってる?
+0 と -0 は IEEE574 のゼロ表現のことなのか?
0677デフォルトの名無しさん
2011/10/16(日) 23:31:08.510678デフォルトの名無しさん
2011/10/16(日) 23:39:15.390679デフォルトの名無しさん
2011/10/17(月) 00:20:16.32そうなの?HP見るともうすぐ製品リリースっぽいけど...
0680デフォルトの名無しさん
2011/10/17(月) 01:19:55.66後半の微分あたりから急に硬い理系の教科書みたいな意味不明な文章になって読む気無くすよね
3D数学本の訳者は日本語が上手い人間にするべきだよね
0681デフォルトの名無しさん
2011/10/17(月) 01:43:07.310682デフォルトの名無しさん
2011/10/17(月) 01:48:20.970683デフォルトの名無しさん
2011/10/17(月) 09:42:19.00今までは無条件に勧めていたけど、翻訳の質がよくないなら考え直さないと...
0684デフォルトの名無しさん
2011/10/17(月) 09:47:31.880685デフォルトの名無しさん
2011/10/17(月) 16:55:14.14Light Pre-Pass Renderingの性能上の利点ってどこにあるの?
実装上はライティングの計算がシェーダーから分離してくれるのでありがたいけど、
普通のForward Renderingに比べて利点はそれだけな気がする。
0686デフォルトの名無しさん
2011/10/17(月) 21:56:52.12取られてない。
翻訳の日本語が悪いのは事実なのだから単なる話のすり替え
0687667
2011/10/17(月) 22:51:31.84いや、お前は何もわかっていない。言葉だけでわかったフリしてるだけの、ただのマヌケだ。
知ったか厨二病乙
俺は自分で実装してるよ
0688デフォルトの名無しさん
2011/10/17(月) 23:34:14.210689デフォルトの名無しさん
2011/10/18(火) 05:31:20.02証明できない事実を並べたり、関係ない事実を述べたりする
0690デフォルトの名無しさん
2011/10/18(火) 07:21:49.50君はもういいから...
0691デフォルトの名無しさん
2011/10/18(火) 07:25:17.06> お前がスケレタル・アニメーションについて理解してないことがよく分かった。
割り込みでスマンが、言ってる意味がよく分からない
その反論をもう少し詳しく教えてくれないだろうか
というのも、>>667 が言ってることは、やや大げさな言葉使いは別にして、
至極まともなことを言っているように感じる
>>662 のようなスキンメッシュやスケレタル・アニメーションなどの言葉も知らない人に、
一つの頂点の位置を複数のボーンの座標変換の合成によって決定するという、
スキンメッシュの単純な本質に目を向けさせ、まずは自分で考えさせるのは
理解させるひとつの方法だと思う
これが本質であることは >>674 も同意見だと思うが、違うのだろうか
どのサイト、本にも載っている基礎中の基礎だと思う
ただまぁ、質問者は本やWebのページを求めているので、
質問の趣旨からは外れているわけだが
0692デフォルトの名無しさん
2011/10/18(火) 07:34:20.33を読んでみると
MMDに対するツッコミは別におかしく無い
その後読みにくいけど頂点ブレンディングについて書いてる
>>674
そこから>>674が言うようにスケルタルアニメーションを
理解できてないにどうして繋がるか俺には分からん
>>687
はスキニニングとかのタイポにたいする皮肉と思われる
なぜファビョったかは不明
第三者的にはまじで意味が分からない
0693デフォルトの名無しさん
2011/10/18(火) 07:58:10.290694デフォルトの名無しさん
2011/10/18(火) 08:35:32.250695デフォルトの名無しさん
2011/10/18(火) 09:15:58.66思わないだろ?
他人が理解できるように説明できないということは、理解してないということ
>>667の文章を読めば、ああこいつ理解してないなと思うは当然
他人にスケレタルアニメーションを説明するにはまず第1にスケルトンが階層構造のボーンと、
ボーンに関連付けられた頂点(スキン)でできてることを説明する。
そしてボーンを動かせばそれに追従してスキンが動く事を押さえる。
この時1つの頂点が1つのボーンにしか追従しないと関節部分が割れたりするので
通常は1つの頂点が2つ(以上)のボーンに関連付けられていて、なめらかに遷移するように両者がブレンドされる
くわしくはゲームエンジンアーキテクチャーに全部書いてある。
床井先生のページの説明も気に入らないし、俺は日本語で読めるスケレタルアニメーションの全ての説明が気に入らない。
何で日本語の資料はこんなにそろいもそろって酷いんだ。
みんなまともな資料を読んだことがないから>>667みたいに自分は理解していると思って馬鹿げた説明を繰り返す
0696デフォルトの名無しさん
2011/10/18(火) 09:22:14.110697デフォルトの名無しさん
2011/10/18(火) 09:23:38.02ボーンのローカル座標に落とすところな
これが全てのトリックの根幹
最終的にはボーン行列をかけるだけの処理だが
以外とそこに至るまでの仮定は奥が深い
そのギャップが一番面白いところで、そういう面白さに気がつかせてくれるのがいい教師
0698デフォルトの名無しさん
2011/10/18(火) 09:24:28.04ひっこめゴミ
自分が場違いなところに書き込んでいることを理解しろ
0699デフォルトの名無しさん
2011/10/18(火) 09:40:03.030700デフォルトの名無しさん
2011/10/18(火) 19:24:48.66質問です。
Visual C++2010でopenglを動かしているのですが、openglで作ったアニメーションを動画キャプチャしたいのですが、
やり方がわかりません。フリーの動画キャプチャを使ってみたのですが、openglの動きは反映されませんでした。
わかるかたよろしくお願いします。言語はC言語です。
0701デフォルトの名無しさん
2011/10/18(火) 19:28:26.430702デフォルトの名無しさん
2011/10/18(火) 19:39:03.24その中で動いている点とかが最初のままで動いてないのがキャプチャされたのですが、
これは設定とかに問題があるんですか?
0703691
2011/10/18(火) 19:57:49.87あぁなるほど、言われればそうかも、納得しました
俺は自分が知ってるから無意識にそういう視点で読んでたけど、
確かに全く触れたことがない人にとっては、ちょっと分かりにくい文章ではあるな
ただ、質問者がロボットの手足を動かすことはできていることを前提にすると、
ボーンの構造自体は理解できている筈だから、それなら推測できるだろうとは思う
それを前提にすること自体が誤った推測かも知れんが
>>667 も理解してると思うよ
ところで >>695 は、そこから「日本人が誰もやらないなら俺が解説を書いてやろう」
という発想には至りませんか? 応援しますけど
0704デフォルトの名無しさん
2011/10/18(火) 20:13:48.14ゲームプログラマーになる前に〜に適当に手足のパーツを動かした例がのっていたはずだがそのレベル
そもそも日本語で真面目にボーン入れて動かすチュートリアルを見たことがない
0705デフォルトの名無しさん
2011/10/18(火) 20:36:33.03スキンはその後だ
0706デフォルトの名無しさん
2011/10/18(火) 22:53:51.04でも実装経験が伴ってないから、
具体的な動きを書かれても意味がわからず、
「お前が何もわかってない事がわかった(キリッ」とか言って恥かくんだよ
でもプライド高くてバカだから想像できないのw
0707デフォルトの名無しさん
2011/10/18(火) 23:23:34.420708デフォルトの名無しさん
2011/10/18(火) 23:42:38.52WindowsVista以降ならデスクトップコンポジション切るといけるかもしれない
あまりプログラミング関係ないからソフトウェア板とかで聞いた方が早いかも
0709デフォルトの名無しさん
2011/10/19(水) 05:34:21.540710デフォルトの名無しさん
2011/10/19(水) 07:12:12.400711デフォルトの名無しさん
2011/10/19(水) 08:33:12.55ogreとかirrlichtとか
0712デフォルトの名無しさん
2011/10/19(水) 09:17:15.250713デフォルトの名無しさん
2011/10/19(水) 09:48:28.970714デフォルトの名無しさん
2011/10/19(水) 10:09:06.000715デフォルトの名無しさん
2011/10/19(水) 10:28:50.173年後に再挑戦してクオータニオンの回転角の符号を反転させたら正常に表示されて3年間を無駄にしたことがある
0716デフォルトの名無しさん
2011/10/19(水) 10:36:30.370717デフォルトの名無しさん
2011/10/19(水) 10:40:21.101レスで書ける事を8分待たなきゃ書けなかった事をよく考えれば
3年て時間を無駄にした本当の理由が見えてくるんじゃ?
0718デフォルトの名無しさん
2011/10/19(水) 10:50:44.90落ち着けよカスども
0719デフォルトの名無しさん
2011/10/19(水) 10:53:06.400720デフォルトの名無しさん
2011/10/19(水) 10:54:56.600721デフォルトの名無しさん
2011/10/19(水) 11:03:27.250722デフォルトの名無しさん
2011/10/19(水) 11:04:06.71ちなみに俺はDeffered Renderingは時代遅れ派だ
欠点は
- バンド幅を食いすぎる
- MSAAが効かない
- 半透明ダメポ
- 変更に弱い(G-Bufferのデザインが全てに影響する)
という理由からDeffered Renderingイクナイと思っている
0723デフォルトの名無しさん
2011/10/19(水) 11:15:19.680724デフォルトの名無しさん
2011/10/19(水) 12:21:48.87>俺は正しいコードを書いてるはずなのに
2chでも、なんかやらかしてそうな奴だな
0725デフォルトの名無しさん
2011/10/19(水) 12:34:17.660726デフォルトの名無しさん
2011/10/19(水) 12:38:58.990727デフォルトの名無しさん
2011/10/19(水) 12:47:16.450728デフォルトの名無しさん
2011/10/19(水) 13:12:47.29〜〜ができるやつは積極的にwebに情報配信してほしい
0729デフォルトの名無しさん
2011/10/19(水) 13:12:53.750730デフォルトの名無しさん
2011/10/19(水) 13:15:24.56↓
できない奴はバカ以下
結論:スキンメッシュは天才しか扱えない
↓
できなくても仕方ないのさ
天才が謙遜するたびに挫折した奴が傷つくなら
天才を自称した方が綺麗に収まるんだよ
挫折してからできるようになった人も達成感を得られる
できないくせに簡単にできると言ってる奴はただのバカだが
0731デフォルトの名無しさん
2011/10/19(水) 13:26:17.86スキニングなんて20年前の技術なのに
なんでいまだにwebにまともな情報が無いんだ?
クソblogが氾濫したせいで埋もれてるのか?
0732デフォルトの名無しさん
2011/10/19(水) 13:29:05.480733デフォルトの名無しさん
2011/10/19(水) 13:29:19.74最新技術とか1人で全部追いかけるの大変だし
相談できる相手は社内にいないしどないせいっちゅうねん
0734デフォルトの名無しさん
2011/10/19(水) 14:01:05.270735デフォルトの名無しさん
2011/10/19(水) 15:38:03.65まあ今更頑張って書いたところで、素人が動かすMMDにも及ばんだろ
高度なはずの技術がツール使えば誰でもできることになっちまったw
0736デフォルトの名無しさん
2011/10/19(水) 16:03:57.720737デフォルトの名無しさん
2011/10/19(水) 16:40:16.440738デフォルトの名無しさん
2011/10/19(水) 16:55:07.30数年前までは割と深刻な問題で言い訳にも使えたけど、今はモーションどころか
剛体設定まで仕込んであるMMD用データがいくらでも入手できるからなあ
0739デフォルトの名無しさん
2011/10/19(水) 17:00:59.75物理演算とか使うとオンラインは厳しいからゲームには使えないけど
0740デフォルトの名無しさん
2011/10/19(水) 17:11:21.00MMD使ってちょちょっとやればいいじゃん
プログラムできても大したことないね〜www
そういう時代
数学なんて要らなかったんや
0741デフォルトの名無しさん
2011/10/19(水) 17:36:01.44箱庭から出るのが面白いのに
0742デフォルトの名無しさん
2011/10/19(水) 17:47:17.78MMDデータをopenglで描写するエンジンを自作したいとかなら分かるが
0743デフォルトの名無しさん
2011/10/19(水) 18:18:36.71いい加減統一してくれ
0744デフォルトの名無しさん
2011/10/19(水) 18:58:46.87流行る気配はないけどね
0745デフォルトの名無しさん
2011/10/19(水) 20:29:25.14もっとコンパクトなサブセットないんかな、jsonとかで
webglやflash11通して普及したりせんかなと
0746デフォルトの名無しさん
2011/10/19(水) 20:36:54.61COLLADAは最小公倍数の方だね
0747デフォルトの名無しさん
2011/10/19(水) 22:35:50.110748デフォルトの名無しさん
2011/10/19(水) 23:07:54.68「オンラインは厳しいから」から「ゲームには使えないけど 」に俺の思考が直結しないんだけど
これってどういう意味?
0749デフォルトの名無しさん
2011/10/19(水) 23:21:54.38オフライン=プリレンダリング
ってことかな
0750デフォルトの名無しさん
2011/10/19(水) 23:34:10.750751デフォルトの名無しさん
2011/10/19(水) 23:45:04.540752デフォルトの名無しさん
2011/10/20(木) 02:55:19.41素直に実装するとBRDFが固定されてしまう点以外は思ったよりいいと思う > deferred rendering
MSAAはDX11世代のグラボでは普通にサブピクセルで操作出来るから問題ないし、そもそもPC のパワーが増えてきたら下手にMSAA使うよりもその分解像度あげてレンダリングする方にパワー使ってFXAAとかの方が綺麗なケースが多い気がする。試してる限りでは。
DRに取って替わる手法とかあったら教えて欲しい。
0753デフォルトの名無しさん
2011/10/20(木) 03:07:23.38たくさんライトを出さない、BRDFをいろいろ変えてレンダリングしたい、とかならディファードレンダリングは向かないかもしれないけど…。
0754デフォルトの名無しさん
2011/10/20(木) 03:13:04.93スカートが付いてるキャラとか
mob1対につき骨が200本くらいだったかあってそれぞれに剛体が付いてて
とてもじゃないが無理ゲーだった
0755デフォルトの名無しさん
2011/10/20(木) 05:58:24.88ボーンシミュは捨ててOpenCL格子シミュでもいいと思うけどまだ試してない
骨+モーションも後付けで拡張できるようにしたら
顔の表情や手の動きなんかも付けやすくなりそうだけど試してない
できるならトゥイーニングは捨てれる
頂点の編集も手動でやるならツールに頼らなきゃならないし
データも
骨+モーション
頂点
の二つに分けといた方がいいような気もする
頂点シミュレーション後にnormalを計算したいから
テセ使いたいけどwebglでは少し足りないし
まだ拡張の余地があるからしばらくは柔軟なフォーマットでやるしかないよ
0756デフォルトの名無しさん
2011/10/20(木) 08:47:48.770757デフォルトの名無しさん
2011/10/20(木) 11:33:52.18今1から実装するなら個人的にはLight Pre-Pass Rendering(Engel)を押したい
Deferred系レンダリングの一種だが上記の欠点(MSAA)を克服している
1パス目でG-Buffer(位置、法線)をレンダリング(Geometry)
2パス目でライトの放射照度(拡散光、鏡面光)をレンダリング(Light)
3パス目でもう1度ジオメトリーを送ってレンダリング(Geometry)
最大の違いは3パス目で、再度ジオメトリーを全部送っているのが無駄に思えるが
オクルージョンカリングを有効にしているのでたいしたコストではない
実際のところ3パス目でやっていることは通常のForward Renderingと同じで
その前にプリプロセスとして1パス目でZを、2パス目で放射照度をピクセル毎に求めているに過ぎない
Light Pre-Pass Renderingは各手法の”いいとこどり”で
ライト無制限、MSAA、オクルージョンカリングが使える
と思ってるけど実装したこと無いからここまで全部俺の妄想
0758デフォルトの名無しさん
2011/10/20(木) 13:53:43.22自分はどちらも実装した上で書いてたんだけど、その二つなら作りたいものの都合に合わせて選べばいいんじゃない?って感じ。
MSAAの対処って基本的にディファードとライトプリパスで変わらないよね?
sampler2DMS使うみたいな。
0759デフォルトの名無しさん
2011/10/20(木) 14:33:58.513パス目はジオメトリーを書き込むからglEnable(GL_MULTISAMPLE)がそのまま使える
Deferred Renderingの場合最後は1枚の板なのでマルチサンプリングしても意味がない
0760デフォルトの名無しさん
2011/10/20(木) 14:52:46.55Deferredの場合はGバッファがMSAAで書き込んでるから、リゾルブの時にMSAAテクスチャとして対処しないといけないんだ。
0761デフォルトの名無しさん
2011/10/20(木) 16:19:40.76世間ではDeferredでスーパーサンプリングせずにポスト処理でAAをかけるのが流行りっぽいけどよく知らね
それは個人的には筋が悪いと思う。というわけで俺はMSAAが使えるLight Pre-Passを押すぜ
あとどうでもいいがマルチサンプリングと言いつつ、やっている事はスーパーサンプリングなのはネーミングがおかしいと思う...
0762デフォルトの名無しさん
2011/10/20(木) 19:23:32.92やっぱ当然、クローンというか、それっぽいソフトは作ったことあるんだよな?
モーションのフォーマットって、俺は自分の都合でべたに並べたけど
既存のフォーマットに揃えたりする?
0763デフォルトの名無しさん
2011/10/20(木) 19:26:18.71bullet使ってコード書いたことあるか?
多分何も知らずにそのレス書いただろw
0764デフォルトの名無しさん
2011/10/20(木) 21:50:17.61論文には画質はx4~x8 MASSぐらいで10倍高速とか書いてあるけど
それが本当ならMSAA切ってポストプロセスでやったほうが高速にできるはず
ちょっと信じられない
0765デフォルトの名無しさん
2011/10/20(木) 22:13:21.06FXAAの倍以上時間がかかるけど、処理時間を正当化できるほど綺麗とは思えないな。
実際に自分のコードにいれて見たらわかると思うよ。某MLAAのソースはサンプリングポイントがおかしかった気がするけど。
0766デフォルトの名無しさん
2011/10/20(木) 23:20:28.38使って商品だしたけど?
0767デフォルトの名無しさん
2011/10/21(金) 07:16:11.75それを信用しろと?
0768デフォルトの名無しさん
2011/10/21(金) 07:55:41.76認められたいなら実名でやればいいだけ、わざわざ匿名でする理由がない
他人を見下してバカにして優越感を得たいか
またはそれをやってそうな人や会社の価値を落としたいか
見え透いている
技術者なら技術で戦うべき
政治力や金や社会的地位や口先で勝っても
技術者に敗北感を与えることは不可能
0769デフォルトの名無しさん
2011/10/21(金) 09:38:40.14沸いてくるから禁止。
スレタイ音読して、せめてOpenGLの話にしてくれ。
0770デフォルトの名無しさん
2011/10/21(金) 10:02:33.70MMDがなにやってるかはデータフォーマットみればわかる
その程度も理解できずに偉そうに語ってたの?
0771デフォルトの名無しさん
2011/10/21(金) 11:53:15.73他人を見下したがってるのがよくわかる
挑発して争いの種をばらまいてるのがよくわかる
そんなに他人を見下して優越感に浸って虚栄心を満たしたいなら
俺を見下せばいいよ
そうすればお前は満足なんだろ
ならそうすればいい
0772デフォルトの名無しさん
2011/10/21(金) 12:19:54.31「お前のかーちゃんでべそ」でいいでしょ
等価なんだから
0773デフォルトの名無しさん
2011/10/21(金) 12:26:20.490774デフォルトの名無しさん
2011/10/21(金) 12:47:35.340775デフォルトの名無しさん
2011/10/21(金) 12:48:57.93等価であるという命題は自明ではない
証明が必要だ
0776デフォルトの名無しさん
2011/10/21(金) 12:55:12.220777デフォルトの名無しさん
2011/10/21(金) 13:10:53.31簡単か難しいかは主観的、どっちが正しいかなんてのはない
事実としてレアかどうかぐらいでしか語れない
レアだから難しいんだろと言っても認めない
もう無理、こいつは常駐してずっと荒らすに決まってる
このスレはもう終わりかもな
みんな今までありがとう楽しかったよさようなら
0778デフォルトの名無しさん
2011/10/21(金) 13:27:08.94マジ二度と来んな
0779デフォルトの名無しさん
2011/10/21(金) 14:35:26.86なんでお前が終わることが
スレが終わりになるんだよこの自己中
0780デフォルトの名無しさん
2011/10/21(金) 14:42:36.69「とりあえずこいつが今後レスるだろう事を
先にレスって口封じ的な対策を取ってみました。」
って事ですか?
あ、もう見ていませんね。
0781デフォルトの名無しさん
2011/10/21(金) 18:04:36.84たとえば以下のように正射影を設定して
glOrtho(0.0, 200.0, 200.0, 0.0, -1.0, 1.0);
glTranslatedでx軸に対して100移動させたいのですが
glTranslated(100.0, 0.0, 0.0)とやってもぶっ飛んでいってしまいます。
glTranslated(1.0, 0.0, 0.0)とやると画面丁度半分くらい移動するんですが
0782デフォルトの名無しさん
2011/10/21(金) 18:58:27.90どこかでなにかしてるからミニマムのコードにして動かしてみ
0783デフォルトの名無しさん
2011/10/21(金) 20:00:28.840784デフォルトの名無しさん
2011/10/21(金) 20:33:54.820785デフォルトの名無しさん
2011/10/21(金) 20:37:27.990786デフォルトの名無しさん
2011/10/21(金) 21:00:26.68「人を見下したい」
原因はこの1点に尽きる。
ここで荒れるようなコメント打つ元気があるなら、
webに有用な情報を提供する側にでもなったらどうだと思う。
見下すくらい自身があるなら、そのくらいの技術はあるだろうに
0787781
2011/10/21(金) 21:01:26.29意図した動きになりました
正直、詳細はよくわかってないんですが目の前の問題は解決しました
ありがとうございました
0788デフォルトの名無しさん
2011/10/21(金) 21:05:43.90glMatrixModeかPushMatrixあたりでなにか手違いがおこったんじゃないか?
0789デフォルトの名無しさん
2011/10/21(金) 21:11:14.02例えばSSAOという題で解説とサンプルをのせる。
一人でやると大変だから有志で。1つぐらいなら貢献できる分野があるだろ。
取りまとめは床井先生でお願いします
0790デフォルトの名無しさん
2011/10/21(金) 21:19:38.940791デフォルトの名無しさん
2011/10/21(金) 23:36:55.880792デフォルトの名無しさん
2011/10/22(土) 02:43:45.990793デフォルトの名無しさん
2011/10/22(土) 04:10:16.92元コードは
glOrtho(0.0, 200.0, 200.0, 0.0, -1.0, 1.0);
glLoadIdentity();
glTranslated(1.0, 0.0, 0.0); // ---A
みたいな流れになっていたと見た。これだとAに100とか指定するとぶっとんじゃう。
0795デフォルトの名無しさん
2011/10/22(土) 20:30:40.040796デフォルトの名無しさん
2011/10/22(土) 20:39:45.11射影方法を OpenGL に「設定する」関数だと勘違いする人いるね(俺も最初してた)
本当は、単に現在の変換行列に glOrtho なんかで指定した行列をかけ算するだけなのに
0797デフォルトの名無しさん
2011/10/22(土) 20:48:12.69一応プロジェクションに一回設定して以後触らなければロストするまではそのまま使えるな。
0798デフォルトの名無しさん
2011/10/22(土) 21:23:04.180799デフォルトの名無しさん
2011/10/22(土) 22:32:10.250800デフォルトの名無しさん
2011/10/22(土) 22:37:47.30Imaginationだった
0801デフォルトの名無しさん
2011/10/22(土) 23:55:01.580802デフォルトの名無しさん
2011/10/23(日) 00:25:14.78hppって何?
0803デフォルトの名無しさん
2011/10/23(日) 00:29:18.22中身は全部ヘッダーに書いてあるから別途ライブラリをリンクする必要はない
ヘッダーをコピって終わり
0804デフォルトの名無しさん
2011/10/23(日) 01:15:20.590805デフォルトの名無しさん
2011/10/24(月) 00:20:36.78glewのコードを眺めてみたのだが、どうなってるの、これ?
コードは暗にOpenGLの上位互換を前提にしてある用に見えるのだが、ダメじゃね?
例えば、glBeginとかは新しいバージョンでは使えなくなってるけど、
なんでバージョン1.1のAPIだけプロとサイプ宣言するだけで外から関数アドレスを取得しないの?
できるだけ多くのバージョンに対応しようとしたら、
glStringでバージョンを取得して分岐とかしなけれあばならないわけか?え?
0806デフォルトの名無しさん
2011/10/24(月) 11:06:42.72インストールちゃんとしてもOpenGLが無い的なこと言われるんだがどうすれば・・・
0807デフォルトの名無しさん
2011/10/25(火) 01:57:16.99なんでtranslate行列とかあんの?
0808デフォルトの名無しさん
2011/10/25(火) 02:08:33.560809デフォルトの名無しさん
2011/10/25(火) 03:11:11.38まあ実際やる事は結局足し引きだが、そういう場合に毎回ベクトル持ち運ぶのは面倒だろ?
だから行列でやんの。
あとtranslate行列ってのはあくまで概念的なもので
ベクトルから毎回translate行列をわざわざ作ってそれを改めて使うってことはあまりしないぞ。
0810デフォルトの名無しさん
2011/10/25(火) 10:49:46.89Deferred系レンダリングで画面全体を覆う板ポリゴンの代わりに
ライトの影響範囲と同じ形状の物体(点光源なら球)をレンダリングすると
クリッピングやZテストが効いて無駄なライトを高速に除外できることに気がついた。
ライト10000個というと随分多い気がするが球を10000個なら屁でもない。
有効かどうかは不明だけどインスタンス・レンダリングを使ってもいい。
......という事を考えたのだがどうだろう?
もう1つの課題はシャドーマップをいかに高速に作るか。できればソフトシャドー処理付きで。
影がつくライトは最大4個とかでいいが、それでもやはり重い処理であることに変わりはない。
0811デフォルトの名無しさん
2011/10/25(火) 12:01:19.97それだとライトが重なるフラグメントで何度もGバッファの読み出しとライトの計算結果の書き出しが発生しない?
OpenCL使ってLighting passを実装したらGバッファへのアクセスも一度ですんで、何個ライトがあってもレンダーターゲットへのメモリアクセスが一度で済んで良かったよ、一万は試して無いけど、千くらいのライトなら余裕で扱える。
0812810
2011/10/25(火) 13:07:47.221フラグメントを照らすライトの数だけ(別のシェーダーが)G-Bufferを読みまくるのでそれが明らかな欠点
利点は個数無制限でライト毎に個別のシェーダーを実行できる事かな?
TrebilcoのLight Indexed Deferred Shadingも考えたけど
事前にライトのインデックスを作って帯域の節約を頑張るより、
全部素直に実行してしまったほうがシンプルでフレキシブルかなと思った。
OpenCL使うのはちょっと...
0813デフォルトの名無しさん
2011/10/25(火) 21:00:17.23花火大会の会場で魔法で戦争でもしたらそのくらいかな
0814デフォルトの名無しさん
2011/10/25(火) 22:54:20.04GIとか火花とか火線とかをシミュレートするためのもんじゃないの?
いや、全く知らんが
0815デフォルトの名無しさん
2011/10/26(水) 20:24:36.58概ね(期待に反して)Light Pre-Passの方が遅いことが多いな。例えばここ。
http://www.gamedev.net/topic/585647-deferred-shading-vs-pre-pass-lighting/
頂点数が多くなるとLPPが遅くなるとかCPUがボトルネックとかシーンジオメトリーを2回送るデメリットが数字に出ているようだ。
意外とDSのG-Bufferの転送は大丈夫らしい。
いろいろ書かれているけどどれも実装次第のような気がする^^;
まあCPU側のシーントラバーサルのコストはどうしよもない。
最新のGPUだとどうなるかも興味あるし、やはりこれは両方実装してみないとわからん
0816デフォルトの名無しさん
2011/10/26(水) 22:01:47.550817デフォルトの名無しさん
2011/10/27(木) 15:17:43.18http://www.geeks3d.com/20110405/fxaa-fast-approximate-anti-aliasing-demo-glsl-opengl-test-radeon-geforce/4/
これを見るとローエンド(HD2400)でFXAAをかけると16.0msと悲惨な事になるけど、
ハイエンド(HD6970)だと0.11msと爆速でできるね。
スクリーン全体をピクセル単位で処理するから”え〜”と思っていたけど
MSAAがロー/ハイ関係なく数msだとすれば、とっくの昔にポスト処理系のAAの方が速くなっている。
2012年のレンダリングシステムを考えるとFXAA(or MLAA,DLAA,etc.)で決まりだろう。
(MSAAが使えたとしてもFXAAの方がいい)
って実はFXAA全然知らないんだけど。
この辺誰かまとめて分かりやすく解説してアップしてくれると激しく感謝して喜ぶんだけど誰かやらないですかね。
ゲーム会社の人でもこの辺の最新技術をキャッチアップしてる所はそんなに多くないだろう。
0818デフォルトの名無しさん
2011/10/27(木) 17:53:28.51下面が暗いままでした。
現実世界と同じように暗い部分を回転させて光源に向ければ明るくなるようなライトを期待
してたんですが、ライトの概念勘違いしてるよね?
0819デフォルトの名無しさん
2011/10/27(木) 18:55:34.71それ、プログラム自体がおかしいだろ
0820デフォルトの名無しさん
2011/10/27(木) 19:20:43.70どのAPIを使っているのかわからないので具体的な指摘が出来ないが、ジオメトリの座標系とライトの座標系の不一致だと思われる。
0821デフォルトの名無しさん
2011/10/27(木) 23:41:59.140822デフォルトの名無しさん
2011/10/28(金) 00:06:30.74立方体と一緒に光源も回転させてる
0823デフォルトの名無しさん
2011/10/28(金) 02:28:40.96初心者頃殺しだわ
0824デフォルトの名無しさん
2011/10/28(金) 04:20:19.390825デフォルトの名無しさん
2011/10/28(金) 12:58:41.22今、2Dの画像を表示するのにglPixelZoom()してglDrawPixels()しているんだが、
これだと画素がそのまま拡大されてしまうからせめてリニア補間したい。
となると、避けて通ってきたテクスチャを使う以外に妥当な手段はないのかな?
目的が目的なので、画像サイズは120x12とかで表示エリアは800x200なんだ。
避けて通ってきたからテクスチャでも実現可能なのか、どうすりゃいいのか誰かヒントを頼む。
0826デフォルトの名無しさん
2011/10/28(金) 13:05:37.06テクスチャ以外でできるかどうかは知らんけど、少なくともテクスチャならできる。
注意するのは、120x12を拡大するなら、128x16のテクスチャを作成して、
そのうち左下隅(まぁ別にどこでもいいけど)を使うようにすることくらいかな。
120x12のテクスチャだとダメな場合があるので。
テクスチャ最初はメンドイし避ける気持ちも分からないでもないけど、一旦使えるように
なれば、すごい自由に描画できるようになるから、ちゃんとやった方がいいよ。
0827825
2011/10/28(金) 13:29:18.90レスTHX!
やっぱりテクスチャでやるか。
仕方ないから「回せますよ」って釣り言葉で工数拾ってこよう。
えーと、サイズは2の冪じゃないとダメかもしれないってことね。
併せて了解。
0828デフォルトの名無しさん
2011/10/28(金) 13:36:41.27テクスチャー以外でやろうと思う方が間違えている
0829825
2011/10/28(金) 13:44:52.82お、>1にある本だね。流石に買おうかな。
本を買わずにOpenGLやってるのが間違いだとは自分でも思うw
# なんせろくに本などない時代からエンジニアやってるロートルだからさ。
0830デフォルトの名無しさん
2011/10/28(金) 14:34:21.800831825
2011/10/28(金) 17:05:20.54ってことで、やっつけでこんな感じに。
GL_CLAMPを指定しないと、端っこが影響受けてしまうのに気付くまでに二時間悩んだw
--
glPixelStorei(GL_UNPACK_ALIGNMENT, 4);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, height, depth, 0, GL_RGBA, GL_UNSIGNED_BYTE, raster);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
glEnable(GL_TEXTURE_2D);
glBegin(GL_QUADS);
glTexCoord2d(0, 0); glVertex2d(-1, -1);
glTexCoord2d(0, 1); glVertex2d(-1, 1);
glTexCoord2d(1, 1); glVertex2d(1, 1);
glTexCoord2d(1, 0); glVertex2d(1, -1);
glEnd();
glDisable(GL_TEXTURE_2D);
--
うーん、今のところ遅くないから目を瞑ったけど、
再描画のときくらいテクスチャ割り当て処理を飛ばすようにしないとなぁ。
で、ついでにもう一つ質問。
テクスチャを複数(割り当て直さずに)使い分けるにはテクスチャオブジェクトを使えってこと?
まぁいいか、本を買おう。
0832デフォルトの名無しさん
2011/10/28(金) 18:33:00.45>テクスチャを複数(割り当て直さずに)使い分けるにはテクスチャオブジェクトを使えってこと?
合ってます。
0833デフォルトの名無しさん
2011/10/28(金) 20:36:30.43それとも32x32のテクスチャを64個作ってidで管理してる?
どっちがいいのかな
テクスチャリソースの上限とかあります?
0834デフォルトの名無しさん
2011/10/28(金) 22:02:26.30普通は32x32を64個が扱い易いけど
0835デフォルトの名無しさん
2011/10/28(金) 22:14:26.57FXAAの日本語の説明だと、Cedilのcedec2011タグの中に入っているNVIDIAの解説がわかりやすいかも。
>>833
ターゲットが携帯向けGPUとかなら出来るだけパックしたほうが良いかも。
0836デフォルトの名無しさん
2011/10/29(土) 00:29:01.39どもです
2Dのときは一枚の画像ファイルにマップチップ詰め込んでやってたんだけど
上ででたGL_CLAMPとかのからみもあって3Dではやっぱりばらばらの方がいいのかなかな
0837デフォルトの名無しさん
2011/10/29(土) 07:30:05.94最適化されてて速い
32×32とかに最適化されてるのはほとんどない
速さを求めるなら256×256か512×512にまとめて使う部分を切り出すのが良い
0838デフォルトの名無しさん
2011/10/29(土) 08:44:12.12テクセルとピクセルをドットバイドットで使うなら
→マップチップ詰め込みが良い
テクセルとピクセルをドットバイドットで使わないなら
→チップの端の問題は、GL_CLAMPにしても完全に解決するわけじゃない(BORDERまで使えば別だけど)ので、
どうせ問題あるならマップチップ詰め込んだ方が性能的にオイシイと思いますよ。
チップは32x32で作るけどその内側30x30を使うようにする、とかの妥協はできないんでしょうか。
0839デフォルトの名無しさん
2011/10/29(土) 10:13:35.83資料
PR0022-NVIDIA-DirectX.pdf
資料は期間限定でCEDEC2011参加者のみに公開しています。それ以外の会員の方には年明け予定です。いま暫くおまちください。
だからCEDECは嫌いなんだヽ(`Д´)ノ
0840デフォルトの名無しさん
2011/10/29(土) 10:28:35.70昔は一般に公開すらされなかったんだから
甘えるな。
0841デフォルトの名無しさん
2011/10/29(土) 11:26:07.02ググったらソース(FXAA3_8.h)と超短い解説はゲットしたのでそれで勉強するわ
CEDEC以外から良質の資料が今すぐ無料でダウンロードできるのに
アイツらなんで金とって不便なことやってんの? 馬鹿なの?
で、のっけからよくわかんないんだけどRGBLのL(luma)というのはluminanceにガンマ補正をかけたもの?
つまり元データがガンマ補正してない普通のRGB8だった場合Lは
a = sqrt(0.299r + 0.587g + 0.114b)
でいいの? そして使う時に FXAA_LINEAR = 0 を指定すればいい? 知っている人教えて
0842デフォルトの名無しさん
2011/10/29(土) 12:53:06.35それでいいよ。
英語でいいならNVIDIA SDK11のFXAA white paperがわかりやすいと思う。
というか某tuedaさんはOpenGL以外の話をするなら別にスレたてて話しした方が良いのでは?
0843デフォルトの名無しさん
2011/10/29(土) 13:08:17.330844デフォルトの名無しさん
2011/10/29(土) 13:57:32.49ざっと見る限り3x3の輝度(luma)を見ながらエッジの方向を決めて
テクセルフェッチを繰り返してエッジの長さを決める
いま注目しているピクセルが長いエッジのどの辺にいるか求めつつ(dstN/spanLength),
-0.5〜+0.5のオフセット(subPixelOffset)を計算して
(バイリニア補正の)フェッチしなおして終わり。
え、こんな簡単な処理でいいのって感じだな
要はエッジ方向と垂直に少しずらして取りなしているだけ
エッジの端点の形を考慮する必要もない
そもそもこれでポリゴンの外側のみぼかす事ができるのか不思議だ
使うだけならコピってくれば終わりだけど。
0845デフォルトの名無しさん
2011/10/29(土) 14:00:39.67あまり細分化してもしょうがないんじゃね?
ゲ製作技術に3Dゲームグラフィックス・プログラミングを立ててもいいけど
どうせOpenGLかDirectXを使うんだから同じ事だろう
0846デフォルトの名無しさん
2011/10/30(日) 00:57:42.650847デフォルトの名無しさん
2011/10/30(日) 01:53:21.180848デフォルトの名無しさん
2011/10/30(日) 11:13:48.09draw {
…
glMatrixMode(GL_MODELVIEW) // 行列をモデルビューに指定
if ( 最初の1回目 ) {
glTranslatef // 指定位置にセット
}
glRotatef // 回転
… // 描画命令
}
今まではこのように記述していました。
これをpush、popを使用した場合、
draw {
…
glMatrixMode(GL_MODELVIEW) // 行列をモデルビューに指定
glRotatef // 回転
glPushMatrix // 現在の行列を保存
glTranslatef // 指定位置にセット
… // 描画命令
glPopMatrix // 保存した行列に戻す
}
と記述したのですが、正常にその場で回転してくれません。
回転処理は累積させたいので保存させ、指定位置のセットはその瞬間だけ行いたいので描画後保存した行列に戻
せばよいと思ったのですが、考え方間違えていますでしょうか?
0849デフォルトの名無しさん
2011/10/30(日) 11:43:31.191描画ごとにMODELVIEW行列をクリアしてるなら(普通はしてるだろう)、
1回目は
glTranslate();
のみで2回目以降は angle += 10 して
glTranslate();
glRotate();
というだけだろう。
0850デフォルトの名無しさん
2011/10/30(日) 11:46:13.60それやると死ぬ
MODELVIEW行列に限らずOpenGLステートは基本的に
1描画(フレーム)ごとに0から全部セットし直すものだ
0851デフォルトの名無しさん
2011/10/30(日) 11:50:55.23多分、考え方を間違えてる。
「物体を指定位置に表示して以後その場で回転させる動作」をさせるだけなら、pushとpopは要らないよ。
行列スタックの概念というか、使い方を勘違いしてるんじゃないかな。
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glTranslatef(x, y, z); // x,y,z: 物体の位置
glRotatef(angle, rx, ry, rz); // angle,rx,ry,rz: 物体の回転
物体を表示();
でおk。
変数x,y,zを変化させれば物体は移動するし、変化させなければ物体は移動しない。
変数angleを変化させれば物体は回転するし、変化させなければ物体は回転しない。
0852デフォルトの名無しさん
2011/10/30(日) 12:07:14.11普通にテンポラリー変数に保存しておけばいいだけじゃないの?
何か使い道あるの?
0853デフォルトの名無しさん
2011/10/30(日) 12:17:45.61使い道どころか、テンポラリ変数自分で用意してだなんてしんどすぎる。
例えば 人体の間接や木の枝とか、再帰的なノード構成になってる内容を計算しながら描画するとき、
深度1: ノード0のローカル空間を基準に子が回転している
深度2: ノード1のローカル空間を基準に子が回転している
:
みたいな状態があって、それをテンポラリで自前でスタック用意してやるんかい
てか、普通にスタック push/pop の方が全然便利で楽。使い道どころか必須
0854デフォルトの名無しさん
2011/10/30(日) 12:23:33.35OpenGLはもともとクライアントサーバモデルだから、push/popが無いと
サーバステートの読み出しが頻発して困っちゃうんじゃないかな。
0855デフォルトの名無しさん
2011/10/30(日) 12:34:22.58「その空間上の頂点位置を変換する為の行列」 = 空間のその時の位置変換行列 になる訳だから、
いまどういう状態になっているか、(当たり前だが)どのタイミングでどうなっていて欲しいかを把握してないといけない
例)
関数 F()
*) ここまで回転やら移動やらさせました。この空間に基準に描画したり、あと個別に移動回転拡縮させたい
for(…) {
・なので一旦ここで push
A) 描画したり
B) 現時点での変換行列をベースに、さらに個別の回転や移動 ※再帰で F に行くケースもこれと同じ
・個別の行列変更が終わったので pop して * の時の行列状態に戻す
}
で、push/pop のFILOスタックは便利な訳です
0856デフォルトの名無しさん
2011/10/30(日) 13:03:38.36もっともpush/popで良いと思うけど
0857デフォルトの名無しさん
2011/10/30(日) 13:11:59.40再帰するような場合、結局自前のテンポラリもスタックや他の構造に変えなきゃならなくなるから、
だったら単純に用意されてるスタック使う方がいい
てか、こだわる必要がある話じゃないと思うぜ
0858デフォルトの名無しさん
2011/10/30(日) 13:19:16.54この件に限らないけど、経験がないと理解できない考え方とかあるから、
あんまり難しい話はどこかの解説サイトのリンクでも貼った方がいいよ
絶対に話長くなるから
0859デフォルトの名無しさん
2011/10/30(日) 13:20:09.10>>850
まさにその通りで行列を初期化せず、使い続けるものと思い込んでました。
glRotateで回転させるには初期化せずに行列を更新していくものと勘違いしてましたが、
確かにangleを増減させれば済む話ですね。
>>851
回転させたくない別の物体まで回転していたのでおそらくpushとpopを使わなければならないと思い、
試しに1つの物体でpushとpopを使ってみようとコードを書き、今回に至りました。
指摘された部分を直してもう一度考えてみます。
致命的な勘違いが分かって良かった…
ありがとうございます。
0860デフォルトの名無しさん
2011/10/30(日) 14:13:36.490861デフォルトの名無しさん
2011/10/30(日) 15:24:32.19これらをどのように扱うものなのかイマイチ理解できていません。
現在:
1回だけの処理(俗に言うInit関数)
Lightの位置,パラメータを決めて有効化(MODELVIEWワールド?)
リサイズ関数(glutReshapeFunc(resize))
GL_PROJECTION Mode → glLoadIdentity → 投影設定(glOrtho/glPersp.) → gluLookAt設定 →GL_MODELVIEWに戻す
Display関数
push/pop なり rotate/translateなり描画する。
この設定順と設定場所は一般的な使われ方として正しいですか?
カメラをXZ平面と平行に回転させるプログラムを作ったのですが,キーボードコールバック関数内でresize(width, height)関数を呼び出して
カメラの位置を再設定するというおかしな処理をすることになってしまいました(gluLookAtを書き換えるだけだと上手くいかない。)
0862デフォルトの名無しさん
2011/10/30(日) 15:37:29.55キーボードコールバック関数の中でGL使っちゃだめです。
reshapeコールバックの中でglViewport()呼んでるサンプルとか多いけど、本当はあれも良くないはず。
基本的には、displayコールバックの中以外では、GL関数は一切呼ばないようにした方が良いですよ。
0863デフォルトの名無しさん
2011/10/30(日) 15:44:21.27なんで?
もっとくやしく
0865デフォルトの名無しさん
2011/10/30(日) 16:18:10.11「glutPostRedisplay()で全てを更新できるような設計」というのがちょっと意味分からないですけど、
つまり、
・display以外の全てのコールバックは、単に状態(描画領域の大きさ、カメラの位置、etc.)を更新する。
ここでいう状態の更新というのはglLightやglOrthoを呼ぶということではなく、アプリが持つ
ライト位置や視野などの情報(変数)を更新するいう意味。
・displayコールバックでは、上の情報を元に描画する。
てことです。
0866デフォルトの名無しさん
2011/10/30(日) 16:23:28.51メモリリークするとか?
0867デフォルトの名無しさん
2011/10/30(日) 16:28:46.81実装上の理由:
displayコールバックが呼ばれる時以外は、GLのコンテキストがきちんと設定されていない場合がある。
設計上の理由:
「状態の更新」と「描画」をきちんと分離しておくと、プログラムの再利用がしやすくなる。
後者に関しては必須ではないんですけどね。
GLUT以外に移植したり、ステレオ描画とかし始めたりすると、多分有難みが分かってくるんじゃないかと・・・。
0868デフォルトの名無しさん
2011/10/30(日) 16:36:45.90言葉足らずですみません。おそらく同じことを考えてました。
「状態の更新」を行ったあとにglutPostRedisplay()でdisplayコールバック関数を呼び出し,
カメラ,光源などの設定を全て再設定する設計,ということでした。(ちょっと無駄が多い気もしますが)
0869デフォルトの名無しさん
2011/10/30(日) 16:42:58.69なるほどね
それを考えると、ほとんどの入門サイトや入門書はやばいな
0870デフォルトの名無しさん
2011/10/30(日) 16:46:33.51ああ、それじゃ、その認識で合ってます。ハイ
「カメラ,光源などの設定を全て再設定する」のが普通だし、無駄とはいっても実行時間が
増えるわけでもない(誤差みたいなもん・・・誤差にすらならない程度)ので、毎フレームやるよろし。
毎フレームやらないのはテクスチャ転送くらいじゃないですかね。
0871デフォルトの名無しさん
2011/10/30(日) 16:57:14.60有用な情報ありがとうございました
0872デフォルトの名無しさん
2011/10/30(日) 17:36:08.83displayコールバックが呼ばれる時以外でGLのコンテキストがきちんと設定されていない場合があるって
glutMainLoopが走ってる段階でGLのコンテキストが無効になってる場合ってどんな時?
0873デフォルトの名無しさん
2011/10/31(月) 00:43:37.060874デフォルトの名無しさん
2011/10/31(月) 23:26:33.28障害物の向こうに隠れても見えるようなオブジェクトを描画するには
どう実装するのが良いのでしょうか?
ゲームを作ってるのですが、キャラクターのHPバーがそのキャラの頭上に浮いてて、
HPバーだけは壁みたいな障害物の向こうからも見えるイメージです
こういう方法に名前が付いていれば、名前だけでも教えていただけると嬉しいです
0875デフォルトの名無しさん
2011/10/31(月) 23:32:20.83デプステストをalwaysで描くのはダメ?
隠れた所だけ別のマテリアルで書きたいなら、普通にデプステストありで書いた後で、デプステストの方向を反対にしてマテリアル変更してもう一度描くとか。
0876デフォルトの名無しさん
2011/10/31(月) 23:38:18.300877デフォルトの名無しさん
2011/10/31(月) 23:50:44.200878デフォルトの名無しさん
2011/10/31(月) 23:57:18.39方法も何も、単に
glDisable(GL_DEPTH_TEST);
描画
glEnable(GL_DEPTH_TEST);
で終わりでは
0879デフォルトの名無しさん
2011/10/31(月) 23:59:09.87まさにそれだけの事かなと。 別に難しく考える必要ないっていうか、
普段コード書いてる人なら誰でも知ってる普通の話
0881デフォルトの名無しさん
2011/11/01(火) 01:17:24.620882デフォルトの名無しさん
2011/11/01(火) 03:49:58.75どっか3D表現に関する特許絡みをまとめた所って無いのかな。
しかしソースとかならともかく表現手法とかに特許取られると
クリエイター側にとっては本当につらいね。
0883デフォルトの名無しさん
2011/11/01(火) 09:01:15.020884デフォルトの名無しさん
2011/11/01(火) 10:04:01.22プログラマーって書くのはちょっと憚られたというかなんというか。
0885デフォルトの名無しさん
2011/11/01(火) 11:07:10.330886デフォルトの名無しさん
2011/11/01(火) 15:19:21.97それとクリエイターがどう関係するのか分からん
もしかして、クリエイターがロジックも組むのが普通なのか?
0887デフォルトの名無しさん
2011/11/01(火) 15:37:06.530888デフォルトの名無しさん
2011/11/01(火) 16:03:22.26うぁはは、入門サイトなどではしばしば「壁の少し手前」を計算しているけど、これで充分ジャンw
0889デフォルトの名無しさん
2011/11/01(火) 22:03:18.080890デフォルトの名無しさん
2011/11/01(火) 23:01:03.51glfrustumのfarを部屋の奥行きの長さにして、
床、壁、天井を長方形で指定位置に描画してテクスチャ貼り付けって感じだよね?
0891デフォルトの名無しさん
2011/11/02(水) 08:51:29.670892デフォルトの名無しさん
2011/11/02(水) 16:48:25.030893デフォルトの名無しさん
2011/11/02(水) 17:07:03.53それかシェーダーでがんばれ
0894デフォルトの名無しさん
2011/11/02(水) 18:04:42.30glEnable(GL_POINT_SMOOTH);
・・・ま、使えない場合もあるけど。
0895デフォルトの名無しさん
2011/11/02(水) 21:05:24.21できました。
ありがとうございました
0896デフォルトの名無しさん
2011/11/02(水) 23:14:31.74すこぶる重いから気をつけてな。
0897デフォルトの名無しさん
2011/11/03(木) 10:00:30.33立方体が同じ大きさになっているかのように見えてしまいます。
http://www.dotup.org/uploda/www.dotup.org2215133.jpg
1辺を10倍にすれば立方体内が大きく見えると思ったのですが…。
glFrustumを変更すれば当然見え方が変わりますが、
人の視界にあたるもので滅多なことでは値を変更しないと思っています。
行列の変換を間違えているのでしょうか?
0898デフォルトの名無しさん
2011/11/03(木) 10:03:33.70100.0fの立方体の方がほんの少し広いように見えていますが、
これはカメラの位置が10.0fのものより若干後ろにあるためです。
0899デフォルトの名無しさん
2011/11/03(木) 10:09:08.57どうやってんのか知らないけど、どっか間違ってるんだろ
10.0fと100.fを同時にワイヤーフレームで描画するようにしてみたらデバッグしやすいんじゃね
0900デフォルトの名無しさん
2011/11/03(木) 10:22:24.28いや、見え方は変わらないよ
ちゃんとした状況がわからないけど、カメラが後ろの壁にぺったり張り付いてるならそれはカメラに取って相似な状況だからね
0901デフォルトの名無しさん
2011/11/03(木) 10:31:59.15頂点位置を拡大縮小してるんだろうか。
俺も立方体の壁にカメラがぴったり張り付いた状態で、立方体の拡大縮小してるんじゃないかと予想ww
=拡大に合わせてカメラ位置も後退しているから、同じ格好に見える、みたいな
0902デフォルトの名無しさん
2011/11/03(木) 10:42:30.360903デフォルトの名無しさん
2011/11/03(木) 10:57:26.25お前は何を言ってるんだ
0904デフォルトの名無しさん
2011/11/03(木) 11:26:44.060905デフォルトの名無しさん
2011/11/03(木) 11:48:40.32それともカメラの位置は両方の場合で同じ位置に固定?
前者ならほとんど見え方が変わらない可能性はあるな。
0906デフォルトの名無しさん
2011/11/03(木) 12:40:59.670907デフォルトの名無しさん
2011/11/03(木) 12:43:18.96自分の部屋の真ん中にカメラを設置して、部屋が10倍、100倍に広がった状況想像してみろ
その意味で >>900 はその通りだが、>>902 は違うだろw
0908904
2011/11/03(木) 13:09:21.55900と902の言ってるコトは、本質的には同じでしょ。
「カメラ位置固定なら見える風景は同じ」ってことは逆に、カメラを同じ量(たとえば右に5.0)動かして
カメラから見て相似であるという条件を崩せば違いが分かる、って事なんだから。
902がそういう意図で書いたのかどうかは知らないけど、自分はそう読み取ったので。
0909デフォルトの名無しさん
2011/11/03(木) 13:34:40.110910デフォルトの名無しさん
2011/11/03(木) 13:36:24.400911デフォルトの名無しさん
2011/11/03(木) 13:41:56.36うむ。
ほかのやつは頭大丈夫か?
0912デフォルトの名無しさん
2011/11/03(木) 13:57:19.520913デフォルトの名無しさん
2011/11/03(木) 14:08:05.16お前、プログラマの端くれだったら、「どこに固定」 と書かれてもいないレスに対して
本質的には同じでしょ、とか言うなよw
壁に対して相対的に距離が同じってのは、少なくともカメラの座標値的に移動してる訳だから、
むしろ固定じゃなくて移動してるだろww
0914デフォルトの名無しさん
2011/11/03(木) 14:09:32.72他のレスは全部、想像と思い込み。お前らプログラマ失格
0915デフォルトの名無しさん
2011/11/03(木) 14:14:35.63カメラ位置(あるいはその近く)を中心に部屋を拡大した場合、
同じ大きさになっているかのように見えるのは正しいです。
カメラを移動してみれば、違いが分かると思いますよ。
(一辺100.0fの方が、相対的に移動量が少なく見えるはず)
人間やカメラの場合、部屋が大きくなればそれと分かるのは、視差(カメラの移動に相当)や
ピントがあるからです。OpenGLにはそういうのが無いので。
簡単に言うと、10倍大きい物が10倍遠くにあっても、1/10の大きさに見えるので
違いが分からない、みたいな。
0916デフォルトの名無しさん
2011/11/03(木) 15:34:39.06あなたは今一辺1/10のある部屋の模型を見ています
後者は目の前にあるのに元の部屋より大きく見えませんどうすればいいですか
0917デフォルトの名無しさん
2011/11/03(木) 15:58:54.38別のカメラ位置から見てみるとかなんで自分でやってみないのかね
0918897
2011/11/03(木) 16:15:34.23両方の立方体の中心は0,0,0で、10.0fの方のカメラ位置が(0,0,4)、
100.0fの方が(0,0,49)だったかな。
100.0fの方は移動量は少なく見えますね。
>>915にある後半の説明で多少理解しましたが、
カメラについて知識不足なんで付いたレス見ながら調べてきます。
ありがとうございました。
0919デフォルトの名無しさん
2011/11/04(金) 11:54:28.12月面で撮られた写真が偽物()とか言われてるのもそのせいだな
0920デフォルトの名無しさん
2011/11/04(金) 21:48:26.32当面はスマホが主流そうだし
0921デフォルトの名無しさん
2011/11/05(土) 01:15:17.440922デフォルトの名無しさん
2011/11/05(土) 14:59:42.12スマホで作るだけならUnityやcocos2dのようにOpenGLのラッパが幾らでもあるし
0923デフォルトの名無しさん
2011/11/05(土) 15:30:21.15その辺の探究心や好奇心が根っこに無いと、きっと何も覚えない
0924デフォルトの名無しさん
2011/11/05(土) 23:06:38.64球同士・球と壁がぶつかるときの計算式教えていただけませんか?
物理が苦手なんで分かりません
0925デフォルトの名無しさん
2011/11/05(土) 23:22:20.83数学板にでも行くか、Yahoo!猿知恵袋辺りで質問したら?
0926デフォルトの名無しさん
2011/11/05(土) 23:37:02.060927デフォルトの名無しさん
2011/11/05(土) 23:41:51.33openglと球同士・球と壁がぶつかるときの計算式がどういう関係があるのか説明してみて
0928デフォルトの名無しさん
2011/11/06(日) 00:39:31.90インターネットにつなぐ方法を教えてください」 ってぐらい関係無い
0929デフォルトの名無しさん
2011/11/06(日) 02:44:45.830930デフォルトの名無しさん
2011/11/06(日) 10:36:14.010931デフォルトの名無しさん
2011/11/06(日) 10:55:10.38http://homepage2.nifty.com/eman/index.html
上記のトップページの目次から [力学] へ飛んで、
第1部「運動量保存則」の最初 [力とは何か] から、
第2部「エネルギー保存則」の [2物体の衝突] まで
ゆっくりじっくりまったりと読んでみてくれ
0932デフォルトの名無しさん
2011/11/06(日) 12:16:38.47海外に逝けよ
0933デフォルトの名無しさん
2011/11/06(日) 12:36:22.56◯ 2chには最新のOpenGLを語れる奴がいない
0934デフォルトの名無しさん
2011/11/06(日) 12:37:32.44そういうサイトはぐぐるとすぐ出てくるんですが、よくわからないので
計算式教えていただけませんか?
計算式がわからないなら、ググった結果だけを教えていただかなく結構ですので
0935デフォルトの名無しさん
2011/11/06(日) 12:55:23.24レス乞食乙。安価一つだけつけてやる
0936デフォルトの名無しさん
2011/11/06(日) 13:14:49.12openGLのどんなお話が聞きたいの?
0937931
2011/11/06(日) 14:02:22.41お前は本当に馬鹿だな
ものを知らないとか幼稚だとか、そういうレベルではなく、本当に馬鹿だ
>>931 の第2部「エネルギー保存則」の [2物体の衝突]に、
衝突後の2球体のそれぞれの速度を計算する式がそのまま書かれている
もしかして、その式だけをここに引用しろと言ってるんじゃないだろうな
まして、そこにC言語のソースコードもあるのだが、それも見えないのか
「よくわからない」というのは、何も見ないで言っているのか?
そんな姿勢で理解できるわけないだろ、馬鹿か
0938デフォルトの名無しさん
2011/11/06(日) 14:23:13.35934が馬鹿かどうかとopenGLはどう関係するんですか?
0939931
2011/11/06(日) 14:23:24.71http://marupeke296.com/COL_main.html
http://kanasana.sblo.jp/article/28818677.html
これらのページと >>931 で紹介したページを、
物理が苦手なら苦手なりにゆっくり時間をかけて、
一言一句脳に染み渡らせながら、丁寧に読んでみろ
チラシの裏やノートに、自分の手で式変形を書き下せ
3次元空間でやりたいのなら、これを理解してからにしろ
その上で、どこの何が分からない為に
OpenGL で実現できないのかを質問してこい
OpenGL に関わらない話は物理系の掲示板で質問してこい
(http://hooktail.sub.jp/ など)
上から目線&威圧的な態度で悪いが、>>934 のレスには本当にむかついた
0940デフォルトの名無しさん
2011/11/06(日) 15:22:52.11だからレス乞食乙と書いたのにお前らと来たら
てかそんなの bullet と併用すれば一発終了だろっての
0941931
2011/11/06(日) 15:40:06.042ch において2つのレスが同一人物によるものかなんてどうでもいい事だと思う
正確なところは確認しようがないし、同じ・違うと言われても信じられるものでもない
俺は >>934 のレスにむかついたから、ああいうレスをした
>>924 本人でないのなら、本人は自分のレスに問題があったわけではないのだから、
何も気にする必要はない(>>934 自身は是非気にしてほしいところだが)
ちなみに >>924(>>934 も)は「計算式」が知りたいそうだが、
bullet と併用して計算式の理解が一発終了となるのなら、
是非その方法を質問者に教えてやってくれ
ここで計算式を並べて解説するよりも、bullet を使ってみるよりも、
既に丁寧に解説されているページが多数あるのだから、
それをしっかりと読んだ方が計算式の理解は遙かに早いと俺は思う
0942デフォルトの名無しさん
2011/11/06(日) 15:50:50.730943931
2011/11/06(日) 15:59:40.36ちょっと精進してくる
0944デフォルトの名無しさん
2011/11/06(日) 16:04:56.19お前がスルーできないだけだろ
0945デフォルトの名無しさん
2011/11/06(日) 16:27:44.97レス乞食にレスするお前がバカ
>>934が本人かどうかなどどうでもいい
レスしたお前がバカ
0946デフォルトの名無しさん
2011/11/06(日) 16:27:48.32その話題自体がスレチだって事に気づかないまま、顔真っ赤にして長文ご苦労様です
0947デフォルトの名無しさん
2011/11/06(日) 16:29:32.08>まして、そこにC言語のソースコードもあるのだが、それも見えないのか
ソースらしきものはありますけど、そのままじゃコンパイルできませんでした
コンパイルできるソースください
それがわからないならレスしていただかなくて結構ですので
0948こうですか? 分かりません。
2011/11/06(日) 16:36:49.71コンパイルできなかったのならエラーメッセージを提示しろ。
但し、スレ違いだからどっか逝け。
0949デフォルトの名無しさん
2011/11/06(日) 16:38:13.530950デフォルトの名無しさん
2011/11/06(日) 17:54:51.56OpenGL extension registryでも読んたらいいんじゃない。
0951デフォルトの名無しさん
2011/11/06(日) 18:05:21.620952デフォルトの名無しさん
2011/11/06(日) 18:19:51.35現物をこねくりまわしてよく研究する事が不可欠だと思います。
0953デフォルトの名無しさん
2011/11/06(日) 18:42:44.01動きを真似るにはとりあえず分子間力を学ばれるのが良いかと
あと、見た目の色を真似るには電磁気学の知識も有った方が良いと思われます
0954デフォルトの名無しさん
2011/11/06(日) 18:53:34.060955デフォルトの名無しさん
2011/11/06(日) 19:36:25.960956デフォルトの名無しさん
2011/11/06(日) 21:30:27.290957デフォルトの名無しさん
2011/11/06(日) 21:32:48.560958デフォルトの名無しさん
2011/11/06(日) 21:44:03.770959デフォルトの名無しさん
2011/11/07(月) 17:12:16.48ないとしたら、テクスチャが安全に作成できるかを調べたい場合、
テクスチャメモリの最大値にどれくらいの余裕を見れば大丈夫なのでしょうか?
よろしくお願いします。
0960デフォルトの名無しさん
2011/11/09(水) 22:20:35.420961デフォルトの名無しさん
2011/11/09(水) 22:28:40.19コンテキスト作ってから呼べってこと
0962デフォルトの名無しさん
2011/11/09(水) 22:34:48.26コンテキストの作り方で glGetString(GL_VERSION) の値が変わることってあるの?
0963デフォルトの名無しさん
2011/11/09(水) 22:49:40.46コンテキストあるときに呼んだら3.0.0って出たわー
0964デフォルトの名無しさん
2011/11/09(水) 22:50:29.48やらないと使えないことに気が付かないで30分くらい悩んでた
0965デフォルトの名無しさん
2011/11/09(水) 23:25:31.330966デフォルトの名無しさん
2011/11/09(水) 23:46:14.970967デフォルトの名無しさん
2011/11/10(木) 00:19:58.07見かけたがマジか…
バリバリ使ってたわ
0968デフォルトの名無しさん
2011/11/10(木) 00:21:55.84健康に良いのかよ
0969デフォルトの名無しさん
2011/11/10(木) 11:01:42.050970デフォルトの名無しさん
2011/11/10(木) 14:51:53.970971デフォルトの名無しさん
2011/11/10(木) 21:53:13.460972デフォルトの名無しさん
2011/11/10(木) 22:06:20.16バーチャファイター1とかな
0973デフォルトの名無しさん
2011/11/10(木) 23:09:14.830974デフォルトの名無しさん
2011/11/11(金) 01:17:27.69まさか法線マップ使えとな それか15年前の資料か
0975デフォルトの名無しさん
2011/11/11(金) 07:22:33.78「ゲームが作れない」と言うから反論が来る
「今時のコンシューマ機のゲームが作りにくい」とでも言っておけば、
そうだねという意見しか出てこない
0976デフォルトの名無しさん
2011/11/11(金) 08:08:54.600977デフォルトの名無しさん
2011/11/11(金) 09:26:28.460978デフォルトの名無しさん
2011/11/11(金) 20:29:13.980979デフォルトの名無しさん
2011/11/11(金) 20:58:24.640980デフォルトの名無しさん
2011/11/13(日) 11:44:06.740981デフォルトの名無しさん
2011/11/13(日) 12:08:56.56と言いたいところだが、たぶん precision だと思うぞ
0982デフォルトの名無しさん
2011/11/13(日) 19:43:36.480983デフォルトの名無しさん
2011/11/13(日) 22:23:08.03Perspective行列を作るときに、FOVに45.0fを渡すと正常に描画されるのに、30.0fを渡すと画面が上下反転するのですが何故でしょうか?
0984デフォルトの名無しさん
2011/11/13(日) 22:58:13.66どっか間違ってるからじゃね
44だとどうか43だとどうかって少しずつ変えてみるとか、すこしジタバタしてみたら
0985デフォルトの名無しさん
2011/11/14(月) 00:06:39.13反転するのは上下だけなのか、左右はどうなのか、
Z 値は正しいか、なんかも考えてみた方が良いね
その行列を OpenGL に設定(カレント行列に乗算)した時、
カレント行列はちゃんと意図通りの種類のものか、
カレント行列は単位行列だったのか、別の行列だったりしないか
という辺りも一緒に
0986デフォルトの名無しさん
2011/11/14(月) 12:44:21.890987デフォルトの名無しさん
2011/11/14(月) 13:12:09.840988デフォルトの名無しさん
2011/11/14(月) 14:49:06.190989デフォルトの名無しさん
2011/11/14(月) 17:27:07.290990デフォルトの名無しさん
2011/11/15(火) 10:16:05.210991デフォルトの名無しさん
2011/11/15(火) 13:00:39.560992デフォルトの名無しさん
2011/11/15(火) 13:10:44.270993デフォルトの名無しさん
2011/11/15(火) 16:21:13.120994デフォルトの名無しさん
2011/11/15(火) 18:21:11.290995デフォルトの名無しさん
2011/11/15(火) 18:46:56.09OpenGLスレ Part17
http://hibari.2ch.net/test/read.cgi/tech/1321350331/
0996デフォルトの名無しさん
2011/11/15(火) 20:15:13.340997デフォルトの名無しさん
2011/11/15(火) 20:55:59.040998デフォルトの名無しさん
2011/11/15(火) 22:04:17.370999デフォルトの名無しさん
2011/11/15(火) 22:36:08.921000デフォルトの名無しさん
2011/11/15(火) 22:55:44.1110011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。