OpenGL/Vulkanスレ Part22©2ch.net
レス数が950を超えています。1000を超えると書き込みができなくなります。
クロスプラットフォームの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/ >>891
ID違うだろうから今更だけど、計算回数の違いは、
偏に「アルゴリズム(計算式)の形に起因する計算回数の違い」に依存する。
つまり、アルゴリズムがループかシーケンスかの違いね。
この当たりって専門学校でも普通(一般教養の観点で基礎的)に教える分野だと思ったけど違うのかな。
演算子の数で計算量は決定しない。 演算子は最適化できる。
計算量を決定する因子は、行列の列数と行数であり、その数で決定される。
そういう認識から、16回って書いたんだけど。 >>892
だから何で16回なんだよ…
足し算は無視かよ
足し算も含めて64回だよ 行列演算って並列処理向きだよな
行と列の数が決まってて、それぞれを掛けて足すだけだし、個々の要素が他に影響も与えないから先読みもできる
SIMDとかそういう感じなんだろうけど、1っ個ずつ掛け算して足してって逐次処理でやってるわけじゃないからね
個々の要素を並列でガッと掛け算してガッと足し算するだけだから2ステップで終わる感じ?
専用プロセッサで並列処理してるから行列の要素の数とかほとんど影響なんじゃね?
まぁ、GPUじゃなくてCPU側で計算させてる所はそうじゃないだろうけど >>894
SIMDはガッと掛けてガッと足して1ステップだよ
最近GPUに搭載され始めてるテンソル用の演算器はガッと行列掛けて1ステップだよ
但しFP16に限るが 個人的には逆数などクロック数がかかる演算は
演算器を倍速で動かすなどして
スループットを1にして欲しい >>897
何がたったの1回なんだ?
>>893と>>895は俺だぞ… >>897
計算回数が1回になるってどんな数学だよ…
専用のハードウェアによってスループットが1になったって事だよ 数式として1回なのか
実装として1クロックなのか
混同しているのな バルカン。
サブミットでデバイスロストする。
泥だと比較的簡単に絵が出せたのだが、窓だと妙に落ちる個人的な印象。
怪しいのはSPIR-Vバイトコードとディスクリプタなんだが、なんでこうもエラーを返さず落ちるのか 解決しました。一応シェア
OnCreateでサーフェスを作るとデバイスロストになる様子。
終わり VulkanのVkEnumerateInstanceExtensionPropertiesって、引数のlayerNameがNULLの時は利用可能な拡張が全部返ってきて、レイヤ名を与えた時はそのレイヤが提供している拡張(レイヤが必要としている拡張ではなく)を返すで間違いない? テストすればわかること。
他機種全プラットフォームにおいて、一様に同じ挙動をする保証があるのかは知らん。
スナドラと窓で確認した限りは、そう返した、
だが、デバッグレイヤーの有効化は、コんふィグレーションに依存して、返却されるものが変わる様子。
窓だとレジストリとジェイソンのぱラメータで返却される値がかわった。
あと1.1にすると文字列がかわる。 Khronosが語る「Vulkan 1.1」。VR&AR向けAPI「OpenXR」の最新動向も
ttp://www.4gamer.net/games/293/G029343/20180330081/ >>905
kronosがレイトレーシングのAPIを出したらまた面白いな。 漸くバリカンでテキスチャマップが期待通りにできるようになりました。
それと遂にZ値(深度値の分解能問題)と戦うことになりました。
まあ射影深度を0.1から1000とかの適当な数字が悪いんだけど。 Freetype
いいね。これ
vulkanの字形機能なしの課題が完全に解決したよ。
半日でビットマップが取れた。 初心者ですが、質問です。
aを押したらソリッドが、bを押したらワイヤーフレームが描画されるようにしたんですが、
キーを押しただけでは切り替わらなくて、マウスでウインドウを動かしてやらないと切り替わらないのですが、
どこが悪いのですか?
またどうすればキーを押したでけで切り替わるようになりますか?
よろしくお願いします。 >>911
自己解決しました。
アイドルコールバックの中にglutPostRedisplay();を入れたら、キーを押しただけで切り替わるようになりました。 Khronos Vulkan Developer Day in Montreal
Date: April 30, 2018
Location: Ubisoft, 5480 Rue St-Dominique, Montreal, Quebec
Cost: Free
Sessions confirmed so far
・Overview and Vulkan 1.1 Recap ? Alon Or-bach, Samsung Electronics
・Vulkan Subgroup Functionality ? Daniel Koch, NVIDIA
・Shader Toolchain: HLSL In Vulkan ? Lei Zhang, Google
・Descriptor Indexing ? Hai Nguyen, Google
・Memory Management in Vulkan ? Jordan Logan, AMD
・Vulkan Assistant Layer and Vulkan Layer Factory ? Mark Lobodzinski, LunarG
・Porting Frostbite to Vulkan ? Nicolas Lopez and Jean-Francois Lopez, EA Motive 適当に某エミュの中のOpenGLいじってたら、いろいろ調べるのにネットに情報なさすぎわろた;; >>915
なんで全部疑問形なんだよw
みんな自信無さ過ぎw お前らVulkan使ってる?
俺は初期化だけで涙目だよ Vulkanの前にシェーダー覚える為にOpenGLやってたら
OpenGLで満足しちゃって止まってる 使ってるよ。
特定のことを複数方法があるOpenGLより解りやすい。
窓と泥のVulkanは、細かい部分で違いがある。
泥のVulkanは、スモールセット
窓のVulkanは、最大セット
震度バッファなんかでも違いがある。
泥のVulkanだと32ビット深度バッファが未対応な機種があるとか。(24ビット+ステンシル8ビットまでとか。すなどら) 久々の休みだしちょっといじってみっかなぁ
とDemoビルドしてキューブ回転させて満足しちまった
つか最小デモでプロジェクト4つもあって萎えたわ >>924
サラッとgitなめた感じだと、すごくイイと感じた、
面倒なサブバス、ディスクリプタ、描画パイプラインがキャッシュメカニズムでラップされているのか、こいつらをアプリケーションで管理しなくて済みそうなところに感動した。
需要が多いと思われるAndroid未対応。(窓のみ)
泥対応したら、確実にこれが採用されると思う。
さすがAMD 描画パイプラインといえば、何故か内のスマホだと描画パイプラインを作る所で、激しく処理時間がかかるんだよな。
シェーダが29、描画パイプラインを58
これを2セット作る部分で3分くらい握りこむ。
ちな、テクスチャ60MBとかは、1秒も掛からない。
描画できるようになれば、普通に30fpsは出る リアルタイム れンダリングの世界は、
どこまでも外部ツールによるデータ(頂点、テクスチャ)のコンパイルに行き着く。 なんか興味がなくなってきた。
Vulkanで一応は動くようになった。
・遅延レンダリング(いわゆる深度バッファシャドー)
・ボーンアニメーション
・環境反射マッピング
・レイヤ合成
・入力アタッチメント
・マルチサンプリング
なんかは、スクラッチから一通り書けるようになった。
SSAOなんかは、深度バッファの応用だから、この先はアイデアの分野にみえた。
3DCGは、レンダリングより準備段階の方が楽しそうだと思った。
ちらうら。 その中でOpenGLではできなくてVulkanならではのものってある? >>929
強いてあげれば。描画パスかな。
あとは理解の容易さ。後者のメリットはGLとは比較にならない。
今後GLが下火になるのは間違いない。
これから勉強する人間は、必ずVulkanを選ぶだろうよ。 高いと思うよ。
2016年より前のコンピュータ機器は、デスクトップのボードを除くとアンドロイドを含めて対応機種0だしね。泥の世代交代も進んでない。
泥の半数から3割が未だにAndroid 4世代。 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
SHK5K VTK使ってる人いませんか?
全く話題がないし>>1でも紹介されてないしマイナーなんですかね? VTKもC++用ラッパーだよな
OpenSceneGraphとどっちがいいの? What’s New in macOS
https://developer.apple.com/macos/whats-new/
> Deprecation of OpenGL and OpenCL あちゃー、ここで独自規格にシフトして勝算あるのかね。
せめてMetalをLinuxとWindowsでも使えるようにしてくれよ。 >>942
KronosやらがSDK出すだけでAppleはなんもしないよ でもあぁあと2、3年は使えるやろ
OpenGLに依存してるアプリがたくさん残ってるうちはAppleも簡単には消せないはず みんなiPhone買わなきゃいいんだよ
特に日本人な MSと真逆でAppleはdeprecatedつったら割とソッコで消すことが多いから楽観はせん方が・・・ Appleはいつもこういうやり方だからな(笑)。
死亡。 今からならVulkanにしとくか、GPUに慣れる目的でOpenGLに触っておくかくらいじゃね
まだVulkanの日本語のチュートリアルって少ないんかな あとプラットフォームによるか
webGLでなにか作りたいならむしろVulkanだと何もできない? しれっとOpenCLもdepってるけど、これの代わりって有るのか?
OpenCL方面は疎いから分からん MetalのComputeShaderでやれってことらしいよ。OpenCLはAppleが作らせたのにね。 >>959
Metalってそんな汎用的なAPIなのかよ…
だとしても強引過ぎるだろ
Appleを嫌いになりそう Vulkanは計算用パイプラインが元からある。
あとアップルが後方互換を維持するとか、あり得ない。
切るといったら、次の機種で切る。 某3Dモデリングソフト開発がOpenGL2.0止まりだって聞いたことある。 ComputeなんたらってGPGPU用に流行ったけど、結局わざわざ別のシステムを用意しなくてもVulkanやMetalのComputeShaderを使えば事足りるということで落ち着いたのかな?
その割りにはNVIDIAはCUDAをやめるようには思えないけど さす林檎
Apple Rejects iOS App For Using MoltenVK (Vulkan Over Metal)
https://www.phoronix.com/scan.php?page=news_item&px=Apple-Rejects-iOS-MoltenVK
まあ問題となるのは非公開APIの使用らしいから嫌がらせというわけではないだろうけど マウスの位置にポリゴンを配置する方法はありますか? みつきほにゃららを背景テクスチャに貼って、その上にポリゴンを億。
2パスか3パスでいける。 MoltenVK
パッチ当てられて再びiOSでも使えるようになってた VulkanじゃなくてOpenGL 4.6でも良いの?
APIオーバーヘッド減らす拡張が標準化したって話だし
MetalとかVulkanとかD3D12上で互換レイヤー作られたら
何処でも使えるし Metalはよく知らないが、
コマンドリストが使えるか?
コンテキストやカレントがあるなら、いずれ切り捨てられると思う まだOpenGLも開発されてるんだな過去の資産もあるし使い慣れてるからな
Vulkanその他ローレベルAPIと共存で軽量化か上手いこと考えるわ ドライバ維持(サポート)とハードウェア簡易化の観点でGLが提供され続ける未来は低いだろう。
gl向けとは、ハードウェア回路の単純化に関係しないけど、ドライバ提供で重い枷を引きずり続けるのに、機能を使いきらないミドルがサポートしなければ、物理的に損失を積み重ねるハードウェアガスベテのコタに Vulkanの上にOpenGL乗せるのは難しいのかな OpenGLは公開規格だから後方互換性は原則残されるでしょ
最新ハードだけ想定してれば良いって事ではないからハードを限定できない OpenGLES1.0とOpenGLES2.0はどっちが速いですか? APIに速いも遅いも無い
強いか弱いかで言ったら2.0の方が強い Snapdragon845のZenfone5zでも3dMarkのSlingShot Extremeのスコア
VulkanよりOpenGL ES 3.1の方が高い
Vulkanドライバは最適化されてないから遅いかも、ってかいてあるけど
いつVulkanがOpenGLを越えるんだ?
対応端末が出てから結構経ってるのに
APIオーバーヘッドのテストだとVulkan早いけど
実際のゲームに近いテストだとだめって事か OpenGL ESはCPUのオーバーヘッドがそもそも少ないとKhronosの人が言ってたよ
それでもVulkanの方が遅いってのは納得行かないけど
OpenGL ES4.0とかは全てのバッファとステートをプログラマが制御出来るようにしてくれたら、もうVulkan要らない 基本OpenGL用に作ってあるものをVulkanに対応させるためにOpenGLでVulkanをラッピングするレイヤーを作ったとかかね
Vulkan流儀で構造を最適化してるわけじゃないから同等かむしろ遅くなるとか >>982
シェーダー書くより固定パイプラインのほうが速いらしいつまり1.1が最速
まあ聞話つうかネットで見ただけだからな異論あるなら好きなだけどうぞ 1じゃそもそも望む表現が出来ないんじゃ意味ないしなあ
粗い画質な分、速いとかいう理論だろ Vulkanの上でGLESをエミュレーションは出来るだろうが、GLを使う時点でマルチスレッドレンダリングは不可能になると思う。
そもそもVulkanが制定された理由は、複雑怪奇なGLの後方互換性維持に白旗を挙げたことが理由。
いずれ切り捨てられるか過去に開発したハードウェアとドライバを利用してね。
となるだけではないかな。
UEやウニティが切り捨てたら終わりだろう。 OpenGLとOpenGL ESは別物
ESはいたってシンプルなんでサポートが打ち切られるとか無い ポリゴン数増やしていくと、やたらスピード落ちるんですよね。
どうにかならないのこれ? レス数が950を超えています。1000を超えると書き込みができなくなります。