クロスプラットフォームの3D API OpenGL 及び次世代のローレベルAPI Vulkan に関する話題を扱うスレッド。
現在の最新バージョンは4.5
https://www.opengl.org/
https://www.khronos.org/vulkan
== 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++ 数学ライブラリ
== チュートリアルサイト ==
床井研究室: http://marina.sys.wakayama-u.ac.jp/~tokoi/oglarticles.html
OpenGL de プログラミング: http://wiki.livedoor.jp/mikk_ni3_92/
NeHe: http://nehe.gamedev.net/
Tutorials for OpenGL 3.3 and later http://www.opengl-tutorial.org/
Learning Modern 3D Graphics Programming http://www.arcsynthesis.org/gltut/
== 前スレ ==
OpenGLスレ Part21
http://peace.2ch.net/test/read.cgi/tech/1409581958/
== 関連スレ ==
【O3D】HTML5用 3D API WebGL 【Canvas:3D】
http://peace.2ch.net/test/read.cgi/tech/1308761577/
OpenGL 2.0 専用スレ
http://peace.2ch.net/test/read.cgi/tech/1126268759/
OpenGL/Vulkanスレ Part22©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2015/08/27(木) 18:12:51.54ID:VxmGCqDu
2015/09/20(日) 11:37:36.41ID:W0H8rt0f
OpenGL ESのドライバ実装の違いによる不具合ってどう言うのがあるんだろう
WindowsデスクトップではANGLEに違いを吸収してもらうとして
問題はスマホなんだが
この2つは知ってる
・iOSで勝手にミップマップ用のメモリを確保するバグがあったらしい
・NVIDIAだと他社ドライバではコンパイル出来ないGLSLのプログラムがコンパイル通る
iOS Textures Taking 33% Extra Memory - Stack Overflow
http://stackoverflow.com/questions/9438009/ios-textures-taking-33-extra-memory
>>29
OpenGLみたいにぶ厚い方が
ドライバ依存の部分が多くなって予測不可能な動作をしやすい気がするが
WindowsデスクトップではANGLEに違いを吸収してもらうとして
問題はスマホなんだが
この2つは知ってる
・iOSで勝手にミップマップ用のメモリを確保するバグがあったらしい
・NVIDIAだと他社ドライバではコンパイル出来ないGLSLのプログラムがコンパイル通る
iOS Textures Taking 33% Extra Memory - Stack Overflow
http://stackoverflow.com/questions/9438009/ios-textures-taking-33-extra-memory
>>29
OpenGLみたいにぶ厚い方が
ドライバ依存の部分が多くなって予測不可能な動作をしやすい気がするが
2015/09/20(日) 12:34:08.41ID:9sOZdp6w
異なるハードウェアの差異はOpenGLのレイヤーで吸収
それ以上に低層で扱いたい場合はVulkan
それ以上に低層で扱いたい場合はVulkan
2015/09/20(日) 14:57:05.05ID:LJD7mjJ9
>>30
自分が当たったのは
Adreno 205でdiscardの後にtexture使うとOSごとクラッシュ
Adreno320でUBOの変数をそのまま計算に使用するとshaderコンパイル時にアプリクラッシュ(なぜか一時変数に代入してから使用するとクラッシュしない)
Adrenoはエラーログ出さずにすぐ死ぬからマジでデバッグが地獄
しかも今Androidで一番使われてるシリーズ
ほかはここに色々
ttp://cpplover.blogspot.jp/2013/09/dolphinopengl.html?m=1
薄かろうがAdrenoがまともなドライバを作れるとは思えない
自分が当たったのは
Adreno 205でdiscardの後にtexture使うとOSごとクラッシュ
Adreno320でUBOの変数をそのまま計算に使用するとshaderコンパイル時にアプリクラッシュ(なぜか一時変数に代入してから使用するとクラッシュしない)
Adrenoはエラーログ出さずにすぐ死ぬからマジでデバッグが地獄
しかも今Androidで一番使われてるシリーズ
ほかはここに色々
ttp://cpplover.blogspot.jp/2013/09/dolphinopengl.html?m=1
薄かろうがAdrenoがまともなドライバを作れるとは思えない
2015/09/21(月) 00:42:42.41ID:Kj2opw9V
2015/09/21(月) 01:27:50.66ID:xJnGLVr2
2015/09/21(月) 06:53:50.45ID:14VyAGI9
2015/09/21(月) 19:09:44.31ID:0lL32CsL
しかもモバイルのドライバ更新されないからな
Nexus5使ってるけどOSの更新はされてるけどドライバのバグずっとそのまま
まぁ、AndroidはOSの更新すらされないデバイスだらけだから一部の端末だけ更新されて新たなバグ埋め込まれても困るけど
Nexus5使ってるけどOSの更新はされてるけどドライバのバグずっとそのまま
まぁ、AndroidはOSの更新すらされないデバイスだらけだから一部の端末だけ更新されて新たなバグ埋め込まれても困るけど
2015/09/22(火) 15:49:19.14ID:FtZHMHGY
Vulkanはドライバーがシェーダーをコンパイルする必要がないから
それだけでも安定性は増すはず
それとkhronos自体がデバッグしやすくする為のツールを作ったりしてるから期待できる
当然GPUの状態を取得する為のAPIも追加されてるはず
あとドライバがアプリが想定しているバージョンより古いと自動的にダウンロードして
更新するみたいな事をするとチラッと見た
それだけでも安定性は増すはず
それとkhronos自体がデバッグしやすくする為のツールを作ったりしてるから期待できる
当然GPUの状態を取得する為のAPIも追加されてるはず
あとドライバがアプリが想定しているバージョンより古いと自動的にダウンロードして
更新するみたいな事をするとチラッと見た
2015/09/24(木) 00:46:56.91ID:r/3RmciX
https://www.khronos.org/assets/uploads/developers/library/2015-cedec/Vulkan-CEDEC2015-DMP_Aug15.pdf
VulkanのOverviewが日本語に翻訳されてた
しかもVulkanAPIの解説付きだからこれでVulkanの全貌が把握出来る
VulkanのOverviewが日本語に翻訳されてた
しかもVulkanAPIの解説付きだからこれでVulkanの全貌が把握出来る
2015/09/24(木) 01:10:48.32ID:r/3RmciX
ドキュメント読むとハードルめちゃ高いなー
早くVulkanのプログラムしたいけどGPUも買い換えないといけないのかなぁ…
NVIDIAだけど既存のGPUもサポートしてくれる事を祈る
早くVulkanのプログラムしたいけどGPUも買い換えないといけないのかなぁ…
NVIDIAだけど既存のGPUもサポートしてくれる事を祈る
2015/09/24(木) 02:47:19.21ID:F12mSHo9
2015/09/24(木) 02:52:10.66ID:F12mSHo9
http://peace.2ch.net/test/read.cgi/tech/1440666771/38
38 名前:デフォルトの名無しさん[sage] 投稿日:2015/09/24(木) 00:46:56.91 ID:r/3RmciX [1/2]
https://www.khronos.org/assets/uploads/developers/library/2015-cedec/Vulkan-CEDEC2015-DMP_Aug15.pdf
VulkanのOverviewが日本語に翻訳されてた
しかもVulkanAPIの解説付きだからこれでVulkanの全貌が把握出来る
なんとなくVulkanもMaxwell2と相性悪そうな気がする
38 名前:デフォルトの名無しさん[sage] 投稿日:2015/09/24(木) 00:46:56.91 ID:r/3RmciX [1/2]
https://www.khronos.org/assets/uploads/developers/library/2015-cedec/Vulkan-CEDEC2015-DMP_Aug15.pdf
VulkanのOverviewが日本語に翻訳されてた
しかもVulkanAPIの解説付きだからこれでVulkanの全貌が把握出来る
なんとなくVulkanもMaxwell2と相性悪そうな気がする
2015/09/24(木) 02:52:42.00ID:F12mSHo9
誤爆
2015/09/27(日) 17:17:31.03ID:UvPGCZi1
テクスチャフォーマットについて
2Dで表示するものは各8bitのRGBA(アルファ不要ならRGB)
3Dや多少の見た目の劣化が許容できるものはDXT1,3,5
こんな感じの使い分けがベターだと思ってるんだけど
詳しく解説されてるの見たことがないのでより良い選択肢があれば教えて欲しい
2Dで表示するものは各8bitのRGBA(アルファ不要ならRGB)
3Dや多少の見た目の劣化が許容できるものはDXT1,3,5
こんな感じの使い分けがベターだと思ってるんだけど
詳しく解説されてるの見たことがないのでより良い選択肢があれば教えて欲しい
4443
2015/09/27(日) 17:20:16.60ID:UvPGCZi1 補足
動作環境はwindowsのデスクトップPCを想定してます
動作環境はwindowsのデスクトップPCを想定してます
2015/09/27(日) 23:51:56.33ID:hiI0CHA6
>>43
αの扱いによってDXT1〜5を選択するだけで素のRGBAは有り得ない
αの扱いによってDXT1〜5を選択するだけで素のRGBAは有り得ない
47デフォルトの名無しさん
2015/10/16(金) 10:10:43.89ID:JZSeEXRz2015/10/16(金) 10:32:49.32ID:l04muiBk
MMDはアプリだから表示なんかできないと思うんだが…
openglで表示してみた、というのは自分で何かopenglのプログラムを作ったという事かな?
だとすると表示が落胆ものなのは、完全に>>47 自信のスキルがアレなせいだと思う
openglで表示してみた、というのは自分で何かopenglのプログラムを作ったという事かな?
だとすると表示が落胆ものなのは、完全に>>47 自信のスキルがアレなせいだと思う
2015/10/16(金) 10:38:04.32ID:+fJvXx/R
50デフォルトの名無しさん
2015/10/17(土) 09:57:29.33ID:o8rjpUAD なぜかあにまさ式だとうまくできました、
ブログはHTMLが面倒なのでげ製作でやっときます
ブログはHTMLが面倒なのでげ製作でやっときます
51デフォルトの名無しさん
2015/10/23(金) 09:31:24.55ID:I0uni5nx ☆ 日本の核武装は早急に必須ですわ。☆
総務省の『憲法改正国民投票法』、でググってみてください。
日本国民の皆様方、2016年7月の『第24回 参議院選挙』で、日本人の悲願である
改憲の成就が決まります。皆様方、必ず投票に自ら足を運んでください。お願い致します。
総務省の『憲法改正国民投票法』、でググってみてください。
日本国民の皆様方、2016年7月の『第24回 参議院選挙』で、日本人の悲願である
改憲の成就が決まります。皆様方、必ず投票に自ら足を運んでください。お願い致します。
2015/10/23(金) 14:20:58.65ID:M7dNli7I
Lat式は表示方法自体がMMDデフォの描画プロセスを完全再現しないと
とんでもない事になる特殊なモデリングだから仕方なし
とんでもない事になる特殊なモデリングだから仕方なし
2015/10/25(日) 13:13:26.63ID:vAKl7Lz8
2D描画をステート変更無しで高速に行えて
少し古い環境でも動くのってTexture Atlasだけ?
ES3の2D Array Textureって同じサイズのテクスチャじゃないと駄目みたいだし
代わりになりそうなのはBindless Textureだけど普及してないし
当分Texture Atlasを使うしかなさそう
少し古い環境でも動くのってTexture Atlasだけ?
ES3の2D Array Textureって同じサイズのテクスチャじゃないと駄目みたいだし
代わりになりそうなのはBindless Textureだけど普及してないし
当分Texture Atlasを使うしかなさそう
2015/10/25(日) 13:14:32.16ID:vAKl7Lz8
Texture Atlasの手法だと色が混ざっちゃうからミップマッピング出来ないのだけ不便
2015/10/25(日) 15:10:32.81ID:MYRFLLoW
2D描画でミップマップなんて使わないだろ
奥行きがある多重スクロールとかかよ
奥行きがある多重スクロールとかかよ
2015/10/26(月) 19:03:55.27ID:NExmEVH8
マップチップ的なものならES3.0が使えるならArray Textureでいけるし
無くても1/4までなら画質は大丈夫
それ以外は諦める
無くても1/4までなら画質は大丈夫
それ以外は諦める
2015/10/26(月) 23:26:16.82ID:h8FGDwiK
同じシーンを描画し続けてて急に負荷が高くなる場合ってどんなところ疑うべき?
起動して10秒くらいまでは軽いんだけど、突然重くなってその状態を維持し続けるっていう…
ごちゃごちゃになってるプログラム整理しながら間違い探してるんだけどWGLとかシェーダとか色々初体験でどこが悪いやら…
起動して10秒くらいまでは軽いんだけど、突然重くなってその状態を維持し続けるっていう…
ごちゃごちゃになってるプログラム整理しながら間違い探してるんだけどWGLとかシェーダとか色々初体験でどこが悪いやら…
2015/10/26(月) 23:38:52.89ID:2nnyXhaR
多分、色々と食い潰してる。
どうでもいいが「重い」とか言っときながら、まさかプロセスやリソースの状態も
調べてないとか言い出すなよ?
どうでもいいが「重い」とか言っときながら、まさかプロセスやリソースの状態も
調べてないとか言い出すなよ?
2015/10/26(月) 23:48:03.22ID:yMfxLlxA
リッチなデバッガ、プロファイラのある環境で作ってEmscriptenで変換
2015/10/26(月) 23:51:14.09ID:U+ZA45+s
あ、WGLってWebGLじゃなくてWinGLの事か。
2015/10/27(火) 00:20:29.74ID:MDUv4Uu+
2015/10/27(火) 00:46:01.74ID:XDD7LrKE
2015/10/27(火) 00:48:11.27ID:XDD7LrKE
これとは無関係
てか普通WGLをWinGLって書く奴は見たことねえ
Windows ゲーム作成用ライブラリ for Win16/32
http://www.vector.co.jp/soft/win31/prog/se028202.html
てか普通WGLをWinGLって書く奴は見たことねえ
Windows ゲーム作成用ライブラリ for Win16/32
http://www.vector.co.jp/soft/win31/prog/se028202.html
2015/10/27(火) 11:55:48.66ID:to74HYda
WindowsでOpenGLするならNVIDIAだよな?
AMDは使ってないから分からんが多分大丈夫だろうけど
IntelのWindows用OpenGLドライバは腐ってる
AMDは使ってないから分からんが多分大丈夫だろうけど
IntelのWindows用OpenGLドライバは腐ってる
2015/10/27(火) 13:15:44.86ID:gPvV5cn8
腐ってるとこを上手に避けでも駄目なの?
2015/10/27(火) 13:47:32.50ID:S+IQphBI
どこが腐っているか分かるのであればどうぞ
2015/10/28(水) 21:53:41.91ID:gVmYV2et
2015/10/29(木) 20:41:18.37ID:5gekmfvH
Vulkanのことを考えるとATIAMD一択
2015/10/29(木) 20:49:56.74ID:FU1wYuSd
なんか有利あんだっけ?
2015/10/29(木) 20:54:28.65ID:M5LgoQD5
AMDのMantleが元になってるからな。
これでAMDが負けたら日本人が日本語クイズでアメリカ人に負けるようなもの
これでAMDが負けたら日本人が日本語クイズでアメリカ人に負けるようなもの
2015/10/30(金) 09:47:52.19ID:KICymkbE
Vulkanは超シンプルなAPIだからハード性能がダイレクトに効いてくる
当然AMDのハードが良かったらVulkanで勝てるだろうが別に有利不利とかはない
当然AMDのハードが良かったらVulkanで勝てるだろうが別に有利不利とかはない
2015/10/30(金) 19:15:23.10ID:kIMI498u
文字列をテクスチャに描画するのにFBOを使っていたんだが
PCだと爆速なのにAndroid機 (Snapdragon 801)だと10〜20個ぐらいでもう60fps出せないぐらい遅かった
CPUで画像をコピーするのを避けていたんだが、FBOの切り替えやその他のレンダリングステートの変更、ドローコールが思ったより高価だったようだ
テクスチャを通さず画面に直接描けばそんな遅くないかもしれないが
設計的にそうも行かない事情があった
これはCPU側で全てテクスチャに使う画像を作って送るしかないんだろうか
PCだと爆速なのにAndroid機 (Snapdragon 801)だと10〜20個ぐらいでもう60fps出せないぐらい遅かった
CPUで画像をコピーするのを避けていたんだが、FBOの切り替えやその他のレンダリングステートの変更、ドローコールが思ったより高価だったようだ
テクスチャを通さず画面に直接描けばそんな遅くないかもしれないが
設計的にそうも行かない事情があった
これはCPU側で全てテクスチャに使う画像を作って送るしかないんだろうか
2015/10/30(金) 23:18:37.32ID:RKkoxr6k
PowerVR系のTBDRが文字描画と相性が悪いというのは有名だけど
Snapdragon(Adreno)だと何だろうね
そのうちフォントのラスタライズもGPUで行う時代になるのかね
ラスタライザの実装自体は難しくないとしても
結局フォントデータが日本語だと1書体で数MB〜数十MBだからなぁ
Snapdragon(Adreno)だと何だろうね
そのうちフォントのラスタライズもGPUで行う時代になるのかね
ラスタライザの実装自体は難しくないとしても
結局フォントデータが日本語だと1書体で数MB〜数十MBだからなぁ
2015/10/31(土) 10:55:57.04ID:InQpe4ua
Android機なんてPCの10分の1程度の性能なんだからそんなもんだろ
2015/10/31(土) 12:10:59.00ID:8Bda5lAI
言いたいことは分かるがAndroidとPCて比較できる関係にないだろ
それにデスクトップPCの時代は過ぎたし
それにデスクトップPCの時代は過ぎたし
2015/10/31(土) 12:39:03.93ID:InQpe4ua
OpenGL ESはデスクトップで動くんだから完全に比較できるでしょ
あとデスクトップPCの時代が過ぎたって意味が分からん
Steamの同時接続ユーザー数がピーク時に1150万人以上を記録とか言ってるし
むしろ増え続けてる
あとデスクトップPCの時代が過ぎたって意味が分からん
Steamの同時接続ユーザー数がピーク時に1150万人以上を記録とか言ってるし
むしろ増え続けてる
2015/10/31(土) 12:43:38.96ID:uu+i9WLB
日本ではPCは終わってるかもね。
いや、始まってすらいないか。
PC使えない老害と新卒新入社員が問題になる国だもんな。
いや、始まってすらいないか。
PC使えない老害と新卒新入社員が問題になる国だもんな。
2015/10/31(土) 14:54:45.53ID:InQpe4ua
問題って…どんだけネットに洗脳されてんだ…
仕事がPCが出来る出来ないだけで方が付くんであれば楽なもんだな
仕事がPCが出来る出来ないだけで方が付くんであれば楽なもんだな
2015/10/31(土) 18:10:18.47ID:2qMna6cK
こんな事書いてあるけどOpenGLのコマンドがすぐに戻って来ないって事は良くあんの?glReadPixelsみたいな結果を得る必要があるコマンドでなくても?
Chromeだと複数のプロセスからのOpenGLコマンドを一つのプロセスでまとめて実行してるようだ
http://www.chromium.org/developers/design-documents/gpu-command-buffer
The #3 goal is speed. Speed is why a command buffer implementation was chosen.
The client can write commands very quickly with little or no communication with the service and only once in a while tell the service it has written more commands.
For example, another implementation could have used a separate IPC for each OpenGL ES 2.0 function but that would arguably be too slow.
The command buffer gets another speed boost because it effectively parallelizes calls into the OS graphics API.
A call like glUniform or glDrawArrays might be a very expensive call but because of the command buffer the client just writes a few bytes into the command buffer and is done.
The GPU process calls the real OpenGL function on another process which effectively makes the program multi-core.
Chromeだと複数のプロセスからのOpenGLコマンドを一つのプロセスでまとめて実行してるようだ
http://www.chromium.org/developers/design-documents/gpu-command-buffer
The #3 goal is speed. Speed is why a command buffer implementation was chosen.
The client can write commands very quickly with little or no communication with the service and only once in a while tell the service it has written more commands.
For example, another implementation could have used a separate IPC for each OpenGL ES 2.0 function but that would arguably be too slow.
The command buffer gets another speed boost because it effectively parallelizes calls into the OS graphics API.
A call like glUniform or glDrawArrays might be a very expensive call but because of the command buffer the client just writes a few bytes into the command buffer and is done.
The GPU process calls the real OpenGL function on another process which effectively makes the program multi-core.
2015/10/31(土) 19:11:13.20ID:ylRFVIHZ
コマンドが戻って来る来ないってのがよく分からないけど
処理が遅くなるって事なら前のコマンドが解決されてなかったりすれば後のコマンドもその分待たされるんじゃないの?
処理が遅くなるって事なら前のコマンドが解決されてなかったりすれば後のコマンドもその分待たされるんじゃないの?
2015/10/31(土) 19:40:24.93ID:8Bda5lAI
>>77
そうじゃなく泥タブだってPCといえばPCだしPCの定義って何って話
MacはPCじゃないらしいけどな
Steamのユーザ数とデスクトップPCのシェアは別だよね
それにIntelHDユーザがどれだけいることか
そうじゃなく泥タブだってPCといえばPCだしPCの定義って何って話
MacはPCじゃないらしいけどな
Steamのユーザ数とデスクトップPCのシェアは別だよね
それにIntelHDユーザがどれだけいることか
2015/11/01(日) 02:26:33.11ID:Pwz2JCQ5
スマホから見ればPCはすべてを導いてくれる神様なんだからPC使えないんだったら黙って崇めとけ
2015/11/03(火) 14:21:40.06ID:V53UaXPp
>>80
戻ってこないなんて書いてあるか?
ChromeとかブラウザのWindows版は全部WebGL(OpenGL)→DirectXに変換して実行してるから
その為に一旦自前のコマンドバッファに溜め込んでるよって事でしょ
その自前のコマンドバッファはマルチコア対応だから軽いよって書いてある
実際ANGLE使わずにOpenGLを直に使うようにするとCPU負荷が少し増える
戻ってこないなんて書いてあるか?
ChromeとかブラウザのWindows版は全部WebGL(OpenGL)→DirectXに変換して実行してるから
その為に一旦自前のコマンドバッファに溜め込んでるよって事でしょ
その自前のコマンドバッファはマルチコア対応だから軽いよって書いてある
実際ANGLE使わずにOpenGLを直に使うようにするとCPU負荷が少し増える
2015/11/03(火) 23:10:42.25ID:ltuo8JAD
別にANGLE限定とは書いてない
互換性やセキュリティの問題はWindows以外でも存在するし
複数のスレッドから直接OpenGLのAPIを呼ぶより
アプリ側でAPIコールを纏めて一つのスレッドから呼んだ方が速いとされているのだが
実際にどの程度速度が変わるのかは分からない
ドライバ実装によっても変わるかもしれない
互換性やセキュリティの問題はWindows以外でも存在するし
複数のスレッドから直接OpenGLのAPIを呼ぶより
アプリ側でAPIコールを纏めて一つのスレッドから呼んだ方が速いとされているのだが
実際にどの程度速度が変わるのかは分からない
ドライバ実装によっても変わるかもしれない
2015/11/04(水) 11:22:45.65ID:4VARUgDB
よく見たらWebGLの話しではなかったな…
HTMLレンダラーとかGPU使って描画する時の話しだったな
そもそもOpenGLはマルチスレッドに対応してないから複数スレッドからAPIをコール出来ない
複数スレッドからDrawコールをしたい場合は自前のコマンドバッファが必須だな
HTMLレンダラーとかGPU使って描画する時の話しだったな
そもそもOpenGLはマルチスレッドに対応してないから複数スレッドからAPIをコール出来ない
複数スレッドからDrawコールをしたい場合は自前のコマンドバッファが必須だな
2015/11/04(水) 13:18:18.56ID:3HqGJBgB
2015/11/08(日) 18:44:22.99ID:POF/ID6D
質問させてください。
100 millions個以上の三角形ポリゴンを60fpsで描画したいのですが
一番いいソフトウェア上の組み合わせって何でしょうか。
Windows10(64bit),,GTX750TI,i5,
VS2010で64bitビルド,freeglut2.8
描画にPBO用いてglDrawElements利用
で試したのですが,25 millions個の三角形メッシュで<1FPS程度です。
どうもfreeglutはGDI用いていてそれがボトルネックになっている気がしています。
レス読む限りWGLで書いていくのがよさそうな気がしましたがお知恵下さい。
100 millions個以上の三角形ポリゴンを60fpsで描画したいのですが
一番いいソフトウェア上の組み合わせって何でしょうか。
Windows10(64bit),,GTX750TI,i5,
VS2010で64bitビルド,freeglut2.8
描画にPBO用いてglDrawElements利用
で試したのですが,25 millions個の三角形メッシュで<1FPS程度です。
どうもfreeglutはGDI用いていてそれがボトルネックになっている気がしています。
レス読む限りWGLで書いていくのがよさそうな気がしましたがお知恵下さい。
2015/11/08(日) 19:25:23.39ID:m4MzXsh9
>>88
なってません
なってません
2015/11/08(日) 20:18:26.44ID:WIQI5dDH
まともなエンジニアなら
ソフトウェアの組み合わせの前に
100 millions個以上の三角形ポリゴンを
60fpsで描画しないで済む方法を検討すると思うが
要件をはっきりさせるべき
ソフトウェアの組み合わせの前に
100 millions個以上の三角形ポリゴンを
60fpsで描画しないで済む方法を検討すると思うが
要件をはっきりさせるべき
2015/11/08(日) 22:02:27.62ID:1RMtYxbs
>100 millions個以上の三角形ポリゴンを
>60fpsで描画しないで済む方法を検討すると思うが
要件は100 millions個以上の三角形ポリゴンを 60fps以上でです
これを回避出来ないか答えられません。済みませんが
>60fpsで描画しないで済む方法を検討すると思うが
要件は100 millions個以上の三角形ポリゴンを 60fps以上でです
これを回避出来ないか答えられません。済みませんが
2015/11/08(日) 22:41:34.77ID:m4MzXsh9
どんな解像度でレンダリングしようとしてんのかしらんけど8Kディスプレイでもピクセル数3300万だぞ
1億ポリゴンのうちどれだけ描画されるのか考えた?
その要件が絶対というならそのバカな要件を精々頑張ってくれ
1億ポリゴンのうちどれだけ描画されるのか考えた?
その要件が絶対というならそのバカな要件を精々頑張ってくれ
2015/11/08(日) 23:20:50.59ID:15p3122r
ま、タキオン粒子の研究でもした方が良さそうだね
2015/11/09(月) 00:18:42.73ID:qCcvicZl
クラスター化したりGPU積むなりして分散レンダリング、通信して集めて重畳するくらいかね
2015/11/09(月) 03:37:54.95ID:e9NKrZa6
すみません、普段MAX/MSP以外のプログラミングには全然疎くて
それでMAXでOpenGLを使うときの質問なのですが
nurbs曲線を引きたいんです。
そこでjit.gl.nurbsオブジェクトで、曲面でなく曲線を描きたいのですが、
制御点(のx,y,z座標)を予め設定するには、どうしたらいいですか?
ググっても殆ど出てこないし、ネット上のチュートリアルには
jit.gl.nurbsの使い方なんて載ってません。
ヘルプを見ても、どうも最初に設定している様子もないので、困っています。
どなたか助けてください・・・
それでMAXでOpenGLを使うときの質問なのですが
nurbs曲線を引きたいんです。
そこでjit.gl.nurbsオブジェクトで、曲面でなく曲線を描きたいのですが、
制御点(のx,y,z座標)を予め設定するには、どうしたらいいですか?
ググっても殆ど出てこないし、ネット上のチュートリアルには
jit.gl.nurbsの使い方なんて載ってません。
ヘルプを見ても、どうも最初に設定している様子もないので、困っています。
どなたか助けてください・・・
2015/11/09(月) 03:41:04.72ID:e9NKrZa6
DTM板のMAXスレとマルチですみません。
2015/11/09(月) 17:34:15.03ID:SvTFDp+i
Maliでは各FBOのバインドは1フレーム1回までにしろって書いてあるけど
glClear()して同じのを使いまわしたのではパフォーマンス低下する?
https://community.arm.com/groups/arm-mali-graphics/blog/2014/04/28/mali-graphics-performance-2-how-to-correctly-handle-framebuffers
Binding each FBO (other than FBO 0) exactly once in each frame, rendering it to completion in a contiguous sequence of API calls.
glClear()して同じのを使いまわしたのではパフォーマンス低下する?
https://community.arm.com/groups/arm-mali-graphics/blog/2014/04/28/mali-graphics-performance-2-how-to-correctly-handle-framebuffers
Binding each FBO (other than FBO 0) exactly once in each frame, rendering it to completion in a contiguous sequence of API calls.
2015/11/09(月) 18:48:25.44ID:+KYSwNrX
>>97
想像だけど1回までにしろといってるのはFBOをアンバインドする時に
そのFBOに対する描画が全部完了するまでブロックが発生したりするからだと思われる
だからglCleare()で使い回すのはパフォーマンスは低下しないでしょ
ただ別にFBO作った方が速いだろうね (レンダリングが並列に実行されるだろうから)
想像だけど1回までにしろといってるのはFBOをアンバインドする時に
そのFBOに対する描画が全部完了するまでブロックが発生したりするからだと思われる
だからglCleare()で使い回すのはパフォーマンスは低下しないでしょ
ただ別にFBO作った方が速いだろうね (レンダリングが並列に実行されるだろうから)
2015/11/09(月) 23:02:58.43ID:2GPWptLo
>クラスター化したりGPU積むなりして分散レンダリング、通信して集めて重畳するくらいかね
これいいですね アイデア頂きです
これいいですね アイデア頂きです
100デフォルトの名無しさん
2015/11/10(火) 16:16:41.90ID:HB2gwhXV 分散レンダリングで60fpsを目指すとかさすがだな
101デフォルトの名無しさん
2015/11/11(水) 00:08:45.71ID:7FoGAeK2 技術的課題がたくさんあって燃えますね
102デフォルトの名無しさん
2015/11/11(水) 13:18:34.30ID:OiFKTRuj レイテンシ問わないならあるいは……
でも並列化が可能なデータなら
クラスタ化の前にできることがあるような……
でも並列化が可能なデータなら
クラスタ化の前にできることがあるような……
103デフォルトの名無しさん
2015/11/16(月) 11:45:42.10ID:69xbdtCO ディファードレンダリングにして各GPUにどのタイルをレンダリングするかを
割り当てれば割と簡単に分散は出来そうだな
ただ頂点処理はかなり重複する事になるから多ポリゴンをレンダリングする
目的には1GPUの時とあまり変わらずに結局向かないと思うよ
割り当てれば割と簡単に分散は出来そうだな
ただ頂点処理はかなり重複する事になるから多ポリゴンをレンダリングする
目的には1GPUの時とあまり変わらずに結局向かないと思うよ
104デフォルトの名無しさん
2015/11/16(月) 14:17:04.85ID:hLMLfj5T 4.2からglMemoryBarrier増えてるけどこれってComputeShader使う場合のみ
必要って認識であってる?
例えばTransformFeedbackでVBOの頂点情報変形させてから続けてそのVBO使って
通常の描画する場合ってMemoryBarriorしなくても古いVBOのキャッシュで
描画したりはしないよね
必要って認識であってる?
例えばTransformFeedbackでVBOの頂点情報変形させてから続けてそのVBO使って
通常の描画する場合ってMemoryBarriorしなくても古いVBOのキャッシュで
描画したりはしないよね
105デフォルトの名無しさん
2015/11/17(火) 22:11:56.27ID:c4hnI4k1 Radeon R7 200 でVTFしようとしてるんだけど
バーテックスシェーダー内でvec4 col=texture(texture1,texcode0);
してもテクスチャカラーがuv 0,0の位置のしか所得出来ない
フラグメントでは問題無く持ってこれる、ドライバ問題?
バーテックスシェーダー内でvec4 col=texture(texture1,texcode0);
してもテクスチャカラーがuv 0,0の位置のしか所得出来ない
フラグメントでは問題無く持ってこれる、ドライバ問題?
106デフォルトの名無しさん
2015/11/18(水) 01:51:07.68ID:1oX3XtEG >>105
別にマイナーな機能でもないし可能性は低いと思う
最新のドライバにして改善しないなら多分お前のコードにバグがある
テクスチャ周りはミスしやすいから
テクスチャユニットの番号が間違ってないかとか
座標の値がおかしくないかとか
ユニフォームの設定が間違ってないかとか調べ直したほうがいい
別にマイナーな機能でもないし可能性は低いと思う
最新のドライバにして改善しないなら多分お前のコードにバグがある
テクスチャ周りはミスしやすいから
テクスチャユニットの番号が間違ってないかとか
座標の値がおかしくないかとか
ユニフォームの設定が間違ってないかとか調べ直したほうがいい
107デフォルトの名無しさん
2015/11/18(水) 13:29:47.46ID:tmu+VoXJ108デフォルトの名無しさん
2015/11/18(水) 13:39:58.84ID:rijNsXCa シェーダー内で途中でintを経由して値が0になってるとかだろうな
109デフォルトの名無しさん
2015/11/18(水) 21:29:46.73ID:oULSvKA+ シェーダー周りはデバッグが大変で死ねる
110デフォルトの名無しさん
2015/11/20(金) 10:33:54.68ID:z3NP+fee 105の件解決(?)しました
4頂点の単純な板ポリで試してたんだけど四隅が全部黒の値拾っていた、
で
トーラスの頂点数の多い物で試したらキチンと反映していた
UVが1.0の値補完か何かで0.0位置の色を拾ってたくさいw
4頂点の単純な板ポリで試してたんだけど四隅が全部黒の値拾っていた、
で
トーラスの頂点数の多い物で試したらキチンと反映していた
UVが1.0の値補完か何かで0.0位置の色を拾ってたくさいw
111デフォルトの名無しさん
2015/11/20(金) 11:35:21.04ID:SnNAjHh0 >>110
VTFを数値データとして使うなら普通0.5足してピクセル中央をフェッチするんだよ
VTFを数値データとして使うなら普通0.5足してピクセル中央をフェッチするんだよ
112デフォルトの名無しさん
2015/11/20(金) 12:50:56.16ID:z3NP+fee >>111
もしかしてUVの画像位置と合わせて頂点を凸凹させる時も?
もしかしてUVの画像位置と合わせて頂点を凸凹させる時も?
113デフォルトの名無しさん
2015/11/20(金) 13:35:46.41ID:SnNAjHh0114デフォルトの名無しさん
2015/11/20(金) 13:44:41.38ID:z3NP+fee115デフォルトの名無しさん
2015/11/20(金) 13:51:59.28ID:SnNAjHh0116デフォルトの名無しさん
2015/11/20(金) 13:53:30.75ID:z3NP+fee >>115
ありがとう!たすかる
ありがとう!たすかる
117デフォルトの名無しさん
2015/11/23(月) 02:11:18.29ID:A03ya6CB glPolygonOffsetでポリゴンの前後関係を調整するのに環境によって
前後関係が異なる結果になることがあるんだけど 上手い対策とか無いでしょうか?
前後関係が異なる結果になることがあるんだけど 上手い対策とか無いでしょうか?
118デフォルトの名無しさん
2015/11/23(月) 10:05:33.22ID:q/XOO9tQ 上手い対策というのは知らないが
unitsを使わないとか
自前でオフセットを計算しとくとか
そもそもZテストを使わないとか
unitsを使わないとか
自前でオフセットを計算しとくとか
そもそもZテストを使わないとか
119デフォルトの名無しさん
2015/11/23(月) 10:08:58.35ID:q/XOO9tQ あとglDepthRange()を使うというテクニックがあったような
120デフォルトの名無しさん
2015/11/24(火) 10:45:52.65ID:PNMHyUFz121デフォルトの名無しさん
2015/11/26(木) 21:13:44.72ID:FNrtCodv 今までWindowsでDirect3D(9、11)を使ってたんですが、
新たにAndroidでOpenGL ES 2.0を使おうと考えています。
レンダリングした結果をCPU側に戻すのをやりたいんですが、
OpenGL ES 2.0で可能でしょうか?
新たにAndroidでOpenGL ES 2.0を使おうと考えています。
レンダリングした結果をCPU側に戻すのをやりたいんですが、
OpenGL ES 2.0で可能でしょうか?
122デフォルトの名無しさん
2015/11/26(木) 21:59:37.29ID:AB/dbPZm glReadPixelsで読める
が、激遅の場合がある、というよりまず遅いと思ったほうがいい
てかそれくらいググれ
が、激遅の場合がある、というよりまず遅いと思ったほうがいい
てかそれくらいググれ
124デフォルトの名無しさん
2015/12/11(金) 16:33:56.96ID:Xfk/aEIs OpenSceneGraphなんてあるんだ。
始めて知った。
自作のシーングラフライブラリを置き換えようかな。
始めて知った。
自作のシーングラフライブラリを置き換えようかな。
125デフォルトの名無しさん
2015/12/11(金) 16:45:50.46ID:Xfk/aEIs なんだOpenSceneGraphのライセンスはLGPL系か。
GPLは使えない(使いたくない)な。
GPLは使えない(使いたくない)な。
126デフォルトの名無しさん
2015/12/11(金) 17:58:57.42ID:VH+9SPoV GPLとLGPLって内容は大分違うと思うんだが
127デフォルトの名無しさん
2015/12/11(金) 18:06:39.16ID:8KiFs03m GPLって付くだけで怖い
128デフォルトの名無しさん
2015/12/11(金) 19:46:36.96ID:7HdgPmKa 無知は罪だぜ
129デフォルトの名無しさん
2015/12/12(土) 00:13:27.08ID:mfOK7VM0 LGPLは改変せずに使うなら幾ら使っても問題になる事はない
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★5 [BFU★]
- 【インバウンド】中国からの“渡航自粛”…ツアー1000人分の直前キャンセル「キャンセル料は免除してくれ」 ことしいっぱいキャンセルに [1ゲットロボ★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 【芸能】日中関係悪化でエンタメ業界に大ダメージ… JO1の中国でのイベント中止、邦画は公開延期、STARTOアイドルへの影響も [冬月記者★]
- 「国民の憤りを引き起こした」中国側“高市首相発言の撤回改めて要求” [どどん★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- 【悲報】SANA、発言撤回拒否 [769931615]
- 米シンクタンク「アメリカは台湾問題で"あいまい戦略"を取っている。高市早苗はこの方針から逸脱している」 [603416639]
- 岡田克也「軽々しく存立危機事態とか言うべきじゃない」高市早苗「台湾で武力攻撃が発生したらどう考えても日本の存立危機事態」 [931948549]
- お前ら「サクッとオナニーするか」←何分のイメージ?
- ジャーナリストがテレビで解説「台湾問題は高市総理から言ったのではなく、立憲民主が日本の対応可能能力を暴こうとしたから」 [359572271]
- 俺性格悪いなって思った瞬間あげてけ
