OpenGLスレ Part20at TECH
OpenGLスレ Part20 - 暇つぶし2ch1:デフォルトの名無しさん
13/09/17 13:15:44.66
クロスプラットフォームの3D API OpenGLに関する話題を扱うスレッド。
現在の最新バージョンは4.3
URLリンク(www.opengl.org)
URLリンク(www.opengl.org)

== OpenGLと一緒に使われるツール&ライブラリ ==
苦労したくなかったらとりあえず入れとけ。
・glx:    XからOpenGLを使うためのライブラリ。普通は直接は使わず意識する事はない
・glut:   クロスプラットフォームなツールキット。でもさすがに古くさい
・GLFW   より新しいマルチプラットフォームなツールキット
・glew:   これを入れないと拡張機能が使えないor使いにくい
・glxgears: 歯車が回るベンチマーク。-infoでOpenGLのバージョンが見られる。OpenGLの動作確認はこれで
・glxinfo:  自分の使っているカードのOpenGLの機能が全てリストアップされる。
・OpenTK  C#からOpenGLを簡単に使えるようになる。VC#の強力なIntellisenseとあわせてサクサク開発可能。
・OpenSceneGraph: OpenGL を高度に抽象化し、利便性を高めたラッパー。C++ ライブラリ
・OpenGL Mathematics (GLM): GLSL 文法ライクの C++ 数学ライブラリ

== チュートリアルサイト ==
床井研究室: URLリンク(marina.sys.wakayama-u.ac.jp)
OpenGL de プログラミング: URLリンク(wiki.livedoor.jp)
NeHe:    URLリンク(nehe.gamedev.net)
Tutorials for OpenGL 3.3 and later  URLリンク(www.opengl-tutorial.org)
Learning Modern 3D Graphics  Programming URLリンク(www.arcsynthesis.org)

== 前スレ ==
OpenGLスレ Part19
スレリンク(tech板)
== 関連スレ ==
【O3D】HTML5用 3D API WebGL 【Canvas:3D】
スレリンク(tech板)
OpenGL 2.0 専用スレ
スレリンク(tech板)

2:デフォルトの名無しさん
13/09/17 13:17:54.79
== 必読書 ==

-- CG入門 --
OpenGL以前の普遍的なCGの概念。
CG-ARTS協会の3冊は初心者向け。あとの2冊は上級者向け。
・コンピュータグラフィックス (CG-ARTS協会)
・ビジュアル情報処理 (CG-ARTS協会)
・ディジタル映像表現 (CG-ARTS協会)
・ゲーム制作者になるための3Dグラフィックス技術
・ビジュアルコンピューティング 3次元CGによる画像生成

-- 初心者用 --
・GLUTによるOpenGL入門
・GLUTによるOpenGL入門2 テクスチャマッピング
・OpenGL ES 2.0 プログラミングガイド

-- 上級者用 --
・OpenGL Shading Language (橙本)
・Shader Xシリーズ
・GPU Gemsシリーズ
・GPU Proシリーズ

3:デフォルトの名無しさん
13/09/17 13:18:43.46
== 必読書2 ==

-- モダンなOpenGL --
シェーダーベースの最新のOpenGLの学習
・OpenGL 4.0 シェーディング言語 -実例で覚えるGLSLプログラミング
・OpenGL SuperBible: Comprehensive Tutorial and Reference
・OpenGL 4.0 グラフィックシステム

-- 数学 --
・ゲームプログラミングのための3Dグラフィックス数学
・実例で学ぶゲーム3D数学
・ゲーム開発のための数学・物理学入門

-- 過去の書籍 --
有名だが古いバージョンのOpenGLをもとに書かれているためすでに時代遅れ
通常は買う必要はない
・OpenGLプログラミングガイド 原著第5版 (赤本)
・OpenGL Reference Manual (青本)

== チュートリアルサイト2 ==
OpenGL Step By Step:    URLリンク(ogldev.atspace.co.uk)
OpenGL Samples Pack:    URLリンク(ogl-samples.g-truc.net)

4:デフォルトの名無しさん
13/09/17 15:52:50.14
               ノ      ゚.ノヽ  , /}      ...
            ,,イ`"     、-'   `;_' '    ..::::::::::::::...
   ,-、  _.._   (        (,(~ヽ'~     ..:::::::::::::::::::::::
 )'~  レー'  〉   ヽ       i`'}       .:::::::::::::::::::::::
 ~つ     '-ー、  i       | i'     ...:::::::::::::::::::::::
 /       <  /     。/   !  ......:::::::::::::::::::::::::    これは>>1乙じゃなくて
/         ~^´     /},-'' ,●::::::::::::::::::::::::::::::::::::
i、        ,i' _,,...,-‐-、/    i  ::::::::  .:::::::::::::
..ゝ        <,,-==、   ,,-,/      .:::::::::::            放射能がうんたら
 )       {~''~>`v-''`ー゙`'~       ..:::::::::                          ........::.
 {        レ_ノ            ..::::::::.                         ......:::::::::
ノ         ''           ..:::::::                        ...::.:...:::::::::
                     .:::::::::                     ...:......:::::::::::: .
                    .:::::::::::.        .....      ..  ..::::::::::::::::::::::::   :::.
                    ::::::::::::::::.::::::....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.. ::  ::..
                    .:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::    ::.
                    ::::::::::::::::: :::::::::::::::::::::::::::::: :::::
                          .::    ::.  :::

5:デフォルトの名無しさん
13/09/18 07:04:41.87
あとfloat16を思い出してあげてください

6:デフォルトの名無しさん
13/09/18 07:05:54.08
URLリンク(wgld.org)

7:デフォルトの名無しさん
13/09/20 01:17:19.33
837 名前:デフォルトの名無しさん[sage] 投稿日:2013/09/15(日) 08:52:21.59
普通に職業グラフィックプログラマはいないのか?
VRAMにどう言う手順でメモリがとられ、サイズの変更ってどういう意味かを考えれば
そう言う発想にすら至らないだろ

glTexImage2Dでテクスチャサイズの変更なんて出来ない
そう言う発想する時点で低レベルを通り越して、GLやらDXを直接触るレベルに至ってないよ

838 名前:デフォルトの名無しさん[sage] 投稿日:2013/09/15(日) 09:06:01.93
例えば、新車を買ったと思え
で、マニュアルを全部熟読したと思え
で、その車で浜から海に突入したと思え

で、言い出してるんだ
マフラーから浸水してエンジン止まってるのに
仕様で車が海に入れないって決まっていればいいのですが…
マニュアル読んでも明記してなくって…

ってレベルだw

8:デフォルトの名無しさん
13/09/21 14:38:05.65
glTexImage2Dは前のテクスチャ破棄して作り直してるんだから
テクスチャサイズの変更なんて無理でしょ?

使用するIDが一緒なら
使うだけユーザーに取っては変更ってなるだろうけど…

って話じゃない?

9:デフォルトの名無しさん
13/09/21 14:53:09.60
それを世間ではサイズ変更のできるテクスチャ、つまりイミュータブルでないテクスチャと言うのだよ

10:デフォルトの名無しさん
13/09/21 14:57:06.16
なお既存のテクスチャのサイズを変更するとメモリリークする等意味不明の供述をしており

11:デフォルトの名無しさん
13/09/21 18:08:39.43
サイズを変更した訳ではないって事じゃね厳密には差し替えてると

12:デフォルトの名無しさん
13/09/21 18:11:30.42
内部で何をするのかは実装依存だという話をしても、
延々と訳の分からない自説の妄想を垂れ流していたんだ。

13:デフォルトの名無しさん
13/09/21 18:30:20.21
うざー

14:デフォルトの名無しさん
13/09/22 11:38:26.02
真っ黒い画面しか出ない・・・鬱だしのう・・・

15:デフォルトの名無しさん
13/09/22 13:28:35.09
うちは灰色だ前のソースに戻したょ

16:デフォルトの名無しさん
13/09/23 09:14:33.49
ok

17:デフォルトの名無しさん
13/09/24 15:23:46.17
URLリンク(3dcg.homeip.net)

18:デフォルトの名無しさん
13/09/24 19:35:11.44
いつの記事だよw

19:デフォルトの名無しさん
13/09/26 23:22:48.24
URLリンク(www.techspot.com)

OpenGLの後釜

20:デフォルトの名無しさん
13/09/28 08:05:19.18
後釜は言い過ぎでしょ。
タブレット・スマホとかもあるわけだから。
開発効率面のこともあるし。

21:デフォルトの名無しさん
13/09/28 11:32:53.32
というかこれDirectXじゃね

22:デフォルトの名無しさん
13/09/28 12:17:55.73
DirectXよりももう少し下層らしいよ

23:デフォルトの名無しさん
13/09/28 17:02:01.88
いまどきOpneGLってw

これからは、3DCGも画像処理もOpenCLだよ
GPUとCPUが連動する超並列演算で何でもできる時代

24:デフォルトの名無しさん
13/09/28 17:34:43.51
バカはレスしなくていいよ。俺は無能が嫌いなんだ。

25:デフォルトの名無しさん
13/09/28 17:57:56.77
OpenCLと連携すると何かいいことある?

26:デフォルトの名無しさん
13/09/28 18:47:20.54
入出力を図示しやすい

27:デフォルトの名無しさん
13/09/28 18:59:47.88
>>23
OpenCLが3DAPIだとでも思ってるのか?

28:デフォルトの名無しさん
13/09/28 19:21:57.27
3dapiって要はフレームバッファを作れればいいんでしょ

29:デフォルトの名無しさん
13/09/28 19:44:30.43
んなわけない

30:デフォルトの名無しさん
13/09/28 19:49:35.97
URLリンク(qt-project.org)

WindowsだけではOpenGLのversion1しかサポートしていなくて
それより上のバージョンはカスタム・グラフィックス・ドライバをユーザーがインストール必要があるって?
それに加えて一部のドライバーは品質が低いとある

だからANGLEでの描画もサポートするとあるけど
そんな低品質だったり古かったりするドライバーってどこのだ?

31:デフォルトの名無しさん
13/09/28 19:51:37.87
互換性とかいらないからOpenGL2を作って欲しい
UMAというかGPUとCPUでメモリ空間共用で。
Matleはそうなるのかしら
実は結構楽しみにしている

32:デフォルトの名無しさん
13/09/28 19:53:04.54
OpenGLの処理って Reduction 的で、OpenCL でエミュレートすると無駄が多いんじゃないかね

33:デフォルトの名無しさん
13/09/28 23:27:27.07
WebGL2.0を見据えてGLSLの勉強を1から始めたいのですが
どのWebサイトを参考にしたらいいのでしょうか?
一応スレたいのはチェックしましたが、改めてお願いします

34:デフォルトの名無しさん
13/09/29 21:29:08.84
Webは見るだけ無駄
OpenGL 4.0 シェーディング言語 -実例で覚えるGLSLプログラミング-

35:デフォルトの名無しさん
13/09/29 22:21:16.36
OpenGLのAPI勉強するならWebGL系のサイトが一番わかりやすい

36:デフォルトの名無しさん
13/09/29 22:25:50.53
>>34
ES2とES3を学びたいのですがそれで大丈夫ですか?

37:デフォルトの名無しさん
13/09/29 22:37:39.44
ESだったらスマホやタブレットでやってみたら?
もどきではない生きたES環境が今は簡単に手に入るのだし

38:デフォルトの名無しさん
13/10/01 02:35:44.28
WebGL 1/2 は OpenGL ES 2/3 に対応してるので
そこを勉強したいんです

39:デフォルトの名無しさん
13/10/01 06:07:12.79
OpenGLのAPI勉強するならWebGL系のサイトが一番わかりやすい

40:デフォルトの名無しさん
13/10/03 17:59:57.91
Windows 95のCD-ROMに収録されていた3D“旗とりゲーム”の「Hover」が、WebGL採用でタッチ対応・マルチプレイヤー対応のWebゲームとして復活した。MicrosoftはIE 11でのプレイを推奨する。
URLリンク(www.itmedia.co.jp)

41:デフォルトの名無しさん
13/10/03 18:44:49.09
懐かしいけどグラフィックもBGMも全然違うのな

42:デフォルトの名無しさん
13/10/03 18:58:34.05
マインスイーパーも改悪されたよね

43:デフォルトの名無しさん
13/10/03 20:40:48.88
>>41
「bambi」とタイプ

44:デフォルトの名無しさん
13/10/03 20:41:53.12
URLリンク(www.hover.ie)

45:デフォルトの名無しさん
13/10/04 19:34:04.03
すげぇ。
これよ、これ。

46:デフォルトの名無しさん
13/10/04 20:27:00.30
なつかしいけど
ルールも操縦方法も忘れたわ

47:デフォルトの名無しさん
13/10/11 21:30:41.62
OpenGLで表示されるCGはどこかある一点に向かって収束しているのでしょうか?
その場合、その点の位置を求める方法はありますか?

48:デフォルトの名無しさん
13/10/11 21:40:04.05
なかなか哲学的だな

49:デフォルトの名無しさん
13/10/11 23:35:50.96
一点透視図法の事ならOpenGLでは使われない
平行投影と透視投影だけだから
自分でビュー行列をセットすれば出来るはずだけどやったこと無いからしらね

50:デフォルトの名無しさん
13/10/12 00:00:18.45
消失点は存在するだろ。もちろん適当な平行線を与えた場合だが。

51:デフォルトの名無しさん
13/10/12 04:11:22.11
敢えて言えば
「視点に収束してる」

52:デフォルトの名無しさん
13/10/12 13:02:15.28
>>47
計算で求まるものはないと思うよ
消失点は、視覚に配置された物体の輪郭線から人間が感じ取るものだろ
現実でも、広い屋外なら地平線の無限遠ラインの中央に消失点を感じることが多いだろうけど
狭い屋内ならたいてい複数の消失点があるように感じると思われ

53:デフォルトの名無しさん
13/10/12 13:35:19.97
計算で求まるに決まってるだろw

もちろん、上で書いたように、それにはモデルビュー行列とは別に
平行線を与える必要があるが。

54:デフォルトの名無しさん
13/10/12 19:51:23.71
視野は広がるんだから収束するわけが無いだろう。
アホか。

55:デフォルトの名無しさん
13/10/12 20:58:36.14
>>54
えっ!?

56:デフォルトの名無しさん
13/10/12 23:17:28.43
>>54
ギャグかそれは

57:デフォルトの名無しさん
13/10/12 23:47:52.72
>>54
消失点がない視覚世界を生きている人のお通りです。

大和絵みたいな光景の First Person View なんだろうか?
左脳偏重文化が全人類の中で突出している日本では有り得るかも。

58:デフォルトの名無しさん
13/10/13 00:16:30.51
>>53
下のページ見て、この状態でカメラがバンク回転すると消失点はどう移動するか考えてみてくれ
URLリンク(www.fsinet.or.jp)
結局のところ消失点はどこにでもとれる、絵画で物のパースとるための単なる方便だと思うよ

59:デフォルトの名無しさん
13/10/13 03:14:27.93
大和絵は時間軸も描き込まれてるからな
あなどれない

60:デフォルトの名無しさん
13/10/13 07:38:38.41
>>58
モデルビュー行列とは別に「平行線が要る」って書いてるだろ。
53ちゃんと読めよ

61:デフォルトの名無しさん
13/10/13 07:40:31.30
モデルビュー行列変えたら平行線一定でも消失点が移動するのは当然。

62:デフォルトの名無しさん
13/10/13 08:52:49.70
お前らの作った地平線は、まさかとは思うが真横に伸びてるのか?

63:デフォルトの名無しさん
13/10/13 20:46:57.25
地平線は曲がっているだろ。JK

64:デフォルトの名無しさん
13/10/13 20:53:01.21
地表をきちんと球体にしていれば勝手に見えなくなるんだが、
その程度の処理すらしてない奴らばかりなのか?

65:デフォルトの名無しさん
13/10/13 22:00:39.29
キューブマップに地平線とか水平線とか書いて、
視点を囲むように配置してみたのだけど、
地面を表現する平面ポリゴンとのマッチングに違和感感じてる。
垂直方向に大きく視点移動したりするのだが、
視点に合わせてキューブマップを移動させても違和感。
基本的なことだと思うのだけど、どうやればいいの?

66:デフォルトの名無しさん
13/10/13 22:09:20.56
距離に応じてシェーダで曲げればいいだけ

67:デフォルトの名無しさん
13/10/13 22:14:09.11
高度0mに人間を立たせると、たった3km前後が地平線になるんだぜ。

68:デフォルトの名無しさん
13/10/13 22:18:11.28
なんとちっぽけな存在なんだ

69:デフォルトの名無しさん
13/10/14 06:59:33.50
プログラマーなら当然トンネル効果と相対性理論をも考慮してレンダリングするよな

70:デフォルトの名無しさん
13/10/14 09:28:56.77
しない

71:デフォルトの名無しさん
13/10/14 10:49:43.04
>>69
たとえば?

72:デフォルトの名無しさん
13/10/14 10:53:29.77
カメラが光速近くで移動するときは色が赤方偏移起こすだろ
あと手前にポリゴンがあってもトンネル効果で奥側のポリゴンが見えるかも知れん、量子的確率的に

73:デフォルトの名無しさん
13/10/14 10:57:13.46
自動テストと目視テストでは、結果が違うとか

74:デフォルトの名無しさん
13/10/14 11:23:00.24
>>72
カメラが高速近くで移動するとしてさ

たった1秒間で30万kmちかく移動してしまうんだろ
たとえばF-ZERO FX くらいのレースゲームをそれで作るとして、
どれくらいの量のポリゴンをメモリに入れておかないといけないの?
ちょっと見積もってよ


> 量子的確率的に

その確率は年末ジャンボ1等に当たるより低いんだろ
大抵の人には見えんのじゃないか?

75:デフォルトの名無しさん
13/10/14 11:25:34.97
そもそも 60fps 出すのにヒーヒー言ってるレベルだからな
光速で動くのをとらえようとしたら 何 fps の性能が必要なんだろ

76:デフォルトの名無しさん
13/10/14 11:31:30.97
速度とポリゴン数は関係ないだろ
そもそも仮想世界の相対性理論なんだ、光速が秒速30万kmを仮定しなくてもいい、単位系の問題

>大抵の人には見えない
その通りだな、まあ>>69は量子力学と言う言葉は知らず、トンネル効果という言葉だけ知ってたんだろうな

77:デフォルトの名無しさん
13/10/14 12:43:46.94
ゲームの世界は現実と異なる物理法則が働くのでそのような現象は起きない、と開き直るのはダメ?

78:デフォルトの名無しさん
13/10/14 12:45:22.83
どうでもいいことでいちいち他人にお伺いを立てるな。
スレの住人はてめえの母ちゃんじゃねえんだよ。

79:デフォルトの名無しさん
13/10/14 12:56:31.45
>>77
それえもいいけど
100%忠実なシミュレーションモデル構築するよりも
速度優先で疑似処理した方がスムースに受け入れられる場合も多い

80:デフォルトの名無しさん
13/10/14 13:07:19.71
>>76
> 速度とポリゴン数は関係ないだろ

関係あるよ。

たとえば町や山や川などが入る30万km四方の空間をポリゴンで表現している時、
普通ならその空間内のカメラが置かれたごく小規模の部分空間のポリゴンだけメモリに入れて、
その部分空間からカメラが出そうになったら隣の部分空間をメモリに入れて、
というように処理できる。

でもそれは空間の広さに比べて移動スピードが遅いからできるテクニックであって、
1秒間に橋から端まで移動してしまうスピードなら使えんと思うぞ。
つまり初めから空間全体のポリゴンをメモリに入れて置かなければ処理が間に合わない。

ちょうど橋から端まで突っ切ってしまうのならまだ誤魔化しようもあるが、
途中で止まったりスピードが変わったりすると誤魔化すことも難しくなるし。

> そもそも仮想世界の相対性理論なんだ、光速が秒速30万kmを仮定しなくてもいい、単位系の問題

光速がどれくらいの速度だと仮定したの仮想世界の話をしてるんだ?

>>69 は科学者ならとかじゃなくてプログラマならと言ってるんだから、
そう特殊なら話をしているわけではないと思うが

81:デフォルトの名無しさん
13/10/14 13:35:16.48
移動せずにパンしても同じことじゃん。

82:デフォルトの名無しさん
13/10/14 14:54:53.23
LOD次第でしょ

83:デフォルトの名無しさん
13/10/14 15:43:34.08
>>80
アホだな、数学ができてない
空間のスケールとポリゴンの密度はプログラマが任意に決定出来るパラメータだろ?
好きなように設定ですればよい
それこそ>>81でもいいし、>>82と言い換えることも出来る
光の速度も任意に決定出来るパラメータに過ぎない、仮想世界なんだから

84:デフォルトの名無しさん
13/10/14 15:48:59.72
>>74って、お題を出してるんじゃね
・1秒間で30万kmちかく移動する
・F-ZERO FX くらいのレースゲームをそれで作る

なんていうか、>>76の言いたいことはもっとも、
というかそもそも最初の冗談に真面目に付き合うのもどうかと思うが、
それはそれとして、>>76はお題を無視したレスじゃね
とちょっと思ったりなんかして・・・
このお題は俺には無理というのなら、べつにレスしなきゃいいんだし

85:デフォルトの名無しさん
13/10/14 15:53:24.37
>>84
ならお題として不足
空間あたりのポリゴン数を減らせば(空間のスケールを任意に上げれば)
いくらでもメモリに収めることは可能
といってるのがわからんか?

コレがわからないなら、例えば銀河を表すCGを作ろう、となった時に
銀河にはいくつの星があるんだ、メモリ足りないだろ、従って銀河のCGを作るのは無理
といってるのと同じ

86:84
13/10/14 15:57:08.43
>>85
ごめん、俺のせいで不快にさせた
謝る

もうこの馬鹿げた話は無しにしないか
そもそも OpenGL とほとんど関係ないだろうし

87:デフォルトの名無しさん
13/10/14 16:26:16.32
馬鹿げた話を真面目に話す事ができるのも掲示板のいい所だ
適度であれば、の話だが

88:デフォルトの名無しさん
13/10/14 16:31:51.51
>町や山や川などが入る30万km四方の空間

わろた

89:デフォルトの名無しさん
13/10/16 05:20:59.96
標準理論でもまだ足りないし無限に広いメモリなんてのもない
ひたすらに完全シミュレートなんてを求めてもしかたない

90:デフォルトの名無しさん
13/10/16 08:28:31.28
問題点を言い訳にして結局ゲーム作れないタイプがいる

91:デフォルトの名無しさん
13/10/16 08:55:49.73
あーそれ俺だわ
基本押さえず応用やって、問題点見つけても回避する力がない

92:デフォルトの名無しさん
13/10/19 12:26:30.03
何か変わったの?

Updates to the OpenGL API 4.4 and OpenGL Shading Language 4.40 - opengl.org news
URLリンク(www.opengl.org)

93:デフォルトの名無しさん
13/10/21 18:22:21.33
glDrawElementsで指定した頂点色全てにさらにalphaをかける方法ってありますか?
具体的にはglDrawElementsでレンダリングするモデルにモデルデータとは別にalphaを掛ける効果を得たいです

94:デフォルトの名無しさん
13/10/21 22:26:03.14
alpha用にもっかいレンダする

95:デフォルトの名無しさん
13/10/21 22:44:08.64
頂点に対して何かするなら、頂点シェーダで好きなように定数を挟んで計算すればいいだけの話。

96:デフォルトの名無しさん
13/10/22 00:38:30.63
alphaの掛かったテクスチャを貼る

97:デフォルトの名無しさん
13/10/25 06:33:56.89
>>90
耳が痛いわ

98:デフォルトの名無しさん
13/10/25 19:46:02.90
MacでOpenGL使ってたんだがMavericksにしたら動作重くなった…
一緒にアップグレードしたXcordのせいか…?

99:デフォルトの名無しさん
13/10/25 22:26:15.22
codeのスペルくらい覚えようぜ

100:デフォルトの名無しさん
13/10/26 09:50:00.04
AndroidアプリでカラーピッカーをOpenGLを使って作った
んですが、正直OpenGLの知識は皆無で、ネットのいろんなサイト
を参考にして作リました。
で、皆さんは、やっぱり本を2~3冊は買って勉強
してるんでしょうか。
それとも自分みたいなもんは、ネットで勉強してから良本
を買ったほうが良いのでしょうか。
アドバイスをお願い致します。

101:デフォルトの名無しさん
13/10/26 10:49:30.97
みんな一か月やそこらでエキスパートになったわけじゃねーよ。
本を買う金がもったいないなら、図書館で読めばいい。
そして一番重要なのは、ネットや本の知識よりも、実際に何時間手を動かしたかということ。
あとはできれば英語に抵抗がないといい。答えの多くは海外のフォーラムにある。

102:デフォルトの名無しさん
13/10/26 12:49:41.88
本なんて SuperBible があれば、後はネット情報で充分。

103:デフォルトの名無しさん
13/10/27 00:39:26.69
OpenGLを使った地図描画エンジンの作り方
URLリンク(codezine.jp)

104:デフォルトの名無しさん
13/10/27 13:07:44.30
projecion行列でのnear値と、modelview行列での視点位置の関係を教えてください。

デフォルトでは視点は0.0, 0.0, 0.0にあり、projection行列のnearを1.0にした場合、
z≦-1.0のポリゴンが表示されるのだと思っていました。
ところが、実際にはz=0.0の画像が原寸で表示されています。
※正射影になっているわけではありません。

そこで、「デフォルトでの視点位置は0.0, 0.0, 1.0にある(したがって、z≦-(near+1.0)のポリゴンが表示される)のだろうか」と思ったのですが、
nearと視点のz値を同じ値だけ変えると、また違う表示になってしまいます。

「z=0.0の位置にあるポリゴンを原寸で表示する(projectionのleft, rightと同じ幅を持つポリゴンが、ちょうど画面いっぱいに表示される)」
状態を保ちつつ画角を変えたいのですが、どのように計算すればいいのでしょうか。
よろしくお願いします。

105:デフォルトの名無しさん
13/10/27 13:43:13.85
視野角と画面サイズがあれば、どれだけカメラを離せば一致するのか計算で出せるだろ。
もし式がぱっと思う浮かばないような馬鹿なら、高一からやり直せ。

106:デフォルトの名無しさん
13/10/27 13:52:25.10
glFrustumだって予想は付くけど射影変換の種類くらい書こう
そしたら↓なんか不要だし
>※正射影になっているわけではありません。

で、本題だけど多分glMatrixMode(GL_MODELVIEW);のあとにglFrustumしてるとかそんなとこじゃないの?

107:デフォルトの名無しさん
13/10/27 14:27:22.48
ちょっとお尋ねしたいんですが、行列の転置ってどういう時に使うんでしょうか?
ベクトルの内積は、向きを判断したい時とか、外積は、法線を求めたい時とか、大体理解できたんですが、
行列の転置の意図がよくわかりません。
OpenGLのサンプルコード読んでる時に、たまに行列を転置するコードが出てきて、そんたんびに、
何してんのこれ ( ゚д゚)ポカーン となります。誰かエロい人教えてくだしあ

108:デフォルトの名無しさん
13/10/27 14:37:01.45
URLリンク(www.google.co.jp)

109:デフォルトの名無しさん
13/10/27 14:40:19.30
回転行列の逆行列を用いると逆回転が可能になる
回転行列の場合は逆行列は転置行列と等価になる
一般的に逆行列を求めるのにはコストが掛かるが
転置行列についてはコストはほとんど無視できる

110:デフォルトの名無しさん
13/10/27 15:03:42.27
>>108-109
あぁ! 簡易的に回転行列の逆行列を求めてたんですね
目鱗です! ありがとうございました!

111:デフォルトの名無しさん
13/10/27 15:09:03.22
受験を経験する高校生以上ならみんな知ってるけどな

112:デフォルトの名無しさん
13/10/27 17:11:50.61
確かにそこらへん習った記憶はあるけど、もう15年以上も前のことなんで忘れてましたわ

113:デフォルトの名無しさん
13/10/27 17:37:18.82
エー視野角うんぬんなんて習ったか?テキトーに数値入れてそれっぽく見えたら桶にしてる

114:デフォルトの名無しさん
13/10/27 18:09:51.08
クォータニオンは高校生でも理解可能

115:デフォルトの名無しさん
13/10/27 18:15:12.80
視野角なんて三角関数で角度と辺の長さを求め方が分かっていたら、
三角形がイメージできていればいくらだって応用が利くし、
視錐台なんて、そこに二本の線を入れるだけの話だ。

習ったことが実用出来ないというのは、つまり適性がないんだよ。

116:デフォルトの名無しさん
13/10/27 18:24:40.97
クォータニオンって3次元でサイクロイド描いてる感覚だな

117:デフォルトの名無しさん
13/10/27 18:34:15.39
あの、シンバルでロックする奴か

118:デフォルトの名無しさん
13/10/27 19:26:54.07
ロックしない方だよ

119:デフォルトの名無しさん
13/10/27 19:38:26.26
手は毎日動かしてるんだが

120:104
13/10/27 20:13:15.05
式自体は理解しています。計算どおりの表示にならないので質問しています。

・視点を初期位置から動かしていない
・nearが1.0なのに、z=0.0のポリゴンが表示されている。
というのがなぜなのかよくわからないんです。
この状態ならz<=-1.0のポリゴンしか表示されないはずですよね?

glFrustumと同じことをやっていますが、
正確にはprojectionMatrixとmodelviewmatrixを掛け合わせたものをシェーダに渡しています。
なのでglMatrixModeとかは使っていません。

121:デフォルトの名無しさん
13/10/27 21:37:15.15
注視点がどっちか不明なのに
>この状態ならz<=-1.0のポリゴンしか表示されないはずですよね?
判断できるわけが無いだろう。
アホか。

122:デフォルトの名無しさん
13/10/27 23:17:53.23
>>120
マトリックスをprintfでもして自分で計算してみたらきっとわかるよ

123:デフォルトの名無しさん
13/10/28 10:16:15.71
URLリンク(hexgl.bkcore.com)

これやってみ

124:デフォルトの名無しさん
13/10/28 21:12:50.23
お前に命令される筋合いは無いっ

125:デフォルトの名無しさん
13/10/31 03:29:33.33
>正確にはprojectionMatrixとmodelviewmatrixを掛け合わせたものをシェーダに渡しています。

シェーダーでニアクリップ処理が上手くされてないなら、計算どおりの表示になるわけないw
シェーダー使わないで試してから

>式自体は理解しています。計算どおりの表示にならない

とか言ってくれないかな?

126:デフォルトの名無しさん
13/10/31 13:31:47.26
お前のその態度が気に入らない

127:デフォルトの名無しさん
13/10/31 22:40:50.24
原因と結果なのに?

128:デフォルトの名無しさん
13/11/01 02:32:05.07
あのさ全世界で使われてるOpenGLの処理でバグがあったら直ぐに騒ぎになるだろ

>式自体は理解しています。計算どおりの表示にならないので質問しています。

式を理解した所で、OpenGLを理解して式を当てはめる事が出来ないなら
それは式を理解しています、とは言わないんだよ?
でOpenGLのそんな根本にバグがあるわけがなく、君の間違った理解してない計算通りの表示に100%なってるからw

129:デフォルトの名無しさん
13/11/01 02:59:21.37
いつになったら学習するのかなぁ…

130:デフォルトの名無しさん
13/11/01 09:07:35.98
プログラムは思った通りに動くのではなく書かれた通りに動く

131:デフォルトの名無しさん
13/11/01 11:38:36.66
どうやらソフトウェアレンダの既知の問題だったらしく
実行系を開発版にしたところ無事改善しました
お騒がせいたしました

132:デフォルトの名無しさん
13/11/01 11:56:33.39
嘘くせーw

133:デフォルトの名無しさん
13/11/01 17:20:56.30
何か自分で学習しない奴っているよな。
あーだこーだ理由をつけて、
エンジニアなのに、
本質を理解しないで、
ちょっとググっただけで、
自分がわかったつもりになって、
自分勝手に我流でやって、
バグを出しまくりで、
人のせいにして、
進歩しないやつ。
プライドだけは高いんだよ。
まあ、そのうちコーダーとしてしか使われなくなるんだよ。

134:デフォルトの名無しさん
13/11/01 17:58:51.91
>>133
> エンジニアなのに

ここで、どうやって相手がエンジニアかどうか判断するの?
勝手にエンジニアだと思い込んでる?

135:デフォルトの名無しさん
13/11/01 18:55:34.86
自分を投影しちゃったんでしょ

136:デフォルトの名無しさん
13/11/02 00:43:41.35
同僚か部下でなんかでそんな奴がいるんだろ。
それの愚痴だろ。

137:デフォルトの名無しさん
13/11/02 00:44:16.18
なら本人もエンジニアじゃね

138:デフォルトの名無しさん
13/11/02 00:48:16.50
だろうね。

139:デフォルトの名無しさん
13/11/02 04:55:25.73
ほう

140:デフォルトの名無しさん
13/11/02 13:13:24.51
マ板でやれ

141:デフォルトの名無しさん
13/11/02 15:11:20.97
こりゃ、まいった

142:片山博文MZコスモ ◆T6xkBnTXz7B0
13/11/03 20:58:40.54
画面のスクリーンショット撮ってそのテクスチャーを作成して、そのまま画面に表示すると、
ちょっとぼやけるんだよね。くっきり表示する方法を教えて下さい。

143:片山博文MZコスモ ◆T6xkBnTXz7B0
13/11/03 21:00:13.73
画面のスクリーンショット撮ってそのテクスチャーを作成して、そのまま画面に表示すると、
ちょっとぼやけるんだよね。くっきり表示する方法を教えて下さい。

144:デフォルトの名無しさん
13/11/03 21:23:23.23
テクスチャにするときに縮小されてんだろ
拡大した画像でテクスチャ作れよぼけ

145:デフォルトの名無しさん
13/11/03 21:38:00.81
もしくはリニアサンプルにしてて半ドットずれてるとか
ニアレストネイバーでサンプルするか半ドットずれてるのを戻すかすれば治るケース

146:片山博文MZコスモ ◆T6xkBnTXz7B0
13/11/03 22:49:18.11
どうやって半ピクセルずらすのですか? ググっても出て来ません。

147:片山博文MZコスモ ◆T6xkBnTXz7B0
13/11/03 23:22:35.87
画像サイズをCOLORONCOLORで四倍に引き延ばしてもぼやけたままでしたはげ

148:片山博文MZコスモ ◆T6xkBnTXz7B0
13/11/03 23:36:50.19
明日までにスクリーンセーバー納品しなきゃいけないんだ。頼む!

149:デフォルトの名無しさん
13/11/03 23:56:03.33
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
とかしとけばとりあえずボケないんじゃなかろうか

150:デフォルトの名無しさん
13/11/03 23:57:29.70
>>142
そもそもスクショって言うが、オフスクリーンバッファには描画してないのかい?

151:デフォルトの名無しさん
13/11/03 23:58:52.30
お前らの慈悲深さに涙がでるわw

152:片山博文MZコスモ ◆T6xkBnTXz7B0
13/11/04 12:12:53.96
XScreenSaverの68個のスクリーンセーバーを移植したよ!!
マトリックス風のスクリーンセーバーもあるよ!!
URLリンク(katahiromz.web.fc2.com)
URLリンク(github.com)

153:デフォルトの名無しさん
13/11/04 13:26:00.49
お礼の代わりに宣伝とか、素晴らしい人間性。
是非とも長生きしてほしいし、2chに沢山書き込んでほしい。

154:デフォルトの名無しさん
13/11/04 14:01:05.46
URLリンク(www.jwz.org)

オリジナルの作者は嫌だろうし、移植じゃなく新しいプロジェクトでやればいいのに

155:デフォルトの名無しさん
13/11/04 23:55:45.55
floatの数値が一次元配列として格納されているバッファがあるとき、これに
座標を追加して折れ線グラフのようにプロットしたいと思っています。
とりあえず、単調増加するダミーの頂点配列を用意したうえでバーテックス
シェーダにattributeとして渡してやって、そこで座標変換してやるという方法を
思いついたのですが、ほかにもっと簡単な方法ってありますか?

156:デフォルトの名無しさん
13/11/05 00:10:04.96
GL_LINES

157:デフォルトの名無しさん
13/11/05 17:33:22.53 BE:1827858645-2BP(0)
URLリンク(rfi.a.la9.jp)
お世話になります。
私、責任者の加茂と申します。以後、宜しくお願い致します。
URLリンク(www.karilun.com)
浪速建設様の見解と致しましては、メールによる対応に関しましては
受付しないということで、当初より返信を行っていないようで、今後につい
てもメールや書面での対応は致しかねるというお答えでした。
 
このように現在まで6通のメールを送られたとのことですが、結果一度も
返信がないとう状況になっています。
 
私どものほうでも現在までのメール履歴は随時削除を致しております
ので実際に11通のメールを頂戴しているか不明なところであります。
 
弊社としましても今後メールでのやり取りを差し控えたく、浪速建設様
と同行の上でお会いさせていただきたい所存です。
URLリンク(rfi.a.la9.jp)

158:デフォルトの名無しさん
13/11/05 22:50:01.61
>>156
GL_LINE_STRIPにしないと破線になりますね。
それ以前に、>>155で質問したのは描画じゃなくて頂点座標を得る方法なんですが。

一応>>155に書いた案で実装してうまく動いたようなので解決ということにしておきます。

159:デフォルトの名無しさん
13/11/05 23:04:45.65
>>158
プロットしたいというのは描画したい(画面にプロットしたい)という意味じゃなかったの?

プロットしたい = 頂点座標を得えたい という意味?

160:デフォルトの名無しさん
13/11/05 23:20:46.75
>>158
何言ってんだこいつw
偏差値が10違うと会話が成り立たないうんぬんw

161:デフォルトの名無しさん
13/11/05 23:22:39.20
>>159
書き方がよくなかったですかね。
確かにやりたいことは描画することなんですが、一次元の数値の配列はそのままでは
描画することができないので、これを描画できる頂点配列の形にしたいということでした。

162:デフォルトの名無しさん
13/11/06 00:20:00.26
単調増加ならgl_VertexIDでいいんじゃないの?

163:デフォルトの名無しさん
13/11/06 00:56:08.37
なるほど。頂点配列を埋める手間は省けそうですね。

164:デフォルトの名無しさん
13/11/07 23:25:30.71
glTexImage2Dのformatパラメータって、昔のドキュメントにはGL_LUMINANCEが含まれているのに
最近のドキュメントには記述がないんだが、廃止されたの?
廃止されたとしたら、代替の機能って何を使えばいいんだろうか?

165:デフォルトの名無しさん
13/11/08 00:46:55.61
GL_RED + シェーダ

166:デフォルトの名無しさん
13/11/08 00:52:34.83
そうなんだ。サンクス。

167:デフォルトの名無しさん
13/11/10 21:30:30.84
マルチスレッドを使うプログラムでUIスレッド以外からOpenGLの操作をするために
wglMakeCurrentを呼んだとき、たまに失敗してFALSEが返ってくるのにGetLastError
ではERROR_SUCCESSしか返ってこない場合があるんですが、ほかに何か
原因を調べる方法はあるでしょうか?

wglMakeCurrentがFALSEを返す場合は確かに操作が失敗しているようで、そのまま
後続の処理をしようとしても全部失敗しますが、GetLastErrorがERROR_SUCCESSのとき
wglMakeCurrentを再度呼ぶと今度は成功するようです。
一応、同じHGLRCを別のスレッドからアクセスしようとするとERROR_INVALID_ACCESSで
失敗するので、その排他制御は入れています。

168:デフォルトの名無しさん
13/11/22 06:53:42.55
URLリンク(d.hatena.ne.jp)
このサイトの「ストリップ長を長く取りすぎてキャッシュのヒット率が悪く」
って部分がよくわからないのですが、ストリップ長を長くしすぎるとなぜダメなのでしょうか?
また、「キャッシュに当てるためにストリップ長は16ぐらいでいい」ってことは、
ストリップ長が16程度に達したら、分割すべきってことでしょうか?

169:デフォルトの名無しさん
13/11/22 11:26:55.59
別に駄目じゃないよ。
キャッシュヒット率が必要なだけ高ければ何でもいいよ。
ストリップが長いときにヒット率が悪いなら、そのストリップを単に 16 トライアングルで分割したってヒット率は変わらないよ。
ていうかその記事で分からないなら、何を説明しても無駄。ストリップ最適化のツールはあるから、それ使ってればいいよ。

170:デフォルトの名無しさん
13/11/22 14:24:03.83
トライアングル単品のほうが速いのはカリングの都合もよね

171:デフォルトの名無しさん
13/11/23 08:02:32.53
glActiveTextureってどこにつくの?
コンテキストorフレームバッファorプログラム?

172:デフォルトの名無しさん
13/11/23 20:10:16.46
>>168
そうじゃない >>169
トライアングル・ストリップは最初の2個のトライアングルを選ぶと
3つめ以降は自動的に決まってストリップは一直線に伸びていく(選択の余地がない)
この時キャッシュのヒット率は理想的な場合で1つの頂点を2ストリップがなぞるので50%。
それに対してトライアングルズで自由に近くのトライアングルを選んでいけば16個のキャッシュ程度でも90%とかいうレベルでヒットするので、
もはやストリップの時代は終わったんだあきらめなという話

173:デフォルトの名無しさん
13/11/27 12:26:03.06
ストリップの時代終わったのか。おぢさんとしては寂しい限り

174:デフォルトの名無しさん
13/11/27 13:05:32.77
時代は着エロ

175:デフォルトの名無しさん
13/11/29 11:33:38.49
URLリンク(vimeo.com)
この映像の~30秒までの3Dグラフィックスがきめ細やかで美しいと思ったのですが、
こういった映像はOpenGLからプログラミングでもって作られているのでしょうか?
それとも、プログラミングは必要なく3D制作ソフトウェアや動画編集ソフトを組み合わせて作られているのでしょうか?

176:デフォルトの名無しさん
13/11/29 11:51:17.35
エロかもしれないとおもってクリック出来ない

177:デフォルトの名無しさん
13/11/29 14:02:00.58
>>175
Software used: After Effects and Cinema 4D
って書いてあるぞ

178:デフォルトの名無しさん
13/11/29 15:10:01.33
>>177
ありがとうございます。

179:デフォルトの名無しさん
13/12/02 19:47:35.45
おいOpen ESの名称乗っ取られたじゃねぇか

180:デフォルトの名無しさん
13/12/02 19:51:17.78
完全に油断してたね

181:デフォルトの名無しさん
13/12/02 20:55:21.02
何言ってんだお前、と思ったがなるほど (´・ω・`)
URLリンク(www.recruitcareer.co.jp)

182:デフォルトの名無しさん
13/12/03 12:26:58.97
新卒の個人情報はさぞかし高く売れるんだろうな

183:デフォルトの名無しさん
13/12/06 13:22:47.81
ESはどうせフェードアウトするだろ

184:デフォルトの名無しさん
13/12/06 22:20:24.92
そして、洸がフェードイン

185:デフォルトの名無しさん
13/12/07 11:54:13.25
プログラミング初心者な質問かもしれません…

GPUを使って、巨大な行列の乗算を行いたいのですが、
OpenGLで4×4以外の行列の計算はどのようにすればできますか?

いろいろ調べても出てこないので、OpenGLでは4×4以外の行列計算はできないのではないかと思い始め、
どうしても納得がいかなかったので質問させてもらいました。
スレ違いなら誘導していただければと思います。

186:デフォルトの名無しさん
13/12/07 12:02:22.91
スレリンク(tech板)

187:デフォルトの名無しさん
13/12/07 12:41:27.36
>>185
OpenGLは3D表示用だから、3D表示に必要な分(行列なら4x4まで)しか対応しないと考えるのが自然だと思うけど、何が納得いかないのさ?
あと、誘導先はOpenClも…

188:デフォルトの名無しさん
13/12/07 12:48:45.02
スレリンク(tech板)

189:デフォルトの名無しさん
13/12/07 13:07:29.13
誘導、助言ありがとうございます。
なぜOpenGLを使いたかったかを書いていませんでした。

端的に言えば、iOS上でGPUによる行列計算をしたかったためです。
始めCUDAやOpenCLならできそうだと思い調べていたのですが、どうやらiOS上では動かない(対応していない)とわかりました。

そこでOpenGLはiOS上で動くことを思い出し、調べていた次第です。
大きい行列の計算が可能そうであれば使わせてもらおうかな、と。

大きい行列計算はできない、という情報が見当たらなかったので、今回質問させてもらいました。

190:デフォルトの名無しさん
13/12/07 13:10:39.38
じゃあ古めかしいGPGPUで、テクスチャーに値放り込んでサンプリングしながら計算する
でも逆行列の計算とかだと再帰計算だからGPGPUとは相性悪いわな

そもそも何故GPUじゃないとダメなの?

191:デフォルトの名無しさん
13/12/07 13:29:53.94
とくに考えがあるわけでもなくGPUを使った方が速そうだとかいう、
よく愚者が思いつくことを、今回も思いついた馬鹿がいたと言うだけの話だろう。

192:デフォルトの名無しさん
13/12/07 15:23:09.65
>>189
OpenGL ESはモバイル用にOpenGLの機能を刈り込んだものだから、ますます3D必要以外の機能は貧弱で当たり前なので、わざわざ「できない」と言う必要がないだけ。
iOSなら、Accelerate Frameworkについて調べてみるといいかも。最近は画像処理に力を入れてるけど、汎用の計算機能もあったはず。

193: 忍法帖【Lv=7,xxxP】(1+0:5)
13/12/10 23:39:18.39
大学の図書館で調べてみたけどOpenGL 4.0に関する本が一冊も無かった・・・
どうなってんだ

194:デフォルトの名無しさん
13/12/11 01:09:41.49
>>193
図書館に言えば買ってくれるか、他所から借りてきてくれるんじゃね?
自力で探すなら、
っ URLリンク(calil.jp)

195:デフォルトの名無しさん
13/12/11 08:32:07.27
俺は大学図書館の OpenGL 本を充実させるべく積極的に動いてるぞ
OpenGL Insights 日本語版入れたり

196:デフォルトの名無しさん
13/12/11 09:33:29.63
いまだに赤本しかない図書館とかありそう
カビが生えて化石化して古代文明の遺産みたいな本

197: 忍法帖【Lv=7,xxxP】(1+0:5)
13/12/11 20:41:36.88
>>194
事務で聞いたら買ってくれるみたいやったわ

よし、おれも大学の図書館改革していくぞ~
まずはOpenGL 4.0 グラフィックシステムいれるわ

198:デフォルトの名無しさん
13/12/12 00:43:01.84
>>189
GPUで汎用計算をやろうZEみたいな話をGPGPUとか言ったりすることはご存じですか。
ご存知でしたらそれでググれ

199:デフォルトの名無しさん
13/12/12 09:43:28.27
OpenGL4.0が標準いいよねもう
ところでMantleどうなった?

200:デフォルトの名無しさん
13/12/14 01:01:13.66
あっという間にゴミになる技術本なんか入れんなよ
図書館の新刊希望出す奴は自己中ばっかりだな

201:デフォルトの名無しさん
13/12/14 09:21:26.35
新刊希望出す奴は自己中でいいよ

それを聞き入れる方に問題がある

202:デフォルトの名無しさん
13/12/14 10:15:26.92
図書館員は無知すぎる

203:デフォルトの名無しさん
13/12/14 11:17:55.66
消えていく技術に関する資料を保存するのも図書館の役目だと思うがな。
COMの本なんかもう書店じゃ見かけんし、Macintosh Toolboxは古本でも
なかなか見つからん。

204:デフォルトの名無しさん
13/12/14 21:34:23.67
URLリンク(www.jla.or.jp)
「図書館の自由に関する宣言」
第1 図書館は資料収集の自由を有する
2. 図書館は、自らの責任において作成した収集方針にもとづき資料の選択および収集を行う。その際、
(3) 図書館員の個人的な関心や好みによって選択をしない。
(4) 個人・組織・団体からの圧力や干渉によって収集の自由を放棄したり、紛糾をおそれて自己規制したりはしない。
(5) 寄贈資料の受入にあたっても同様である。図書館の収集した資料がどのような思想や主 張をもっていようとも、それを図書館および図書館員が支持することを意味するものではない。

205:デフォルトの名無しさん
13/12/15 00:06:50.44
何と戦ってんの

206:デフォルトの名無しさん
13/12/15 01:41:18.21
いい加減スレチ

207:デフォルトの名無しさん
13/12/15 21:21:49.40
フレームバッファオブジェクトが意味解りません。
おすすめの本はありますか?

208:デフォルトの名無しさん
13/12/16 01:22:13.19
URLリンク(www.opengl.org)

Chapter 9
に詳しく書いてあるよ

209:デフォルトの名無しさん
13/12/16 13:11:13.69
>>208
ありがとうございます。
読んでみます。

210:デフォルトの名無しさん
13/12/19 00:47:18.81
OpenGL Insights 日本語版

の最初の数ページだけ読んだが、なんか訳がおかしい。日本語になってない所がある。

211:デフォルトの名無しさん
13/12/19 08:57:17.39
10年前のOpenGLの本なんて役に立たないし捨てていいですよね

212:デフォルトの名無しさん
13/12/19 10:11:08.38
翻訳本なんて大抵そんなもの
見つけたら出版社に報告すれば
割引券がもらえるかもしれないし
放置されるだけかもしれない

213:デフォルトの名無しさん
13/12/22 17:26:57.93
質問です。Android用にOpenGLを用いたアプリケーションを開発しております。
よくわからない挙動にぶつかったので。
GLSL中で、

uBoneTransformMatrix[1][0][3]==2.0←true
しかし、
ivec3 testVec=ivec3(1,0,3);
uBoneTransformMatrix[testVec.x][testVec.y][testVec.z]==2.0←false(trueのはず・・・)
になってしまいます。
ちなみに、uBoneTransformMatrixは
uniform mat4 uBoneTransformMatrix[16];と宣言してあります。

214:デフォルトの名無しさん
13/12/22 20:21:15.96
浮動小数点数の比較は減算した絶対値が小さいかどうかでやろうず

215:デフォルトの名無しさん
13/12/23 00:14:33.65
URLリンク(d.hatena.ne.jp)

216:デフォルトの名無しさん
13/12/26 02:47:37.22
赤本第8版って邦訳の予定ないのかなあ…
日本語で書かれたOpenGL3.0以降の本格的な参考書って少ないから、けっこう需要はあるだろうに。

217:デフォルトの名無しさん
13/12/26 11:36:24.89
>>216
値段が4000円ぐらいだったら売れるんじゃね.前のは12000円ぐらいしたし厳しかった.

218:デフォルトの名無しさん
13/12/26 21:43:15.80
OpenGLの標準バージョンを決めて欲しい気がする
もう固定パイプ要らないねん

219:デフォルトの名無しさん
13/12/26 22:34:40.91
標準バージョンの意味がよく分からん

固定パイプ要らないのなら使わなきゃいいだけでは?
そういうことではない?

220:デフォルトの名無しさん
13/12/27 00:22:27.16
Superbibleの和訳が欲しいなぁ。

221:デフォルトの名無しさん
13/12/27 01:41:41.17
SuperBibleは原語で充分意味が取れる内容のような

222:デフォルトの名無しさん
13/12/28 01:38:53.84
glBegin~glEndの時代が終わって、一気に入門の敷居が上がっちゃった感はあるよな。
大学とか専門学校のCGの演習系の授業とか、取っ掛かりはどうしてるんだろ?

特に即戦力を求められる専門学校で時代遅れの実装について勉強するわけにもいかんけど、
シェーダーベースになってから、とりあえずテクスチャ貼ってライティングされた立方体を
くるくる回すまでのハードルがえらい高くなった気がする。

223:デフォルトの名無しさん
13/12/28 01:53:43.00
大学ではまだglBeginで教えているよ

224:デフォルトの名無しさん
13/12/28 03:43:34.03
glBeginってバージョンあげても拡張機能で普通に使えなかったっけ?

225:デフォルトの名無しさん
13/12/28 09:55:59.76
現状だと今あるGPUでもglBeginはいちおう使えるっぽい。
NVIDIAはDeprecatedになった機能もこれからもちゃんと実装するよって言ってた。
(ソースは探せばどっかにあると思う)
しかし, IntelかAMDの実装がDeprecatedになった機能をサポートしなくなって
glBeginが使えなくなるか
使えても計算がCPUで行われるような実装になっているかもしれない。

というかWindowsをインストールした時点で
GPUドライバをインストールしてなくても
ソフトウェア実装のOpenGL1.1相当の機能は使えなかったっけ?

お手軽簡単にOpenGL使いたい人はglBeginを使い
真面目にパフォーマンスが必要な人はDrawElementsInstancedBaseVertexBaseInstanceを使えばいいんじゃない?

226:デフォルトの名無しさん
13/12/28 19:32:01.17
ビューポート(-1,+1)の範囲で表示するのは問題ないねん
座標変換し出すと突然ハードルが上がる
(この辺からついて来れない学生が出てくるし・・・)

227:デフォルトの名無しさん
13/12/28 22:46:15.94
図書館でOpenGL ES 2.0 プログラミングガイド借りてきた。
絶版とか勘弁してほしいわ・・・
丸善がんばれ。

228:デフォルトの名無しさん
13/12/28 22:48:47.95
初歩的な質問で済みませんが、
640x480の2D系の座標にする時に

glViewport(0,0,640,480);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0, 640, 480, 0, -1, 1);

みたいな感じで設定してるサンプルコードをよく見かけますが、なぜ

glOrtho(0, 639, 479, 0, -1, 1);

ではないんでしょうか?
leftが0だったらrightは639になりそうな気がしてしまうんですが・・・。

229:228
13/12/28 22:53:18.70
glViewportの方はwidthなので640指定なのは分かるんですが、
glOrthoの方はleft, rightなので0, 639になるんじゃないの?と不思議に思ってしまいました。

230:デフォルトの名無しさん
13/12/28 23:01:13.23
お前はテクスチャ座標をフルサイズで指定するとき、
0から0を指定するのか?

231:デフォルトの名無しさん
13/12/28 23:24:34.43
ごめんなさい、おっしゃっている内容がよく理解出来ません。。
出来れば、rightに639ではなく640を指定する理由を
直接教えては頂けないでしょうか?

232:デフォルトの名無しさん
13/12/28 23:26:15.73
ドットで数えるからそんなアホな発想になるんだよ。

233:デフォルトの名無しさん
13/12/28 23:28:29.88
100メートル走のゴールは99m地点か?

234:デフォルトの名無しさん
13/12/28 23:30:38.99
「10秒数えて下さいねー」っていわれて1から数えだして10になった瞬間に手を上げるタイプか

235:デフォルトの名無しさん
13/12/28 23:41:05.42
そこは、手を上げる必然性がないだろ

236:デフォルトの名無しさん
13/12/28 23:41:37.01
>>227
アマゾンの瀬取り屋がIT関連の本を買い占めてやがんだよな
ES2.0ガイドは持ってるけど定価4000円しないのに7500円で売ってる
むかつくわ~

237:228
13/12/28 23:42:06.96
えっと、思いっきりドットで数えてしまってるんですが、ダメなんでしょうか?
幅640ピクセルの場合、一番左端の座標は0となって、
一番右端の座標は639になりますよね。
なので0と639を指定するのでは?と単純に考えてしまいました。

リファレンス確認したら↓こんな説明になってましたが、
そもそも左端と右端の座標を指定するという考えが間違ってんですかね。

URLリンク(www.opengl.org)
> Specify the coordinates for the left and right vertical clipping planes.

238:デフォルトの名無しさん
13/12/28 23:46:41.07
なんでドットで数えるの?
ドットで数えることに何の意味があるの?

239:デフォルトの名無しさん
13/12/28 23:49:38.21
coordinate=座標が付くのは格子点だよね
中学校で習わなかったか?

240:228
13/12/28 23:58:40.50
あー確かにそう言われたらそうですね。。
ピクセルの中心位置と思いっきり勘違いておりました・・・。

済みません、スレ汚し失礼しました。

241:デフォルトの名無しさん
13/12/29 00:09:21.29
「OpenGL ES 2.0 プログラミングガイド」って、ESの本だけど、
シェーダーベースのOpenGLの入門書としては数少ない選択肢だよな

242:デフォルトの名無しさん
13/12/29 11:53:07.95
OpenGL4.0ひまわり本があるだろ

243:デフォルトの名無しさん
14/01/01 10:56:05.82
「なんだよシェーダーについてしか解説しないのか、片手落ちだな」と思っていたら、
最近のOpenGLは実質的にシェーダーが全てだったでござる

244:デフォルトの名無しさん
14/01/01 11:05:27.21
glBegin/Endってジャージ着て街に出かけるようなものだろ

245:デフォルトの名無しさん
14/01/01 11:14:09.31
>>244
イマイチ分からん喩えだ

246:デフォルトの名無しさん
14/01/01 15:55:21.36
むしろカジュアルやん

247:デフォルトの名無しさん
14/01/01 21:19:48.54
カジュアルだけどレストランにも入れないしデートにも行けない

248:デフォルトの名無しさん
14/01/01 22:12:24.47
glBegin/Endって、そういう感じのものとは違うような気がする

249:デフォルトの名無しさん
14/01/01 22:30:18.73
かゆい所に手が届かない時代遅れの技術だべ

250:デフォルトの名無しさん
14/01/01 22:57:29.15
ジャージはかゆい所に手が届かない時代遅れのものではないよな

251:デフォルトの名無しさん
14/01/01 23:04:04.57
昔はジャージ着て町の中歩いてるのが普通だったけど今は笑われるね

252:デフォルトの名無しさん
14/01/01 23:07:46.75
レストランやデートに行けないからやはりかゆい所に手が届かないのではないか

253:デフォルトの名無しさん
14/01/01 23:14:25.56
そもそもさ、みんなは「かゆい所に手が届く」という言葉の意味は分かってるのかな?

わかった上で遊んでるのか?

254:デフォルトの名無しさん
14/01/01 23:15:44.59
いいえ

255:デフォルトの名無しさん
14/01/01 23:31:52.92
気が利いてるという意味か
まぁglBeginは気が利いてるといえば利いてるな
ただ過保護すぎて本人のためにならないという点が問題だが

256:デフォルトの名無しさん
14/01/02 10:29:54.18
glBeginは園児服

257:デフォルトの名無しさん
14/01/05 14:00:27.53
成長しても板ポリ表示とかで使える
使わなくてもいい

258:デフォルトの名無しさん
14/01/05 17:35:13.66
ものすごく初歩的な質問をしてしまうかもしれないが、
シェーダーって常にVSとFS(場合によってはGS)を一つずつセットにしないといけないのかな?

頂点シェーダーには透視変換とかの「多くのシェーダーで共通に使う機能」があるから、それをまとめて
VS1(共通機能)→VS2(シェーダーごとの機能)→FS(同左)みたいなやり方ができると
便利そうでVRAMの節約にもなる気がするんだが、それって可能?

259:デフォルトの名無しさん
14/01/05 17:47:29.97
このへん?
URLリンク(www.opengl.org)
> It is permissible to attach multiple shader objects of the same type because each may contain a portion of the complete shader.
> It is also permissible to attach a shader object to more than one program object.

260:デフォルトの名無しさん
14/01/05 20:57:39.61
>>259
あ、まず仕様書に目を通すべきだったか。
いずれにせよサンクス。
ちょっと読んでみる。

261:デフォルトの名無しさん
14/01/07 03:24:02.54
わしはシェーダでよく使う関数をヘッダファイルに纏めて#includeして使ってるよ。
VRAMの節約にはならんけど, 開発は楽になる。
Boost::waveにあるサンプルを参考にすれば簡単にGLSLで#includeできるよ。
#lineも生成してくれるから、エラーメッセージの行数もちゃんとマッチするし。

>>259
仕様書だとひとつのProgram Objectに複数のVertex ShaderをAttachするのはOKと言ってるけど
複数Vertex Shader Objectを一つのProgram ObjectにAttachしたとして
あるShader Objectから別のShader Objectの関数って呼べるの?
こんな事いったら仕様書をちゃんと読めよ!って言われるかもしんないけどさ。

262:デフォルトの名無しさん
14/01/07 03:56:16.87
>>261
やってみたら呼べた。(知らなかった...)

ProgramObjectごとにリンクされるわけだから、メモリの節約にはならないかもしれないけど便利かも

263:デフォルトの名無しさん
14/01/07 13:13:13.38
ひまわり本のSecond Edition欲しいお

264:デフォルトの名無しさん
14/01/07 14:25:56.67
毎年アップデートして欲しい

265:デフォルトの名無しさん
14/01/13 12:33:13.53
androidでopengl es1.1でレースゲーム作ろうと思ってるんだけど
オブジェクトは3Dで作るがマップは2Dって時
いいマップエディタとかってありますか
加速パネルとか障害パネルとかそんなんを配置していくイメージです

266:デフォルトの名無しさん
14/01/13 12:42:47.61
凄くトンチンカンなこと言ってるぞ

267:デフォルトの名無しさん
14/01/13 12:52:57.40
>>265
OpenGLとの関わりが全く分からん

ゲ製板の範疇じゃないのか?
URLリンク(toro.2ch.net)

268:デフォルトの名無しさん
14/01/14 03:01:24.71
白黒でビットマップに書いてコース起こせば。昔あったな。

269:デフォルトの名無しさん
14/01/15 17:16:22.88
glGenTexturesを内部で呼ぶspriteクラスを作って
sprite.init(リソース)
...
sprite.draw(gl)
で表示させてたんですが、2枚目を読み込ませると
それまで読み込んでいた別のスプライトもすべて同じ画像になっちゃいました
もしかしてglGentexturesには最初の段階で必要なテクスチャ画像をすべて
読み込まないといけないのでしょうか
だとすると内部でglGenTexturesを使うようなクラス化は無理ですか?

270:デフォルトの名無しさん
14/01/15 17:50:15.79
無理じゃないです。多分init()が間違ってる。
まずクラス化しないで複数のテクスチャを使えるコードをベタに書いてみたら

271:デフォルトの名無しさん
14/01/15 18:03:12.27
二回目のglGenTexturesの第二引数に初回と同じポインタ渡して書き換わってるだけじゃないの?

272:269
14/01/15 20:32:30.48
うまくいきました
glbindtexturesをinit時にしか呼び出してなかったのが原因でした
ただ、javaだとdraw時に毎回glBindTexturesを呼び出すために
bitmap.recycle()できないのが微妙な感じです

273:デフォルトの名無しさん
14/01/15 22:45:42.92
>>272
いやtexImage2D()後ならrecycle()は呼び出して大丈夫
glBindTexture()って言ってるけど、その役割理解できてる?

274:デフォルトの名無しさん
14/01/16 18:10:18.51
光源を囲むようにポリゴン(4角形)を配置したんだけど、光が遮断されずに
透過します・・・。

光を遮断するにはどうしたらいいのでしょうか?

275:269
14/01/16 18:13:33.96
2枚読み込めるようになったコードはこれです
codepad.org/IeMlc0OZ
recycleをコメントアウトすると真っ暗です
一枚だけなら、drawでtexImage2Dを呼ぶなんてことはせずにすむのですが。
後試したこととしてinitでtexImage2Dしといて
drawでglBindTextureだけしても動きませんでした

276:デフォルトの名無しさん
14/01/16 18:45:06.25
OpenGLのポリゴンに光(ライト)を遮蔽する効果なんて無いよ……

影を出す方法は幾つもあるけど一長一短。「OpenGL 影」でググって好きな方法を選べ。

277:274
14/01/16 19:31:36.45
>>276
レスありがとうございます。

>OpenGLのポリゴンに光(ライト)を遮蔽する効果なんて無いよ……

マジっすか・・・。

仕方ないので、光源の影響を受けるポリゴンを描画してから、
光源をOFFにして、その他のポリゴンを描画することにします。

278:デフォルトの名無しさん
14/01/16 20:04:51.11
光を遮蔽した結果が影なんだけどな…

279:デフォルトの名無しさん
14/01/16 20:31:10.04
>>277
根本的に何か勘違いしてる気がする

280:デフォルトの名無しさん
14/01/16 22:39:28.71
>>275
後者の試したときに、初期化時のglBindTexture()は読んだのかい?

もう一度問う。glBindTexture()とは何をする関数か。
それによって、他のどんな関数が影響を受けるか。

281:デフォルトの名無しさん
14/01/16 23:20:26.83
自作ゲームのためにOpenGLをラップするクラス群を作っているんだが、
モデルビュー関係がシェーダー任せになると、クラス分けが今ひとつ変な感じになる…

とりあえず質感を決定するためにMaterialというクラスを作って、シェーダーはそっちが担当し、
頂点情報はVAOというクラスを作ってそっちにもたせることにした。
そうすると、描画する時は

material.bind(); // 質感を決める
vao.draw(); // そのシェーダーを使って描画する

という流れになる。これは直感的に問題ない。
でも、行列操作のためにはシェーダーのuniform変数を操作する必要があるわけで、
座標を司る行列関係のメソッドがMaterialの方に存在するという、ものすごく気持ち悪い実装になってしまった。

282:デフォルトの名無しさん
14/01/16 23:28:26.36
は?

283:デフォルトの名無しさん
14/01/16 23:29:37.01
日記風質問ですか

284:デフォルトの名無しさん
14/01/17 00:52:03.70
>>279
気がするが、目的の効果を出せるなら取りあえずそれでOKという考え方もあるし

285:274
14/01/17 01:02:31.26
>>278-279

真っ暗な空間の中に、電球が一つあったとして、
その電球を何かですっぽり覆ったときに、影を
描画するのではなく、単に光の影響を排除した
方が簡単だと思ったのですが・・・。

286:デフォルトの名無しさん
14/01/17 03:46:13.04
>>285
標準的なライト計算でやってるのは、面の向きとライトとの位置関係を比べて
・面がライトと逆方向を向いてるなら、暗く(ambient)
・面が光をほどよく反射する方向を向いてるなら、色付いて(diffuse)
・面がライトの方向を向いてるなら、白っぽく(specular)
描画する、というだけだよ。当然、他の物体が間にあるかどうかなんて無関係。
光の影響を「すっぽり」排除するなら、>>277 のやり方で問題ないよ。

287:デフォルトの名無しさん
14/01/17 03:49:21.51
完全に真っ黒だとさすがに…と思うなら、別の暗いライトを代わりに付けて描画するとか
暗くなる物体が予め決まってるなら、その物体の材質のdiffuseやspecularを暗くしてやるって手もあるし。

288:デフォルトの名無しさん
14/01/17 04:36:42.42
>>281
俺ならこうした

Mesh
 - VertexBuffer
 - Appearance
  - Shader
  - Material

289:274
14/01/17 10:40:42.01
>>286
あざーす。

最近やっとOpenGLが何をやってるか、うっすら分かってきた。

何となくだけど、

1. 視線に応じてポリゴンのカタチを面に投影
2. 投影された外形の中を指定色で塗りつぶし
3. 2.の輝度調整や、alpha処理等々

これを視野に入るポリゴン全てに対して処理して出来上がった
画像を表示してると・・・。

いままでネットにあるチュートリアルしかみてなかったけど
今度、真面目にOpenGLの本を読んでみようかなw

>>287
むしろ完全に真っ暗が望ましいです。
もし淡い光が必要なら、全体に作用する環境光を使いたいと思います。

290:デフォルトの名無しさん
14/01/17 14:14:48.93
完全に真っ暗って描画する必要あるのか?

291:デフォルトの名無しさん
14/01/17 16:14:22.56
>>280
glBindTextureで切り替えられるのは
glGenTextureの第一引数に2以上を指定した場合ではないのですか?
だから最初の質問をしたんだけど
glGenTextureの第一引数に1を指定したまま
切り替えられるようなクラス化が出きるなら教えて
275のコードは遅すぎてまるで使い物になりません

292:デフォルトの名無しさん
14/01/17 16:46:29.44
>>290
displaylistを作りなおすのが面倒なんで・・・。
状況に応じてスポットライトはOFFにして環境光だけにして
暗視ゴーグルをつけている雰囲気を出したいなと・・・。

293:291
14/01/17 17:16:39.28
動くようになった実装
codepad.org/wyLfvqZs
しかしこれは当初自分がやりたかった実装ではないですが
glGenTexture(1,hoge)で作るのは無理だと思うので
実用上これで使うことにします
すごく使いにくいAPIですね

294:デフォルトの名無しさん
14/01/17 18:53:29.95
自分の無知を晒して使いにくいAPIとか言い出すとこまでテンプレだな

295:デフォルトの名無しさん
14/01/17 19:22:43.62
>>293
glBindTexture()の使い方はだいたいok
けどglGenTexture()についてはまだ理解が浅いのかな?
必ずしも一発で全部Genしなくてもいいよ?
まあ、したほうが効率的だろうけどさ

296:デフォルトの名無しさん
14/01/17 22:50:45.09
>>294
「なんだこの使いにくいAPIは!」というのは、誰もが過去に通った道という気がするので
正直俺は彼を馬鹿にできん

297:デフォルトの名無しさん
14/01/18 00:29:31.84
実際使いにくいしMatnelには期待してる

298:デフォルトの名無しさん
14/01/18 01:08:55.62
OpenGLよりローレベルなAPIに使いやすさを期待奴~www

299:デフォルトの名無しさん
14/01/18 01:46:21.96
上手いことラップすればOpenGLの機能を、より洗練されたAPIで操作できるだろう

300:デフォルトの名無しさん
14/01/18 02:16:05.22
コピペ改変したサンプルレンダラを美味しく使うお

301:デフォルトの名無しさん
14/01/18 10:56:56.77
OpenGL は半端な抽象化がうざかったりするから
ローレベルだから使い辛いとは限らん

302:デフォルトの名無しさん
14/01/19 09:51:45.48
オレオレエンジン作るお!ちゃんと1行1行理解してOpenGL使うお!
   ↓
できたー OpenGLの理解は完璧だお!楽勝だお!
   ↓
中身をど忘れ
   ↓
振り出しに戻る

303:デフォルトの名無しさん
14/01/19 18:47:46.89
健忘症かな?

304:デフォルトの名無しさん
14/01/19 20:56:23.55
度忘れしても大丈夫なように馬鹿でもわかって誤用の起こらない設計をするだろ。

305:デフォルトの名無しさん
14/01/19 21:07:49.68
>>303
お前は1年前に書いたコードを完全に覚えているのか?

306:デフォルトの名無しさん
14/01/19 21:08:11.27
頂点とテクスチャ渡せば絵が出る様にしとけば中身など気にならんわな

307:デフォルトの名無しさん
14/01/19 21:12:14.43
アーキテクチャだけは覚えておく
インターフェイスは見たら思い出せるようにしておく
それだけ

308:デフォルトの名無しさん
14/01/19 21:42:48.52
>>305
20台の時は余裕で覚えていたよ

>>307
30台の時はそれでなんとかなってたが

40台になるとそれも難しくなってくるよ

309:デフォルトの名無しさん
14/01/19 21:43:58.09
訂正






くそIMEめ

310:デフォルトの名無しさん
14/01/19 21:45:22.94
くすっ

311:デフォルトの名無しさん
14/01/19 22:13:14.51
健忘症かな?

312:デフォルトの名無しさん
14/01/19 23:22:42.50
エラーコードの種類に関しては、もっと増やして欲しいなあ。
特に、1282はもうちょい細かく分割できないもんかと。

313:デフォルトの名無しさん
14/01/23 23:58:55.13
テクスチャ貼り付けたプリミティブを徐々に透過したいんですけど何かいい方法ありますか?

314:デフォルトの名無しさん
14/01/24 00:22:46.65
徐々にアルファ値を減算したり加算したりすればいいよ

315:デフォルトの名無しさん
14/01/24 16:07:02.92
基本的なことだと思うのですが、ライトは
どのタイミングで処理するのがいいのでしょうか
sjbaker.org/steve/omniv/projection_abuse.html
ここによるとgl_projectionを設定しているときには
ライトの設定はしないほうがよさげです
するとmodelviewを設定しているときに呼ぶと思うのですが
カメラの設定で視線が決まると思うので
カメラの設定の後でしょうか?
今プレイヤーの真上(Z>0)からライトを設定してみたものの
むしろ暗くなってしまってます

316:デフォルトの名無しさん
14/01/25 12:58:01.41
>>315
昔作ったソースを確認してみた。
gluLookAtでカメラパラメータを決めた後で、頂点の描画処理をする前にライトの設定してる。
スクリーン座標系をS、透視行列をP、ビュー行列をV、ワールド座標系をWとすると、
S=PVW
となるよね。
だから、行列Vをかける前にライトの座標を決めてしまうと、それはワールド座標系ではなく
視点座標系で指定してることになっちゃうと思う。

317:デフォルトの名無しさん
14/01/25 18:04:10.19
テクスチャ(すでにロードしてあるもの)を頻繁に切り替えるのと
頻繁にLightのEnable/Disableを切り替えるのとどちらがコストが
高いのでしょうか?

318:デフォルトの名無しさん
14/01/25 18:13:41.52
ライトの切替なんて不要になるからシェーダを使えよ。
なんで旧世代の遺物で無駄な苦労をわざわざするのか理解できない。

319:デフォルトの名無しさん
14/01/25 18:31:48.96
>>316
ありがとう、そうします
>>318
いつでも最新のopenglが使える環境ばかりだと思うなよこのダボが

320:デフォルトの名無しさん
14/01/25 18:56:55.66
>>317
そういう場合はまず自分で測ってみるといいよ。

321:デフォルトの名無しさん
14/01/25 19:00:34.83
真上からってのもあるかも?
カメラのナナメ後ろから物体に向けて当てるくらいの気持ちでおkだよ。

ちなみに「むしろ暗くなる」のは正しい動作だと思う。
ライト計算ってのは、ほぼ
「ライトが当たってる以外の部分を暗くする」
処理だと考えていい。

例えばdiffuse色の計算では、0~1の値を何度も掛け算する。
指定したdiffuse色が出るのは一番明るくなったときだけなんよ。

まあここにambientやspecular計算(これも0~1の掛け算)したものが「足し算」されるから
その塩梅によってはdiffuseより明るくなることもあるけどさ。
だから「ほぼ」なんだけれども…感覚的には、やっぱそれぞれ最大値を指定してる感じになるよ。

この辺の計算を知る意味で、固定機能を使う人でもシェーダーは勉強になるよ。
機会があったら、やってみ?

322:デフォルトの名無しさん
14/01/25 19:01:24.32
>>319
環境気にする奴が、実測しないで他の人に聞くことは滑稽だとは思わんかね

323:デフォルトの名無しさん
14/01/25 19:21:55.58
>>319
ライトに必要になるシェーダなんて最新なんてほど遠いんだが。
いったい何をターゲットに開発しているんだ?

324:デフォルトの名無しさん
14/01/25 19:24:42.36
これまでのまとめ

自分で測定するなんて面倒だし、新しい知識を勉強するなんてとんでもない。
お前らはただ聞いたことに答えていればいいんだよこのダボが。

325:デフォルトの名無しさん
14/01/25 19:56:10.57
いつもの質問者さんやね

326:デフォルトの名無しさん
14/01/25 20:14:30.41
シェーダを全く使えない環境て残ってんのかな
10年くらい前の話じゃないの

327:デフォルトの名無しさん
14/01/25 20:24:05.73
プログラマの脳がシェーダを全く使えない環境なんだよこのダボが

328:317
14/01/25 20:54:17.02
ごめんよぉ・・・荒れる原因つくっちまって・・・。

シェーダーを調べてきたが、よく分からんかった。
光源の位置は今までどおりOpenGL側で設定する必要があるようだし、
どのポリゴンにどの光源の影響を与えるかの制御をシェーダーで
出来るようには見えなかったんだけど・・・可能なの?

とりあえずアタリを付けようと聞いてみたけど、自分で測ってみるわ・・・。

329:デフォルトの名無しさん
14/01/25 21:06:57.04
可能も何もライトの計算をシェーダで書くのは基本なんだが、
いったい何を調べたんだ?

330:デフォルトの名無しさん
14/01/25 21:11:56.23
これまでのまとめ

自分で測定するなんて面倒だし、新しい知識を勉強するなんてとんでもない。
お前らはただ聞いたことに答えていればいいんだよこのダボが。
ほら、譲歩してちょっと流し読みして調べてきてやったよ。
はぁ?まともに読む気なんかねえよこのダボが。

331:デフォルトの名無しさん
14/01/25 21:14:40.61
最新の赤本読めよこのダボが

332:317
14/01/25 21:18:38.99
>>329
言い方が悪かったわ・・・。
シェーダーはCPU側のメモリにアクセスできないでしょ?
(OpenGLに入力された情報以外使えないでしょ?)

333:デフォルトの名無しさん
14/01/25 21:21:14.07
uniform引数で与えろよ

334:デフォルトの名無しさん
14/01/25 21:25:42.04
> とりあえずアタリを付けようと聞いてみたけど、自分で測ってみるわ・・・。

なんかなぁ・・・

335:デフォルトの名無しさん
14/01/25 21:28:59.84
誤) とりあえずアタリを付けようと聞いてみたけど

正) とりあえずアタリを「付けてもらおうと」聞いてみたけど

336:デフォルトの名無しさん
14/01/25 22:03:17.77
手を抜かないで、きちんとシェーダの基礎から順を追ってやって行けよ。
怠け者にもほどがあるだろう。

337:デフォルトの名無しさん
14/01/25 23:37:15.43
ライトの位置等のパラメータをフラグメントシェーダのuniform変数にセット(glUniform*)
バーテックスシェーダからは法線ベクトルや頂点位置などのライティング計算に必要な情報を
フラグメントシェーダに渡す。
フラグメントシェーダでライティングを計算してピクセルの色を出力。

これが一番簡単なシェーダでライティングする方法かな

338:デフォルトの名無しさん
14/01/25 23:45:31.08
>>337
それが基本だろうね。
俺はmat4にライト情報を格納して、その配列としてuniform変数を渡してる。
ただ、現状だと座標、Diffuse、Specular、Ambientで埋まってしまうので、
それ以外の情報を込めようとすると別の変数が必要になる。

ただ、光源側に光源側に各反射に対応したパラメーターを設定したのは2.xまでのOpenGLの仕様が
そうなっていたからそれをなぞっただけで、あんまり意味がない。
考えてみると、そんな反射ごとの光源強度が必要になる状況ってあんまりないから、
「座標」と「光源の強さ」の2列にまとめちゃっていいかなと思ってる。
そうすると残り2列あるから、いろんなパラメーターを持たせられるし。

339:デフォルトの名無しさん
14/01/26 00:20:21.11
ニート、無職、フリーターがゲームを作るスレ6
スレリンク(gamedev板)

340:デフォルトの名無しさん
14/01/26 09:42:10.54
俺はもっと手抜きして、よく使うライト設定をシェーダ側に定数で書いちゃってたり。
複数のシェーダで共有するから、ファイルは分けて、ね。

341:デフォルトの名無しさん
14/01/26 14:26:00.47
ガラスのような半透明素材を作成する時はどうすれば作れるんでしょうか?

342:デフォルトの名無しさん
14/01/26 14:30:34.11
フレネル方程式を使う

343:デフォルトの名無しさん
14/01/27 22:19:58.72
等方性反射のことも考えろ!

344:デフォルトの名無しさん
14/01/27 22:33:53.26
>>343
そういうのはまだ求めていないと思う

345:デフォルトの名無しさん
14/01/27 23:35:28.66
窓ガラスなのかガラスの置物なのかでずいぶん違うような

346:デフォルトの名無しさん
14/01/28 00:15:26.55
ガラスのハートです。

347:デフォルトの名無しさん
14/01/28 02:32:13.49
ガラスの十代

348:デフォルトの名無しさん
14/01/28 02:35:03.00
普通に考えるとカーウィンドウみたいのだろ

349:デフォルトの名無しさん
14/01/29 01:17:31.59
それなら、単純にDiffuse(0,0,0,0)でSpecular(1,1,1,1)にするだけでそれっぽい感じにならんかな?
環境マッピングとかやろうとするとけっこう面倒だけど。

350:デフォルトの名無しさん
14/02/10 00:11:06.19
サイトを参考にしてこのコードでビルドしようとしたら
「1>glfw3.lib(gamma.obj) : error LNK2019: 未解決の外部シンボル __libm_sse2_pow_precise が関数 _glfwSetGamma で参照されました。」
とエラーになってしまいます
どうすればいいか教えてください

環境はWindows, VC++2010です

#include <glfw3.h>
#pragma comment(lib, "glfw3.lib")
#pragma comment(lib, "opengl32.lib")
int main(int argc, char *argv[])
{
GLFWwindow *window;
if(glfwInit() == GL_FALSE) {
return 0;
}
window = glfwCreateWindow(640, 480, "Hello World", NULL, NULL);
if(window == NULL) {
glfwTerminate();
return 0;
}
glfwMakeContextCurrent(window);
while(glfwWindowShouldClose(window) == 0) {
// 描画コード追加
glfwSwapBuffers(window);
glfwPollEvents();
}
glfwTerminate();
return 0;
}

351:デフォルトの名無しさん
14/02/10 00:20:54.19
>>350
そのエラーだとコードを書いても答えられない気がするが。
ライブラリにちゃんとパスが通ってるかとか、そっちの問題に見える。

352:デフォルトの名無しさん
14/02/10 00:32:27.10
>>351の通りで、その未解決の外部シンボル名でググれば答えっぽいのが出てくる

353:デフォルトの名無しさん
14/02/10 01:02:46.31
>>351-352
ありがとうございます

ソースの方もDLして見てみたんですが
glfwSetGammaでlibm_sse2_pow_preciseは使用されていませんでした
検索もヒットせずです

354:デフォルトの名無しさん
14/02/10 02:06:01.74
バイナリの方は2012以降用でした
2010ではソースからビルドしないといけないみたいです

見落としてましたすみません

355:デフォルトの名無しさん
14/02/12 13:18:18.36
そもそもglfwのライブラリがリンクできてないだけだろそれ

356:デフォルトの名無しさん
14/02/12 16:47:48.69
>>355
glfw3.libを生成する時にリンクされたgamma.objの機能(glfwSetGamma)で使用されている
シンボル __libm_sse2_pow_preciseが未解決って意味だ

リンクできてなかったらglfwSetGammaが未解決になるだろバカか?

357:デフォルトの名無しさん
14/02/13 00:36:21.79
>>355は適当に答えるのもどうかと思うが間違いにいちいち喧嘩腰でレスするなよ

358:デフォルトの名無しさん
14/02/13 02:49:56.24
LWJGLのJava OpenGLに関する質問です。

Direct3D9では三角形リストで四角形の画像も表示していました。
OpenGLのインデックスバッファ(VBO?)には四角形(QUAD)もあるのですが、
どちらを使うほうが効率的でしょうか?

内部では全部三角形リストで処理しているから、そっちのほうが
良いのかなと推測してはいるのですが、教えてください。

359:デフォルトの名無しさん
14/02/13 04:42:01.06
たぶん自己解決。

8角形とか4角形以外の図形が1つでも混ざる場合は全部3角形の組み合わせで
表現したほうが良いけど、四角形以外は絶対使用しない基本的な2Dアプリだと
4角形が良いみたい。

360:デフォルトの名無しさん
14/02/13 09:10:22.26
> 8角形とか4角形以外
八角形と四角形を同一視している理由が判らん。

361:デフォルトの名無しさん
14/02/13 11:30:36.37
>>360
凸凹←彼の中での八角形。

362:デフォルトの名無しさん
14/02/13 11:31:41.38
5とか、7とか、8とか、etc... 4以外の~ですよ

363:デフォルトの名無しさん
14/02/13 11:47:52.02
八角形って四角を3つ繋げただけだろ

364:デフォルトの名無しさん
14/02/13 11:55:36.01
>>360
おじいちゃん、今時は「~とか~」は必ずしも「~や~」を表わさないんですよ。
寧ろ「~など、~」の意味で使う若い人が多いんですからね。

>>359
このように齟齬が発生するからせめて読点で区切ってくれ。

365:デフォルトの名無しさん
14/02/13 13:18:28.64
Mantleスレ立てようぜ

366:デフォルトの名無しさん
14/02/13 22:28:49.31
glColor4f()ではなく、頂点カラーのアルファ値とアルファブレンドする方法ってありますか?
たぶんこんな感じかなと思ったのですが、上手くいきません。教えてください。

GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
GL11.glEnable(GL11.GL_BLEND);

GL11.glTexEnvi(GL11.GL_TEXTURE_ENV, GL13.GL_SOURCE0_RGB, GL13.GL_TEXTURE0);
GL11.glTexEnvi(GL11.GL_TEXTURE_ENV, GL13.GL_OPERAND0_RGB, GL11.GL_SRC_COLOR); // dirt texture colors

GL11.glTexEnvi(GL11.GL_TEXTURE_ENV, GL13.GL_SOURCE0_RGB, GL13.GL_PRIMARY_COLOR);
GL11.glTexEnvi(GL11.GL_TEXTURE_ENV, GL13.GL_OPERAND0_RGB, GL11.GL_ONE_MINUS_SRC_COLOR); // use vertex alpha to interpolate

GL11.glTexEnvi(GL11.GL_TEXTURE_ENV, GL13.GL_SOURCE0_ALPHA, GL13.GL_TEXTURE0 );
GL11.glTexEnvi(GL11.GL_TEXTURE_ENV, GL13.GL_OPERAND0_ALPHA, GL11.GL_SRC_ALPHA); // this texture's alpha (stage 0)

GL11.glTexEnvi(GL11.GL_TEXTURE_ENV, GL13.GL_SOURCE0_ALPHA, GL13.GL_PRIMARY_COLOR);
GL11.glTexEnvi(GL11.GL_TEXTURE_ENV, GL13.GL_OPERAND0_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); // vertex alpha

367:デフォルトの名無しさん
14/02/14 17:01:49.27
glBlendFuncの加算・減算とかの変更も反映されないし、諦めるわ

368:デフォルトの名無しさん
14/02/14 17:09:53.14
OpenglESでリアルタイムに曲線を描画したいんだけど何かいい方法ないですかね

369:デフォルトの名無しさん
14/02/14 21:25:26.72
なんで頂点属性しかlayout設定できないんだよ糞が
って思ってたらuniformやサブルーチンもできるようになってるんだな
URLリンク(www.opengl.org)

しかし4.3か・・・
ハードの機能じゃないっぽいし、Intelでも使えたら良いんだが

370:デフォルトの名無しさん
14/02/16 08:42:38.59
GLUI使ってる方います?
なんかサンプルがバグバグなんだが、これはサンプルの問題なのかライブラリの問題なのか

371:デフォルトの名無しさん
14/02/16 22:00:01.21
症状くらい書きましょう

372:デフォルトの名無しさん
14/02/16 22:15:17.13
とりあえずテキストボックス回りで必ずハングする
見てみると範囲外アクセスなんだがそれを直すと今度は無限ループっぽい症状が出る、直せん

373:デフォルトの名無しさん
14/02/16 22:38:03.76
ソースデバッグしないのか

374:デフォルトの名無しさん
14/02/16 22:52:30.60
してる
だから小手先の修正では根本的な修正にならないと言う話
これがテキストボックスだけなのか、全体的にそうなのかもし経験してる人がいれば聞きたかった

375:デフォルトの名無しさん
14/02/16 22:56:34.13
本当にしてるのか?
ハングするならその状態で止まるだろうし元を辿れるだろ

376:デフォルトの名無しさん
14/02/16 23:02:44.72
つまり、ロジックから直さないといけなさそうだと思っている
時間かけて見てるわけじゃないからそれ以上はなんとも

377:デフォルトの名無しさん
14/02/17 08:50:42.97
質問し返してる人がそのライブラリを使ったことあるのか無いのかよくわからない会話ですね

378:デフォルトの名無しさん
14/02/19 16:46:19.58
OpenGLで読み込めるスキメッシュアニメのファイル形式はXファイルかFBXでしょうか?

379:デフォルトの名無しさん
14/02/19 17:03:21.02
>>378
これを読めばわかると思うよ。
URLリンク(www.opengl.org)

380:デフォルトの名無しさん
14/02/19 18:01:28.25
>>378
「OpenGLで読み込めるスキメッシュアニメのファイル」なんてのは存在しないよ。

OpenGLはただのグラフィックライブラリだから特定のモデルファイルを読み込む機能は
存在しないし、もちろんそれらのデータを適切に扱ってスキニングさせるヘルパー関数なんてのもない。
自分でパースするかそういうライブラリを使って読み込まないと無理。

逆に自分でパースしてデータ取り出して使うならデータ形式わかってるファイルならなんでもいける

381:デフォルトの名無しさん
14/02/19 19:51:13.58
そういえば COLLADA ってどうなった?
とっくに死んだ?

382:デフォルトの名無しさん
14/02/19 20:28:45.23
>>381
モデラからのスキニングデータの吐き出しに使ってたけどクソフォーマットすぎ

383:デフォルトの名無しさん
14/02/19 20:53:15.00
エクスポートプラグインを自作し、
それを自分で読み込めばいいだけの話。
必要な情報が必要なときに必要なだけ使える。

384:デフォルトの名無しさん
14/02/19 21:19:47.01
結局そこに行き着いたので今は幸せです

385:デフォルトの名無しさん
14/02/20 08:41:03.85
エクスポートプラグインはどの3Dソフトでどのようにして作れますか?

386:デフォルトの名無しさん
14/02/20 18:02:50.17
自作の3Dソフトで好きなように作れます

387:デフォルトの名無しさん
14/02/20 22:12:04.85
お前の自慢はいいから

388:デフォルトの名無しさん
14/02/20 23:07:28.17
>>385
使ってるモデラのプラグインの仕様を読んで作り方を調べろ
エクスポートプラグインの話とかになるとOpenGL関係ないからそのソフトのスレでどうぞ

389:デフォルトの名無しさん
14/02/21 13:33:03.03
OpenGLってデバイスロスト起こさないんだね。
Androidだとコンテキストロストってのがあるらしいけど。

390:デフォルトの名無しさん
14/02/22 01:09:58.87
>>389
JOGL経由で使ってると、ウィンドウのサイズ変更でデバイスロストしたりするよ。
その後の初期化は自動でやってくれるけど、もちろんVRAMは破壊されてるんで
VAOとかテクスチャは登録しなおしになる。

391:デフォルトの名無しさん
14/02/22 12:15:07.36
Colladaって公式パーサライブラリあるけど
c++で書くのやめろや

392:デフォルトの名無しさん
14/02/22 18:54:14.01
>>391
URLリンク(code4k.blogspot.jp)

393:デフォルトの名無しさん
14/02/25 13:42:13.63
アカン
gluiとんでもない地雷や
そもそもがウィンドウ閉じたらプログラム終わりでしょって言うglut思想ベースなの持っ手伝ってか
仮想デストラクタなし継承
newするがdeleteしない
こんなのが当たり前

ファイル数が少ないからメンテしようと思えば
見た目のnodeシステムはフェイク、実際は包含される方のnodeを使って管理する
一部元のnodeも使ってるので二重管理、deleteが組み込めない
識別子として使われてる名前メンバーがgui表示名としても使われている

逆にこんなの公開出来る神経がすごいわ

394:デフォルトの名無しさん
14/02/25 15:04:23.78
ブログにでも書いてろ

395:デフォルトの名無しさん
14/02/25 21:26:49.89
スレが技術的な話題で盛り上がってる時なら同じ感想だが、
今の状況なら別に問題ないんじゃないか?

396:デフォルトの名無しさん
14/02/25 21:39:51.89
すまん
openglと親和性のいいGUIライブラリって何があるかね?
windowsとmacで開発できてライセンスがLGPL程度に軽いヤツで
AntTweakは見たが見た目がいかにもでちょっと敬遠
wxWidgetが良さそうだがどうなんだろ

397:デフォルトの名無しさん
14/02/25 22:00:37.83
Qt

398:デフォルトの名無しさん
14/02/25 22:02:21.33
Gtk

399:デフォルトの名無しさん
14/02/25 22:10:55.42
>>396
wxWidgetが良さそうだと感じるなら、使ってみたらいいと思うが
躊躇する理由は?

親和性なんてものはごく曖昧な指標で、感じ方は人によって違うんだから、
まずは使ってみて、どこか不満があればそれを具体的に挙げて、
それを改善できるGUIライブラリがないか質問すればいいんじゃね?

400:デフォルトの名無しさん
14/02/25 22:15:30.07
>>399
別に躊躇はしてない
アーキテクチャがOSラッパというところに魅力を感じた
サンプルは意外と膨大でコードはぱっと見ではよくわからん感じ
openglのサンプルが少ないのが不安

>>398
おーしらなんだ
これは良さそうだ

>>397
Qtはライセンスどこまでがライブラリどこまでだかわからんから敬遠する

401:デフォルトの名無しさん
14/02/25 22:31:00.61
>>396
Qt?

402:デフォルトの名無しさん
14/02/25 22:32:25.89
QtはLGPLじゃん。
そもそもQt自体弄ることなんて無いし。

403:デフォルトの名無しさん
14/02/25 22:56:01.87
使ったことないけどglui2とかいうのがどっかにあったよ

404:デフォルトの名無しさん
14/02/25 23:34:32.03
ググったら見つかった
よさそう
皆ありがとう

405:デフォルトの名無しさん
14/02/26 08:45:03.42
GLFW

406:デフォルトの名無しさん
14/02/26 09:13:58.84
何度でもいうよ
GTKは糞

407:デフォルトの名無しさん
14/02/26 10:05:23.74
何度も言わなくていいよ

408:デフォルトの名無しさん
14/02/28 19:01:52.03
FreeGLUTでノートPCでOpenGLの3Dモデル(ただのドーナツ)描画したら、描画はされるけど常にモデルに黒い波線がうねうねするんだけど、
グラフィックカードが対応してない?
GeForceのGTM350とかなんだけど

409:408
14/02/28 19:02:41.74
同じソースで
デスクトップPCだと普通に表示されます

410:デフォルトの名無しさん
14/02/28 19:49:55.64
再現できる最小ソースを書いてみ

411:デフォルトの名無しさん
14/02/28 20:17:12.16
とりあえずスクリーンショットとソース上げればいいと思う

412:408
14/03/01 17:59:35.89
あんれー?別のサイトのソースだとオブジェクトに波線が出ない・・・・。
ってことはあのサイトのソースと環境設定がおかしかったのか?
グラボのせいではなかったようです。お騒がせしました。
freeglutのハッキリした文法をちゃんと解説しているサイトってないですかね?

413:デフォルトの名無しさん
14/03/01 18:02:58.09
逆にモデルに波線うねうね出す方法を知りたいわ

414:デフォルトの名無しさん
14/03/01 18:03:28.40
>>412
あのサイトと別のサイト貼ったらどこがおかしかったか教えてもらえるんじゃね

415:デフォルトの名無しさん
14/03/01 18:14:04.92
Zバッファが重なるような位置に二度描きしてないか?

416:デフォルトの名無しさん
14/03/01 18:17:56.00
URLリンク(www.natural-science.or.jp)
ちゃんとかけたサイト

うねうねサイトは忘れましたが、ドーナツモデルを表示するだけのサンプルでした

417:デフォルトの名無しさん
14/03/01 18:27:02.29
なんか、環境設定もまちまちで、ポリゴン表示させたはいいけど、
ちゃんと最終的な音やボタン入力まで実装したサイトってないですね。
しかも、結局、glutはダメとか抜かしてるし・・・・

DirectXに比べてどうとっかかっていいのか、信じていいのかわかりません

418:デフォルトの名無しさん
14/03/01 18:39:42.40
OpenGLに入力デバイスやサウンド機能は存在しない

419:デフォルトの名無しさん
14/03/01 18:47:40.84
>>418
ああ、そうでした。実行OSのサウンド、入力環境は別に組み込むんですよね。
いわゆる、OpenGLで売るゲームとかを作りたい場合、glutでなく、どうやって作ればいいのでしょうか?

420:デフォルトの名無しさん
14/03/01 18:48:17.61
スレチ

421:デフォルトの名無しさん
14/03/01 18:49:37.02
え?なんで?OpenGLの開発について聞いてるんだから合ってるでしょ?

422:デフォルトの名無しさん
14/03/01 18:51:43.12
WindowsならWin32APIで作るのでしょうか?

423:デフォルトの名無しさん
14/03/01 18:57:16.63
スレ違い

424:デフォルトの名無しさん
14/03/01 19:06:51.91
まずはMSDN見れ。
URLリンク(msdn.microsoft.com)(v=vs.85).aspx

PixelFormatを決めてHDCに対応するOpenGLコンテキストを作ったら
wglMakeCurrentしてあとはふつうにOpenGLで描く。

425:デフォルトの名無しさん
14/03/01 19:09:33.86
ぶっちゃけwindowsで動けば良いんだったらdirectX使えば良いと思う
他OSに移植予定があるならコンテキストデバイス部分だけ自分で作ってあとはそれを隠蔽しつつ
openglでちまちま作る

426:デフォルトの名無しさん
14/03/01 20:15:21.98
昔はWin32APIでウィンドウ作ってそこにOpenGLで描画してたけど最近はGLFW使ってるわ。
ゲームだったらSDLとかでもいいんでね?

>>425が言うようにWindowsで動きゃいいなら悪いこと言わないからDirectX使えばいいと思うよ

427:デフォルトの名無しさん
14/03/02 10:17:53.34
>>424 >>425
普通のOpenGLの関数の書き方ってどこに載っているのでしょうか・・・・? どこもglutの関数ばっかで・・・。

>>426
GLFW調べてみましたが、こっちの方がゲーム向きみたいですね。

428:デフォルトの名無しさん
14/03/02 10:30:13.76
>>427
URLリンク(www.opengl.org)
ぶっちゃけこれくらい自分で調べられないようならゲーム作成なんて絶対不可能なので諦めたほうが良い

429:デフォルトの名無しさん
14/03/02 10:40:07.54
ゲーム作りたいだけならUnityとかのゲームエンジン使うという手もあるよ

430:デフォルトの名無しさん
14/03/02 10:59:03.66
OpenGL敷居高すぎワロタ

431:デフォルトの名無しさん
14/03/02 11:00:23.20
>>427
mmdagentがオープンソースでGLFW使ってるから見てみたらいいかも

432:デフォルトの名無しさん
14/03/02 11:05:57.66
>>431
なにこれすごい・・・・ありがとうございます。

433:デフォルトの名無しさん
14/03/02 13:26:00.29
>>430
不義理したのか

434:デフォルトの名無しさん
14/03/02 14:21:57.07
>>433
ああ・・・間違った日本語でしたね。ハードル高すぎワロタ

435:デフォルトの名無しさん
14/03/02 17:03:10.56
OpenGLはこれを読んで, GLFWとかQtの使い方さえわかれば使えるんだから楽勝じゃん
URLリンク(www.opengl.org)

436:デフォルトの名無しさん
14/03/02 17:41:25.70
glGenVertexArraysを実行すると既存の値と
かぶる値が戻ってくるんだが
これはドライバのバグかね?

GPUはFirePro系。

glGenBuffersはちゃんと空き番号が帰ってくるんだが・・・。
さて困った。

437:デフォルトの名無しさん
14/03/02 17:43:03.38
>>436
ソースを上げたら、誰かが検証してくれるかもしれん

お前さんのところの環境のせいか、それとも書き方が悪いか

438:デフォルトの名無しさん
14/03/02 17:59:28.11
>>437
おお、早いレスありがとう。
ただ、ソースと言っても該当部分に何かできる余地もないと思うのだが・・・。
↓これの2行目のvaoに既存の値が入る。

uint vao;
GL.GenVertexArrays(1, out vao);
GL.BindVertexArray(vao);
GL.BindBuffer(BufferTarget.ArrayBuffer, vbo);

環境はラッパとしてOpenTKを使いC#で制作中。
OS:Win8.1、GPU:FireProW5000、VS2010

オブジェクト内の描画用初期化コードの一部として上記の記述があり。
アプリ起動時にオブジェクトを生成する際はvaoに重複が発生しない。
アプリ起動後、動的にnewしたオブジェクトのみ重複する。
ただしその場合もvboやらiboやらは重複した値が帰ってくることはない。

GL1.1時代から触っていますが
gen系が重複した経験は記憶にないなぁ・・・と。

439:デフォルトの名無しさん
14/03/02 19:19:26.78
全ソース(できれば完全なビルド環境)を上げないと、
ドライバのバグかどうか他の人の環境で検証することができない。

440:デフォルトの名無しさん
14/03/02 19:26:35.00
OpenGLスレの「ソース上げろ」って、「ぶぶ漬け」みたいなもんかもな。
どうせ言った本人は見る気ないだろうし。

441:デフォルトの名無しさん
14/03/02 19:26:56.50
容量小さいならプロジェクトごとzipで上げてくてたらビルドして検証するがー

442:デフォルトの名無しさん
14/03/02 19:27:56.59
>>440
でも上げたほうが解決しやすいのは事実だし、上げたくなきゃ上げなくてもいいんじゃないかな

443:デフォルトの名無しさん
14/03/02 20:12:09.91
どっちかというと、「ソース上げなきゃ回答しない」かな。>ぶぶ漬け

444:デフォルトの名無しさん
14/03/02 20:26:28.69
>>440
上げろなんて言ってないし、上げて欲しいとも言ってないよ

>>442 の言うとおり、上げないと他の環境で検証できない、という事実を言ってるだけ

445:デフォルトの名無しさん
14/03/02 20:27:46.54
最小ソース作る過程で、己の馬鹿さ加減に気付かせるためだよ
(自分の馬鹿さに気付いた例>>412


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