X



OpenGL/Vulkanスレ Part22©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん 転載ダメ©2ch.net
垢版 |
2015/08/27(木) 18:12:51.54ID:VxmGCqDu
クロスプラットフォームの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/
0280デフォルトの名無しさん
垢版 |
2016/05/27(金) 14:09:39.83ID:5/CmsdlJ
>>279
GL_EXT_convolutionとかGL_ARB_imagingが無いなら使えない

つかglDisableするなら別に使えなくてもいいじゃない
0281デフォルトの名無しさん
垢版 |
2016/05/27(金) 14:30:29.08ID:UpqEF0dP
>>280
レス有難う
Linux版のOpenToonzで落ちるところを探ってて行き当たったので
GL_EXT_convolutionとかGL_EXT_histogramのifdefで囲ってあるようですが上手く判定できていないのかな
もうちと調べてみます
0282デフォルトの名無しさん
垢版 |
2016/05/27(金) 14:42:52.68ID:fvoGjXwU
>>281
それらがdefineされてるかどうかとお前の使ってるGPUがそれらをサポートしてるかどうかは別の話だから
0284デフォルトの名無しさん
垢版 |
2016/06/03(金) 20:26:38.31ID:hF5p/WFD
OpenGL(ES)のバージョンを指定で使いたいんだけど、
getコンテキストなんたらで、バージョン指定すりゃいいの?
2.0指定してみたけど、読み出したら3.0になってるんだが・・・
0285デフォルトの名無しさん
垢版 |
2016/06/03(金) 20:43:22.41ID:0Rj+QG2p
>>284
2のプログラムそのまま動くから3で問題ないよ
0287デフォルトの名無しさん
垢版 |
2016/06/05(日) 16:37:43.32ID:vQseBiFc
OpenGLで単純な直線・ドット・四角形の描画を実行すると
ドライバ(ビデオカード?)によって同じ座標値を与えても描画結果が異なるみたいなんだけど
そういうもんなの?

環境依存しまくりで頭抱える
0288デフォルトの名無しさん
垢版 |
2016/06/05(日) 16:40:06.35ID:J5Uoisn/
そういう話がなくはないけど、そこまで単純なモノだったらなにかコーディングが間違ってそう
0290デフォルトの名無しさん
垢版 |
2016/06/06(月) 02:12:48.61ID:etHtvK3t
>>287
斜線が途中で微妙に1ドット違う結果になったのを確認した事はあったけど
アルゴリズムとかモバイルだと精度も違うから同じ結果にならないのも納得出来る
けど困るほどズレるかね?
0292デフォルトの名無しさん
垢版 |
2016/06/06(月) 07:37:17.36ID:Y6IHoxrC
Vertex2d指定で14x14の小さい丸に見立てた八角形を描こうとしたら形が歪んで
ミスが見つけられなかったから他の環境で実行したら違う形にゆがんだので
テスト用にL字型の線分を描かせてみたら違うピクセルが抜けたりと
ぶっちゃけ斜め要素のない四角形以外はおかしかったです
0294デフォルトの名無しさん
垢版 |
2016/06/07(火) 13:27:04.82ID:irsyXiHg
>>292
それだけだと何とも言えないけどZテスト有効にしてZ値込みで描画してたりすんじゃないの?
0295デフォルトの名無しさん
垢版 |
2016/06/07(火) 13:28:59.61ID:irsyXiHg
>>292
あーVertex2dって書いてあるか…すまん
だとしたらトライアングルストリップの指定がおかしいかぐらいか
どっちにしろそこまで歪むなんて考えられん
0297デフォルトの名無しさん
垢版 |
2016/06/09(木) 22:51:32.59ID:Z2ZBFZUW
GLSLのShader Storage Buffer Objectで質問だけど、
これを関数の引数に渡すのってどう書くの?

layout(std140,binding=0) buffer _a {
writeonly vec4 a[];
};

layout(std140, binding=1) buffer _b {
readonly vec4 b[];
};

があって、_bの内容を_aにコピーできるような一般的な関数を作る場合に
引数の型がどうなるのかがわかりません。
0298デフォルトの名無しさん
垢版 |
2016/06/16(木) 19:35:08.66ID:Sexkwk5r
eglCreateSyncKHRとか、KHR付いた拡張使いたいんだけど、
なんか前提条件ある?
試したらEGL_NO_SYNC_KHRしかかえって来ない、これって駄目って事だよな?

もうひとつ、この手の機能はglFinishとかの代用って解説あるけど、
glutとか使わない生のGLES使ってる分にはeglswapがあるから意味無い?
0305デフォルトの名無しさん
垢版 |
2016/07/02(土) 19:55:01.85ID:ZiIDTaS+
環境を作る側に行く可能性が無い人にとってはね。
0308デフォルトの名無しさん
垢版 |
2016/07/05(火) 21:54:11.70ID:l6bE/62d
>>307
動かない。
全く違う低レイヤーのAPIでGLESのAPIを低レイヤーのVulkanで実装しようという動きがあるぐらい
0309デフォルトの名無しさん
垢版 |
2016/07/05(火) 22:15:52.17ID:+mdcf8kt
Vulkanってそんなむずいの?
https://forums.developer.apple.com/thread/38469

MetalはVulkanよりは色々やってくれて優しいみたいな事が書いてある

MetalがVulkanよりハイレベルで動くなら
他のプラットフォームで動くMetal互換の実装を作るのは可能?

でもプロプライエタリAPIの互換実装なんか誰も作らないか
0310デフォルトの名無しさん
垢版 |
2016/07/06(水) 00:03:57.85ID:zRpS2tef
VulkanのアプリをMetalで動かすレイヤーはある
Metalは絶対消え去る運命にあるのは間違いない
0312デフォルトの名無しさん
垢版 |
2016/07/07(木) 23:12:05.35ID:hGlT+uLz
>>306
なんか勘違いしてそうだけど、環境作る側の「環境」って組み込み機器とかの事だぞ
GPUは無いけどOpenGL ESを動かしたいとかの特殊な状況で役に立つだろう
0313デフォルトの名無しさん
垢版 |
2016/07/07(木) 23:13:23.07ID:hGlT+uLz
ラッパーライブラリを作る側はアプリを作る側とOpenGLからしてみれば同じだよ
0314デフォルトの名無しさん
垢版 |
2016/07/08(金) 12:23:32.11ID:VW0hfFNQ
>>311
そのOpenGLの中身をVulkanにしよう動きが既に出ている
効率を上げないとしんどいインディーがすごく増えたし
スマホゲームにおいてVulkanを積極的にやらんとMetal持ってるiOSに負ける
0315デフォルトの名無しさん
垢版 |
2016/07/08(金) 12:44:15.91ID:UF+RGGyc
>>312
それと、搭載予定のGPUが開発中で実物が無い時に、すでに開発はスタートしてるとかね。
0316デフォルトの名無しさん
垢版 |
2016/07/08(金) 15:17:39.75ID:M+8Itm4Z
>>314
OpenGLをVulkanで実装したところで効率が良くなるとは思えんが…
むしろ間接的になるから効率は悪くなるだろ
OpenGLは仕様上色々ドライバがチェックすべき事が多いからDrawコールが重いんだろう
Vulkanで実装したところでやるべき事は一緒だ
0317デフォルトの名無しさん
垢版 |
2016/07/08(金) 16:12:15.71ID:XUluGpCt
OpenGLはまずコマンドバッファの管理がドライバ任せなのが良くない感じ?

テクスチャや頂点バッファ用のメモリ確保とか転送をどうやるかもドライバ次第だしな
モバイルでglTexSubImage2dがやたら遅いとかよくあった

モバイルだと殆どのGPUがタイルベースだけど
この処理もドライバ任せだし
処理結果を取っておいたりも出来ない
0323名無しさん@そうだ選挙に行こう! Go to vote!
垢版 |
2016/07/10(日) 15:17:11.91ID:SUPEDuXc
>>320
結局実行速度が厳しいスマホだからこそ急いで開発しないとマジでiOSに人取られるからなあ
より負荷の高いゲームでどっちが快適に動くかってのを見せられてしまうとなおさら
0324名無しさん@そうだ選挙に行こう! Go to vote!
垢版 |
2016/07/10(日) 18:01:48.02ID:7bNQZoic
>>322
切り捨てて作ったのがVulkanだろ
0325デフォルトの名無しさん
垢版 |
2016/07/10(日) 21:39:44.73ID:K/z/M4wG
Vulkanは最近のGPUの仕様に合わせて策定されてんだから今後は普通に使われるようになるだろ
時代はどんどん先へ進んでんだよ
プログラマが追い付かなきゃいかんよ
0327デフォルトの名無しさん
垢版 |
2016/07/11(月) 12:43:39.07ID:tFSd98iK
>>326
そう思うなら直接使うの諦めてゲームエンジンとかのミドルウェア使えばいいじゃん。それらが対応してれば恩恵受けれるんだし
0329デフォルトの名無しさん
垢版 |
2016/07/13(水) 21:54:26.00ID:fWwCFzYf
コード的には退化とか言って
ハードの進化がPGのオナニーに帳消しにされてるのが我慢ならない。
クソみたいに遅いなスクリプト言語は禁止せよ
0333デフォルトの名無しさん
垢版 |
2016/07/14(木) 22:30:11.83ID:y2jpUAL1
今まで抽象化されてドライバ任せだったメモリ管理とかが、今後はソフトやプログラマが直接管理しなきゃならないから、
直にはついて行けない奴も大勢いるだろ
というか、エンジンや環境自体を開発しているようなハイエンドな連中以外は環境が整うまで待ちだろ
0337デフォルトの名無しさん
垢版 |
2016/07/15(金) 20:47:56.99ID:+hrWOFBB
今は泥でGLつついてるんだがjavaでVulkanAPIとかパフォーマンス出なそう
まあ遅い言語でチューニングした方が感コツ掴めそうだから完成したらC++に清書か
0339デフォルトの名無しさん
垢版 |
2016/07/15(金) 20:56:33.06ID:NV7zQ3yX
AndroidはAdreno一強だけど500からしか対応しないから今年の最新モデルからだね
PowerVRはかなり古いのから対応してるけどこっちはほぼApple専用だしな…
0341デフォルトの名無しさん
垢版 |
2016/07/15(金) 22:07:21.36ID:kBkiG3Sk
>>339
ハードウェア的にはそこそこ古いものでも対応出来るんだろうがAndroidのSoCベンダーは一度出した製品のドライバー絶対更新しないからな…
Googleすらドライバーのバグを回避するworkaround書いてる程だから
0344デフォルトの名無しさん
垢版 |
2016/07/16(土) 00:26:24.80ID:f/DgtYZl
幸いな事にVulkanはモバイルとデスクトップでAPIに差がないからとりあえずデスクトップで組んでおくのがいいだろうね
0345デフォルトの名無しさん
垢版 |
2016/07/16(土) 00:37:04.46ID:YVZVQkaI
>>342
いや、関係ないだろ
0349デフォルトの名無しさん
垢版 |
2016/07/18(月) 23:16:14.49ID:7760Fm83
流れを見るとJava+OpenGL→Java+Vulkanって話でしょ
当然意味はある
あとバインディングもOpenGLより簡単だろう
VulkanAPIは全てXMLで定義されてるからツールに通して作れるはず
0351デフォルトの名無しさん
垢版 |
2016/07/23(土) 11:51:52.48ID:q2oxmEOv
よくわからないけど
GPUのこと詳しくなればVulkanのほうがわかりやすくなるんじゃね
よくわからないけど
0352デフォルトの名無しさん
垢版 |
2016/07/23(土) 12:49:49.76ID:V4JGvq9g
実際そうだと思う。OpenCLを先にやってたらOpenGLは暗黙の了解みたいなのが多くてわけわからなかった。
0353デフォルトの名無しさん
垢版 |
2016/07/24(日) 10:00:19.87ID:BvjWz3uk
VulkanをJavaに持っていこうとしても
JNIでやり取りする時のコストがでかくて
低オーバーヘッドの意味がなくなるとかない?
0355デフォルトの名無しさん
垢版 |
2016/07/24(日) 13:19:04.93ID:dq+Rqgee
SDKサンプルが上がってこないとわかんないな最初に描画手順のコード?渡して
後は頂点渡すだけみたいな感じなら普通に恩恵あるだろうし
0356デフォルトの名無しさん
垢版 |
2016/07/24(日) 17:20:27.50ID:XV2OXjbQ
複雑なアプリを作ってるとOpenGLはステートを内部でもってるから整合性を保つのが滅茶苦茶面倒になる
Vulkanは外部に置いておけるからその辺は簡単になるだろう
OpenGL→最初簡単だけど後が大変
Vulkan→最初大変だけど後が楽
じゃないか?
0358デフォルトの名無しさん
垢版 |
2016/07/25(月) 12:28:39.42ID:bHa5mRdV
nvidiaはPCで不利になるから裏でVulkanを普及させたくない意図が見え隠れしてるけど
OpenGLはいい加減古い
0359デフォルトの名無しさん
垢版 |
2016/07/26(火) 00:57:36.60ID:P70t/zUn
NVIDIAは無理してVulkanに移行しなくてもOpenGLだけでCPU負荷を減らせる拡張を用意してるだけだ
デベロッパーに優しいんだよ
それとゲームはDirectX12の速度の方が重要じゃないか?
0360デフォルトの名無しさん
垢版 |
2016/07/26(火) 01:56:37.46ID:R2cFxA5u
>>359
Windowsしか使わないの?
0365デフォルトの名無しさん
垢版 |
2016/07/27(水) 10:44:58.20ID:MIqC1yVf
スマホは電池の問題があるから意図的に遅くても消費電力少ないCPU使ってるから
PCを超えることはないんだよバーカ
0368デフォルトの名無しさん
垢版 |
2016/07/27(水) 14:24:40.83ID:CeyxgAlj
AndroidのOpenGLESは正直無茶苦茶で完全にiOSに敗北してるからさっさとVulkanラッパーに移行したい
0369デフォルトの名無しさん
垢版 |
2016/07/27(水) 17:57:49.91ID:aSOycJoj
ChromeOSを電話に乗せればよかったんじゃと思う泥は急こしらえっていうか雑だね嫌いじゃないが
0370デフォルトの名無しさん
垢版 |
2016/07/27(水) 22:46:27.42ID:+xrdoiGB
>>368
Vulkanの薄いAPIすら心配なレベルだからなぁ…
0371デフォルトの名無しさん
垢版 |
2016/07/27(水) 22:50:44.37ID:0Ef+lpVH
AndroidのOpenGLESが無茶苦茶に思えるのは腐ってるドライバのせいだろ
しかもアップデートもされない
Vulkanではそうならないことを願う
0372デフォルトの名無しさん
垢版 |
2016/07/30(土) 16:49:27.46ID:NnN7Vre0
>>369
ChromeOSに限らずGoogleの出すものは全部雑な感じする
0376デフォルトの名無しさん
垢版 |
2016/08/03(水) 10:22:21.68ID:n1aeLSbX
なんにしろそんな最新ハードまだ持ってないし日本語本もないしOpenGL ES3の方が覚えたい
0377デフォルトの名無しさん
垢版 |
2016/08/08(月) 23:48:34.59ID:k72FOCvw
Vulkan実行すると、OSいきなり落ちたりしない?
コーディングしてて即落ちして萎える。
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況