OpenGLスレ Part19at TECH
OpenGLスレ Part19 - 暇つぶし2ch1:デフォルトの名無しさん
12/11/27 22:56:00.79
クロスプラットフォームの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スレ Part18
スレリンク(tech板)

2:デフォルトの名無しさん
12/11/27 22:56:30.42
== 必読書 ==

-- 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:デフォルトの名無しさん
12/11/27 22:57:14.49
== 必読書2 ==

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

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

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

4:デフォルトの名無しさん
12/11/27 23:01:43.87
== チュートリアルサイト2 ==
OpenGL Step By Step:    URLリンク(ogldev.atspace.co.uk)
OpenGL Samples Pack:    URLリンク(ogl-samples.g-truc.net)

5:デフォルトの名無しさん
12/11/27 23:02:54.12
== 過去スレ ==
Part18: スレリンク(tech板)
Part17: スレリンク(tech板)
Part16: スレリンク(tech板)
Part15: スレリンク(tech板)
Part14: スレリンク(tech板)
Part13: スレリンク(tech板)
Part12: スレリンク(tech板)
Part11: スレリンク(tech板)
Part10: スレリンク(tech板)
Part 9: スレリンク(tech板)
Part 8: スレリンク(tech板)
Part 7: スレリンク(tech板)
Part 6: スレリンク(tech板)
Part 5: スレリンク(tech板)
Part 4: スレリンク(tech板)
Part 3: スレリンク(tech板)
Part 2: スレリンク(tech板)
Part 1: URLリンク(pc3.2ch.net) (dat落ち)

6:デフォルトの名無しさん
12/11/28 06:31:29.87
おつおつ

7:デフォルトの名無しさん
12/11/28 17:26:03.79
機能の整数テクスチャーへの書き込みを質問した者だけど
翻訳された4.0の仕様書のglReadPixelsとかglClampColorの項目を何回読んでも理解出来なかったので
ギブアップして公式の4.2の仕様書を読んだら加筆訂正されていてワロタ。すげーわかりやすい
やっぱり原文からして意味不明だったのね・・・
結局全パターンについてテストケースを書いて1つずつ確認して言ったら
あちこち間違えまくっていたので修正したら思った通りの動作だった
あとAMDのGPUだとglColorClampが無視される。
つまり固定小数バッファーの時は必ずクランプされ(まあ当然だ)、
浮動小数バッファーと整数バッファーの時はまったくクランプされない。
(そのままの値が取得できる)
浮動小数バッファーのクランプ設定は使いそうな気がするけど、まあいいや
C#のOpenTKが内部で握りつぶしているのかも

8:デフォルトの名無しさん
12/11/29 10:31:34.70
むむ、データフォーマットをGL_FLOATにした上で、ピクセルシェーダで処理をした結果を
戻させても内部では8bitで処理されてる?
例えばフラグメントシェーダで単色グラデーションを作ってGL_FLOATで吐き出させても
255段の階段が見えてしまってるんだけど、俺がどこかでミスってる?それともこういうもの?

9:デフォルトの名無しさん
12/11/29 11:29:51.76
ディザリング有効にしてるか

10:デフォルトの名無しさん
12/11/29 12:48:35.95
>>8
んなわけない
それはinternalFormatにRGB8(=固定小数8bit)を指定した時の動作
ちゃんとRGB8fにしてるか? 
可能性は低いがGPUが浮動小数バッファーに対応してなくて固定小数バッファーを使った可能性もある
glTexLevelParameterでGL_TEXTURE_INTERNAL_FORMATを指定して実際に確保した内部フォーマットを確認してみるがよろし

11:デフォルトの名無しさん
12/11/29 13:08:58.88
✘ RGB8f
○ RGB16f, RGB32f
ってかGL_FLOATって何だよ。glGetTexImageのformatか?
それはテクスチャーをCPU側にコピーする時の(CPU側の)形式なので、
コピー元のテクスチャーをRGB8で作っていたとしたらそもそも255階調しか存在しない

12:デフォルトの名無しさん
12/11/29 14:36:30.00
このゲームわざわざ50vs50である必要がないよね
仲間と協力してプレーしている感がまったくない
クランもないし・・・
CBだけでお腹いっぱいになってしまった

13:デフォルトの名無しさん
12/11/29 14:40:26.44
FEZスレの誤爆か。

14:デフォルトの名無しさん
12/11/29 19:47:27.36
>>10
レスありがとう
やっぱりそっちが問題だったのね、そっちはどこかの説明で色の数とだけあったから
そこで指定できるのは成分数だけかと思った
確認してきます

15:デフォルトの名無しさん
12/11/30 07:52:58.27
OSX Mountain Lionな環境な人から情報求む。

gl3wっていうOpenGLのCore Profileを有効にしてくれるライブラリを試してるんだけど、OSXをサポートしてるってサイトには書いてあるのに、サンプル(test.c)を動かしてみると、最初の初期化(gl3wInit())で失敗する……orz

他の人どう? 暇がある人は試してみて。

16:デフォルトの名無しさん
12/11/30 21:59:30.36
GUIツールキット側が対応してないのかもな
GLFWとかQtとかなら行けるんじゃないか?

あとはmacでOpenGLしてそうな人に聞くとかか
URLリンク(marina.sys.wakayama-u.ac.jp)

17:デフォルトの名無しさん
12/12/01 05:02:45.24
>>15
Python起動するみたいだけどスクリプト(gl3w_gen.py)は正しく実行できてるの?

18:デフォルトの名無しさん
12/12/01 09:34:48.38
>>16
公式ページによると、標準のGLUTでいけるみたいなことが書いてあるんだけど、
それができずに困ってる。
ちなみにQtでも試してみたけど、ダメでした……。

>>15
gl3w_gen.pyは正しく実行できてる。
というかこれを実行しないとライブラリのCファイルが取得できないので。

19:デフォルトの名無しさん
12/12/01 17:02:20.83
馬鹿には無理

20:デフォルトの名無しさん
12/12/01 17:11:56.68
まあ情報が多いWindowsでやるのが楽ですわな

21:デフォルトの名無しさん
12/12/01 17:14:51.85
マカーには無理

22:デフォルトの名無しさん
12/12/02 00:43:54.38
Androidで地図アプリっぽいのを作りたいと思います。数十個のjpg画像をタイル状に配して2本指で拡大したりするものです。
glDrawTexfOESで画像描画するとGPUが動員されて速いそうなので、主にこれで2Dだけで行きたいんですが、座標の原点が左下なので換算が少々面倒です。左上にできませんか?
もう一つ。画面に入る場所のタイルだけ毎フレームglDrawTexfOESするのが普通ですか?マップ済みのを簡単にスクロール・拡大したりできないかと思って

23:デフォルトの名無しさん
12/12/02 01:06:04.14
>>18
OSX Mountain Lionで試してみたけど通らない
失敗する原因はglGetIntegervでのバージョン取得が上手くいってないからっぽい
なぜかはよくわからない

24:デフォルトの名無しさん
12/12/02 01:43:05.64
>>22
射影変換の後にY軸を反転する変換をすれば良いんじゃね
テクスチャ座標もあわせて変換しとかないといかんな

25:デフォルトの名無しさん
12/12/03 04:45:22.03
>>23
試してくれたのね。ありがとう。
なんでなんだろうね。何か動きがあるか、しばらく待った方がいいかな。

26:デフォルトの名無しさん
12/12/03 23:22:18.24
初期化で失敗する原因はもっぱらコンテキストが出来上がる前になんにゃらかんやらしちゃってる

27:デフォルトの名無しさん
12/12/09 08:07:01.16
glReadPixels()でステンシルバッファをうまく読み込めません…

↓ステンシルバッファの内容(左下がウインドウ座標原点)
90 … 99
:    :
10 … 19
0 … 9

上のステンシルバッファを読み込もうとしたコード↓

GLubyte sb[10][10];
glPixelStorei(GL_PACK_ALIGNMENT, 1);
glReadPixels(0, 0, 10, 10, GL_STENCIL_INDEX, GL_UNSIGNED_BYTE, sb);


結果は、

sb[0][0~9] == 0
sb[1][0~9] == 10
sb[2][0~9] == 20
 :
sb[9][0~9] == 90

となってステンシルバッファの最初の1列しか読み込んでくれません…

sb[y][x] == 10*y+x
となってほしいのですが何か設定が足りないのでしょうか?

28:27
12/12/09 08:24:34.33
ちなみにカラーバッファを読み込もうとしても同様のことが起こります。

29:デフォルトの名無しさん
12/12/09 09:46:55.83
GL_PACK_ALIGNMENTで1を指定してるからじゃないかな?
GL_PACK_ROW_LENGTHで10でやってみたら?
よくわからんけど

30:27
12/12/09 10:14:37.68
>>29

//glPixelStorei(GL_PACK_ALIGNMENT, 1);
glPixelStorei(GL_PACK_ROW_LENGTH, 10);

でやってみましたが、
配列sbの中での行頭データが4byte境界にズレただけで
相変わらず1行分(10pixel)のデータが全て行頭データになってしまいます。

また、
glReadPixels(1, 0, 10, 10, GL_STENCIL_INDEX, GL_UNSIGNED_BYTE, stencil_buffer);
        ~~~~
としてxをずらしてもなぜか同じ結果です。

31:デフォルトの名無しさん
12/12/09 10:17:00.88
X GLubyte sb[10][10];
○ GLubyte sb[10*10];

32:27
12/12/09 10:38:59.30
>>31
それも試しましたが同じでした。

33:デフォルトの名無しさん
12/12/09 10:46:39.65
>>31
先頭アドレスが同じなら入ってくるデータは同じだよね
あとでアクセスするときに意味が変わるだけで

34:デフォルトの名無しさん
12/12/09 12:51:32.04
Open GL ES 1.0で、煙のような表現をやりたくて、
テクスチャを読み込ませ背景に重ね合わせたんですが、
なぜか微細な透過部分がグレー色になってしまいます
そういう仕様なんでしょうか?

35:デフォルトの名無しさん
12/12/09 13:04:23.55
はい、その通りです

36:デフォルトの名無しさん
12/12/09 13:13:27.96
いいえ、違います

37:34
12/12/09 14:14:27.58
あきらめずにググってたら解決方法見つかりました

>>35-36
どうもありがとうございました

38:デフォルトの名無しさん
12/12/09 14:16:52.79
答えをy/nで聞き、自己解決しても原因・対策を書いていかない
まるで役に立たない書き込みだな

39:デフォルトの名無しさん
12/12/09 14:29:06.05
まあ、どこかに一度アウトプットすることで整理されることもあるよね

40:デフォルトの名無しさん
12/12/09 15:04:50.78
>>37>>35,36に対するイヤミだろw
糞みたいに役に立たない回答ありがとうございました(死ね)
みたいな意味だと思うわw

41:デフォルトの名無しさん
12/12/10 10:35:29.22
いやまぁ、>35、>36を見て自分で調べるしかないと覚悟したのかも知れん。
まぁでも、>37を書くなら原因くらい書いていって欲しかったがな。

42:デフォルトの名無しさん
12/12/10 20:28:56.34
まあエスパーじゃないと>>34には答えられんわな

43:デフォルトの名無しさん
12/12/10 22:15:27.89
どうせ0.375だろうけどな

44:デフォルトの名無しさん
12/12/12 12:21:51.78
カラーバッファーのマスクについて教えてください
複数のカラーバッファーのマスクを個別に変更できる必要はありますか?
OpenGLの仕様上個別に制御可能ですが、こんな機能使わないと思うので
一括して変更にしか対応しない仕様にしようと思います

45:デフォルトの名無しさん
12/12/12 18:25:12.07
使ったことはある
画面全体の赤成分だけとか緑成分だけとかを反転させたかったときに
カラーマスクをかけて glBlendFunc(GL_ONE_MINUS_DST_COLOR, GL_ZERO) で塗り潰した

46:デフォルトの名無しさん
12/12/12 19:28:40.95
>>34
アルファブレンドしろよ
というか懐かしいな
20年前学生だったとき暇つぶしにやったよ

47:44
12/12/12 19:59:14.05
>>45
上の書き方だとそう取られてもしょうがない(反省)
複数バッファー(COLOR_ATTACHEMENT0,1,2,3...)をアタッチした時に、
その中の1つのバッファーだけカラーマスクを変えたい事がありますかという質問です。
そういう需要はないと踏44んでいます

48:44
12/12/12 20:05:24.71
あともう1つ
αブレンドってシェーダー&オフラインレンダリングの時代にはぶっちゃけもう必要ないですよね?
デフォルトのRGBのフレームバッファーに対する基本的な合成がせいぜい6種類ぐらいあれば十分で、
オフラインのRGBAバッファーに対する合成は必要無いですよね?
Aチャネルの扱いとか定義しろと言われても困る

49:デフォルトの名無しさん
12/12/12 20:38:27.47
必要ないときたかペイントツールとか思慮の外なんだろうな超絶頭悪いんだなお前
テスト仕様書漏れまくりだろ存在が人災レベルのクズ

50:デフォルトの名無しさん
12/12/12 21:24:02.10
アルファブレンドが必要ないとかありえませんわ
透明な物体を使わないってことだろ
ありえませんわ

51:デフォルトの名無しさん
12/12/12 22:05:13.71
ヌルポブレンド

52:デフォルトの名無しさん
12/12/14 02:59:25.85
>>48
はい、シェーダーの時代なのでぶっちゃけ全部不透明オブジェクトです
オフラインレンダリングの時代なのでぶっちゃけOpenGLも必要ないです

53:デフォルトの名無しさん
12/12/15 01:04:45.11
alpha to coverageでお手軽半透明マジおすすめ

54:デフォルトの名無しさん
12/12/15 02:07:18.15
Windows で動く簡単な3Dプログラムを作りたいんだけど、何で作るのがおすすめ?
できれば Java でやりたいんだけど。

具体的には、平面のフロアマップを、タッチパネルで回転したり、拡大したりするだけ。

55:デフォルトの名無しさん
12/12/15 02:13:40.57
Processing どうぞ。

56:デフォルトの名無しさん
12/12/15 02:25:21.73
>>55
初めて聞きましたわ。なんだか自由度が低そうですわ。

57:デフォルトの名無しさん
12/12/15 02:28:07.51
フロアマップ出すだけとはいえ、画像管理したり、マップ切り替えたり、
UI作ったりしなきゃいけないので、そこそこ色々できるのがいいです。ごめんなさい。

58:デフォルトの名無しさん
12/12/15 02:33:35.19
とりあえず使ってみてから文句言えや

59:デフォルトの名無しさん
12/12/15 02:45:26.72
>>58
確かにそれは失礼した。明日使ってみる。

内部的にはJavaなのねこれ。
作った後誰かにメンテ託さないといけないので、
なるべくメジャーな言語がいいんだけど、ここまでJavaっぽいならありかもね。

60:デフォルトの名無しさん
12/12/15 04:51:03.39
うにty

61:デフォルトの名無しさん
12/12/15 12:50:23.18
UnityってWindowsでも動くんだ。いいかも。

62:デフォルトの名無しさん
12/12/15 17:48:08.82
当方、CGプログラミングを始めたばかりの初心者です。
以下の描画関数displayを用意して、glRotatedでY軸中心にに30度回転させると
四角形がいくらか縦長になるという動作を期待したのですが、
30度回転すると、何故か90度回転している?ようでXY平面には何もプロットされません。
60度回転すると、左と右の色が反転、すなわち180度回転?しているようなのですが
これはどういう解釈をすればいいのでしょうか?

void display(void){
glClear(GL_COLOR_BUFFER_BIT);
glRotated(30.0(任意の角度),0.0,1.0,0.0);
glColor3d(1.0,0.0,0.0);
glBegin(GL_POLYGON);
glColor3d(1.0,0.0,0.0); glVertex2d(-0.9,-0.9);
glColor3d(0.0,1.0,0.0); glVertex2d(0.9,-0.9);
glColor3d(0.0,0.0,1.0); glVertex2d(0.9,0.9);
glColor3d(1.0,1.0,0.0); glVertex2d(-0.9,0.9);
glEnd();
glFlush();

}

63:デフォルトの名無しさん
12/12/15 17:53:42.21
radian

64:デフォルトの名無しさん
12/12/15 17:56:39.70
>>62
このコードだとdisplay()が呼ばれるたびにY軸中心の回転変換が加えられてしまう
glLoadIdentity()とかを使って行列を毎回初期化してください
話はそれからだ

65:62
12/12/15 18:06:23.80
>>64
なるほど。
glLoadIdentity()を追加したところ、正常とおもわれる動作で90度回転でXY平面からは見えず
180度回転で反転となりました。
ウィンドウが開くまでに、内部的にdisplay()が三回呼び出されていて回転変換が重なってしまったた。
ということでしょうか。
ご示唆ありがとうございました

66:デフォルトの名無しさん
12/12/16 00:56:02.05
AndroidのアプリをOpenGLで作っていて初心者なんですがテクスチャを表示するとき
その表示しようとした部分だけ白くなる原因ってサイズを2の累乗にしなきゃいけないってこと
以外にどんなものがあります?

あとアルファ値を有効にして表示するのは
glEnable(GL10.GL_ALPHA_TEST);
を使えばokですか?

67:デフォルトの名無しさん
12/12/16 01:35:19.58
サンプラパラメータのGL_TEXTURE_MIN_FILTERの初期値がGL_NEAREST_MIPMAP_LINEARなので
ミップマップなしのテクスチャだとおかしなことになりそうだな

68:デフォルトの名無しさん
12/12/16 03:03:29.26
テクスチャをDISABLEしてるとなる

69:デフォルトの名無しさん
12/12/16 03:19:07.39
>>66
なんのアルファ値を有効にしたいのか分からないけど、
テクスチャのアルファブレンドとALPHA_TESTは違う

70:デフォルトの名無しさん
12/12/16 05:04:54.61
Javaには無理

71:デフォルトの名無しさん
12/12/16 20:38:32.79
C → C++ → JAVA → C++

これが正しい進み方

72:デフォルトの名無しさん
12/12/16 21:03:08.66
Javaなんて糞言語三角コーナーに投げ捨てろ
代わりにC#を使ったほうが便利だ

73:デフォルトの名無しさん
12/12/16 21:31:45.98
ぷぷっ

74:デフォルトの名無しさん
12/12/16 21:39:33.17
C#って何ができるの?

75:デフォルトの名無しさん
12/12/16 23:38:18.21
何故C++じゃなくてC#なのか全く意味不明。

76:デフォルトの名無しさん
12/12/17 00:04:55.91
C++
 ++

77:デフォルトの名無しさん
12/12/17 00:31:18.84
JavaじゃなくてC#って書いてあるのがいつの間にかC++じゃなくてC#ということになってるのが意味不明です

78:デフォルトの名無しさん
12/12/17 01:20:02.09
C++から一度はJAVAに移るが例外処理のウザさと実行速度の遅さに
ウンザリして結局C++に戻るんですね、わかります。

79:デフォルトの名無しさん
12/12/17 01:43:42.22
C丼

80:デフォルトの名無しさん
12/12/17 08:51:08.21
OpenGLを使う上でC#の優位性が全く存在しないのに、
役立たずを勧める意図は何なんだろう?

81:デフォルトの名無しさん
12/12/17 19:40:57.36
OpenGL以外の部分で優位だからじゃないの?

82:デフォルトの名無しさん
12/12/17 19:58:49.62
その通り
C++だとGUI作るのが面倒すぎる

83:デフォルトの名無しさん
12/12/17 20:08:19.83
qtgl

84:デフォルトの名無しさん
12/12/17 20:53:23.10
GUIといえばJAVAとC#だけどC++でもGUIライブラリ使えば
それなりに楽できるんじゃないかな?

85:デフォルトの名無しさん
12/12/17 20:59:17.21
なんで今更C++なんて覚えなきゃいけないんですか?時代遅れですよね?

86:デフォルトの名無しさん
12/12/17 21:23:27.86
C#の場合C++でライブラリ書いて呼び出すのも比較的簡単だし
え?SWIG?

87:デフォルトの名無しさん
12/12/17 21:25:45.98
Fortran2003にしましょう

88:デフォルトの名無しさん
12/12/17 21:27:32.39
今更と思うのなら、自分の使っているアプリを見回してみるいい。
OS、アプリ、ゲームと、ことごとくC/C++で出来ている。
C#で出来ている物といえば、手抜きっぽい小規模なプログラムばかりだ。

89:デフォルトの名無しさん
12/12/17 21:31:56.57
手抜きで間に合うのなら手抜きでいいんだよ

90:デフォルトの名無しさん
12/12/17 21:36:14.46
VC#が神すぎてQtとかうんこに見えてくる

91:デフォルトの名無しさん
12/12/17 21:37:45.09
お前らOpenGLの話しろよ(´・ω・`)

92:デフォルトの名無しさん
12/12/17 21:38:12.23
GUIなんて自作しろよ
.NETFRAMEWORKはモッサリで駄目だ

93:デフォルトの名無しさん
12/12/17 21:43:39.99
C#でGUIって、OpenGLで描画したものと整合性がとれないだろう。
だからみっともないユーティリティ擬きしか作れないんだよ。

94:デフォルトの名無しさん
12/12/17 21:49:03.39
C#使ったことないならでたらめなこと言わないほうが良いよ
恥かくのが趣味なら止めないが
URLリンク(sky.geocities.jp)

95:デフォルトの名無しさん
12/12/17 21:50:32.27
まずリンク先がデタラメだよね。

96:デフォルトの名無しさん
12/12/17 21:52:41.88
結局、OpenGLでまともにGUIをやろうと思ったら、
標準で提供されているRADツールなど何の役にも立たない。

97:デフォルトの名無しさん
12/12/17 21:56:38.38
>>85
なんで今更歩くことなんて覚えなきゃいけないんですか?時代遅れですよね?
っていって足を切り落とされるお前の赤ちゃんがかわいそう

98:デフォルトの名無しさん
12/12/17 21:57:31.39
他のGUIライブラリも何の役にも立たないけどね
自作しなければならない部分はあるが、そうでない部分をRADでとても楽させてもらえるのが良いね

99:デフォルトの名無しさん
12/12/17 21:58:43.57
通常のGUIコンポーネントの一部にOpenGLで描画したいって需要もあるんだよ

100:デフォルトの名無しさん
12/12/17 22:00:40.13
むしろそれがほとんどじゃないか?

101:デフォルトの名無しさん
12/12/17 22:02:02.23
売り物にならないようなユーティリティだとそんな感じだね。

102:デフォルトの名無しさん
12/12/17 22:04:17.02
C#をまともに活用しようとすると、C++でごりごりライブラリを書いていかないといけないのが悲しいところ。
Javaも同様。

103:デフォルトの名無しさん
12/12/17 22:04:34.86
売り物にならないというのは例えばこういう感じですかな?
URLリンク(www.quatouch.com)

Qtなんかはこれより低機能なのでとても売り物になりませんね

104:デフォルトの名無しさん
12/12/17 22:07:16.45
売り物にならないユーティリティって煽るけど、ユーザーが金払わなくても企業が払ってくれればそれでいい

105:デフォルトの名無しさん
12/12/17 22:08:18.77
C#のRADもQtも同様に使い物にならないよ。
まともな物を作ろうと思ったら他力本願じゃ無理なんだよ。

106:デフォルトの名無しさん
12/12/17 22:08:29.66
とりあえず第三者に売り物にならないとか言われてもなあ

107:デフォルトの名無しさん
12/12/17 22:08:58.41
使い物になるよ
自力でやる以外の部分がとても楽になるよ

108:デフォルトの名無しさん
12/12/17 22:11:37.32
目的とする物が小規模で見た目を気にせず楽が出来れば良い -> C#
そういう選択肢は否定するものではない。

109:デフォルトの名無しさん
12/12/17 22:15:03.17
短時間でボタンを並べて計算機を作れというお題に、C++とC#のどっちを使うかと聞かれたらどうする。
C#を選ぶだろう。
つまり、そういうことだ。

110:デフォルトの名無しさん
12/12/17 22:21:44.15
Delphiとか言ってみる。

111:デフォルトの名無しさん
12/12/17 22:26:55.95
Delphiの開発者がMSに引き抜かれて作ったのがVC#

112:デフォルトの名無しさん
12/12/17 22:43:58.94
Lily C++ GUI Library

113:デフォルトの名無しさん
12/12/17 23:00:07.88
短時間でボタンを並べて計算機を作れというお題に、C++とC#のどっちを使うかと聞かれたらどうする。
C++を選ぶだろう。

114:デフォルトの名無しさん
12/12/17 23:08:06.87
その場合、OSを作れというお題にするべきだろう。

115:デフォルトの名無しさん
12/12/17 23:10:15.11
自分が言語やライブラリ選べる立場なら好きなの使えばいいんじゃない

116:デフォルトの名無しさん
12/12/18 00:18:56.70
>114
お前OSを日常的に作ってるのか?
比べるなら日常的に作ってるものが如何に効率的に作れるかだろが

117:デフォルトの名無しさん
12/12/18 00:36:25.65
>>116
ドライバー作ってますが何か?

118:片山博文MZボット ◆0lBZNi.Q7evd
12/12/18 00:42:44.14
>>116 ReactOSというOSの開発に日常的に携わっています。

119:デフォルトの名無しさん
12/12/18 01:02:32.34
そんな売り物にならない産廃作ってどうするの

120:デフォルトの名無しさん
12/12/18 03:35:28.54
>>119 売り物にならないものでも、高額寄付の対象になったりしてあれこれお金の流れが変わるんですよ。
NPO「ReactOSで無料日本語OSを作る会」なんて設立したいと考えています。

121:デフォルトの名無しさん
12/12/18 08:30:25.31
計算機を作っても当然のごとく売り物にはならないけどね。

122:デフォルトの名無しさん
12/12/18 09:10:10.35
>>99
それ、OpenGLじゃなくてよくね?

123:デフォルトの名無しさん
12/12/18 10:06:21.76
お前OpenGL使ったことないだろ

124:デフォルトの名無しさん
12/12/18 10:09:43.54
OpenGLでプログラムを組もうとすると、計算系のライブラリの整備が必要。
SSE2やNEONのインラインアセンブラや組み込み関数が使えない言語は問題外だ。

125:デフォルトの名無しさん
12/12/18 13:55:05.92
最適化が必要なとこだけネイティブに逃がしてあとは楽しよう、でええやん

126:デフォルトの名無しさん
12/12/18 15:32:12.27
OpenCLとかじゃあかんの?

127:デフォルトの名無しさん
12/12/18 15:59:45.41
演算のたびにネイティブと行き来していたら、
拡張命令を利用するメリットが消失する。
必要な部分を逃がしたらスタートアップ部分しか残らないぞ。

128:デフォルトの名無しさん
12/12/18 16:09:37.88
プログラム中すべての演算をSIMDにしなきゃ発狂する病気でも患ってるのけ?

129:デフォルトの名無しさん
12/12/18 19:27:06.15
最適化の必要頻度の低い単純な演算でも、
C/C++なら拡張命令を使ったコードをコンパイラが勝手に生成してくれる。
便利な世の中になったものだ。

130:デフォルトの名無しさん
12/12/18 20:44:30.19
OpenGL を動かすデバイス(CPU統合型のGPUや、外部カードのGPUなど)を
プログラムから設定する方法はあるでしょうか。

131:デフォルトの名無しさん
12/12/18 20:54:37.66
そもそも初期化時にどこに関連づけるか設定しているはずだが?

132:デフォルトの名無しさん
12/12/18 20:56:10.69
OpenGL 4.3 キター

133:130
12/12/18 21:19:46.50
>>131
え?

適当にピクセルフォーマットを設定し、
レンダリングコンテキストを作成して適用すれば、
それで OpenGL の関数が使えてレンダリングできてしまうのですが・・・

134:デフォルトの名無しさん
12/12/18 21:34:22.93
コンテキストがデバイスと紐付けされているだろう。
何のために関連づけていると思っているんだ?
今まで意味も分からずにやってたのか?

135:130
12/12/18 22:44:58.13
>>134
ごめんなさい、意味がよく分からないです。

wglCreateContext 関数と wglMakeCurrent 関数によって、
HGLRC と HDC が紐付けされるという意味でしょうか?

136:デフォルトの名無しさん
12/12/18 23:05:25.17
HDCのDC部分の正式名称を声を出して読み上げろ。

137:デフォルトの名無しさん
12/12/18 23:25:13.77
複数GPUがある場合の指定方法を聞いていると思うが……

WGL_NV_gpu_affinity とか使ったことないから知らん。

138:デフォルトの名無しさん
12/12/18 23:41:52.16
だから最初にデバイスを指定して初期化しているだろう。
なんでそんなに頭が悪いの?

139:デフォルトの名無しさん
12/12/18 23:44:53.58
この辺りの話しかな?
URLリンク(watery.dip.jp)

140:デフォルトの名無しさん
12/12/19 00:22:15.46
コピペ野郎は腐れゴミ
意味を理解して使わないってどんな気分なんだろうか

141:デフォルトの名無しさん
12/12/19 03:58:35.99
うごきゃいいんだよ

142:130
12/12/19 07:10:48.61
>>138
CreateWindow 関数でウィンドウを作ってから
wglMakeCurrent 関数でレンダリングコンテキストと
そのウィンドウのデバイスコンテキストとを紐づけるまで、
レンダリングをするデバイスを選んでいる箇所は見当たりません。

例えば私のPCにはグラフィックス表示用デバイスとして

143:130
12/12/19 07:13:34.64
途中でレスしてしまいました。
続きです。

例えば私のPCにはグラフィックス表示用デバイスとして
Intel HD Graphics 4000、NVIDIA Quadro K2000M の2つがあります。

OpenGL をどちらのデバイスを使用してレンダリングするのか、
初期化時に選択するような記述は特にしていないのですが、
いつの間にか選択していたと言うことでしょうか。

もしそうなら、今どちらのデバイスでレンダリングしているのか、
という事が分かる関数はあるのでしょうか。

144:デフォルトの名無しさん
12/12/19 08:02:32.00
>>143
少なくとも標準APIでの指定は出来ないと思います

どちらのデバイスを使っているかは glGetString()すれば
判ります

145:130
12/12/19 12:34:22.41
>>144
ありがとうございました。

146:デフォルトの名無しさん
12/12/19 12:39:44.35
生成するウインドウの位置で取得できるDCのデバイスが決定するから、指定は可能なんだが、
指定はできないとか嘘をつくのはやめろ。

147:130
12/12/19 12:54:15.10
>>146
指定する方法を教えていただけませんか。

あるいは、指定する方法の調べ方のヒントでも構いません。
「HDC GPU」や「HDC ビデオカード」などのキーワードでググってみても
なかなか分かりません。

148:デフォルトの名無しさん
12/12/19 12:57:06.74
異なる種類のGPUを(同一のモニタ上に)描画用として使用するのは
難しい(おそらく不可能)ために、使用時点で有効になっているGPUの
デバイスコンテキストが作成されると考えて差し支えないはず。

つまり「どのGPUへのコンテキストを作るか選びたい」という要求自体
不可能ということになる。

149:デフォルトの名無しさん
12/12/19 13:02:28.02
馬鹿には無理

150:デフォルトの名無しさん
12/12/19 13:27:05.24
>>147
HDCを取得した時点のデバイスが対象になるから、
そうなるようにウインドウの位置を調整すれば良いだけの話。

151:デフォルトの名無しさん
12/12/19 13:30:35.82
また複数デバイスを同時に連携させたいのなら、
プロセスをその数だけ作ってオフラインレンダリングした後に、
データをソケットなりで引き渡せば良い。

152:130
12/12/19 19:30:07.50
>>150
ごめんなさい、まだ意味が分かりません。

複数のディスプレイアダプターがインストールされている場合、
DirectX はどれを使うか選択できたような記憶があるのです。
その時に、ウィンドウの位置などは特に気にせずとも設定できたような気がするのですが、
OpenGL で同じような事はできないということでしょうか。

153:デフォルトの名無しさん
12/12/19 19:45:15.06
馬鹿には無理

154:デフォルトの名無しさん
12/12/19 19:51:01.84
複数のGPUにそれぞれ別々のモニタが割り当てられている場合なら、>>150 でいいと思う。
モニタが一枚なら、知らん。

155:130
12/12/19 19:58:22.55
>>154
モニターは1枚なので諦めます。

みなさんありがとうございました。

156:デフォルトの名無しさん
12/12/19 21:27:38.03
デバイスを直接指定してHDCを作ろうとかいう発想には至らないんだね。
まあ想像通りの結果だったけど。

157:デフォルトの名無しさん
12/12/19 21:55:44.57
xp以降なら CreateDC を使えって事でしょ

158:デフォルトの名無しさん
12/12/19 22:53:33.26
WindowsプログラマでHDCが何者かわからないってどうよ

159:デフォルトの名無しさん
12/12/19 23:41:11.63
glFrustumを使っていて途中で一時的にもっと手前までレンダリングしたい。
nearを小さく小さく

でも最初のglFrustumに渡した値はわからず、glGet projection matrixでその時の行列を取得したんだけど、この16個の値のどれをイジればもっと手前までレンダリングできるのでしょうか?

宜しくお願いします。

160:デフォルトの名無しさん
12/12/19 23:46:44.38
glFrustumで適用される行列の導出方法が載ってるので逆算して求めてください
URLリンク(www.opengl.org)

161:デフォルトの名無しさん
12/12/20 00:04:50.66
数学できない子が3Dやる意味がわかりません><

162:デフォルトの名無しさん
12/12/20 00:10:45.33
数学つっても高校数学ですね、3Dは。

163:デフォルトの名無しさん
12/12/20 00:15:29.41
最近はエピポーラ幾何を高校で習うのか

164:デフォルトの名無しさん
12/12/20 00:17:47.42
>>160
ありがとう!

165:デフォルトの名無しさん
12/12/20 00:21:28.98
高校で行列教えなくなったって聞いたが

166:デフォルトの名無しさん
12/12/20 00:54:20.67
結局は3次か4次の線形代数でしょう
線形数学は大したことないぽ

167:166
12/12/20 00:56:02.43
有限次元の線形代数は、という意味ね

168:デフォルトの名無しさん
12/12/20 06:01:50.67
通りすがりの元ゲーム屋なウェブ屋だけど、結局最後に勝つのはお前らC++erだと思うよ。
ネイティブ最強、ウェブもEmscriptenとWebGLがモノになれば最強でしょ。
JavaScriptやその派生言語で本格的な3Dコード書くとか想像できないし
(そもそもこっちの連中、なんでJavaScriptじゃ駄目なのか根本的に分かってない)

だからその調子で正道を歩んでほすぃ

俺は出戻りを考えたりもするけどブランクがありすぎる

169:デフォルトの名無しさん
12/12/20 07:51:19.32
数学じゃなくて算術

170:デフォルトの名無しさん
12/12/20 21:58:31.12
ボトルネックは大体GPUなんだし
JITでネイティブ言語の10%落ちくらいまで行ければいいんだけどなあ

171:デフォルトの名無しさん
12/12/21 00:40:26.02
和算に3Dってあったっけ?

172:デフォルトの名無しさん
12/12/21 09:01:05.69
甲乙丙座標系を知らないな

173:デフォルトの名無しさん
12/12/21 22:15:53.32
蝕の日時を予言するためにはもっと高度な算法が必要じゃないか?

174: 忍法帖【Lv=2,xxxP】(2+0:5)
12/12/26 12:14:45.67
必読書を買おうとして気になったことが、

>>2のディジタル映像表現ですが、ディジタル画像処理の間違いではないですか?
www.amazon.co.jp/dp/4903474011/

ディジタル画像表現だと内容に違和感があります。出版社も違いますし・・・
www.amazon.co.jp/dp/4903474100/

175:デフォルトの名無しさん
12/12/27 11:53:23.85
出版社は同じだろ。どちらも903474だ。

176:デフォルトの名無しさん
12/12/28 17:05:27.80
OpenGL ES 1.0でテクスチャになんか描画して、ES 2.0でそのテクスチャを板ポリに貼り付けて描画って可能ですか?

177:デフォルトの名無しさん
12/12/28 17:34:09.28
試してみました?

178:デフォルトの名無しさん
12/12/28 17:38:43.53
何事も経験が大事

179:デフォルトの名無しさん
12/12/31 14:23:29.65
Windows、Macで、ローエンドPC、ノートPCでも動く
(3,4年前のノートPCで動くレベル)
開発をしろと言われたけど
OpenGL のバージョンどれくらいが良い?
(とりま Android,iOSで動く ES2.0のC++のエンジンは作った事ある )

あと お勧めの追加ライブラリある?
Win&Mac なのでC++確定だとおもうけど・・

180:デフォルトの名無しさん
12/12/31 15:38:58.04
>>179
OpenGL 2.0(1.4 まで下げなくてもいいと思う)

お勧めの追加ライブラリあるかと訊かれても何を開発するのか分からん

181:デフォルトの名無しさん
12/12/31 16:25:25.13
>>180
サンクス。前にスマホ用のレンダラー作ってその時ライブラリ探すのだるくて
バカみたいにMatrixやクオータニオン計算まで Cとアセンブラで自作して
今回楽したかったので。

今回作るのは レンダラー。 一般的な3D処理 スキンメッシュ~補完、IK
もしかしたら物理演算 セルフシャドウ
ぐらいの 2.0で十分出来る内容で
Boostとか無駄に使いまくってるからそれと親和性あるライブラリあったら
楽したい

182:デフォルトの名無しさん
12/12/31 17:36:14.05
>>181
> 今回作るのは レンダラー。 一般的な3D処理 スキンメッシュ~補完、IK
> もしかしたら物理演算 セルフシャドウ

それセルフシャドウ以外はOpenGLもそのバージョンも関係ない。
スキンメッシュやIKなんかGDIでワイヤーフレーム描画しても実現できる。

セルフシャドウはフラグメントシェーダー使うとやりやすいけど、
OpenGL 2.0 でいい(1.5 でもいいかも知れん)。

> Boostとか無駄に使いまくってるからそれと親和性あるライブラリあったら
> 楽したい

レンダラーを自作するための「どのようなライブラリ」が欲しいのか明記してくれ。

183:デフォルトの名無しさん
12/12/31 17:39:14.37
>>180
2.0だとDLLを別途配布しないといけなくない?
なんでWindowsはOSバージョンアップ時に更新していかないんだろ。
政治的な問題があるのかな?

184:デフォルトの名無しさん
12/12/31 18:36:50.87
DLLは必要無い

185:デフォルトの名無しさん
12/12/31 18:52:14.07
>>183
政治的な問題って例えば何?

186:デフォルトの名無しさん
13/01/01 01:56:45.06
Windowsじゃなくても1.2以降の機能は関数アドレス自分で取りにいかないといけないんじゃないか?
ライブラリならとりあえずGLEWとGLMだけで十分だろ

187:デフォルトの名無しさん
13/01/04 13:54:37.18
>>186
GLMなんて数学ライブラリがあったのね。知らなかった。
しかもMITライセンスか。いいねー。

188:デフォルトの名無しさん
13/01/04 14:24:37.99
Clang の Vector Literal を使うと、Cでも

typedef float float3 __attribute__((ext_vector_type(3)));
float3 cross_3x3(float3 a, float3 b) {
return a.yzx * b.zxy - a.zxy * b.yzx;
}
こう書けて良い感じ

189:デフォルトの名無しさん
13/01/04 14:46:29.40
外積関数そのものが既にライブラリにあって自作しないから、
その例だとあまり御利益ない感じ。

190:デフォルトの名無しさん
13/01/04 15:23:00.26
書き方の話であって、関数自体はどうでも良いんだが……

191:デフォルトの名無しさん
13/01/04 15:48:19.88
要素の参照順を変えられる事を「良い感じ」と言ってるけど、
良い感じっぷりを他の例でも挙げてくれるとありがたい。

というのも、外積による例だと既に作られているという事情もあって、
今ひとつどの辺りが良い感じなのか俺には分かりにくかった。

今まで自分が作ってきた3Dプログラム(主にゲーム)を振り返ってみて、
要素の参照順を変えられると助かったシーンを思い返してみてるんだけど、
なかなか思い浮かばないんだ。

192:191
13/01/04 15:50:56.51
補足しておくと、「これから新たに3Dアプリをプログラムするに当たって」
その良い感じっぷりが感じられるような例が何かないかなぁという意味。

193:デフォルトの名無しさん
13/01/04 15:56:49.72
Swizzle演算子知らないの? 使ったこと無いの?

194:191
13/01/04 16:03:12.45
>>193
知ってるし、シェーダープログラムでは使ったこともあるが、
C言語内では使う機会が今のところなかった。

195:デフォルトの名無しさん
13/01/04 16:05:57.45
行列やベクトルの操作を、ライブラリの関数呼び出すよりよっぽど簡易に書けるんだが。
ま細かい操作をしないのなら無用でしょうさ。

196:191
13/01/04 16:09:21.70
ごめん、なんか気分を害させたみたい。

どうしても今知る必要があるという質問ではないので、
変にこじれる前にこれで退散する。

197:デフォルトの名無しさん
13/01/04 20:32:09.44
例の粘着荒らしはOpenGL使えないはずだからとりあえずご安心を。

198:デフォルトの名無しさん
13/01/09 16:18:37.78
申し訳ありません、質問よろしいでしょうか?

Openglでobjファイルの点群データを扱っているのですが、点群にglCcolorで色を付けた際、ある方向から見ないとまともに色がついて表示されませんでした。
それ以外の方向から見ると多少濃淡が着いただけの水色で表示されてしまいます。どなたかこの現象の心当たりなどございませんか?

199:デフォルトの名無しさん
13/01/09 16:31:36.19
追記です
色が見えるようになるのは、右上に表示されている座標軸のマークが黒くなっている時でした
恐らく光源との関係があると思います

200:デフォルトの名無しさん
13/01/09 17:06:57.92
申し訳ありませんが、どんなコードを書いているのか判らないので
何が起きているのか想像ができません。
一昨日来やがってくださいませ。

201:デフォルトの名無しさん
13/01/09 17:18:51.65
ポリゴン描く時以外はライティングオフにしないとダメ でいいのかな

202:デフォルトの名無しさん
13/01/09 17:19:06.02
光源と関係があるとアタリが付いてるのなら、試しに光源処理を切ってみればいいと思うの

203:デフォルトの名無しさん
13/01/09 18:43:56.84
金曜日から来ました

204:デフォルトの名無しさん
13/01/15 00:44:45.32
Matrixの管理ってどうしてる?
Object毎にglLoadMatrixfするのはやらない?

205:デフォルトの名無しさん
13/01/16 00:50:53.22
それ非推奨機能だからもうみんな使ってないんじゃないかな

206:デフォルトの名無しさん
13/01/16 00:58:27.87
行列使わなくなったってこと?

207:デフォルトの名無しさん
13/01/17 16:39:06.01
行列は自分で管理して適当にシェーダに渡せってこと

208:デフォルトの名無しさん
13/01/17 19:56:39.32
モダニストめ

209:デフォルトの名無しさん
13/01/18 09:41:58.44
日揮もとうとうヤキが回ったな。
by重役に恨みがある

210:デフォルトの名無しさん
13/01/18 16:10:17.51
質問です。
glColor4f(r,g,b,a)のr,g,bの値を1.0未満に設定して描画することで画像の色合いを暗くすることはできるのですが、
逆に画像を白っぽくしたい場合はどうすればよいのでしょうか?

211:デフォルトの名無しさん
13/01/18 16:22:02.77
1.0に近づければいい

212:デフォルトの名無しさん
13/01/18 16:35:46.71
>>211
1.0に近づけてもそれ以上にしても、画像の元の色以上には白くなりません。
マイナスも試しましたが、0.0fと同じく黒くなるだけでした。
以下、現状のソースの抜粋です。
glColor4f(r, g, b, a);// rgbが1.0未満だと暗く描画される
glPushMatrix();
glLoadIdentity();
glBindTexture(GL_TEXTURE_2d, tex);
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
glVertexPointer(2, GL_FLOAT, 0, ver);
glTexcoordPointer(2, GL_FLOAT, 0, coord);
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
glPopMatrix();
glColor4f(1.0f, 1.0f, 1.0f, 1.0f); // 元の色合いに戻す

213:デフォルトの名無しさん
13/01/18 16:58:28.27
便利な言葉
馬鹿には無理

214:デフォルトの名無しさん
13/01/18 17:09:49.69
>>212
GL_MODULATEをGL_BLENDに変更するとか?

215:デフォルトの名無しさん
13/01/18 17:21:07.56
シェーダ使って好きなだけ色を加算すればいいだろう。

216:デフォルトの名無しさん
13/01/18 17:29:45.47
>>214,215
ありがとうございます。
うまくいきそうです。

217:デフォルトの名無しさん
13/01/18 21:00:55.26
超初歩的な質問ですみません。
現在、webを参考にしながら、まずはOpenGLES1で2D画像を表示させようとしています。
環境はxcode4.5、iPhone用アプリです。
それで、どうにかテクスチャにPNG画像を読み込んで表示させる事に成功したのですが、
読み込む画像が510pixを超えると、全く表示出来なくなってしまいます。

テクスチャの最大サイズが1024pixまでというのが原因かなとは思っているのですが、
ES1の場合、Retinaの画面サイズにスッポリ入るようなサイズを読み込む事はできないのでしょうか?
ちなみに、eaglLayer.contentsScale = [UIScreen mainScreen].scale;でRetina対応にしています。

218:デフォルトの名無しさん
13/01/18 22:24:09.35
256の整数倍に

219:デフォルトの名無しさん
13/01/19 19:24:53.23
DXUT にはスライドバーなどのコントールがありますが、
同じようなコントローラーを提供する OpenGL 用の GUI ライブラリはありますか。

OpenGL のレンダリング先ウィンドウとは別のウィンドウにコントローラーを表示したり、
同じウィンドウ内でも別のHWND領域に表示したりということではなく、
DXUT のようにレンダリング式にオーバーラップして表示するタイプのものです。

以前ネット巡回中に偶然 OpenGL 用のそのようなライブラリを見たような気がしたのですが、
その時は全く興味なかったため、URL も、回った時の検索ワードも記憶していません。

どなたかご存じないでしょうか。

220:デフォルトの名無しさん
13/01/19 19:44:40.05
anttweakbarとか?スライダーないけど

221:デフォルトの名無しさん
13/01/19 20:14:54.90
質問させて下さい。
ゲームでよくあるフェードイン・フェードアウトを実現しようとして、
テクスチャにJPG画像をまず描画し、0.1秒ごとにアルファ値を増やしたColorで
画像の上を画面いっぱいに塗りつぶしをしているのですが、RGBAの色情報が(0,0,0,a)のように
まっ黒の場合は、画像くっきり→じわじわ黒へ、と綺麗に実現出来ました。
同様に青や赤なども大丈夫だったのですが、(255,255,255,a)のように白の場合は
まったく半透明にならず、ずっと真っ白で塗りつぶされたままの状態です。
というか、(255,255,0,a)とか(200,180,225,a)のように、RGBを混ぜた色にしたりすると
綺麗に半透明にならない感じなのですが、色情報について、またアルファ値について
何か大きな認識間違いをしているのでしょうか?

222:デフォルトの名無しさん
13/01/19 20:40:16.46
はい

223:デフォルトの名無しさん
13/01/19 20:48:12.03
単純にチャンネルの対応が間違ってるじゃねえの
1チャンネルずつ0にして対応確認しろよ

224:219
13/01/19 21:13:51.38
>>220
ありがとうございます。

スライドバーそのものでなくても、
マウスのドラッグで値を変更できる仕組みがあれば構いません。
見たところ AntTweakBar がそれっぽいですね。

もう少し詳細に調べてみます。

225:デフォルトの名無しさん
13/01/20 01:25:35.48
openGL用のビューの上に透明のUIビューを重ねて、openGLの機能と一緒に
UILavelなどを使いたいのですが、xib上でopenGLのViewの上に
配置して実行するとエラーになってしまいます。
こういった場合、普通にビューを重ねてもダメなのでしょうか?

226:デフォルトの名無しさん
13/01/20 03:01:26.39
はい

227:デフォルトの名無しさん
13/01/20 10:49:03.70
⊃subview

228:デフォルトの名無しさん
13/01/20 13:42:53.07
>>225
iPhone開発のスレ逝け

229:デフォルトの名無しさん
13/01/22 20:03:29.55
URLリンク(www.youtube.com)
このtutorialやってたんですが、GL_FALSEがエラーになるのですが何故でしょうか?
eclipseのヘルプにはGL_FALSE cannot be resolved to a variableとでてしまいます。
tutorialの指示通り、GL20をimport staticしています。

230:デフォルトの名無しさん
13/01/22 20:32:16.44
自己解決しました。
GL11も必要なんですね・・。

231:デフォルトの名無しさん
13/01/22 21:29:27.44
URLリンク(www.wgld.org)

232:デフォルトの名無しさん
13/01/27 23:18:55.32
基本的な事かもしれないですが質問です。
COLLADAをパースしたところ、trianglesのインデックスリストに
頂点座標(0,1,2)、法線(0,0,0)みたいになってました。
ようするに、法線は全頂点で同じなのでそうなっていると思いますが、
OpenGLでこれをそのまま描画する方法は無いでしょうか?

最終的にはglDrawElementsで描画するには法線データを3つコピーして
(0,1,2)で描画できるようにしましたが。

233:デフォルトの名無しさん
13/01/28 02:41:55.31
法線だけin/out変数にflat付けとけば良いんじゃないか

234:デフォルトの名無しさん
13/01/28 22:40:15.04
まぁフラットとは限らない。座標(0,1,2)、法線(0,0,1)とかもありえる。
多分無理だろうと思えてきた。

235:デフォルトの名無しさん
13/01/29 18:30:06.78
デスクトップ(Win、Mac)と スマホ(iPhone Android)
に対応した OpenGLアプリ作りたいんだが(C++)
OpenGLのバージョン、ライブラリ、UIライブラリ等のオススメある?
今 OpenGL2.0とES2.0を コンパイルオプションで分けて
GLUT+Qtフレームワークを想定している
作るものは、モデルビュワー&アニメーション作成かな。
最終的には物理演算つけて楽しみたい。

236:デフォルトの名無しさん
13/01/29 18:33:55.11
了解。

237:デフォルトの名無しさん
13/01/29 20:36:10.78
WindowsPhoneはだれかGLESのラッパーつくってくれねえかな。

238:デフォルトの名無しさん
13/01/29 20:48:20.69
なんでこう日本人はどいつもこいつも他力本願なんだよもう・・・

239:デフォルトの名無しさん
13/01/30 04:50:54.63
世の中銭や

240:デフォルトの名無しさん
13/01/30 10:41:44.17
>>235
取り敢えず手元ではQtOpenGLアプリがWin/Mac/Linuxで動いている。
私もタブレットを睨んでいるので、経過を報告してくれると嬉しい。

241:デフォルトの名無しさん
13/01/30 12:50:37.93
>>240
今はまだ VisualStudioで作っててWindowsオンリー。
Qtがeclipseで動かなくて・・eclipseで動けばマルチプラットフォームテストするのに
QtでGL2.0使うには5.0が必要っぽいから βの5.0に変えた。
GL2.0で三角形を出したところでGLは止めてる

現状は他のライブラリ (Qt5.0 Win64ビット、OpenCL、Boost、CUDA)等の環境構築してる

242:デフォルトの名無しさん
13/01/30 20:57:46.97
glVertexAttribPointer 関数で指定する stride って、直感に反する仕様だよね。

頂点データが次のようになってた場合、

struct VertexData { float x, y, z; float r, g, b; };
VertexData v[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, ・・・}

size = 3 で stride = 0 の場合は 1, 2, 3, 4, 5, 6 ・・・ って並ぶけど、
これを 1, 2, 3, 7, 8, 9, 13, 14, 15 ・・・って並ばせたいからと言って、
size = 3、stride = 3 では意図した通りにならないじゃん。

この場合、size = 3、stride = 6 と指定しないとダメなんだよね。
stride = 0 だけ特別扱い。

小一時間はまったよ、なんかムカツク。

243:デフォルトの名無しさん
13/01/30 21:23:41.15
はぁ?

244:デフォルトの名無しさん
13/01/30 21:41:18.18
お前には無理だ
頂点属性ごとに別の配列にしとけ

245:デフォルトの名無しさん
13/01/30 21:44:07.76
>>242
あるある
まあ慣れの世界だ

246:デフォルトの名無しさん
13/01/30 22:09:28.49
strideって次のデータが始まるまでの個数だから普通に直感的に思えるが、
そう思わない人もいるんだな。
strideがsize以下は全部sizeと同じとしてるんだろう。

247:デフォルトの名無しさん
13/01/30 22:12:49.36
strideが要求するのが、前の頂点データの終わりからみてなのか始まりからみてなのかが、
普段使う値「0」から間違った想像を働かせてしまう

248:デフォルトの名無しさん
13/01/30 22:19:14.07
sizeof演算子で構造体の大きさ入れる癖付けとけば問題ない

249:242
13/01/30 22:36:37.75
まぁ、一度分かってしまえば、直ぐになれるけどね。

>>246
たしかに、ストライドってそういう意味だよね。
歩幅もストライドって言うし。
むしろ、size以下は全部sizeと同じなのが例外規定なのか。

>>247
そういうこと。
ギャップと勘違いしてた。

>>248
うん、そうしとくよ。

250:246
13/01/30 23:08:14.37
>>249
> むしろ、size以下は全部sizeと同じなのが例外規定なのか。
いや、仕様をちゃんと確認したら
If stride is 0, the generic vertex attributes are understood to be tightly packed in the array.
ってなってたから、0が特別扱いでびっちり詰まってる意味で、それ以外は値通りなんだろうね。
size>stride!=0だったらどうなるんだろ?

251:デフォルトの名無しさん
13/01/30 23:11:03.86
ありえないだろ

252:デフォルトの名無しさん
13/01/30 23:57:11.79
size=次元数
stride=バイトオフセット
だけど、最終行の過程では単にstride通りにデータフェッチするだけで例外はおこらない

253:デフォルトの名無しさん
13/01/31 00:36:42.97
左端:頂点ID、□□□:3次元ベクトルとすると

/|□□□□□□
--------------
0|□□□
1| □□□
2|  □□□
...

みたいなオーバーラップするデータフェッチも可能ということだね
簡易に時系列データの平滑化やNURBS曲線のKnotに使えそう?

254:デフォルトの名無しさん
13/02/02 17:58:37.68
あとはマイクロソフトがWebGLをサポートしてくれればな・・・
今までも、そしてこれからも、ブラウザシェアはIEがトップだろうし。
まあ、無理っぽいけどさ。

255:デフォルトの名無しさん
13/02/02 18:24:19.69
何この人、複数のスレに同じレス書いて気持ち悪い

256:デフォルトの名無しさん
13/02/02 18:53:53.83
BCCっていう機能使ってるんじゃね?

257:デフォルトの名無しさん
13/02/02 19:59:23.14
シェーダープログラムのレイアウト修飾子を使って定義できる属性インデックスって、
そのシェーダープログラム内で一意ならどんな番号を振ってもいいの?

それとも、小さい数から順に振っていかないとまずい?

258:デフォルトの名無しさん
13/02/02 20:09:04.25
小さい方から順なら指定する意味が半減するだろ
15番までなら自由に指定できるはずだ

259:257
13/02/02 20:31:36.28
>>258
> 15番までなら自由に指定できるはずだ

ということは、この番号は単なる識別のためのIDじゃなくて、
何というか、TCP/IP のポート番号みたいなものか。

アプリケーション側と頂点シェーダー側を繋ぐパイプが、
最低でも16本(0-15)は確保されているから、この中で自由に使ってちょ
ということね。

GUIDみたいな一意な番号を適当に振っていいものだと思ってた。
認識を改めねば。

ありがとう。

260:デフォルトの名無しさん
13/02/02 23:18:07.89
冒険しないからこその価値もあるんだよ
IEはただのブラウザじゃなくて膨大な業務クライアントを動かす超重要なプラットフォームなんだから

261:デフォルトの名無しさん
13/02/03 01:09:28.55
ステマックス リローデッド

262:デフォルトの名無しさん
13/02/05 20:27:46.89
たぶん OpenGL 3.0 以降の話になるかと思いますが、

glGenBuffers + glBindBuffer + glBufferData で頂点データを設定して、
glGenVertexArrays + glbindVertexArray + glVertexAttribPointer で VAO を設定します。

その後 glDarwArrays などでレンダリングする前に、
先ほど glGenBuffers で作成したオブジェクトを glDeleteBuffers で削除しても、
全く問題なくリンダリングされるのですが、この挙動はドライバ依存でしょうか。

それとも、glGenBuffers は単価に削除フラグを立てるだけで、
実際は VAO に使われている間は生き続けている、と解釈して良いのでしょぅか。

263:デフォルトの名無しさん
13/02/05 22:19:14.81
ドライバのバグですね
URLリンク(www.opengl.org)

264:262
13/02/05 23:09:32.80
>>263
glDeleteBuffers の説明には

If a buffer object that is currently bound is deleted,
the binding reverts to 0 (the absence of any buffer object).

と書かれていますが、どういう意味なのでしょうか。
reverts to 0 というのがよく分からないのですが、
単に「全てのバッファが強制的に削除される」の言い方を変えただけですか。

そして、glVertexAttribPointer の説明には

When a generic vertex attribute array is specified, size, type,
normalized, stride, and pointer are saved as vertex array state,
in addition to the current vertex array buffer object binding.

とも書かれていますが、これは、この関数呼び出し時にバインドしている
vertex array buffer object も一緒に保存されるという意味ではないですか。

265:デフォルトの名無しさん
13/02/06 01:57:25.25
>>263
excite先生にかけて直訳した文章を英文と見比べて
自分なりに意訳してみればある程度推測がつくよ。

266:デフォルトの名無しさん
13/02/06 01:57:52.33
× >>263
>>264

だった。失礼。

267:262
13/02/06 07:08:24.59
>>265
私には vertex array buffer object も一緒に保存される
としか今は解釈できないです。

268:デフォルトの名無しさん
13/02/06 11:46:07.29
だからハートのにおいがついちゃうんだって

269:デフォルトの名無しさん
13/02/06 20:32:53.63
2chのOpenGLスレ劣化しすぎじゃね?
手元のOpenGL4.0の訳本によれば、
付録D.1.2 削除されたオブジェクトとオブジェクトの名前のライフタイム
バファやテクスチャー(以下省略)が削除される場合、その名前はすぐに無効(例えば未使用と印がつく)になりますが、
実際のオブジェクトはそれが使用されなくなるまでは削除されません。
と、明確に定義されている。
上の例で言えばVertexArrayオブジェクトが生きている限りそこにバインドされたバッファオブジェクトは削除されない

270:269
13/02/06 20:34:23.39
これからOpenGLは上がり調子でいけいけなんだから頑張れよ
DirectXはもう新規開発をやめたので今後10年ぐらい
3D APIの標準はOpenGLの4.2あたりになると思う

271:デフォルトの名無しさん
13/02/06 20:37:16.73
他人に文句をたれるより自分がなんとかしろよカス

272:262
13/02/06 20:58:14.60
>>269
私もそう思った(期待した)のですが、少し気になることがあります。

glDeleteShader の説明には、
URLリンク(www.opengl.org)
アタッチされているオブジェクトを glDeleteShader に指定した場合、
削除フラグが立つと明記されています。

glDeleteProgram も、
URLリンク(www.opengl.org)
カレントステートで使われていたら削除フラグを立てると明記されています。

glDeleteSync も明記されています。
URLリンク(www.opengl.org)

しかし、他の delete 系関数の説明には、削除フラグについては何もか書かれていません。
もちろん glDeleteVertexArrays もです。
上記の3つの関数(に関わるオブジェクト)のみ削除フラグが明記されています。

これは、どういうことでしょうか。

深く考えず、全てのOpenGL系オブジェクトについて、
使用中のオブジェクトの削除はフラグが立つだけと考えて問題ないのでしょうか。

273:262
13/02/06 20:59:52.46
>>272
> もちろん glDeleteVertexArrays もです。

[訂正]
もちろん glDeleteBuffers もです。

274:デフォルトの名無しさん
13/02/07 00:03:03.36
>If a buffer object that is currently bound is deleted,
>the binding reverts to 0 (the absence of any buffer object).

バインドが解除されて即座にオブジェクトが削除されると読めるから
削除されたはずのバッファを参照するVAOが描画できちゃうのが
気持ち悪いってのは確かにそうやねえ
まあ見えないステートが多くて変に関数使いまわそうとするOpenGLではよくあることよ。。。

(ところでDirectXが新規開発してないってどこから出たんだろう)

275:デフォルトの名無しさん
13/02/07 06:20:18.94
参照カウンタ的なのを明示してくれればいいのにね

276:デフォルトの名無しさん
13/02/07 08:17:56.43
削除する前にバッファを0で埋めとけば解決

277:デフォルトの名無しさん
13/02/07 11:22:23.94
nvidiaのドライバは結構適当で
radeonのは仕様通りに動くと聞いたことがある

278:デフォルトの名無しさん
13/02/07 11:44:02.75
×適当
○柔軟性がある

279:デフォルトの名無しさん
13/02/07 13:03:58.33
インターネットエクスプローラーみたいなもんか

280:デフォルトの名無しさん
13/02/08 01:55:13.20
XNAは今後アップデート予定はないってニュースはあるが
DirectXのアップデート予定は無関係だろ。

281:デフォルトの名無しさん
13/02/08 19:16:23.65
アップデートというか、DirectXtってただのOpenGLランタイムですよね?
APIで受け取ったデータをGPUのOpenGLドライバに流すだけですから

282:デフォルトの名無しさん
13/02/08 19:35:09.25
そんなわけがない

283:デフォルトの名無しさん
13/02/08 22:03:50.64
しかしそれは悪魔の証明である

284:デフォルトの名無しさん
13/02/08 22:44:03.12
>>281
ソース

285:デフォルトの名無しさん
13/02/09 00:04:55.44
しかし酷いな
>>272だから付録のDを読めって。全部明確に書いてあるから
>>274そう読めるなら英語の勉強からやり直せ

286:デフォルトの名無しさん
13/02/09 00:26:54.23
むしろVista以降のOpenGLコールはDirect3DのDDIに流されるって話じゃなかったけ?

287:デフォルトの名無しさん
13/02/09 00:51:30.34
ゲーム用と画像用を同系列で比べるのはいかがなものかと

288:デフォルトの名無しさん
13/02/09 07:07:56.23
>>287によると、ゲームは画像を扱わないらしい。
馬鹿の考えはさっぱり分からない。

289:デフォルトの名無しさん
13/02/09 08:44:53.78
OpenGL初心者の俺にも、>>287の屁理屈はおかしいと思える

290:デフォルトの名無しさん
13/02/09 09:29:47.35
なんでこんなレベルの低い人がいるの?

291:262
13/02/09 10:07:58.82
>>284
> だから付録のDを読めって。

>>269 の「OpenGL4.0の訳本」というのが何なのか分からなかったのですが、
URLリンク(www.opengl.org) にある
「OpenGL 4.0 Core Profile Specification (updated March 11, 2010)」
これの和訳なのでしょうか。

このような資料があることを今まで知らなくて、早速 D.1.2 を読みました。
今回の私の場合で言えば、コンテナが保持しているオブジェクトの削除、の事ですね。
確かにコンテナ自体が削除されたり、内部のオブジェクトを別のものに再バインドしない限り、
保持しているオブジェクトは(glDeleteObjectsしても)削除されないと書かれていますね。

また、保持されたオブジェクトを削除した場合の注意点も書かれてますね。
(主に、Gen* で得られる name のアタッチについて)

ありがとうございます。
おかげさまで、はっきりさせることができました。

292:デフォルトの名無しさん
13/02/09 11:06:00.14
これだね
OpenGL4.0グラフィックスシステム
URLリンク(www.amazon.co.jp)

仕様書はもちろん無料。7140円は翻訳代だろう。
マイナーバージョンレベルで少し古くなってきたけど今のところ全く問題ない
どうせテッセレーションとか使わないし・・・

293:デフォルトの名無しさん
13/02/12 04:36:46.64
marching tetrahedronってどういうときにつかうの?

294:293
13/02/12 04:48:56.16
誤爆スマソorz

295:デフォルトの名無しさん
13/02/12 05:03:24.52
ボリュームレンダリングでしょう

296:デフォルトの名無しさん
13/02/12 05:20:22.72
KinectからDepthImageを抽出して、物理計算用メッシュを構築する時

297:デフォルトの名無しさん
13/02/12 06:04:56.75
たしかcubesと違って穴が開かないんだっけ?

298:デフォルトの名無しさん
13/02/12 19:12:18.83
>>295
それはmarching~の入力データのほうの使い方

299:デフォルトの名無しさん
13/02/13 14:30:39.44
OpenGLというよりかはARtoolkitについての質問なのですが、次のプログラムが正しく動かずに悩んでいます


GLuint m_a;
int a = 0;
float *b;
float *c;
m_a = a;
b = 0;
c = b;

if (!a)
{
glBegin(GL_POINTS);
int k = 0;
for (int i = 0; i < 100; ++i)
{
glVertex3fv(&c[k]); //この行で例外発生
k += 1;
}
glEnd();
}

以上のプログラムなんですが、OpenGL上では正しく機能するのに対して、ARtoolkitで使うとマーカーを読み込んだ際に例外エラーが発生して終了してしまいます
どなたか原因が分かる方はいらっしゃいませんか?

300:デフォルトの名無しさん
13/02/13 14:36:07.02
>OpenGL上では正しく機能
 たまたま動いたのをそう錯覚してるだけでは

301:デフォルトの名無しさん
13/02/13 14:44:02.31
>>299
cが0で&c[k]とかやったら落ちて当然じゃね

302:デフォルトの名無しさん
13/02/13 15:24:13.94
>>299
滅茶苦茶過ぎてワロタ
ARtoolkitというよりC言語の初歩の問題ですから

303:デフォルトの名無しさん
13/02/13 20:19:02.16
OpenGLでも動くわけ無いだろw
クソして書き直せボケ

304:デフォルトの名無しさん
13/02/13 23:16:52.89
OpenGL でテクスチャ貼るなら、今なら GLI(OpenGL Image) 使うのがお勧め?
ver.0.4 だけど、見た感じ良さそうだなぇ。GLM(OpenGL Mathmatics) なら最近使い始めて
満足しています。

305:デフォルトの名無しさん
13/02/14 01:00:02.07
対応フォーマット数的にDevIL (Developer's Image Library)しかないやろ
ilutなんてアレをリスペクトしたツールキットまであるしな

306:デフォルトの名無しさん
13/02/14 03:36:19.02
>>299
言い方はキツいけど >>302 の言うことで尽きてる。
C言語のまともな本を通読するべき。

307:デフォルトの名無しさん
13/02/14 10:17:48.15
無駄に対応フォーマットが多くてもしょうがない
俺のお気に入りはSean Barrettさんの画像ライブラリ
URLリンク(nothings.org)
依存しているライブラリがないのでこれ一つコピって来れば動くのがうれしい

308:デフォルトの名無しさん
13/02/14 22:31:35.94
クッソワロタ

309:デフォルトの名無しさん
13/02/15 00:05:48.81
SOIL使いやすいよね

310:デフォルトの名無しさん
13/02/16 14:25:24.60
OpenGL 3.x 以降、コアプロファイルを使うなら、
どのようなプリミティブのレンダリングに対しても、
実用上少なくとも頂点シェーダーとフラグメントシェーダーは必要である、
という認識で良いんですよね。

つまり、シェーダーが無ければ意味がない、と。

311:デフォルトの名無しさん
13/02/16 17:11:00.82
仕様書にシェーダを設定せずに何かを描画しようとしたときの動作は未定義って書いてなかったっけ?
コンパチブルプロファイルだと固定機能パイプラインが使われるけど。
自分でよく確認しましょう。

URLリンク(www.opengl.org)

312:デフォルトの名無しさん
13/02/16 17:38:08.66
>>311
仕様内を undefined で検索したところ、このように書かれているのを見つけました。

If there is no active program for the vertex or fragment shader stages,
the results of vertex and/or fragment processing will be undefined.

これは結局のところ、「両方が揃わないと結果は未定義」と解釈しました。

ありがとうございました。

313:デフォルトの名無しさん
13/02/16 18:07:16.23
「無視される」じゃなくて「未定義」なんだな・・・

314:デフォルトの名無しさん
13/02/16 18:15:58.15
Radeonは無視しますがGeForceは描画します^^

315:デフォルトの名無しさん
13/02/16 19:31:33.88
>>314
どんな風に描画されるの?

真っ黒とか?

316:デフォルトの名無しさん
13/02/17 00:51:10.95
普通に固定機能だから

317:デフォルトの名無しさん
13/02/17 02:41:32.01
そいつ自作板で数年以上も根拠なくAMDを叩き続けてる
通称雑音っていうイカレ野郎だから。

318:デフォルトの名無しさん
13/02/17 03:29:23.07
AMD叩いてるようにみえるのか・・・俺には逆に見える

319:デフォルトの名無しさん
13/02/17 04:42:26.93
おかしなことやろうとすると完全無視で副作用何も無しというのがOpenGLの良いところだったのにな

320:デフォルトの名無しさん
13/02/17 08:32:29.82
おかしなことをやってるのに無視されてバグが見つけにくいのは悪いところじゃね

321:デフォルトの名無しさん
13/02/17 08:33:49.33
そのためのglGetErrorでは

322:デフォルトの名無しさん
13/02/17 09:29:16.36
glGetErrorの仕様を考えた奴は死ねばいいと思う
全てのOpenGLコマンドの後ろでglGetErrorを呼ばざるを得ず
コードがごちゃごちゃして見にくい事この上もない

323:デフォルトの名無しさん
13/02/17 09:49:34.63
もう20年前以上前、下手すりゃIRIS GLまでさかのぼる話だろうから温かい目で
許してあげようよ。

324:デフォルトの名無しさん
13/02/17 10:07:23.82
>>322
1フレームに1回呼べばエラーの有無はわかるし、あとはエラーが起こりそうなブロック毎とかで十分では

325:デフォルトの名無しさん
13/02/17 10:19:50.11
デバッグモード時条件コンパイルでいいじゃん

326:デフォルトの名無しさん
13/02/17 13:27:17.37
assert(glGetError() == GL_NO_ERROR);
では、ダメなんでしょうか?一行挟むだけ。

327:デフォルトの名無しさん
13/02/17 13:29:29.48
出遅れたけど、ここまでの OpenGL でテクスチャ貼りたい場合の補助ライブラリまとめ。

■GLI(OpenGL Image)
URLリンク(www.g-truc.net)

■DevIL
URLリンク(openil.sourceforge.net)

■SOIL(Simple OpenGL Image Library)
URLリンク(lonesock.net)

■stb_image.c(Sean Barrett/C image loading library)
URLリンク(www.nothings.org)

328:デフォルトの名無しさん
13/02/17 13:32:49.86
ぶっちゃけ DDS 貼りたいだけなんで、GLI を試そうかと思っています。

329:デフォルトの名無しさん
13/02/17 18:00:14.41
色んな形式の画像読み込むのがめんどいだけなんで
OpenGLのテクスチャオブジェクトまで作ってくれるのは余計なお世話だと感じる
coreプロファイルだと使えなくて残念だったり

330:デフォルトの名無しさん
13/02/17 22:04:07.36
おまえっていつも文句しか言わねーのな

331:デフォルトの名無しさん
13/02/17 23:21:26.90
すまん誤爆

332:デフォルトの名無しさん
13/02/18 09:50:30.67
>>329
お前は俺か
それがSean Barrettさんのライブラリな
stb_load()一発で全ての画像ファイルを読み込んでchar*が返ってくる
依存ライブラリがなく1つの.cファイルに全部収まっている(libzすら不要)なので
1つコピってくれば動くのがうれしい

ってか固有名詞付けろよ・・・・

333:デフォルトの名無しさん
13/02/20 21:21:12.04
>>327
ライセンスってどうなってる?

334:デフォルトの名無しさん
13/02/20 21:43:34.08
>>333
GLI --> MIT
DevIL --> LGPL
SOIL --> Public Domain
stb_image.c --> public domain

これくらいサイトを見たり、ダウンロードしてみれば分かるよな
自分で簡単な調査くらいしてから質問しろ

335:デフォルトの名無しさん
13/02/20 21:56:48.92
ベリーセンキュー
stb_image.cをダウンロードしてソース見ながら聞いたけどまさか1行目にあるとは思わなんだ

336:デフォルトの名無しさん
13/02/20 22:01:29.06
>>335
stb_image.c のページに書いてあるんだが・・・

source: stb_image.c public domain C image loading library

337:デフォルトの名無しさん
13/02/20 23:26:37.78
で、それらのライセンスって何がどう違うの?

338:デフォルトの名無しさん
13/02/20 23:35:39.48
それはスレチだろ

それにまじめな話、ライセンスはデリケートなものだから、
又聞きじゃなくて、ちゃんと原文を調べた方が良いと思う

339:デフォルトの名無しさん
13/02/20 23:45:49.14
知らないなら黙っててくれませんか?

340:デフォルトの名無しさん
13/02/21 00:08:26.79
>>339
スレチだろというぶっきらぼうな言い方で気を悪くしたのなら謝る、ごめん。

あれらのライセンスについては自分なりに理解はしてるつもりで、
今まで会社でもそれで大きなトラブルは起していないので、
それを私個人の意見として説明することもできるけど、
十中八九だれかが解釈の間違いを指摘するはず。

以前もこのスレや別のスレなどでライセンスの解釈を巡って
激論になったような気がする。
その中には悲しいかな罵倒雑言も多く含まれていた。
たぶん、私じゃなく、別の人が説明しても似たような状況になると思う。

そうなると予測していながら同じ状況を招くきっかけを作るのは
やっぱり良くないと思う。

この板にもライセンス総合スレがあるから、
そちらで訊いた方が良くないかな。

341:デフォルトの名無しさん
13/02/21 08:21:36.46
>>334
Public Domain と public domain に違いはあるのですか?

342:デフォルトの名無しさん
13/02/21 19:58:33.41
>>341
ないよ

>>327 にあるそれぞのページからコピペしただけ

343:デフォルトの名無しさん
13/02/21 22:32:48.37
MIT:好きに使っていいから俺の名前を書けや
LGPL:微妙に感染症 諸悪の根源のGPLよりはましだが近づかないに越したことない
PD:どうにでもして(その動画、ウイルスかもよ)

344:デフォルトの名無しさん
13/02/21 22:44:50.66
MITやLGPLなどは全世界で解釈は一致してるけど、
パブリックドメインは国によって扱いが違う、
とかいう話を聞いたことがある。

345:デフォルトの名無しさん
13/02/21 23:17:37.95
日本では著作権の放棄ができないからパブリックドメインは法的にはないんだっけな

LGPLは基本的には安全だよ

346:デフォルトの名無しさん
13/02/21 23:54:55.73
インポートライブラリがグレーなのが気になる

347:デフォルトの名無しさん
13/02/22 18:30:09.74
>>343
BSDlicenseは?

348:デフォルトの名無しさん
13/02/22 19:58:05.05
ググレカス

349:デフォルトの名無しさん
13/02/22 20:26:02.81
ククレカレー

350:デフォルトの名無しさん
13/02/22 22:26:44.95
PS4ってOpenGL使えるの?

351:デフォルトの名無しさん
13/02/22 22:46:07.78
OpenGLベースのカスタムAPIじゃねーの?

352:デフォルトの名無しさん
13/02/24 00:09:49.74
OpenGLのAPIそのまま使うだろう
変な機能入れたいならOpenGL拡張にしてしまえば良いだけだし
既存のPC用のデバッガやらなんやらのツール流用も楽だろうし

353:デフォルトの名無しさん
13/02/24 02:52:37.92
と、思うだろ?

354:デフォルトの名無しさん
13/02/24 04:34:32.35
実はPS4のグラフィックス関係のAPIはDirectXみたいな感じになるらしいよ

355:デフォルトの名無しさん
13/02/24 08:35:29.30
と、書けば信じてくれるかな?

356:デフォルトの名無しさん
13/02/24 09:23:08.02
情報ソースが複数あれば多少信じるかも知れん。

自分の目でそのAPIを見られれば100%信じると思う。

357:デフォルトの名無しさん
13/02/24 09:31:56.96
と、予想しただろ?

358:デフォルトの名無しさん
13/02/24 10:16:52.05
PS Mobile APIなんじゃねーの

359:デフォルトの名無しさん
13/02/24 10:40:54.66
PS4は、Android 5.0だよ
グラフィックAPIは、Android 5.0に標準搭載されるOpenGL ES 3.0

360:デフォルトの名無しさん
13/02/24 12:13:39.53
無料ソフトで遊べるのか安上がりだねついでにwinも動けばお買い得

361:デフォルトの名無しさん
13/02/24 12:35:49.59
>>359
はいはいw

362:デフォルトの名無しさん
13/02/24 12:59:30.42
ほら吹きだなぁ

363:デフォルトの名無しさん
13/02/24 13:16:53.31
dalvik VMの上で動くJavaアプリのAndroidなんて誰が使うんだボケw
ゲーム機はスマホじゃねーんだよ。

364:デフォルトの名無しさん
13/02/24 14:25:32.57
>>363
Androidは、既にゲーム機向けのOSになっているよ
今年は世界中で一気にAndroidゲーム機が発売されるしね

365:デフォルトの名無しさん
13/02/24 14:37:22.33
JNI使えるからな。

366:デフォルトの名無しさん
13/02/24 15:52:45.71
ゲーム専用機が滅んだりして

367:デフォルトの名無しさん
13/02/24 16:21:02.68
Androidはサウンド系が弱いんだよね。

368:デフォルトの名無しさん
13/02/25 01:35:33.25
>359
マジレスしてしまうが、それはないだろw
ES 3.0ってジオメトリシェーダーとかテッセレータとかないんじゃなかったっけ?
PS3ではgcmっていうRSX特化APIがあったけど、シェーダモデル5.0時代に似たようなAPIはそれなりに死ぬような気がするし(gcmはあれ制御がめっさめんどくさかった……)、
PS4は開発のしやすさ・PC似を標榜しているので、フツーにOpenGL4.3以上な希ガス。

369:368
13/02/25 01:46:46.41
>>364
それはないと思う。
共有メモリ方式への対応、速攻で動画をシェアできたり、サスペンドできたりするためにはハードへの高度な最適化が必要で、PS3と同様に完全にカスタムなOSを作り込むはず。

370:368
13/02/25 01:47:48.48
>>364
確かにAndroidもベンダが自由にカスタマイズできるが、
PS4の各種機能に完全対応させるのは一から作るより色々面倒が多い気がするし、
仮にやったら他Androidゲーム機との互換性はかなり失われるはずだ(Java VMで動作させれば大丈夫かもしれんが、それだとスピードが犠牲になりすぎる)。
Androidを採用するメリットはあまりない。
そもそもゲーム機はスマホと違って他機種との互換性をそれほど考慮する必要はないし、だったらいっそ一からカスタムで作りますわってなると思う。
ソフト面がわりかしが苦手なSCEだって、OSを一から作る技術と自負くらいはあるよ。

371:デフォルトの名無しさん
13/02/25 10:25:14.33
実際Androidベースのゲーム機出るのに何言ってんだコイツ

372:デフォルトの名無しさん
13/02/25 12:46:25.87
PS4のことを指しているならそれはない。
PCベースのアーキテクチャではあるがOSが何かはまだ不明。
Android = Java VM上で動くアプリである可能性はほとんどない。
理由は実行速度が遅すぎるから。

373:デフォルトの名無しさん
13/02/25 13:18:38.21
OUYAとかのことを言ってるんだけど。
PS4とかアホか

374:デフォルトの名無しさん
13/02/25 16:28:26.42
ゲーム機はタブレット同様コンテンツ消費型のデバイスだから、OSとしては画面占有(あるいはタイル形式の画面分割)型アプリとネットワークサービスを前提とするAndroidが向いている面はあるかな

375:デフォルトの名無しさん
13/02/25 18:15:04.11
>>371
Androidを選ぶゲーム機メーカーがあるとすれば、
それは
・自力でOSを作るだけの技術or体力がない。
あるいは
・ハードの特殊機能への最適化よりも、スマホ開発者などの取り込みを優先した。
のいずれかではないかと。
いずれも、SCEのPS4には当てはまらないかな。
後者については、PS Vitaの例のSDKは当てはまってる気がするが。

376:デフォルトの名無しさん
13/02/26 21:04:29.44
OSよりライブラリだろ
馬鹿しかいねえ

377:デフォルトの名無しさん
13/02/26 22:14:37.16
ポカーン

378:デフォルトの名無しさん
13/02/27 08:02:20.58
FirefoxOSって何?
GLも動くの?

379:デフォルトの名無しさん
13/02/27 11:17:30.34
GLはプログラムを作るためのAPIであって、何かのアプリの上で
動くものではない。

380:デフォルトの名無しさん
13/02/27 12:13:14.26
>>378
Firefox(Android版もWebGL対応)ベースなら、動くんじゃないの

381:デフォルトの名無しさん
13/02/27 16:09:12.28
FirefoxOS って Android とは別物だよね?
っていうかそもそも ChromeOS って Android のこと?

382:デフォルトの名無しさん
13/02/27 17:18:27.02
ChromeOS も別物だよ

383:デフォルトの名無しさん
13/02/27 19:19:35.43
JavaScriptでOpenGLとかやってくれと言われたら発狂するけどな

384:デフォルトの名無しさん
13/02/27 19:32:27.88
情弱乙

385:デフォルトの名無しさん
13/02/27 20:52:23.46
>>383
一番簡単にOpenGLできるのが、JavaScriptだよ

386:デフォルトの名無しさん
13/02/27 21:06:55.22
JavaScriptって作るの簡単、メンテやっかいなイメージある

387:デフォルトの名無しさん
13/02/27 21:15:03.06
>>383
WebGL

388:デフォルトの名無しさん
13/02/27 22:38:45.76
トライアングル一個出すならJavaScriptでいい
ゲーム作るのは勘弁して><

389:デフォルトの名無しさん
13/02/28 21:09:17.48
うわぁ・・・

390:デフォルトの名無しさん
13/03/01 00:39:53.19
前後に配置したオブジェクトを
視点を遠くして描画すると奥のオブジェクトが見えてしまいます
何でこんなことになってしまうんでしょうか?
URLリンク(pc.gban.jp)

openGL ES 2.0使ってます
URLリンク(www.saturn.dti.ne.jp)
このサイトで紹介されているソースを
.xが読み込めるように書き換えただけで描画に関する部分は殆んど変えてません

391:デフォルトの名無しさん
13/03/01 00:53:27.34
デプスバッファの精度が足りないのでは?
gluPerspectiveに与えるニアクリップの値をなるべく大きくしてみてください

392:デフォルトの名無しさん
13/03/01 01:17:53.63
>>391
解決しました!
ほんとに助かりました、ありがとう!

393:デフォルトの名無しさん
13/03/02 12:05:34.57
1枚のテクスチャ(例えば64*64px)に複数のキャラクタ(例えば32*32pxが4つ)が書かれていて、
glTexCoordPointerで1キャラクタ分の領域だけ指定して描画するって常套手段だと思うんですけど、
そうすると、端に隣のキャラクタの色が混じってしまいます。
これを回避する手段ってなんかありますか?

環境はAndroid OpenGL ES 1.1、C++です。

394:デフォルトの名無しさん
13/03/02 12:22:07.29
LINEAR補間ではなくNEARESTを使え
それで駄目なら0.5ずらせ

395:デフォルトの名無しさん
13/03/02 12:32:49.99
>>394
やっぱそれくらいの対処しかないですかね?
0.5ずらしたりすると、本来表示したかった端の1px分の模様が狭くなっちゃいますよね
そんな些細なことは諦めるしかないのかなぁ

396:デフォルトの名無しさん
13/03/02 12:41:05.99
元から1px小さいサイズに合わせて絵を描いておけば問題ない

397:デフォルトの名無しさん
13/03/02 13:20:54.00
シェーダで TexCood を mod すればいい

398:デフォルトの名無しさん
13/03/02 13:32:48.06
>>397
フラグメントシェーダー内で texture 関数に渡すテクスチャ座標を mod で調整しても、
glTexParameter系関数でテクスチャ フィルタを GL_LINEAR に設定されていれば、
指定した座標の周囲4テクセル分が加重平均されて隣のキャラクタの色が混じるよ。

399:デフォルトの名無しさん
13/03/02 13:37:44.04
言われてみればそうだった

400:393
13/03/02 14:04:26.61
>>396
そうすると、64*64の画像に32*32のキャラを4枚詰めるのは無理になりますよね…

>>397,398
いずれにせよ、OpenGL 2.0は私には難しすぎる(白目)

何かしら妥協するしかないようですね。
ありがとうございました。

401:デフォルトの名無しさん
13/03/02 14:21:47.22
1.1使えや

402:デフォルトの名無しさん
13/03/02 15:27:39.23
キャラが違うなら別テクスチャにしちゃってもいいんじゃないかな

403:デフォルトの名無しさん
13/03/02 15:53:10.69
1キャラクターがアニメーションさせたいのではなく
1枚のテクスチャーに複数のキャラクターか
止めとけとしか

404:デフォルトの名無しさん
13/03/02 15:54:26.42
テクスチャの解像度上げて加工してみるとか。うちも色混ざってるのかな
ドット絵で右と下1ドット空けてるから平気なのかも。

405:デフォルトの名無しさん
13/03/02 16:33:38.89
>>403
なぜ止めた方が良い?

例えば1枚のテクスチャにアルファベットや数字を並べて、
そのテクスチャを参照してテキストを描くことはよくあるけど、
これは本質的には1枚のテクスチャーに複数のキャラクターと同じではないの?

406:デフォルトの名無しさん
13/03/02 16:57:45.36
端のピクセルの中心座標は(0,0)ではなかったんじゃ
ピクセルの大きさの半分だけオフセットさせとけば問題ないんじゃね?
ドットバイドットで描画するならバイリニアフィルタも関係なくなるし

407:デフォルトの名無しさん
13/03/02 17:35:21.03
1ドット以上空けて絵を並べるのは常識

408:デフォルトの名無しさん
13/03/02 17:52:13.32
俺はリニア補間するときに確実に透明な幅を存在させるために2ドットあけちゃう

409:393
13/03/02 19:20:04.49
>>407
やっぱそうなんだ
勉強になりました

410:デフォルトの名無しさん
13/03/02 19:37:38.05
あ、あの、あのね、怒らないで聞いてね
ありんこ一匹通さないヌリカベみたいに通路をふさぐことを売りにするキャラがいて
1ドット空いちゃうとありんこがいっぱい通っちゃって困ると思うんですが・・・
そういう場合どうしたらいいのでしょうか

411:デフォルトの名無しさん
13/03/02 19:49:09.76
それでいいならかまわんが全然勉強になってなくね>>406の例や滲む理由がわかってない
1ドット空けなくても滲まないのが正常だと思うのだが

412:デフォルトの名無しさん
13/03/02 20:02:07.49
補間するからさ

413:デフォルトの名無しさん
13/03/02 20:42:57.85
>>410
テクスチャに描かれたイメージ群は、
それぞれ隣のイメージと1ドット(テクセル)空けてあったとしても、
それをポリゴンに貼る際に参照するテクスチャ座標を正しく選べば、
空けた1ドットの部分は参照されない。

この説明では分かりづらいでしょうか。

414:デフォルトの名無しさん
13/03/02 21:06:48.75
画面を32x32のチップで敷き詰めて構成する、かつWindowサイズを変更して伸張可能という仕様で
Windowのデフォルトのクライアントサイズは640x640のとき
デフォルトではテクスチャは等倍で描画されるのが好ましい
つまり画面上のピクセルとテクスチャのピクセルが完全に1対1で対応して欲しいんだけど
1ドットあけると31x31のテクスチャになってしまって引き伸ばされてぼやけて見えてしまう←これが問題
しかしニアレストネイバーに設定するとWindowサイズが変更された場合は補間して欲しいので困る
Windowサイズによってテクスチャの補間方法を切り替えるくらいしか対応策が思いつかないんだけどそれってどうなのってところ

415:デフォルトの名無しさん
13/03/02 21:30:59.60
視点を離して補完を切れば解決だな

416:デフォルトの名無しさん
13/03/02 22:08:03.97
ひとつのチップが占有する領域を33x33にしてそのうち32x32を使えばいいじゃん・・

417:デフォルトの名無しさん
13/03/02 22:51:16.11
>>416
33じゃそもそもチップの座標を正確に表せないからその時点でピクセル単位での指定が
できなくなっちゃうじゃない

418:デフォルトの名無しさん
13/03/02 22:56:53.49
なんで正確に表せないと思ったんだ?

419:デフォルトの名無しさん
13/03/03 02:39:21.98
テクスチャ
 0123456
0□□□□□□□
1□■■□■■□
2□□□□□□□

UVの指定(単位はドットで横方向のみ)
(1-3)(4-6)

画面
■■■■

蟻が通る隙間はない

420:デフォルトの名無しさん
13/03/03 02:49:17.60
図が正確じゃなかったんで書き直す

0 1 2 3 4 5 6 7
|□|■|■|□|■|■|□|

なんで

UVの指定(単位はドットで横方向のみ)
(1-3)(4-6)

ってなる

421:デフォルトの名無しさん
13/03/03 02:52:28.60
くそーずれた…

0 1 2 3 4 5 6 7
|□|■|■|□|■|■|□|

スレ汚しスマソ

422:デフォルトの名無しさん
13/03/03 03:12:44.17
GL_TEXTURE_MAG_FILTERをGL_LINEARでGL_TEXTURE_WRAPがGL_CLAMPで
(0.5, 0.5)-(31.5, 31.5)をglTexCoord, glVertexすればいい話ではないのかな?

423:デフォルトの名無しさん
13/03/03 08:38:19.46
0.5ずらせよ・・・
その絵が書けるならもう分かってるんだろ
ピクセルの中心位置は整数座標にはないんだよ

424:デフォルトの名無しさん
13/03/03 10:27:55.54
GeForce GTX TITAN すげー

425:393
13/03/03 12:21:49.16
>>423

前提として、こういう画像があって、4番のみ表示したい。拡大、リニア補間で。
URLリンク(iup.2ch-library.com)

何も考えずにやると、このように隣のキャラクタの色が混じってしまう(上端、左端)
URLリンク(iup.2ch-library.com)

対策として0.5ずらすと、混じらなくはなるけど、端の黄色線が期待より細くなってしまう。
URLリンク(iup.2ch-library.com)

自分としては、それは嫌だったので、0.5ずらすのではなく、
元画像でキャラごとに1ドット空けることで回避することにします(これが期待値)
URLリンク(iup.2ch-library.com)

426:デフォルトの名無しさん
13/03/03 13:19:28.07
OpenGLで2Dゲーム作る場合glOrthoでWindowのピクセル数と一致させる方が(-1.0~1.0)とかのサイズにするよりメジャー?

427:デフォルトの名無しさん
13/03/03 15:21:20.60
俺はGL座標系に慣れるために+1-1でやってるな、メジャーかは知らないが

428:デフォルトの名無しさん
13/03/03 16:11:20.76
>>425
> 元画像でキャラごとに1ドット空けることで回避することにします(これが期待値)
さらに言うと、空けた1ドットをこの場合は黄色で書いておかないと
縁が薄く黒ずんだりする。

429:デフォルトの名無しさん
13/03/04 13:48:41.40
gl.h と glext.h だけ使って勉強したいんだけどどういう方法がオススメかな?
glu.h とか glaux.h とか glut.h とか glfw.h とか使いたくない感じです。
やっぱり NeHe あたり?

430:デフォルトの名無しさん
13/03/04 17:56:12.35
何がやりたいのか明確に
OpenGLの勉強がしたいのならglutを使わない理由がない
もっとローレベルのウィンドウ作ってOpenGLコンテキスト作りたいだけなら
適当にその辺のドキュメントを読め

431:デフォルトの名無しさん
13/03/04 21:32:28.13
DirectXおすすめ
DirectX使えばOpunGLが糞だと分かる

432:デフォルトの名無しさん
13/03/04 21:35:12.58
>>431
レイヤ違い&スレ違い&キチガイ
去れ

433:デフォルトの名無しさん
13/03/05 00:35:12.23
DirectXがそんなに素晴らしいものなら任天堂やソニーのゲーム機とか
AndroidやアップルのOSにも採用されてるはずだわ

434:デフォルトの名無しさん
13/03/05 00:41:39.24
素晴しいものこそが採用されるなんて幻想は捨てたほうがいい
DirectXが素晴らしいのかどうかは置いといて

435:デフォルトの名無しさん
13/03/05 07:53:26.17
DirectXなんて素晴らしくないよ、普通レベル
但しOpenGLは産廃レベル

436:デフォルトの名無しさん
13/03/05 08:51:04.96
いつのOpenGLの話をしてるんだw
今の4.2系列はかなりマシだぞ

437:デフォルトの名無しさん
13/03/05 14:26:26.12
>>430
demo の64kとかを作るために容量削ろうと思ってるんですが、
初めはglut込みで勉強して、
後から使わないように変更するって方法がよさそうですかね?

438:デフォルトの名無しさん
13/03/05 21:09:38.93
これからの時代は、AVXとOpenCLで自力レイトレだよ!

OpenGLだのDirectXだのなんて、しょせんは光の「現実」をまるで無視したごまかしだからね

439:デフォルトの名無しさん
13/03/05 21:18:19.37
光の「現実」って、電磁波のシミュレートか

もうリアルタイムでできる時代なのかぁ

440:デフォルトの名無しさん
13/03/05 21:53:38.61
レイトレは量子力学的に光の現実じゃないだろ・・・

441:デフォルトの名無しさん
13/03/05 22:47:07.26
まぁ、レイトレが光の現実とは言ってないけどね。
フォトンマッピングとか言えばいいのか?

442:デフォルトの名無しさん
13/03/05 22:51:34.60
ぷっ

443:デフォルトの名無しさん
13/03/05 22:57:33.74
レンズフレアとかブルームって、レイトレでどうやってシミュレートするの?
>>441 の言うフォトンマッピングでもいいけど。

まだまだとても現実的な時間でシミュレートできるとは思えん。
もちろん OpenGL や DirectX などが普通にリアルタイムで処理している
光の「現実」をまるで無視したごまかし映像より良く見えないと意味が無いし。

444:デフォルトの名無しさん
13/03/05 23:00:49.40
現実の光景だって脳がシミュレートした結果なんだからこだわっても仕方なくね

445:デフォルトの名無しさん
13/03/05 23:01:55.91
>>441
量子力学に弱いならもうそれ以上はやめた方がいい
フォトンマッピングじゃ二重スリットすら現実に沿ってレンダリング出来ないだろ

446:デフォルトの名無しさん
13/03/05 23:06:22.62
glBlitFramebuffer()とかの"blit"ってそういう英単語があるのかと思ってたら
BLock Image Transferの略だったのか。今知った

447:デフォルトの名無しさん
13/03/05 23:22:43.14
iが入ってるのは珍しいな
よくあるのはBltでBLock Transferの略っていうのだけど

448:デフォルトの名無しさん
13/03/06 10:16:46.67
>>434
全く同意
民主党ですら政権とれたくらいだし
広告代理店とつるんで宣伝する能力の方が大きい
要はステマ

449:デフォルトの名無しさん
13/03/10 02:25:43.78
フォトンマッピングも広い意味でレイトレに属するけど、全部光線光学で処理しているから波動光学的、量子光学的な現象はそのままではシミュレートできない。
でも日常的な情景のほとんどは光線光学でリアルに表現できるし、分散や干渉、回折のような波動光学的エフェクトもモデル化次第である程度は表現可能。

450:デフォルトの名無しさん
13/03/10 09:43:55.26
光の基本的要素である波長を扱ってない時点でお察しくださいとしか

451:デフォルトの名無しさん
13/03/10 10:39:14.84
薄膜で虹が出たら格好良いね

452:デフォルトの名無しさん
13/03/10 11:28:28.28
光速も無視してるよね。あと重力とか。

453:デフォルトの名無しさん
13/03/10 12:22:45.56
重力に関しては光子は質量ゼロとされてるしあったとしても無視できるんじゃね?
強いて言えばルミネセンスにおけるエネルギー変換で関係するくらい?

いずれにしてもOpenGLがカバーする範疇でないし
GPGPUとしてシミュレートするにしても
当分物理モデルで頑張るよりビヘイビアモデルのほうが
「それらしい」結果が得られるのは間違いない

454:デフォルトの名無しさん
13/03/10 12:41:00.87
重力レンズでぐぐ

455:デフォルトの名無しさん
13/03/10 14:17:26.50
重力レンズは光というより空間が歪んだ結果だから
非ユークリッド空間(リーマン幾何学?)を扱うところから議論しないといけないんでね?

空間が歪むような質量と日常的な物体の質量を
単精度で同時に扱うのは工夫が要るだろうし
最終的な可視化部分以外でOpenGLを使うメリットはないわな

456:デフォルトの名無しさん
13/03/13 17:17:20.90
GeForce GTX TITAN が最強すぎる件

457:デフォルトの名無しさん
13/03/13 17:28:56.60
知るかボケ

458:デフォルトの名無しさん
13/03/14 16:17:17.27
>>299
必要な配列の大きさの分mallocするまでROMな^^

459:デフォルトの名無しさん
13/03/14 20:24:37.12
>>456
あの価格で、Teslaに近い倍精度浮動小数点演算性能を持っているところが個人的にイイ。

460:デフォルトの名無しさん
13/03/15 18:50:17.88
一般相対論扱うならテンソル方程式を解かせるという基地外じみた事になる
しかも日常的なものなら光速も重力も殆ど影響しないという

461:デフォルトの名無しさん
13/03/15 19:14:15.83
非日常を描くゲームもある

462:デフォルトの名無しさん
13/03/15 19:53:15.19
高校生がセックスするエロゲーとか非現実的過ぎるよな

463:デフォルトの名無しさん
13/03/15 19:54:26.51
家具屋姫

464:デフォルトの名無しさん
13/03/15 20:36:33.10
>>462
俺が高校生だった時は、俺以外はみんな普通にセックスしてたぞ

465:デフォルトの名無しさん
13/03/15 21:33:10.91
>>464
ホモですか?

466:デフォルトの名無しさん
13/03/15 23:02:49.46
ここにいる性欲猿は在日朝鮮人

467:デフォルトの名無しさん
13/03/16 04:22:52.61
愚かなフラグメントよ・・・

468:デフォルトの名無しさん
13/03/17 21:37:27.57
URLリンク(www.youtube.com)

469:デフォルトの名無しさん
13/03/17 21:42:34.94
DirectX最高!OpenGLは糞!

470:デフォルトの名無しさん
13/03/17 21:54:47.31



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