OpenGL/Vulkanスレ Part22©2ch.net
OpenGL/Vulkanスレ Part22©2ch.net
: [sageteoff] 2015/08/27(木) 18:12:51.54:VxmGCqDu クロスプラットフォームの3D API OpenGL 及び次世代のローレベルAPI Vulkan に関する話題を扱うスレッド。 現在の最新バージョンは4.5 ttps://www.opengl.org/ ttps://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++ 数学ライブラリ == チュートリアルサイト == 床井研究室: ttp://marina.sys.wakayama-u.ac.jp/~tokoi/oglarticles.html OpenGL de プログラミング: ttp://wiki.livedoor.jp/mikk_ni3_92/ NeHe: ttp://nehe.gamedev.net/ Tutorials for OpenGL 3.3 and later ttp://www.opengl-tutorial.org/ Learning Modern 3D Graphics Programming ttp://www.arcsynthesis.org/gltut/ == 前スレ == OpenGLスレ Part21 ttp://peace.2ch.net/test/read.cgi/tech/1409581958/ == 関連スレ == 【O3D】HTML5用 3D API WebGL 【Canvas:3D】 ttp://peace.2ch.net/test/read.cgi/tech/1308761577/ OpenGL 2.0 専用スレ ttp://peace.2ch.net/test/read.cgi/tech/1126268759/ : [sage] 2015/08/27(木) 18:13:59.79:Ifj661nZ == 必読書 == -- 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シリーズ : [sage] 2015/08/27(木) 18:14:34.65:Ifj661nZ == 必読書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: ttp://ogldev.atspace.co.uk/ OpenGL Samples Pack: ttp://ogl-samples.g-truc.net/ : [sage] 2015/08/27(木) 18:43:34.00:N4V/w5+H ttp://wakarandouga3.blog.fc2.com/blog-entry-1202.html エロいお姉さんwwwwwwwwwwwwwwww : [sage] 2015/08/28(金) 00:40:51.72:J/FclS9C 今、点と線を描くプログラム↓を書いています glClear(GL_COLOR_BUFFER_BIT); glColor3f(0.0, 1.0, 1.0); glEnableClientState(GL_VERTEX_ARRAY); glVertexPointer(2, GL_DOUBLE, 0, point_data); glDrawArrays(GL_POINTS, 0, point_num); glutSwapBuffers(); そこでline_data[]内にある頂点データを使っていくつかの直線を描く関数を上のプログラムに追加したいのですが、どうすればいいでしょうか? : [sage] 2015/08/28(金) 02:07:15.11:Ev5A+taN 乙 : [sage] 2015/08/28(金) 11:34:06.01:1j3Jp4TC 乙! : [sage] 2015/08/28(金) 12:42:16.17:PU1M3ZK/ 点のはちゃんと動いてんの?だったら9割方出来てんじゃん… : [sage] 2015/08/28(金) 15:20:19.68:J/FclS9C はい、点の方はちゃんと動いています! ここに線を加えようとしても上手くいかず困っています : [sage] 2015/08/28(金) 18:33:28.46:PU1M3ZK/ ほとんどエスパー状態だが…LINESとLINE_STRIPの区別できてる? : [sage] 2015/08/28(金) 20:15:55.51:J/FclS9C はい、繋がっていない線をいくつか描きたいのでLINESの方を使いたいです glClear(GL_COLOR_BUFFER_BIT); glColor3f(0.0, 1.0, 1.0); glEnableClientState(GL_VERTEX_ARRAY); glVertexPointer(2, GL_DOUBLE, 0, point_data); glDrawArrays(GL_POINTS, 0, point_num); glVertexPointer(2, GL_DOUBLE, 0, line_data); glDrawArrays(GL_LINES, 0, line_num); glutSwapBuffers(); ↑のように付け加えてみましたが、この書き方はだめなようです 直線を描くにはどういう書き方をすればいいのでしょう? : [sage] 2015/08/28(金) 20:24:29.73:PU1M3ZK/ line_dataに2×線の数だけ座標が入ってるか? : [sage] 2015/08/28(金) 20:40:54.15:J/FclS9C あ、原因が分かりました も含めて見直していると型がdoubleでなくshortになっていることに気が付きました ありがとうございました (昨日あれだけ見直しても気付かなかったなんて・・・) : [sage] 2015/09/03(木) 01:28:36.62:NZelf7lm シェーダ初心者です フラグメントシェーダで出力するベクトルはwが変わるとxyzにも影響が出るものでしょうか? gl_FragData[2] = vec4( pos.xyz, w ); 上のようにFBOを利用してテクスチャに座標情報を渡してみようと思い フラグメントの出力に頂点シェーダから受け取ったポジションを渡して 余ったwに適当なデータを含めて試していたのですが 続く描画パスで出力結果のテクスチャを参照してwに触れずxyzのみ参照する場合でも 前の描画パスでwに設定した値が変わると最終的な描画結果が変わってしまうようで シェーダの仕様かプログラムのバグかも分からず参ってます。 : [sage] 2015/09/03(木) 01:58:45.78:7WrobgbO GL_BLENDがEnableになっててブレンドされてたりして : [sage] 2015/09/04(金) 01:06:59.54:WA4Vuouz ご指摘の通りでglDisableでブレンド切ってみたら期待した結果が得られました 複数テクスチャ使う場合のブレンドの設定とかまた調べてみます ありがとうございました : [sage] 2015/09/07(月) 23:59:15.25:zlL3a7qU FBO使う場合にRBOかテクスチャか関連付けて使いますよね? 後から効果付けるの便利なのでテクスチャばかり使ってて RBOってどういう時に使えばいいのか分からないのですが 上手い使い分け方とかあります? : [] 2015/09/11(金) 11:35:53.77:fr07wZLl ttps://www.opengl.org/wiki/Renderbuffer_Object 今後描画結果をOpenGLで使うつもりがあるならテクスチャ そうでなければレンダーバッファ カラーにはテクスチャを使うが デプスにはレンダーバッファを使う事なら普通にある テクスチャはレンダーターゲットとして使うのには最適じゃない事があるかもしれないが レンダーバッファはレンダーターゲットとして使うのに最適なものになっているという : [sage] 2015/09/11(金) 14:22:16.05:jg8fOB+V デプスをテクスチャにするにはES2.0だと拡張機能が必要だな : [] 2015/09/12(土) 15:22:12.26:HMzU4nPJ Chrome 45.0.2454.85のANGLEを使うと Intel HD Graphicsでだけテクスチャが変になるな 昔懐かしのR5G6B5の16bitカラーテクスチャみたいな色になる 44.0.2403.157だと普通 : [sage] 2015/09/14(月) 19:52:48.19:nW8KHDe7 スレタイにVulkanが入っているので質問したいのですが、 これから3Dグラフィックを独学で勉強し始める場合、 OpenGLをやった方がいいのでしょうか?それとも、 いきなりVulkanをやっても大丈夫でしょうか 別の言い方をすると、Vulkanというのは、OpenGLを使えることを 前提としているのでしょうか?それとも、新しいAPI体系なのでしょうか? 3Dグラフィックスの知識はありません。 学部レベルの数学は大丈夫です : [sage] 2015/09/14(月) 20:00:27.33:ni7Sx5as Vulkanはまだ資料もすくないから必要がなければとっつくこともないかと そもそお3Dの知識なしには多分キツイはず OpenGLは覚えること多いけど、資料も多いから勉強するならこっち : [sage] 2015/09/14(月) 20:17:07.23:nW8KHDe7 ありがd たしかに資料の多さは魅力ですね : [sage] 2015/09/14(月) 20:36:34.75:AlOlEiNV 少ないっていうか無いでしょ 有るなら見てみたいけど : [] 2015/09/15(火) 23:37:01.54:iBP99bbY Vulkan対応ドライバやOSがまだそもそも出てなくね? : [sage] 2015/09/16(水) 02:04:27.03:JciVp4Nw 仕様もまだ正式に出てない : [sage] 2015/09/19(土) 18:56:08.54:YQpUAMED 製品出始めて暫くはドライバの問題で地獄だろうしな 特にモバイル : [sage] 2015/09/19(土) 20:00:14.04:DcCV9f4N Vulkanは薄いレイヤーだからドライバに優しい仕様だ OpenGLドライバよりは楽だろう : [sage] 2015/09/20(日) 10:17:29.98:ppyDSJna その分ハードウェアの癖が出やすくなったりしないのかね ま、どうせチューニングせざるを得ないなら薄いほうが良いな : [sage] 2015/09/20(日) 11:37:36.41:W0H8rt0f OpenGL ESのドライバ実装の違いによる不具合ってどう言うのがあるんだろう WindowsデスクトップではANGLEに違いを吸収してもらうとして 問題はスマホなんだが この2つは知ってる ・iOSで勝手にミップマップ用のメモリを確保するバグがあったらしい ・NVIDIAだと他社ドライバではコンパイル出来ないGLSLのプログラムがコンパイル通る iOS Textures Taking 33% Extra Memory - Stack Overflow ttp://jump.5ch.net/?http://stackoverflow.com/questions/9438009/ios-textures-taking-33-extra-memory "> ttp://stackoverflow.com/questions/9438009/ios-textures-taking-33-extra-memory : [sage] 2015/09/20(日) 12:34:08.41:9sOZdp6w 異なるハードウェアの差異はOpenGLのレイヤーで吸収 それ以上に低層で扱いたい場合はVulkan : [sage] 2015/09/20(日) 14:57:05.05:LJD7mjJ9 自分が当たったのは Adreno 205でdiscardの後にtexture使うとOSごとクラッシュ Adreno320でUBOの変数をそのまま計算に使用するとshaderコンパイル時にアプリクラッシュ(なぜか一時変数に代入してから使用するとクラッシュしない) Adrenoはエラーログ出さずにすぐ死ぬからマジでデバッグが地獄 しかも今Androidで一番使われてるシリーズ ほかはここに色々 ttp://cpplover.blogspot.jp/2013/09/dolphinopengl.html?m=1 薄かろうがAdrenoがまともなドライバを作れるとは思えない : [sage] 2015/09/21(月) 00:42:42.41:Kj2opw9V その駄目AMDがいまやPC系のOpenGLでは最も安定動作し性能が良いんだからな おかげでOpenCLのスタンダードになり、そして、Vulkanを後続規格に出来たんだからな : [sage] 2015/09/21(月) 01:27:50.66:xJnGLVr2 Adrenoは元AMD(ATI)でしょ 今はQualcommが作ってる Qualcommはドライバーを軽視してる感がある : [sage] 2015/09/21(月) 06:53:50.45:14VyAGI9 性能はいいけど・・・って感じだよね、 nVIdiaとVulkanはMantle的に相性は悪いがそれでも今のスマホGPUよりかはよっぽどましな挙動をすると思う : [sage] 2015/09/21(月) 19:09:44.31:0lL32CsL しかもモバイルのドライバ更新されないからな Nexus5使ってるけどOSの更新はされてるけどドライバのバグずっとそのまま まぁ、AndroidはOSの更新すらされないデバイスだらけだから一部の端末だけ更新されて新たなバグ埋め込まれても困るけど : [sage] 2015/09/22(火) 15:49:19.14:FtZHMHGY Vulkanはドライバーがシェーダーをコンパイルする必要がないから それだけでも安定性は増すはず それとkhronos自体がデバッグしやすくする為のツールを作ったりしてるから期待できる 当然GPUの状態を取得する為のAPIも追加されてるはず あとドライバがアプリが想定しているバージョンより古いと自動的にダウンロードして 更新するみたいな事をするとチラッと見た : [sage] 2015/09/24(木) 00:46:56.91:r/3RmciX ttps://www.khronos.org/assets/uploads/developers/library/2015-cedec/Vulkan-CEDEC2015-DMP_Aug15.pdf VulkanのOverviewが日本語に翻訳されてた しかもVulkanAPIの解説付きだからこれでVulkanの全貌が把握出来る : [sage] 2015/09/24(木) 01:10:48.32:r/3RmciX ドキュメント読むとハードルめちゃ高いなー 早くVulkanのプログラムしたいけどGPUも買い換えないといけないのかなぁ… NVIDIAだけど既存のGPUもサポートしてくれる事を祈る : [sage] 2015/09/24(木) 02:47:19.21:F12mSHo9 自前で組む分にはハードルが高いが 実際は有志から出された物やドライバのレイヤーを使って組むことが多いと思う : [sage] 2015/09/24(木) 02:52:10.66:F12mSHo9 ttp://peace.2ch.net/test/read.cgi/tech/1440666771/38 38 名前:デフォルトの名無しさん[sage] 投稿日:2015/09/24(木) 00:46:56.91 ID:r/3RmciX [1/2] ttps://www.khronos.org/assets/uploads/developers/library/2015-cedec/Vulkan-CEDEC2015-DMP_Aug15.pdf VulkanのOverviewが日本語に翻訳されてた しかもVulkanAPIの解説付きだからこれでVulkanの全貌が把握出来る なんとなくVulkanもMaxwell2と相性悪そうな気がする : [sage] 2015/09/24(木) 02:52:42.00:F12mSHo9 誤爆 : [sage] 2015/09/27(日) 17:17:31.03:UvPGCZi1 テクスチャフォーマットについて 2Dで表示するものは各8bitのRGBA(アルファ不要ならRGB) 3Dや多少の見た目の劣化が許容できるものはDXT1,3,5 こんな感じの使い分けがベターだと思ってるんだけど 詳しく解説されてるの見たことがないのでより良い選択肢があれば教えて欲しい : [sage] 2015/09/27(日) 17:20:16.60:UvPGCZi1 補足 動作環境はwindowsのデスクトップPCを想定してます : [sage] 2015/09/27(日) 23:51:56.33:hiI0CHA6 αの扱いによってDXT1〜5を選択するだけで素のRGBAは有り得ない : [sage] 2015/09/29(火) 00:37:27.42:VYlPl96E 遅レスだけど返答ありがとう 劣化が気になることもあるけどDXT主体で使い分けてみるよ : [] 2015/10/16(金) 10:10:43.89:JZSeEXRz openglでMMD表示してみたけどこれは落胆 ttp://i.imgur.com/6XSVauj.png ttp://i.imgur.com/DCk9pII.png : [sage] 2015/10/16(金) 10:32:49.32:l04muiBk MMDはアプリだから表示なんかできないと思うんだが… openglで表示してみた、というのは自分で何かopenglのプログラムを作ったという事かな? だとすると表示が落胆ものなのは、完全に 自信のスキルがアレなせいだと思う : [sage] 2015/10/16(金) 10:38:04.32:+fJvXx/R 二枚目って自作? とりあえず続きはブログでやってくれ : [] 2015/10/17(土) 09:57:29.33:o8rjpUAD なぜかあにまさ式だとうまくできました、 ブログはHTMLが面倒なのでげ製作でやっときます : [] 2015/10/23(金) 09:31:24.55:I0uni5nx ☆ 日本の核武装は早急に必須ですわ。☆ 総務省の『憲法改正国民投票法』、でググってみてください。 日本国民の皆様方、2016年7月の『第24回 参議院選挙』で、日本人の悲願である 改憲の成就が決まります。皆様方、必ず投票に自ら足を運んでください。お願い致します。 : [sage] 2015/10/23(金) 14:20:58.65:M7dNli7I Lat式は表示方法自体がMMDデフォの描画プロセスを完全再現しないと とんでもない事になる特殊なモデリングだから仕方なし : [sage] 2015/10/25(日) 13:13:26.63:vAKl7Lz8 2D描画をステート変更無しで高速に行えて 少し古い環境でも動くのってTexture Atlasだけ? ES3の2D Array Textureって同じサイズのテクスチャじゃないと駄目みたいだし 代わりになりそうなのはBindless Textureだけど普及してないし 当分Texture Atlasを使うしかなさそう : [sage] 2015/10/25(日) 13:14:32.16:vAKl7Lz8 Texture Atlasの手法だと色が混ざっちゃうからミップマッピング出来ないのだけ不便 : [sage] 2015/10/25(日) 15:10:32.81:MYRFLLoW 2D描画でミップマップなんて使わないだろ 奥行きがある多重スクロールとかかよ : [sage] 2015/10/26(月) 19:03:55.27:NExmEVH8 マップチップ的なものならES3.0が使えるならArray Textureでいけるし 無くても1/4までなら画質は大丈夫 それ以外は諦める : [sage] 2015/10/26(月) 23:26:16.82:h8FGDwiK 同じシーンを描画し続けてて急に負荷が高くなる場合ってどんなところ疑うべき? 起動して10秒くらいまでは軽いんだけど、突然重くなってその状態を維持し続けるっていう… ごちゃごちゃになってるプログラム整理しながら間違い探してるんだけどWGLとかシェーダとか色々初体験でどこが悪いやら… : [sage] 2015/10/26(月) 23:38:52.89:2nnyXhaR 多分、色々と食い潰してる。 どうでもいいが「重い」とか言っときながら、まさかプロセスやリソースの状態も 調べてないとか言い出すなよ? : [sage] 2015/10/26(月) 23:48:03.22:yMfxLlxA リッチなデバッガ、プロファイラのある環境で作ってEmscriptenで変換 : [sage] 2015/10/26(月) 23:51:14.09:U+ZA45+s あ、WGLってWebGLじゃなくてWinGLの事か。 : [sage] 2015/10/27(火) 00:20:29.74:MDUv4Uu+ デバッグ用の拡張命令とかも調べつつなんでお察しください… JavaScriptとかよく分からないんだけど…C++コード弄るの飽きたら試してみるわ 不安になってググってみたらWinGLもなんか違うな…wglCreateContext関数とか使うやつだわ : [sage] 2015/10/27(火) 00:46:01.74:XDD7LrKE 最近のVisual Studioは無料版でもプロファイラが付いているからまずそれを使う 後はOpenGLデバッガのgDEBuggerを使うとか それがWGLでしょう。 : [sage] 2015/10/27(火) 00:48:11.27:XDD7LrKE これとは無関係 てか普通WGLをWinGLって書く奴は見たことねえ Windows ゲーム作成用ライブラリ for Win16/32 ttp://www.vector.co.jp/soft/win31/prog/se028202.html : [sage] 2015/10/27(火) 02:09:35.31:MDUv4Uu+ VSのプロファイラは使ってるけどgDEBuggerってのは使ってなかったので試してみるよ ありがとう : [sage] 2015/10/27(火) 11:55:48.66:to74HYda WindowsでOpenGLするならNVIDIAだよな? AMDは使ってないから分からんが多分大丈夫だろうけど IntelのWindows用OpenGLドライバは腐ってる : [sage] 2015/10/27(火) 13:15:44.86:gPvV5cn8 腐ってるとこを上手に避けでも駄目なの? : [sage] 2015/10/27(火) 13:47:32.50:S+IQphBI どこが腐っているか分かるのであればどうぞ : [sage] 2015/10/28(水) 21:53:41.91:gVmYV2et 昔はNvidiaだったが、いまやOpenGL・OpenCLのデファクトVGAはATI Win/Linuxで安定度・性能がNvidiaよりずっと上 : [sage] 2015/10/29(木) 20:41:18.37:5gekmfvH Vulkanのことを考えるとATIAMD一択 : [sage] 2015/10/29(木) 20:49:56.74:FU1wYuSd なんか有利あんだっけ? : [sage] 2015/10/29(木) 20:54:28.65:M5LgoQD5 AMDのMantleが元になってるからな。 これでAMDが負けたら日本人が日本語クイズでアメリカ人に負けるようなもの : [sage] 2015/10/30(金) 09:47:52.19:KICymkbE Vulkanは超シンプルなAPIだからハード性能がダイレクトに効いてくる 当然AMDのハードが良かったらVulkanで勝てるだろうが別に有利不利とかはない : [sage] 2015/10/30(金) 19:15:23.10:kIMI498u 文字列をテクスチャに描画するのにFBOを使っていたんだが PCだと爆速なのにAndroid機 (Snapdragon 801)だと10〜20個ぐらいでもう60fps出せないぐらい遅かった CPUで画像をコピーするのを避けていたんだが、FBOの切り替えやその他のレンダリングステートの変更、ドローコールが思ったより高価だったようだ テクスチャを通さず画面に直接描けばそんな遅くないかもしれないが 設計的にそうも行かない事情があった これはCPU側で全てテクスチャに使う画像を作って送るしかないんだろうか : [sage] 2015/10/30(金) 23:18:37.32:RKkoxr6k PowerVR系のTBDRが文字描画と相性が悪いというのは有名だけど Snapdragon(Adreno)だと何だろうね そのうちフォントのラスタライズもGPUで行う時代になるのかね ラスタライザの実装自体は難しくないとしても 結局フォントデータが日本語だと1書体で数MB〜数十MBだからなぁ : [sage] 2015/10/31(土) 10:55:57.04:InQpe4ua Android機なんてPCの10分の1程度の性能なんだからそんなもんだろ : [sage] 2015/10/31(土) 12:10:59.00:8Bda5lAI 言いたいことは分かるがAndroidとPCて比較できる関係にないだろ それにデスクトップPCの時代は過ぎたし : [sage] 2015/10/31(土) 12:39:03.93:InQpe4ua OpenGL ESはデスクトップで動くんだから完全に比較できるでしょ あとデスクトップPCの時代が過ぎたって意味が分からん Steamの同時接続ユーザー数がピーク時に1150万人以上を記録とか言ってるし むしろ増え続けてる : [sage] 2015/10/31(土) 12:43:38.96:uu+i9WLB 日本ではPCは終わってるかもね。 いや、始まってすらいないか。 PC使えない老害と新卒新入社員が問題になる国だもんな。 : [sage] 2015/10/31(土) 14:54:45.53:InQpe4ua 問題って…どんだけネットに洗脳されてんだ… 仕事がPCが出来る出来ないだけで方が付くんであれば楽なもんだな : [sage] 2015/10/31(土) 18:10:18.47:2qMna6cK こんな事書いてあるけどOpenGLのコマンドがすぐに戻って来ないって事は良くあんの?glReadPixelsみたいな結果を得る必要があるコマンドでなくても? Chromeだと複数のプロセスからのOpenGLコマンドを一つのプロセスでまとめて実行してるようだ ttp://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. : [sage] 2015/10/31(土) 19:11:13.20:ylRFVIHZ コマンドが戻って来る来ないってのがよく分からないけど 処理が遅くなるって事なら前のコマンドが解決されてなかったりすれば後のコマンドもその分待たされるんじゃないの? : [sage] 2015/10/31(土) 19:40:24.93:8Bda5lAI そうじゃなく泥タブだってPCといえばPCだしPCの定義って何って話 MacはPCじゃないらしいけどな Steamのユーザ数とデスクトップPCのシェアは別だよね それにIntelHDユーザがどれだけいることか : [sage] 2015/11/01(日) 02:26:33.11:Pwz2JCQ5 スマホから見ればPCはすべてを導いてくれる神様なんだからPC使えないんだったら黙って崇めとけ : [sage] 2015/11/03(火) 14:21:40.06:V53UaXPp 戻ってこないなんて書いてあるか? ChromeとかブラウザのWindows版は全部WebGL(OpenGL)→DirectXに変換して実行してるから その為に一旦自前のコマンドバッファに溜め込んでるよって事でしょ その自前のコマンドバッファはマルチコア対応だから軽いよって書いてある 実際ANGLE使わずにOpenGLを直に使うようにするとCPU負荷が少し増える : [sage] 2015/11/03(火) 23:10:42.25:ltuo8JAD 別にANGLE限定とは書いてない 互換性やセキュリティの問題はWindows以外でも存在するし 複数のスレッドから直接OpenGLのAPIを呼ぶより アプリ側でAPIコールを纏めて一つのスレッドから呼んだ方が速いとされているのだが 実際にどの程度速度が変わるのかは分からない ドライバ実装によっても変わるかもしれない : [sage] 2015/11/04(水) 11:22:45.65:4VARUgDB よく見たらWebGLの話しではなかったな… HTMLレンダラーとかGPU使って描画する時の話しだったな そもそもOpenGLはマルチスレッドに対応してないから複数スレッドからAPIをコール出来ない 複数スレッドからDrawコールをしたい場合は自前のコマンドバッファが必須だな : [sage] 2015/11/04(水) 13:18:18.56:3HqGJBgB 別にWebGLでは使ってないとは書いてないけど プロセス毎にOpenGLコンテキストを作ればマルチスレッドでも使えるだろうが それだと遅かったのだろう : [sage] 2015/11/08(日) 18:44:22.99:POF/ID6D 質問させてください。 100 millions個以上の三角形ポリゴンを60fpsで描画したいのですが 一番いいソフトウェア上の組み合わせって何でしょうか。 Windows10(64bit),,GTX750TI,i5, VS2010で64bitビルド,freeglut2.8 描画にPBO用いてglDrawElements利用 で試したのですが,25 millions個の三角形メッシュで<1FPS程度です。 どうもfreeglutはGDI用いていてそれがボトルネックになっている気がしています。 レス読む限りWGLで書いていくのがよさそうな気がしましたがお知恵下さい。 : [sage] 2015/11/08(日) 19:25:23.39:m4MzXsh9 なってません : [sage] 2015/11/08(日) 20:18:26.44:WIQI5dDH まともなエンジニアなら ソフトウェアの組み合わせの前に 100 millions個以上の三角形ポリゴンを 60fpsで描画しないで済む方法を検討すると思うが 要件をはっきりさせるべき : [sage] 2015/11/08(日) 22:02:27.62:1RMtYxbs >100 millions個以上の三角形ポリゴンを >60fpsで描画しないで済む方法を検討すると思うが 要件は100 millions個以上の三角形ポリゴンを 60fps以上でです これを回避出来ないか答えられません。済みませんが : [sage] 2015/11/08(日) 22:41:34.77:m4MzXsh9 どんな解像度でレンダリングしようとしてんのかしらんけど8Kディスプレイでもピクセル数3300万だぞ 1億ポリゴンのうちどれだけ描画されるのか考えた? その要件が絶対というならそのバカな要件を精々頑張ってくれ : [sage] 2015/11/08(日) 23:20:50.59:15p3122r ま、タキオン粒子の研究でもした方が良さそうだね : [sage] 2015/11/09(月) 00:18:42.73:qCcvicZl クラスター化したりGPU積むなりして分散レンダリング、通信して集めて重畳するくらいかね : [sage] 2015/11/09(月) 03:37:54.95:e9NKrZa6 すみません、普段MAX/MSP以外のプログラミングには全然疎くて それでMAXでOpenGLを使うときの質問なのですが nurbs曲線を引きたいんです。 そこでjit.gl.nurbsオブジェクトで、曲面でなく曲線を描きたいのですが、 制御点(のx,y,z座標)を予め設定するには、どうしたらいいですか? ググっても殆ど出てこないし、ネット上のチュートリアルには jit.gl.nurbsの使い方なんて載ってません。 ヘルプを見ても、どうも最初に設定している様子もないので、困っています。 どなたか助けてください・・・ : [sage] 2015/11/09(月) 03:41:04.72:e9NKrZa6 DTM板のMAXスレとマルチですみません。 : [sage] 2015/11/09(月) 17:34:15.03:SvTFDp+i Maliでは各FBOのバインドは1フレーム1回までにしろって書いてあるけど glClear()して同じのを使いまわしたのではパフォーマンス低下する? ttps://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. : [sage] 2015/11/09(月) 18:48:25.44:+KYSwNrX 想像だけど1回までにしろといってるのはFBOをアンバインドする時に そのFBOに対する描画が全部完了するまでブロックが発生したりするからだと思われる だからglCleare()で使い回すのはパフォーマンスは低下しないでしょ ただ別にFBO作った方が速いだろうね (レンダリングが並列に実行されるだろうから) : [sage] 2015/11/09(月) 23:02:58.43:2GPWptLo >クラスター化したりGPU積むなりして分散レンダリング、通信して集めて重畳するくらいかね これいいですね アイデア頂きです : [sage] 2015/11/10(火) 16:16:41.90:HB2gwhXV 分散レンダリングで60fpsを目指すとかさすがだな : [sage] 2015/11/11(水) 00:08:45.71:7FoGAeK2 技術的課題がたくさんあって燃えますね : [sage] 2015/11/11(水) 13:18:34.30:OiFKTRuj レイテンシ問わないならあるいは…… でも並列化が可能なデータなら クラスタ化の前にできることがあるような…… : [sage] 2015/11/16(月) 11:45:42.10:69xbdtCO ディファードレンダリングにして各GPUにどのタイルをレンダリングするかを 割り当てれば割と簡単に分散は出来そうだな ただ頂点処理はかなり重複する事になるから多ポリゴンをレンダリングする 目的には1GPUの時とあまり変わらずに結局向かないと思うよ : [] 2015/11/16(月) 14:17:04.85:hLMLfj5T 4.2からglMemoryBarrier増えてるけどこれってComputeShader使う場合のみ 必要って認識であってる? 例えばTransformFeedbackでVBOの頂点情報変形させてから続けてそのVBO使って 通常の描画する場合ってMemoryBarriorしなくても古いVBOのキャッシュで 描画したりはしないよね : [] 2015/11/17(火) 22:11:56.27:c4hnI4k1 Radeon R7 200 でVTFしようとしてるんだけど バーテックスシェーダー内でvec4 col=texture(texture1,texcode0); してもテクスチャカラーがuv 0,0の位置のしか所得出来ない フラグメントでは問題無く持ってこれる、ドライバ問題? : [sage] 2015/11/18(水) 01:51:07.68:1oX3XtEG 別にマイナーな機能でもないし可能性は低いと思う 最新のドライバにして改善しないなら多分お前のコードにバグがある テクスチャ周りはミスしやすいから テクスチャユニットの番号が間違ってないかとか 座標の値がおかしくないかとか ユニフォームの設定が間違ってないかとか調べ直したほうがいい : [] 2015/11/18(水) 13:29:47.46:tmu+VoXJ 何か情報無いかなと書いてみたんだけど、 やはり自前バグの可能性たかいよね、もう一度調べてみるわ : [sage] 2015/11/18(水) 13:39:58.84:rijNsXCa シェーダー内で途中でintを経由して値が0になってるとかだろうな : [sage] 2015/11/18(水) 21:29:46.73:oULSvKA+ シェーダー周りはデバッグが大変で死ねる : [] 2015/11/20(金) 10:33:54.68:z3NP+fee 105の件解決(?)しました 4頂点の単純な板ポリで試してたんだけど四隅が全部黒の値拾っていた、 で トーラスの頂点数の多い物で試したらキチンと反映していた UVが1.0の値補完か何かで0.0位置の色を拾ってたくさいw : [sage] 2015/11/20(金) 11:35:21.04:SnNAjHh0 VTFを数値データとして使うなら普通0.5足してピクセル中央をフェッチするんだよ : [] 2015/11/20(金) 12:50:56.16:z3NP+fee もしかしてUVの画像位置と合わせて頂点を凸凹させる時も? : [sage] 2015/11/20(金) 13:35:46.41:SnNAjHh0 すまんは書き方が変だったので訂正しておく 0.5というのはu = (x + 0.5) / 1024 のようにするという事を言いたかった だから最終的に足されるのは0.5とは限らない 要するにテクセルの値を取得する時にはそうすべきというだけで 2つのテクセルのフィルタリングされた値が欲しければする必要はないだろう : [] 2015/11/20(金) 13:44:41.38:z3NP+fee やっと理解したかも、補完かからない対策ですね 、1ドットの中心をアクセスすれば安全って事ですか? : [sage] 2015/11/20(金) 13:51:59.28:SnNAjHh0 そうだ あとFILTERの値もNEARESTにする : [] 2015/11/20(金) 13:53:30.75:z3NP+fee ありがとう!たすかる : [sage] 2015/11/23(月) 02:11:18.29:A03ya6CB glPolygonOffsetでポリゴンの前後関係を調整するのに環境によって 前後関係が異なる結果になることがあるんだけど 上手い対策とか無いでしょうか? : [sage] 2015/11/23(月) 10:05:33.22:q/XOO9tQ 上手い対策というのは知らないが unitsを使わないとか 自前でオフセットを計算しとくとか そもそもZテストを使わないとか : [sage] 2015/11/23(月) 10:08:58.35:q/XOO9tQ あとglDepthRange()を使うというテクニックがあったような : [sage] 2015/11/24(火) 10:45:52.65:PNMHyUFz 環境ってGPUの違いとかOSとかの事か? 単にシーンの違いとかだとまじめに計算すればちゃんとうまく行くはず ちなみにZ値は遠くへ行くほど荒くなってるから同じオフセットでも前後関係は変わる : [sage] 2015/11/26(木) 21:13:44.72:FNrtCodv 今までWindowsでDirect3D(9、11)を使ってたんですが、 新たにAndroidでOpenGL ES 2.0を使おうと考えています。 レンダリングした結果をCPU側に戻すのをやりたいんですが、 OpenGL ES 2.0で可能でしょうか? : [sage] 2015/11/26(木) 21:59:37.29:AB/dbPZm glReadPixelsで読める が、激遅の場合がある、というよりまず遅いと思ったほうがいい てかそれくらいググれ : [sage] 2015/11/26(木) 22:08:43.27:FNrtCodv ありがとうございました! : [sage] 2015/12/11(金) 16:33:56.96:Xfk/aEIs OpenSceneGraphなんてあるんだ。 始めて知った。 自作のシーングラフライブラリを置き換えようかな。 : [sage] 2015/12/11(金) 16:45:50.46:Xfk/aEIs なんだOpenSceneGraphのライセンスはLGPL系か。 GPLは使えない(使いたくない)な。 : [sage] 2015/12/11(金) 17:58:57.42:VH+9SPoV GPLとLGPLって内容は大分違うと思うんだが : [sage] 2015/12/11(金) 18:06:39.16:8KiFs03m GPLって付くだけで怖い : [sage] 2015/12/11(金) 19:46:36.96:7HdgPmKa 無知は罪だぜ : [sage] 2015/12/12(土) 00:13:27.08:mfOK7VM0 LGPLは改変せずに使うなら幾ら使っても問題になる事はない : [sage] 2015/12/12(土) 00:20:10.16:iFwMG7ix LGPLはおおまかには、静的リンクか動的リンクかでソース公開の義務が変わる : [sage] 2015/12/12(土) 00:29:53.71:+n5ENKzz たしかライブラリ側が更新された時にプログラム全体が更新出来るように公開する、だっけ : [sage] 2015/12/12(土) 00:49:12.40:mfOK7VM0 そういう事言うからLGPLが敬遠されるんだろうな スタティックリンクでもソース公開の義務は無いよ 最悪*.oを公開するだけだ それもゲーム機とか家電用の場合は実行ファイル自体が非公開だから*.oすら公開する必要はないけどな : [sage] 2015/12/24(木) 06:59:51.83:+ceezo0g 適当なこと言ってると後で痛い目見るよ GPLって名前が入ってるものには一切手を触れないのが一番 : [sage] 2015/12/24(木) 12:14:41.98:VUzHb/3L 適当な事ってなんだよw ttps://ja.wikipedia.org/wiki/GNU_Lesser_General_Public_License#LGPL.E3.81.AE.E7.89.B9.E5.BE.B4 Wikiのこんな簡単な文章すら理解できないのかよ : [] 2015/12/30(水) 09:08:09.90:rxkYiXLM ヨウ ヨウ エビバーデー いい加減、「weight」を「重み」って言うのやめね?? あれは誤訳だ 英語のweightとは重さ・重量という意味もあるが「ナニナ〜ニに影響される」「行動や思想などに引っ張られる」 という意味がある したがっちぇ、これは重みではなく「影響度」と言うべきなのだ!、 : [sage] 2016/01/03(日) 15:15:36.12:94fI/gjk やっとglutに慣れて以前作った物理シミュレーションを可視化しようとしたら これグローバル変数しか使えないじゃねえか : [sage] 2016/01/03(日) 15:33:18.95:S9L4IMX7 ? : [sage] 2016/01/03(日) 15:48:18.16:S9L4IMX7 何にせよglutを新規に使う場合は割り切りが必要だよ いまさら固定機能使うとか考えたくないし 固定機能相当で十分なら もっと抽象度の高い(OpenGLを隠蔽した)ライブラリの方がいいんじゃね : [sage] 2016/01/03(日) 16:35:48.16:HMvIQIbc glutからでもGLSL使えるけど? : [sage] 2016/01/03(日) 16:56:42.16:S9L4IMX7 使えるけど何なんだよ glut使いたいなら使えばいいよ : [sage] 2016/01/03(日) 17:26:15.79:HMvIQIbc はglutを使うには固定機能を使わざるを得ないっていう風によめるんだけど、 どういう割り切りが必要だって主張してんの? : [sage] 2016/01/03(日) 18:13:26.24:94fI/gjk 構造体とか自由に渡せるようにするにはどうすればいいんだ glfw使える環境にはしたけどこれ勉強すればいいのか? : [sage] 2016/01/03(日) 18:32:59.62:S9L4IMX7 glutを使うのは目的じゃなく手段だろ そんな基礎的な前提すら共有できていない時点で議論にならん : [sage] 2016/01/03(日) 20:06:01.37:r0c8SUtA いやこれはのように読めてしまいますわ : [sage] 2016/01/04(月) 02:24:11.49:iWeoz0hw OpenGLでレンダリングしたものだけ表示できて、マウスとキーボード入力ができればいいのであればglfw。 OpenGLと一緒にGUIを使ったり数字や文字列や表やグラフも表示したいならQtを使えばいいかと。 だいたいゲームとかメガデモ以外ならQt上でOpenGLを使えばいいんじゃないだろうか : [sage] 2016/01/04(月) 12:23:55.71:WW+fICsN はGLUTに含まれてるプルダウンメニュー?とかが固定機能使ってるって 言いたいんじゃなかろうか? glutCreateMenu()とglutAddMenuEntry()で簡単にメニュー作れるのは便利だけど これは固定機能で実装されてるような気がする(詳しくは知らんけど) : [sage] 2016/01/04(月) 14:16:04.29:ycIevKm8 glutのmenuの実装にはOpenGL使ってないです なんにせよglutは古すぎるから今から選択するなら候補から外していいかも チョットした描画プログラム作るときに使うのには便利だと個人的には思うけど : [] 2016/01/05(火) 11:17:26.76:PF5fRti8 んじゃQt勉強してみるわ ありがとう : [] 2016/01/07(木) 00:12:20.20:sjJGp/LC もっと活気あるところない? : [] 2016/01/07(木) 15:16:06.72:yudiVJqM 日本は何でもかんでも文献が少ないか、古すぎる 原因の一つとして、大学が悪いんだよな アメリカの大学は即戦力の知識を教えている 日本の大学は基礎しか教えていないので企業でまた学び直す必要がある 企業で学んだことは他者に教えてはならないという強迫観念があるので広がらない : [sage] 2016/01/07(木) 19:39:25.20:488/qM8s ソフトウェアじゃ後追いしかしてないからね : [sage] 2016/01/07(木) 21:00:26.62:5EdIb4Wm 今までOpenGL1.5程度しか使ってこなかったんだけど、シェーダ周りを勉強してみようかと思ってる 2.xは飛ばして3.xに行ったほうがいい? : [sage] 2016/01/07(木) 21:01:01.81:5EdIb4Wm 今までOpenGL1.5程度しか使ってこなかったんだけど、シェーダ周りを勉強してみようかと思ってる 2.xは飛ばして3.xに行ったほうがいい? : [sage] 2016/01/07(木) 21:01:28.13:5EdIb4Wm すまん、連投してしまった : [sage] 2016/01/07(木) 21:54:57.44:SYgeeYe0 グラフィックスってただの数学だけどな 数学は中学から教えてる訳だから大学がどうこう言うのは関係無い 日本の企業が結果出てないからひとつ前の大学が悪いって言ってるだけだ : [sage] 2016/01/08(金) 00:51:53.40:e56/0PxC ゲームだと、「ゲームの作法」ってのがあるからな シェーダ知ってるだけではすげえ遅くなる PCだとOSとDirectXが勝手にメモリを管理するが、ゲーム専用機ではそういう甘えは通用しないのと同様に : [sage] 2016/01/08(金) 00:53:25.41:e56/0PxC 自動車なども、大学院出ていればすぐに働けると思うはずだが 学校で研究したことと、実際に使用している技術と起こる現象が全然違う 学校で習ったこと、研究したことって何なんだ ってなるからな ウソ教えているに等しい : [sage] 2016/01/08(金) 03:40:24.22:69+Lz/BX 3では一部の古い機能が非推奨になったから 古い機能を使わなくて済むなら3でいいよ OpenGL使う人なら英語読めないとやっていけないんじゃね : [sage] 2016/01/08(金) 11:35:19.21:OhWDmy+4 そういう小手先のテクより未知のアルゴリズムの発見とか既存のアルゴリズムを 改善とかする方が大幅にクオリティは上がる ゲーム専用機は全部自分でメモリ管理する必要があって面倒かも知れないけど 結局は誰がやっても大差ないところで落ち着く : [sage] 2016/01/08(金) 16:27:21.83:erdJpUfu ゲーム専用機か、、 もう死語レベルだよな 3dsも死に体だし : [sage] 2016/01/08(金) 20:05:27.31:OhWDmy+4 んなわけない、海外だと据え置きゲーム機が絶好調だ GTA5とか3000万本以上売れて全エンターテイメント中で最高売り上げを記録してるよ 日本のゲーム売り上げ高なんて全世界の20分の1にも満たないけど 日本だけで考えればゲーム機は衰退しつつはあるな。ずっとそうかは未知数だが : [sage] 2016/01/10(日) 11:22:56.00:0fs78EBJ 世界を相手にしている人が2chの辺境スレで 燻っているならそれは残念なことだなぁ 10年前ならネ申とか崇められていたかもしらんが : [sage] 2016/01/10(日) 12:05:17.29:0fs78EBJ それと結局クオリティの根幹はデータだよ 高度なライティングを実装したところでテクスチャが糞なら糞 糞なコードを普通のコードに変えればクオリティはぐっと上がるが 普通のコードを優れたコードに変えても大差はない 未知のアルゴリズムの発見とか既存のアルゴリズムを改善なんてのは 実在するならSIGGRAPHとかで発表すべきもので 実態は「小手先のテク」として語られているのがほとんど 独自研究が無駄とは言わんが先人に学ぶ謙虚さと勤勉さが大事だと思う : [sage] 2016/01/12(火) 13:17:11.20:OumKA2+J 逆だな テクスチャが糞でもライティングが良ければパッと見綺麗になる 海外製のFPSとか見たことあるのか? テクスチャは日本製の丁寧に書き込まれたのに比べると糞だぞ だけどシェーダーの出来がいいからスゲーリアルに見える あとFPSとか地形モデルやテクスチャは自動生成していくのが主流じゃないのか? あと独自研究しろなんて言ってたか? : [sage] 2016/01/12(火) 16:02:12.20:mjNp/RKz 「未知の」アルゴリズムに先行研究がある訳ないだろ パラメータチューニングとか具体的なノウハウが非公開ってのはありがちだが それをアルゴリズムとは言わない 法線マップとかも「データ」に入ると考えられる訳だけども それらが糞でもシェーダでカバーできるの? 丁寧に書き込まれたのに比べると糞って一般的には糞と言わない 糞は比べるまでもなく糞 : [sage] 2016/01/12(火) 17:02:49.60:OumKA2+J お前は何が言いたんだ… 例えばライトスペースパースペクティブシャドウマップみたいな発見(発表)はなんて言うんだ? これが発表されるまではみんな別の(あまり良くない)アルゴリズムで一生懸命工夫してたけど LiSPSを使えば簡単にシャドウのクオリティをあげられるようになった 最近はもっと凝ったアルゴリズムも発表されてる(ようだ、詳しくは知らん) そういうのを考えたり勉強して実装したりする事が大事なんだよ あとデータが糞と決め付けてるけどなぜ糞になるかを考えないと 糞だから糞ってのは馬鹿っぽい書き込みだな : [sage] 2016/01/12(火) 18:51:36.57:mjNp/RKz 読み取れないなら絡んでくるなよ データがなぜ糞になるかにOpenGL関係あるのか? データの改善によらずプログラム(OpenGL)の範疇のみでの 品質向上は限定的であって 凡人が考え付くようなことは既に誰かが実現しているんだから 幻想抱いていないで勉強しろ、以上 : [sage] 2016/01/12(火) 19:01:28.44:mjNp/RKz ただが「未知のアルゴリズムの発見」を 他所の誰かがやってくれるって話ならは的外れだ でも仮にそうなら「未知のアルゴリズムの発見」をだしに 「小手先のテク」を否定するのはおかしい 「小手先のテク」も嘗て発見されたものであって 「未知のアルゴリズム」のうち汎用性のあるものは 普及して「小手先のテク」となる : [sage] 2016/01/12(火) 19:19:07.45:OumKA2+J お前こそOpenGL関係無い話しをすんなよ、アホか 突然データの話しをし始めたのはお前だろ データの糞さなんて普通議論の前提に無いよ 法線マップを使うと質感がリアルになる→データが糞なら意味が無い シャドウマップのアルゴリズムを改善するとクオリティが上がる→データが糞なら意味が無い なんでこんなアホみたいなことをお前は必死に連呼してんの? > それと結局クオリティの根幹はデータだよ キリ)www : [sage] 2016/01/12(火) 19:23:10.13:OumKA2+J の「小手先のテク」はの据え置き機のAPIはメモリ管理が〜的な話しに対してだろ ちゃんとアンカーしてんだから脊髄反射で糞みたいな返答しないで流れを見ろよ : [] 2016/01/16(土) 13:18:31.86:xOOUInQQ OpenGLって動画を背景にできないのかよ 本当に使えないな : [sage] 2016/01/16(土) 17:08:00.30:5DMoL/Xm できるよ 使えないのはお前の頭だよ : [sage] 2016/01/16(土) 23:21:49.05:kHCtvtbd まじかよ 買い換えてくるわ : [sage] 2016/01/17(日) 09:25:58.94:r/9lKueY アンパンマンか : [sage] 2016/01/22(金) 02:55:19.84:4tPCkE/9 読んだら解ると思うけど、LGPLのライブラリを静的にリンクして生成されたオブジェクトコード(実行バイナリーも含む) : [sage] 2016/01/22(金) 03:01:13.65:2lXYGh8y 途中で書き込んでしまった 静的にリンクして生成されたオブジェクトコード(実行バイナリーも含む)の配布に制限をかけてはならないので、 もしプログラムを販売したとして、それを買った人がプログラムをコピーして転売とかネットにアップロードして再配布とか制限出来ないって事だからな 実行バイナリ以外のリソースがあってそれがないと意味をなさないプログラムであれば(それらのリソースにはLGPLは波及しないので)実質問題無いかも知れないがね : [sage] 2016/01/22(金) 12:42:22.88:yW17RJ8f までの流れはソース公開の有無についてでオブジェクトの再配布については 何も触れてはいなかったけど、確かに言われてみればそうだな ちなみにゲーム機のOSにはLGPLなライブラリも沢山使われてるけど そういうのは全部動的にロードするタイプのものばかりだな それに改変して使ってるLGPLなライブラリのソースはちゃんと公開されてるし : [sage] 2016/02/12(金) 17:22:58.18:8ijdDdmn ちょっと聞きたいんだが、 OpenGLのテクスチャ関連の情報源が纏まっているお勧め本とかサイトってある? 特にTexparameteriとかfとか。 APIそのものの仕様というより 特定のテクニック(遅延シェーディングとか)で このパラメーターの設定必須とかいう話がうまくまとまっている所。 : [sage] 2016/02/12(金) 17:40:28.96:oazN+lFe 「OpenGL 4.0シェーディング言語 : 実例で覚えるGLSLプログラミング」とか? : [sage] 2016/02/17(水) 00:59:50.05:gHIsUjz8 ttps://www.khronos.org/vulkan/ > Vulkan is Here! > Khronos launched the Vulkan 1.0 specification on February 16th, 2016 and > Khronos members released Vulkan drivers and SDKs on the same day. : [sage] 2016/02/17(水) 01:06:37.00:eBG9H+q0 ガタッ)ついに来たか!!(AA略 : [sage] 2016/02/17(水) 01:50:22.59:gHIsUjz8 AMD Radeon? Software Beta for Vulkan? Release Notes ttp://support.amd.com/en-us/kb-articles/Pages/Radeon-Vulkan-Beta.aspx Radeon GPUs are ready for the Vulkan graphics API ttps://community.amd.com/community/gaming/blog/2016/02/16/radeon-gpus-are-ready-for-the-vulkan-graphics-api > Please note that this initial Windows driver is not packaged with DirectXR driver components, > so it is not a suitable replacement for your everyday graphics driver. : [sage] 2016/02/17(水) 04:11:29.54:kjmsDbJN ttp://steamcommunity.com/app/257510/discussions/0/412447331651559970/#p3 案の定というか、GeForceだとクラッシュしやすい感じだな : [sage] 2016/02/17(水) 11:23:22.50:7JeOmJWL 俺のNVIDIAGPUでもVulkanドライバー来たーー!! ありがとうNVIDIA!! 早速Vulkanのコードを書いてみるかな かなり敷居が高いからポリゴン1つ出すだけでも何日も掛かりそうだが… : [sage] 2016/02/17(水) 12:12:45.77:7JeOmJWL QualcommはSnapdragon820からだな これが搭載されたスマホが出るなんてかなり先になりそうだ : [sage] 2016/02/17(水) 15:22:09.91:gHIsUjz8 ドライバのVulkan API Versionが1.0.2.0だけど ttps://vulkan.lunarg.com/signin で過去のバージョンを選択しても VulkanSDKは1.0.3.1しかダウンロードできない ttps://vulkan.lunarg.com/pub/sdks/windows/1.0.2.0 が 307 Temporary Redirect で VulkanSDK-1.0.3.1-Installer.exe しかダウンロードできない。 VulkanSDKをインストールしてVulkan Runtime 1.0.3.1をアンインストール、 AMDのドライバインストーラーでVulkan Runtimeだけをインストールしなおして、 C:\VulkanSDK\1.0.3.1\Include\vulkan\vulkan.h のVK_API_VERSIONを書き換えたら // Vulkan API version supported by this file #if 0 #define VK_API_VERSION VK_MAKE_VERSION(1, 0, 3) #else #define VK_API_VERSION VK_MAKE_VERSION(1, 0, 2) #endif Sampleコンパイルできて動いた(一部動かない)。 ttps://github.com/LunarG/VulkanSamples の Building the Vulkan Samples Kit を参考 Python 3.4.4 64bitもインストールした。(cmake時にpython 3.xが必要) Windows10 64bit / Visual Studio 2015 Community Edition : [sage] 2016/02/17(水) 15:28:25.91:gHIsUjz8 cmake -G "Visual Studio 12 Win64" .. は Visual Studio 2015の場合は cmake -G "Visual Studio 14 Win64" .. への変更が必要。 : [sage] 2016/02/17(水) 21:22:26.71:gHIsUjz8 The Talos Principleの無料demo版でもVulkan対応してた。 The Talos Principle - Update 257458 - public beta ttps://steamcommunity.com/app/257510/discussions/0/412447331651559970/ : [sage] 2016/02/18(木) 01:09:41.24:Q9SStqkJ なに、つまり今のQualcommものはVulkanサポートしないってことか スマホの方が普及速度が速いって思ってんだが : [sage] 2016/02/18(木) 21:56:38.61:PM+lWUH8 すいません ここで聞いていいのかどうかわからないんですが OpenGLでプログラミングして生成系の動画を作りたいと思っています PCのみでプログラミングから動画書き出しまでできる環境って何がありますか? : [sage] 2016/02/19(金) 03:22:58.69:lRUD/4+H Processing : [sage] 2016/02/19(金) 22:01:40.10:4+n75gL4 190です ありがとうございます : [sage] 2016/02/20(土) 23:35:12.00:CTZ/6uFO OSがVulkan描写だとかなり軽くなるだろうなあ・・・ iOSに快適さで負けてるのはOS部分の重さってのはよく言われてるし : [sage] 2016/02/21(日) 23:41:57.56:lgM7AeG9 Androidは他のベンダーもだけど一度製品として出したらドライバまったく更新しないからな。 ドライバに変更が必要だから対応されないんだろう。ハードウェア的に対応できるものだったとしてもね。 ないない。 Androidが重いのはJavaのフレームワークの質の問題 : [sage] 2016/02/22(月) 21:57:07.62:OQxBKkBP iOSのアプリはネイティブコードで動いてるからそりゃAndroidより速いに決まってる 逆にネイティブコード動かしてよくセキュリティが保たれてるなと思う iOSの事はよく知らんけど : [sage] 2016/02/23(火) 12:26:09.77:h5Nadqe3 知らないのかよw AndroidもNDKで99%ネイティブコードのアプリは作れるじゃん ネイティブコード使おうがアプリは権限で許可されたことしか出来ないから安全 近年はVMの改善で割とヌルヌル動くし : [sage] 2016/02/23(火) 13:03:29.99:MgSDdSDU 知ってるよ セキュリティホールというのは許可されてない機能の穴の事だろ Javaだとそういう事がやりづらいがネイティブコードだと セキュリティホールを突くコードを書きやすい : [] 2016/02/25(木) 06:14:04.49:7aAJM7Qo OpenGL始めたばかりなのですが、質問させてください。 ある座標(xyz)の手前に別のモデルが描画されているかを知りたいのですが depth値と、world変換した座標のZ値比較ではうまく行かないことがあります。 Z値はnear=0, far=1で正規化されているようですが、depth値は視錘台の中で 最奥で描画される位置を1にしているように見えます。 #far平面を遠くへ移動すると、Z値は減りますがdepth値は変わらなかった depthとZを同じ範囲で正規化出来れば、最前面の判定が出来そうなのですが、 どうしたらよいのでしょうか? : [sage] 2016/02/25(木) 12:25:09.27:Ey2CZbRS それぞれの座標空間を明確しろ depth値ってのは射影空間なのか? z値はworld座標空間なのか? 異なる座標系の値を比較したって駄目だぞ : [sage] 2016/02/25(木) 13:30:07.23:xV2izCwr 2重苦3重苦ならせめて描画関係を最適化してJavaの処理に集中させるべきだと思うわ どっちみち無駄が多いAPIを通して余計な電力をさらに余計に消費して描画してるのは事実だし : [sage] 2016/02/25(木) 20:27:44.91:PWvH50+Z ttp://gigazine.net/news/20160223-vulkan-benchmark/ 微妙すぎ : [sage] 2016/02/26(金) 10:26:10.93:4BVW97k5 まだドライバが成熟してないんだから評価は早すぎる : [sage] 2016/02/26(金) 10:33:42.53:vOww0VK6 というかVulkanとOpenGLの差があるのは複雑なアルゴリズムを実装する場合でしょ 単純な描写じゃGPUが変わるわけじゃないんだからOpenGLと大差出ない : [sage] 2016/02/26(金) 12:58:44.77:XAqxrE9C CPU負荷とGPU負荷を分けて表示させない時点でお察しだろ Vulkanは主にCPU負荷を減らす為のモンだからな、CPUがスカスカなゲームには効果無い : [sage] 2016/02/28(日) 11:39:09.43:jdc2WBDZ CPUコア数が増えると伸びるなGLと12は変化してない 高速に描画してなんぼの世界だけどこれから改良されるでしょ : [sage] 2016/02/28(日) 13:37:33.52:ciVnMih0 ttps://t.co/mVqHJeduwh : [sage] 2016/02/28(日) 14:47:16.12:ZOTD4X0A を見ると初期化だけで1000行近くいってるな 前にコンシューマーゲーム機だとポリゴン1個出すのに1000行以上書く必要があるって 書いたら > 図形を描画するのにそんな行数が必要な訳ないだろ > にわかはロムってろ とかレスしてる奴居たけど、やっとどっちがにわかかを証明できたなw ちなみにコンシューマーの方がもうちょっとローレベルだな : [sage] 2016/02/28(日) 18:30:53.69:71gdqeOf 毎回考えて全行書き直さなきゃならないならともかく 行数とかあんまり意味のある指標には思えんけど どっちがにわかかなんて更にどうでもいい : [sage] 2016/02/29(月) 07:41:33.37:bHMRUJeM モデル座標指定してステンシル値取得する関数ってないですかね? gluProjectがdoubleで座標取れるためだと思うんだけど、 drawした位置と微妙にずれるのですが。。 使ってるのはopenglです : [sage] 2016/02/29(月) 19:57:04.30:p/s6qQVA 微妙ってのが1pxより大きいのか 一定方向にずれているのか とかその辺から原因を絞っていけば? そもそもステンシルで特定の1pxを読み出すって使い方が 一般的ではないというか効率が悪い気がする : [sage] 2016/02/29(月) 20:20:52.51:bHMRUJeM 1pxより大きくずれることはいまのとこないのですが、 ずれる方向はカメラの位置によって変わりますね。 陰面消去されない点の一覧を取りたいのですが、 難しいですね : [sage] 2016/03/05(土) 21:15:57.52:UBbBH9IM vulkan難しすぎだわ openglでもできない雑魚が多いのにこれじゃあな : [sage] 2016/03/07(月) 14:46:37.02:z45Edf5n Vulkanの赤本は英語版が8月に出るけど日本語版は同時には出ないよな… 英語版をギリギリまで予約せずにおくけど日本語版出すなら早めに頼むぞ どうせボーンデジタルがやるんでしょ? : [sage] 2016/03/07(月) 21:12:33.34:uXN+Q7bH 仕様書の和訳をカットシステムに出してもらえればそれでいいや。 : [sage] 2016/03/07(月) 21:37:42.55:z45Edf5n Vulkanの赤本は目次見た限りだとOpenGLのと違って3Dの入門的な内容は皆無だよ メモリとかスレッド周りをちゃんと理解したいから赤本には期待してる 出るのが遅すぎるけどな : [sage] 2016/03/07(月) 23:34:39.29:4MHiKawP Windowsで7までサポート範囲広げるのアフォすぎるわ これ絶対後々最適化で足を引っ張る それじゃなくても最適化が放置気味なのに : [sage] 2016/03/08(火) 12:14:48.23:b6RFSG6E 7と10でそんなに違うか? むしろDirectX12が使えない7ではVulkanが対応していて欲しいけど : [sage] 2016/03/08(火) 20:30:04.24:6Lhz8+Tr それぞれのOSでテストしない訳にはいかないし OSのバージョンごとにバグ報告も上がってくる 面倒事この上ない : [sage] 2016/03/09(水) 08:24:04.27:n19kSxSj Win10に移行したがらない奴らばかりだししばらくはVulkanだろうなあ : [sage] 2016/03/09(水) 10:41:58.73:0Gq8vrNb だったらWindows7を動作対象外にすればいいだろ : [sage] 2016/03/09(水) 20:58:57.28:o2uw7+V5 さっさとWin10に移行して欲しいMSの妨害をしてDirtectX12を潰してるんだろ : [sage] 2016/03/09(水) 21:39:54.39:0Gq8vrNb Vulkan使えば7も10もAndroidもそれだけでまかなえるからウマーってなって メーカーがみんなVulkanのみサポートになれば最高だが…なるわけないか : [sage] 2016/03/10(木) 15:33:29.85:7DWmda66 ずっと移行が進まないでGLのままの未来だったり : [sage] 2016/03/10(木) 15:46:04.05:Kw0ks46m 別にあり得るんじゃね dx12もこれも効率アップが 売りだけど、ピーク性能を求めてない ユーザーには無用の長物だし : [sage] 2016/03/10(木) 17:06:12.28:3/fujhr0 GPUはまだ進化し続けるだろうけどGLドライバが更新されなくなったらどうしようもない OpenGLはそのうちVulkan上に実装されたのを使う事になりそう 別にそれでも構わんけど : [sage] 2016/03/13(日) 23:22:20.10:nwsHoZ9R てかOpenGLはゆくゆくはVulkanのラッパーにするってスライドに書いてなかったっけ : [sage] 2016/03/16(水) 07:15:01.80:6braCi5j 出てくるゲームがことごとく現行のDXやOpenGLと相性の悪い処理を多用してて ピーク性能以前の問題になってきてるから必要になってきてる : [sage] 2016/03/27(日) 00:58:30.90:M0YlQb8w GDCで発表してたIntelのVulkan対応ドライバ Intel Beta Graphics Driver for Windows 7/8.1/10 15.40.20.4404 (20.19.15.4404) ttp://downloadcenter.intel.com/download/25848 : [sage] 2016/03/28(月) 14:51:31.82:6ufq8Y0K WebVulkanを待ち望む : [sage] 2016/03/28(月) 16:19:34.06:wQQhq7gT なんでWebでjavascriptでCのAPIそのまんまなんだよ そのままなら既存のOpenGLプログラマが喜んで飛びついてくれると思ってたのか? 残念ながら、OpenGL使ってる奴らほどOpenGLにうんざりするんだよ。 まじでWebの規格決めてる奴らって馬鹿ばっかなんだな : [sage] 2016/03/28(月) 19:36:50.98:87gm1Pz1 WebGL知らずに書いてるな… WebGLのベースはES2.0だが当然そのままではない しかしほぼ同じになるようにJavaScriptを拡張している Float32ArrayとかWebGLの為に決められた規格は幾つかある そんでシェーダーはほぼそのまま同じものが使える お前こそ今更Cの部分がーとか言っても寒いだけだぞw : [sage] 2016/03/28(月) 19:52:17.53:87gm1Pz1 C++で作りたかったらasm.jsとかWebAssemblyとかでコンバートして動かせばいいし あと海外で3DのゲームをAndroidからブラウザに移植したらブラウザ版のほうが利益を上げてるとかある ま、日本人はやっと最近ブラウザからネイティブアプリに移行したばっかだからそれに気付くのは5年後だと思うけど : [] 2016/03/30(水) 07:27:24.76:EYPv1wzL 既存のゲームエンジンは飛びついてくれてるけど? : [sage] 2016/04/01(金) 08:43:17.88:kpR8TlAX ttp://rebuild.fm/135a/ : [sage] 2016/04/08(金) 09:52:19.39:FXnfnjYw Vulkan SDK 1.0.8.0 : [] 2016/04/08(金) 13:02:47.06:/Pf1PHt2 cudaってglslより概念が複雑になってて使いにくいんだけど : [sage] 2016/04/11(月) 21:36:06.79:JWPJe1l7 比べるものが違う気がするが… : [sage] 2016/04/13(水) 13:55:57.67:CPNvCG3Q ARM-software/spir2cross: SPIR2CROSS is a practical tool and library for performing reflection on SPIR-V and disassembling SPIR-V back to readable and usable GLSL/ESSL. ttps://github.com/ARM-software/spir2cross : [] 2016/04/14(木) 18:51:04.85:QdC6+6/a 最適化において、描画量を減らすこと、drawCallを減らすこと、どちらを優先すべきでしょうか? 描画量を減らすために地理的な要素で分割すると、今度は drawCall が増えるし。教えてください。 : [] 2016/04/14(木) 23:10:53.87:xfBTHsgR マ イ ン ド コ ン ト ロ ー ル の手法 ・沢山の人が、偏った意見を一貫して支持する 偏った意見でも、集団の中でその意見が信じられていれば、自分の考え方は間違っているのか、等と思わせる手法 ・不利な質問をさせなくしたり、不利な質問には答えない、スルーする 誰にも質問や反論をさせないことにより、誰もが皆、疑いなど無いんだと信じ込ませる手法 偏った思想や考え方に染まっていたり、常識が通じない人間は、頭が悪いフリをしているカルト工作員の可能性が高い 靖 国 参 拝、皇 族、国 旗 国 歌、神 社 神 道を嫌う カ ル ト 10人に一人は カ ル ト か 外 国 人 「ガ ス ラ イ テ ィ ン グ」 で 検 索 を ! : [sage] 2016/04/16(土) 15:09:37.57:vYVWd6Tu CPUに余裕があればドローコール減らす以外の最適化を優先で 余裕が無ければドローコールを減らす PCならドローコールを発行出来る数はCPUの速度に依存する モバイルはTegraを除いてみんなTBR/TBDRのGPU タイル分割処理をしている関係で いくら頑張っても200〜300回/フレームぐらいまでしか無理っぽい それ以下になるようにバッチ処理したりするしかない : [sage] 2016/04/19(火) 07:54:33.12:G5LQQDiU etheriumで描画コモディティ先物市場まだできてねーのかよ : [sage] 2016/04/22(金) 20:03:01.00:ShvRhSha IoTのメガトレンド化でこの業界にもおこぼれの資本が流れてきてほしいね : [] 2016/05/01(日) 12:19:49.18:tKi6j9CT 匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、 BitTorrentがオープンソースで開発されています 言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか? Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします ttps://twitter.com/Lyrise_al ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw The Covenant Project 概要 Covenantは、純粋P2Pのファイル共有ソフトです 目的 インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します 特徴 Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW) 接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です DHTにはKademlia + コネクションプールを使用します UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります) 検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません - : [sage] 2016/05/04(水) 05:24:39.27:1PZsD9TR Vulkan SDK 1.0.11.0 : [sage] 2016/05/05(木) 16:26:14.00:yHFZxL6v Vulkan SDK 1.0.11.1 : [sage] 2016/05/21(土) 10:39:39.90:SK4V46be Vulkan SDK 1.0.13.0 : [] 2016/05/22(日) 17:06:39.95:B1ZnT2eI 頂点のデータ1個分が半端なサイズだと性能が低下するみたいに書いてあるけどマジ? ttps://developer.nvidia.com/content/understanding-structured-buffer-performance 5%とは書いてあるけどその5%が結構でかいか? : [sage] 2016/05/23(月) 18:25:59.24:sxSKeUhG それはメモリ一般の話でGPUだけの話じゃないな float4 position;にしてw成分にradiusを入れるとかよくやる 多分、float3 position; float radius;でも駄目なはず : [sage] 2016/05/23(月) 20:15:41.27:rfU8/+zM いやそれはちゃんとパックされるはず vec3,vec3,vec2とかは駄目だけど : [] 2016/05/24(火) 07:23:41.22:hRqmCXiK openglで、3Dモデルの断面だけを表示したいのですが、 以下のやり方だと視点変更時にちらつきが起こってしまいます。 glClipPlane(GL_CLIP_PLANE0, 平面); glClipPlane(GL_CLIP_PLANE1, 平面(逆向き)); ちらつきを回避する方法をご存じの方、いらっしゃるでしょうか。 0,1で指定する平面を少し離すとちらつきは起きなくなるのですが、 拡大すると幅が見えてしまうので、平面は(向き以外は)1つにしたい と思っています。 : [sage] 2016/05/24(火) 09:56:54.89:cQa1G5gr ちらつくのはGPUの計算誤差のせいか つうか平面で輪切りにするなら ある程度の厚さは元々必要じゃないの? GPUの演算精度にあわせて最小の厚みを入れれば? あと断面を描画したい場合もっとマシな方法があったはず : [sage] 2016/05/24(火) 10:26:25.89:TKPt/9v7 ヒント: 1/∞ : [sage] 2016/05/24(火) 13:41:51.46:kfi1pEM9 厚みがあるように見えないようにカメラとの距離や拡大率で2つの平面の距離を変えればいいんじゃない : [] 2016/05/24(火) 14:32:55.62:NcOn82rz glPolygonOffset : [sage] 2016/05/24(火) 17:16:47.81:4MJ+rKOz このクリッピングプレーンって カメラ座標系らしいが 任意の傾きでクリッピングしてくれるんだろうか? カメラ視線と平行でなくても良いなら どういう仕組みだろうか : [sage] 2016/05/24(火) 23:13:35.09:73PdSs4C C#で、OpenGLリソースの解放忘れても.NETのファイナライザで解放されるようにしたいのだが 調べていたらファイナライザは別スレッドで実行される仕様っぽい事が分かった コンテキストを有効にできるのは1つのスレッドだけらしいから問題 ミューテックスをロック ↓ コンテキストをMakeCurrent ↓ OpenGLのコマンドを実行 ↓ MakeCurrentで現在有効なコンテキストをNULLに ↓ ロック解除 これで何とかなる? ただロックしたり、何度もMakeCurrent したりするのは速度的にどうなんだろ 同じコンテキストなら平気? コマンドをキューから取り出して消費するスレッドを作れば1スレッドでOpenGLコマンドを実行する事も可能かもしれないがそれは複雑そう : [sage] 2016/05/25(水) 01:11:39.37:bZif6UFV GLのスレッドが終了する前に全部処理すればいいだけだろ。 というかスレッド消滅しちゃったらたぶんリークする。 GLの仕様なので仕方ない。そっちに合わせろ。 : [] 2016/05/25(水) 07:55:56.73:d+DQRqHD 縦横16倍で書いて、バイリニアで四回縮小するか256texelサンプルするシェーダで平均を取る。 面方程式が分からないなんて情けないこと言わないでくれよ。 消去リクエストキューとか作ればいいんじゃないの。 : [sage] 2016/05/25(水) 09:35:29.39:Jg8l7ZmY 2chのレベルの低さを 体現してるよアンタ : [sage] 2016/05/25(水) 15:27:30.58:fzqm+Lrj じゃあ、その面方程式を書いてみてよ : [sage] 2016/05/25(水) 16:03:06.10:Pw7Hw/FX 教えてくださいお願いしますだろ : [sage] 2016/05/25(水) 16:41:44.52:Qi/4WCte OpenGLってCで書かれてるんでしょうか? Javaから使いたいんですけどプラットフォームがwindowsならライブラリはどの言語から使っても共通なんでしょうか? : [sage] 2016/05/25(水) 16:42:45.54:Td5FGjy5 方程式方程式うるせーな その次のフェーズを言ってるんだよ その方程式でポリゴンのクリップする境界を特定したとして どうやってそれを描画するのかってこと : [sage] 2016/05/25(水) 23:30:11.95:SpZNKB3W アホか、お前が知らなそうだから聞いてみたんだよ 図星だったんだなw : [sage] 2016/05/25(水) 23:33:36.28:SpZNKB3W 結局そこはドライバとかハード次第なんじゃないか? ま、ハードでサポートしてるとは思えないからステンシル使うと思うよ : [sage] 2016/05/26(木) 08:19:37.94:m6HlOT3G androidスマートフォンにvulkanが搭載されると具体的なこととして何か変わりますか? また1年後の普及率は個人的にどうなると思いますか : [] 2016/05/26(木) 15:31:00.55:8n8nKgcZ デプスバッファとかアルファリファレンスで discard することを理解できるなら、面方程式でのクリップなんて、内積とって大小比較して discard するだけなんだから、分からない理由がわからない。 : [sage] 2016/05/26(木) 18:55:19.65:lgnLogyr WorldView空間の平面は WorldViewProj空間では平面ではなく 曲面になる ただしカメラ方向(z軸)と平行な場合は 平面は平面のままとなる 曲面じゃなく平面のままならそりゃ簡単さ ただ、GLのクリッピングプレーンの座標系は カメラ空間とあったので 平面の向きによっては曲面になりうる その場合どのような実装でクリッピングを実現しているのか気になったわけ まあ逆行列でWorldView空間に戻して 判定、discardすれば出来なくは無いが、 わざわざそんなまぬけな実装入れるか?ってこと オタクが見当違いも甚だしいってわかったかよ? : [sage] 2016/05/26(木) 19:29:40.41:IMqlwn34 俺は268じゃないが268は正しいよ それより > 曲面になる は笑うところか? : [sage] 2016/05/26(木) 20:33:50.99:lgnLogyr だから言ってんじゃん お前は2chの低レベルっぷりを 体現してる奴だってな 教えてやるのもここまでだ 後は自分で勉強するこった : [sage] 2016/05/26(木) 20:54:41.79:KxXBNl+O 多分透視除算でzが手前から奥にリニアに変化しないということなんだろう : [sage] 2016/05/26(木) 21:37:28.12:Z1edgFxo だからまあWVPの行列かけた後の透視除算前に処理するんじゃないか? : [sage] 2016/05/26(木) 22:04:39.82:H0ytGV88 お前ピクセルシェーダにどんな風に座標渡してんだよ… wを1.0にしたカメラ座標orワールド座標を渡せば線形補間されてピクセルシェーダに渡るだろ バカ過ぎ : [sage] 2016/05/26(木) 22:11:24.04:H0ytGV88 リニアにならないのはMVP行列を掛けるとZ値がWに移動してwが1.0にならなくなる それをピクセルシェーダに渡すとGPUがZ/Wを補間するようになるからリニアにはならなくなる 後は自分で勉強するこったw : [sage] 2016/05/26(木) 22:26:10.65:Z1edgFxo ピクセルシェーダなんて話は誰もしてないわけだが : [sage] 2016/05/26(木) 23:01:04.80:CLG55rQ1 glhint(gl_perspective_correction_hint gl_nicest) つまりナイス! : [sage] 2016/05/27(金) 09:55:07.38:fT3TR/+E クリッププレーンはちゃんとしらべたらシェーダ利用時はそのまま使えないじゃん 別途MV変換した座標を渡す必要があるんだとな : [sage] 2016/05/27(金) 11:49:01.50:UpqEF0dP glDisableしようとすると1280エラーになるのだけれど私の環境では使えないのでしょうか? エラーが出るのは GL_CONVOLUTION_1D_EXT GL_CONVOLUTION_2D_EXT GL_SEPARABLE_2D_EXT GL_HISTOGRAM_EXT GL_MINMAX_EXTです 環境は CPU:Intel core I7-4771 GPU:オンボード MB:ASUS Z87-PRO-V メモリ:8GB OS:ArchLinux カーネル4.5.4でGNOMEを使っていて OpenGLのバージョンはよくわからないのでglxinfoを抜粋します OpenGL renderer string: Mesa DRI Intel(R) Haswell Desktop OpenGL core profile version string: 3.3 (Core Profile) Mesa 11.2.2 OpenGL core profile shading language version string: 3.30 OpenGL version string: 3.0 Mesa 11.2.2 OpenGL shading language version string: 1.30 長文申し訳ありませんが、宜しくお願いします : [sage] 2016/05/27(金) 14:09:39.83:5/CmsdlJ GL_EXT_convolutionとかGL_ARB_imagingが無いなら使えない つかglDisableするなら別に使えなくてもいいじゃない : [sage] 2016/05/27(金) 14:30:29.08:UpqEF0dP レス有難う Linux版のOpenToonzで落ちるところを探ってて行き当たったので GL_EXT_convolutionとかGL_EXT_histogramのifdefで囲ってあるようですが上手く判定できていないのかな もうちと調べてみます : [] 2016/05/27(金) 14:42:52.68:fvoGjXwU それらがdefineされてるかどうかとお前の使ってるGPUがそれらをサポートしてるかどうかは別の話だから : [sage] 2016/05/27(金) 20:11:31.75:LFdJJr4H なぜextension調べないのか : [sage] 2016/06/03(金) 20:26:38.31:hF5p/WFD OpenGL(ES)のバージョンを指定で使いたいんだけど、 getコンテキストなんたらで、バージョン指定すりゃいいの? 2.0指定してみたけど、読み出したら3.0になってるんだが・・・ : [] 2016/06/03(金) 20:43:22.41:0Rj+QG2p 2のプログラムそのまま動くから3で問題ないよ : [sage] 2016/06/05(日) 04:14:39.27:ye6u/kZm 機械学習ベース グラフィックAPIまだできてねーのかよ : [sage] 2016/06/05(日) 16:37:43.32:vQseBiFc OpenGLで単純な直線・ドット・四角形の描画を実行すると ドライバ(ビデオカード?)によって同じ座標値を与えても描画結果が異なるみたいなんだけど そういうもんなの? 環境依存しまくりで頭抱える : [sage] 2016/06/05(日) 16:40:06.35:J5Uoisn/ そういう話がなくはないけど、そこまで単純なモノだったらなにかコーディングが間違ってそう : [sage] 2016/06/05(日) 22:42:25.12:fKt+kMxz Adrenoはmediump以下の精度にしようとしても無視してhighpにするって読んだ : [sage] 2016/06/06(月) 02:12:48.61:etHtvK3t 斜線が途中で微妙に1ドット違う結果になったのを確認した事はあったけど アルゴリズムとかモバイルだと精度も違うから同じ結果にならないのも納得出来る けど困るほどズレるかね? : [sage] 2016/06/06(月) 07:00:36.40:UEWlMU/Q 旧APIの固定機能パイプラインの実装が微妙に異なるんじゃね。型とか。 : [sage] 2016/06/06(月) 07:37:17.36:Y6IHoxrC Vertex2d指定で14x14の小さい丸に見立てた八角形を描こうとしたら形が歪んで ミスが見つけられなかったから他の環境で実行したら違う形にゆがんだので テスト用にL字型の線分を描かせてみたら違うピクセルが抜けたりと ぶっちゃけ斜め要素のない四角形以外はおかしかったです : [sage] 2016/06/06(月) 21:08:34.91:EceGlO4T 凹ポリ描こうとしてたり… 無いか : [sage] 2016/06/07(火) 13:27:04.82:irsyXiHg それだけだと何とも言えないけどZテスト有効にしてZ値込みで描画してたりすんじゃないの? : [sage] 2016/06/07(火) 13:28:59.61:irsyXiHg あーVertex2dって書いてあるか…すまん だとしたらトライアングルストリップの指定がおかしいかぐらいか どっちにしろそこまで歪むなんて考えられん : [sage] 2016/06/07(火) 13:40:18.91:YXdpUuyy おかしなコマンドやデータを与えた時の動作は 実装依存でもおかしくない : [sage] 2016/06/09(木) 22:51:32.59: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にコピーできるような一般的な関数を作る場合に 引数の型がどうなるのかがわかりません。 : [sage] 2016/06/16(木) 19:35:08.66:Sexkwk5r eglCreateSyncKHRとか、KHR付いた拡張使いたいんだけど、 なんか前提条件ある? 試したらEGL_NO_SYNC_KHRしかかえって来ない、これって駄目って事だよな? もうひとつ、この手の機能はglFinishとかの代用って解説あるけど、 glutとか使わない生のGLES使ってる分にはeglswapがあるから意味無い? : [sage] 2016/06/26(日) 02:07:41.62:dw6nt173 Vulkan SDK 1.0.17.0 : [sage] 2016/06/27(月) 11:49:12.99:E0ORTsPB AppleはVulkan対応しないの? : [sage] 2016/06/29(水) 07:20:04.87:bcgc76wf Apple様はMetal推しだからな いいAPIだと思うよ、移植性を除けば : [] 2016/06/30(木) 18:59:31.43:qTuZz+mN ttps://osdn.jp/magazine/16/06/30/154000 : [sage] 2016/06/30(木) 19:42:05.22:LevSiXF4 mesaみたいなもんなんだろうか? : [sage] 2016/07/01(金) 22:57:55.48:pgrRPR6O 今時OpenGLが動かない環境なんてクソみたいもんだからどうでもいいよ : [] 2016/07/02(土) 19:55:01.85:ZiIDTaS+ 環境を作る側に行く可能性が無い人にとってはね。 : [アハ♪” uh huh] 2016/07/05(火) 03:47:43.79:fGwSDfE9 そっそw DarkGDK Part.2(c)2ch.net ttp://echo.2ch.net/test/read.cgi/tech/1467514934/ : [sage] 2016/07/05(火) 19:42:37.58:QfXwP4YG Vulkanって今まで通り、GLESのコードで動くの? : [] 2016/07/05(火) 21:54:11.70:l6bE/62d 動かない。 全く違う低レイヤーのAPIでGLESのAPIを低レイヤーのVulkanで実装しようという動きがあるぐらい : [sage] 2016/07/05(火) 22:15:52.17:+mdcf8kt Vulkanってそんなむずいの? ttps://forums.developer.apple.com/thread/38469 MetalはVulkanよりは色々やってくれて優しいみたいな事が書いてある MetalがVulkanよりハイレベルで動くなら 他のプラットフォームで動くMetal互換の実装を作るのは可能? でもプロプライエタリAPIの互換実装なんか誰も作らないか : [sage] 2016/07/06(水) 00:03:57.85:zRpS2tef VulkanのアプリをMetalで動かすレイヤーはある Metalは絶対消え去る運命にあるのは間違いない : [sage] 2016/07/06(水) 12:27:48.03:qioYPRFr OpenGLでガンヴァロウ そんなAPIやってられん : [sage] 2016/07/07(木) 23:12:05.35:hGlT+uLz なんか勘違いしてそうだけど、環境作る側の「環境」って組み込み機器とかの事だぞ GPUは無いけどOpenGL ESを動かしたいとかの特殊な状況で役に立つだろう : [sage] 2016/07/07(木) 23:13:23.07:hGlT+uLz ラッパーライブラリを作る側はアプリを作る側とOpenGLからしてみれば同じだよ : [sage] 2016/07/08(金) 12:23:32.11:VW0hfFNQ そのOpenGLの中身をVulkanにしよう動きが既に出ている 効率を上げないとしんどいインディーがすごく増えたし スマホゲームにおいてVulkanを積極的にやらんとMetal持ってるiOSに負ける : [] 2016/07/08(金) 12:44:15.91:UF+RGGyc それと、搭載予定のGPUが開発中で実物が無い時に、すでに開発はスタートしてるとかね。 : [sage] 2016/07/08(金) 15:17:39.75:M+8Itm4Z OpenGLをVulkanで実装したところで効率が良くなるとは思えんが… むしろ間接的になるから効率は悪くなるだろ OpenGLは仕様上色々ドライバがチェックすべき事が多いからDrawコールが重いんだろう Vulkanで実装したところでやるべき事は一緒だ : [sage] 2016/07/08(金) 16:12:15.71:XUluGpCt OpenGLはまずコマンドバッファの管理がドライバ任せなのが良くない感じ? テクスチャや頂点バッファ用のメモリ確保とか転送をどうやるかもドライバ次第だしな モバイルでglTexSubImage2dがやたら遅いとかよくあった モバイルだと殆どのGPUがタイルベースだけど この処理もドライバ任せだし 処理結果を取っておいたりも出来ない : [sage] 2016/07/09(土) 23:10:45.67:M+Fpadyy コンテキストが一つってのが問題点じゃなかったでしたっけ? : [sage] 2016/07/10(日) 11:16:29.74:JU0nYL+k コード量が増えるってことはバグも人件費も増えるってことじゃないの 普及するのかね : [sage] 2016/07/10(日) 11:59:50.38:gNtLgAII 実行速度を重視するかどうかで分かれるだけでしょ : [sage] 2016/07/10(日) 12:15:17.43:IeFM40zW コンテキストは複数持てるけど MakeCurrentが同時に一つのスレッドからしか出来なくて 1つのスレッドからしかコマンドを送れないのが問題では このマルチコアCPUの時代に : [sage] 2016/07/10(日) 13:08:45.63:BPe8fmjI どうせ使われてないんだから過去の互換性なんか切り捨ててくればよかったのに 使われまくってるDirectXでもやってんのに : [sage] 2016/07/10(日) 15:17:11.91:SUPEDuXc 結局実行速度が厳しいスマホだからこそ急いで開発しないとマジでiOSに人取られるからなあ より負荷の高いゲームでどっちが快適に動くかってのを見せられてしまうとなおさら : [] 2016/07/10(日) 18:01:48.02:7bNQZoic 切り捨てて作ったのがVulkanだろ : [sage] 2016/07/10(日) 21:39:44.73:K/z/M4wG Vulkanは最近のGPUの仕様に合わせて策定されてんだから今後は普通に使われるようになるだろ 時代はどんどん先へ進んでんだよ プログラマが追い付かなきゃいかんよ : [sage] 2016/07/11(月) 11:59:03.53:xfWl4DPh コード的には退化してる : [] 2016/07/11(月) 12:43:39.07:tFSd98iK そう思うなら直接使うの諦めてゲームエンジンとかのミドルウェア使えばいいじゃん。それらが対応してれば恩恵受けれるんだし : [sage] 2016/07/13(水) 11:22:02.27:0mOEb/aF OpenGLもミドルウェア的な物を通じて使う物じゃないのか : [sage] 2016/07/13(水) 21:54:26.00:fWwCFzYf コード的には退化とか言って ハードの進化がPGのオナニーに帳消しにされてるのが我慢ならない。 クソみたいに遅いなスクリプト言語は禁止せよ : [sage] 2016/07/13(水) 22:16:54.83:0mOEb/aF ? : [sage] 2016/07/13(水) 22:34:50.16:ygJbv1Fw 高級言語のFORTRANから低級言語のCに「退化」したようなもんだろ。 : [sage] 2016/07/14(木) 07:32:49.91:X1+/IxXc アーキテクチャの進化に付いていけないって悲しいな : [sage] 2016/07/14(木) 22:30:11.83:y2jpUAL1 今まで抽象化されてドライバ任せだったメモリ管理とかが、今後はソフトやプログラマが直接管理しなきゃならないから、 直にはついて行けない奴も大勢いるだろ というか、エンジンや環境自体を開発しているようなハイエンドな連中以外は環境が整うまで待ちだろ : [sage] 2016/07/15(金) 00:08:34.60:TvQRmVn+ つうか赤本早くしてくれ…(一応10月発売予定にはなってる) : [sage] 2016/07/15(金) 20:23:03.82:3Sl2ginq 対応実機持ってないしなあ : [sage] 2016/07/15(金) 20:23:51.70:zqzheoRV そこだよね どこまで対応したドライバが普及するのか : [sage] 2016/07/15(金) 20:47:56.99:+hrWOFBB 今は泥でGLつついてるんだがjavaでVulkanAPIとかパフォーマンス出なそう まあ遅い言語でチューニングした方が感コツ掴めそうだから完成したらC++に清書か : [sage] 2016/07/15(金) 20:51:50.49:NV7zQ3yX Intel内蔵GPUでもLinuxだったらIvy Bridge(2012年発売)から対応してるぞ Windows版だと最近のしか対応しないようだが NVIDIAも2012年製のから対応してる ↓詳しいことはこれ見れば分かる ttps://en.wikipedia.org/wiki/Vulkan_(API) : [sage] 2016/07/15(金) 20:56:33.06:NV7zQ3yX AndroidはAdreno一強だけど500からしか対応しないから今年の最新モデルからだね PowerVRはかなり古いのから対応してるけどこっちはほぼApple専用だしな… : [sage] 2016/07/15(金) 21:26:25.72:zqzheoRV intelの対応が遅いのがな Macの少し前のでは動かないの確定か・・・ : [] 2016/07/15(金) 22:07:21.36:kBkiG3Sk ハードウェア的にはそこそこ古いものでも対応出来るんだろうがAndroidのSoCベンダーは一度出した製品のドライバー絶対更新しないからな… Googleすらドライバーのバグを回避するworkaround書いてる程だから : [sage] 2016/07/15(金) 22:44:03.45:+hrWOFBB グラフィック周りの更新は特に文鎮化の危険あるからな : [sage] 2016/07/15(金) 22:58:50.58:3IYjBgbR そもそもAndroidのVulkan APIってNDK前提じゃ? : [sage] 2016/07/16(土) 00:26:24.80:f/DgtYZl 幸いな事にVulkanはモバイルとデスクトップでAPIに差がないからとりあえずデスクトップで組んでおくのがいいだろうね : [] 2016/07/16(土) 00:37:04.46:YVZVQkaI いや、関係ないだろ : [sage] 2016/07/16(土) 07:41:16.22:7CVppVRt へーそうなの初耳だわ : [sage] 2016/07/16(土) 09:51:04.73:bNZm+5vP VulkanのAPIがローレベル過ぎてJavaバインディングを作るのは難しいのかも : [sage] 2016/07/17(日) 16:43:47.60:cm6P0jo0 OpenGLを蹴ってまでのAPIでJava使ったら速度でなくて意味ないじゃん : [sage] 2016/07/18(月) 23:16:14.49:7760Fm83 流れを見るとJava+OpenGL→Java+Vulkanって話でしょ 当然意味はある あとバインディングもOpenGLより簡単だろう VulkanAPIは全てXMLで定義されてるからツールに通して作れるはず : [sage] 2016/07/23(土) 09:48:38.91:Plvoi5O2 OpenGLでもややこしいのにこれ以上ややこしくするなよ : [sage] 2016/07/23(土) 11:51:52.48:q2oxmEOv よくわからないけど GPUのこと詳しくなればVulkanのほうがわかりやすくなるんじゃね よくわからないけど : [sage] 2016/07/23(土) 12:49:49.76:V4JGvq9g 実際そうだと思う。OpenCLを先にやってたらOpenGLは暗黙の了解みたいなのが多くてわけわからなかった。 : [sage] 2016/07/24(日) 10:00:19.87:BvjWz3uk VulkanをJavaに持っていこうとしても JNIでやり取りする時のコストがでかくて 低オーバーヘッドの意味がなくなるとかない? : [sage] 2016/07/24(日) 10:16:24.11:Z3SkWthj 試せ : [sage] 2016/07/24(日) 13:19:04.93:dq+Rqgee SDKサンプルが上がってこないとわかんないな最初に描画手順のコード?渡して 後は頂点渡すだけみたいな感じなら普通に恩恵あるだろうし : [sage] 2016/07/24(日) 17:20:27.50:XV2OXjbQ 複雑なアプリを作ってるとOpenGLはステートを内部でもってるから整合性を保つのが滅茶苦茶面倒になる Vulkanは外部に置いておけるからその辺は簡単になるだろう OpenGL→最初簡単だけど後が大変 Vulkan→最初大変だけど後が楽 じゃないか? : [sage] 2016/07/24(日) 23:47:56.68:QfpMWXUS Vulkan SDK 1.0.21.1 : [sage] 2016/07/25(月) 12:28:39.42:bHa5mRdV nvidiaはPCで不利になるから裏でVulkanを普及させたくない意図が見え隠れしてるけど OpenGLはいい加減古い : [sage] 2016/07/26(火) 00:57:36.60:P70t/zUn NVIDIAは無理してVulkanに移行しなくてもOpenGLだけでCPU負荷を減らせる拡張を用意してるだけだ デベロッパーに優しいんだよ それとゲームはDirectX12の速度の方が重要じゃないか? : [] 2016/07/26(火) 01:56:37.46:R2cFxA5u Windowsしか使わないの? : [sage] 2016/07/26(火) 20:37:51.77:jYnejzD0 いまやスマホだよな : [sage] 2016/07/26(火) 20:37:53.18:jYnejzD0 いまやスマホだよな : [sage] 2016/07/26(火) 23:46:34.98:1yunqESs Steamの調査だとWindowsが95%以上だけどな : [sage] 2016/07/26(火) 23:50:35.33:HtJzFbj/ スマホもハードが進化したらPC用OSになる : [sage] 2016/07/27(水) 10:44:58.20:MIqC1yVf スマホは電池の問題があるから意図的に遅くても消費電力少ないCPU使ってるから PCを超えることはないんだよバーカ : [sage] 2016/07/27(水) 12:34:24.99:n5XSmKiJ 逆にAndroidがWindowsを置き換える MS帝国の終焉 : [sage] 2016/07/27(水) 13:36:40.66:lrmpmMbD それ言うならChromeOS(Chromebook)だな もはやAndroidも包含してんだから : [sage] 2016/07/27(水) 14:24:40.83:CeyxgAlj AndroidのOpenGLESは正直無茶苦茶で完全にiOSに敗北してるからさっさとVulkanラッパーに移行したい : [sage] 2016/07/27(水) 17:57:49.91:aSOycJoj ChromeOSを電話に乗せればよかったんじゃと思う泥は急こしらえっていうか雑だね嫌いじゃないが : [] 2016/07/27(水) 22:46:27.42:+xrdoiGB Vulkanの薄いAPIすら心配なレベルだからなぁ… : [sage] 2016/07/27(水) 22:50:44.37:0Ef+lpVH AndroidのOpenGLESが無茶苦茶に思えるのは腐ってるドライバのせいだろ しかもアップデートもされない Vulkanではそうならないことを願う : [] 2016/07/30(土) 16:49:27.46:NnN7Vre0 ChromeOSに限らずGoogleの出すものは全部雑な感じする : [sage] 2016/08/02(火) 06:56:55.79:R+izKGGu vulkanってHLSL使えるらしいからGLSLいらないね : [sage] 2016/08/03(水) 00:09:59.72:jr+ageRA GLSLは滅びぬ、何度でも蘇るさ! : [sage] 2016/08/03(水) 00:26:49.09:TYVGHSEt ていうか特定のシェーダー言語に捕らわれる必要は無くなったわけだし : [sage] 2016/08/03(水) 10:22:21.68:n1aeLSbX なんにしろそんな最新ハードまだ持ってないし日本語本もないしOpenGL ES3の方が覚えたい : [sage] 2016/08/08(月) 23:48:34.59:k72FOCvw Vulkan実行すると、OSいきなり落ちたりしない? コーディングしてて即落ちして萎える。 : [sage] 2016/08/09(火) 00:02:34.00:/90aZcQE おま環じゃね? : [sage] 2016/08/09(火) 01:02:18.05:cMzsnvho OpenGLみたいにドライバーが実行時エラーを補足しないからな : [sage] 2016/08/11(木) 11:27:04.55:lFfds5RZ おまコードじゃね? : [sage] 2016/08/11(木) 13:12:10.10:FP3MI2h+ おま○コード : [sage] 2016/08/16(火) 17:35:02.14:/553Bm79 DirectXじゃなくてOpenGL使う意味ってある?OpenGLは研究に使われてるイメージ : [sage] 2016/08/16(火) 17:48:32.17:+HOVpTRk mac対応 : [sage] 2016/08/16(火) 18:34:02.00:6YKAxD8c DirectXの方が速いはず やってることは同じ : [sage] 2016/08/16(火) 18:43:56.12:HlSmpCVY DirectXで書くといずれ動く環境が無くなる可能性があるが OpenGLはいまだにドライバが1.0のコードが動くように対応している その違い だからといって今更begin,end,vertexを使ったコードを書くべきでは全くない たまに質問見かけたりするけどな : [sage] 2016/08/16(火) 20:03:30.29:/553Bm79 使えるAPIもOpenGLの方が少ないイメージあったんだけどあまり変わらないってことか : [sage] 2016/08/16(火) 20:15:59.04:EOyum1ME 1から勉強する場合はDirectXとOpenGLとVulkan、どれがいいのん? : [sage] 2016/08/16(火) 20:50:06.17:o2FZVflw DirectX(D3D11)安定 : [sage] 2016/08/16(火) 21:20:02.38:5Trr3wwO dxは日本語リファレンスが神 3dに対する情報も多く含み大変勉強になる 俺もdx11を勧める : [sage] 2016/08/16(火) 21:45:25.49:EOyum1ME ,389 レスありがとう やっぱ日本語の情報が沢山ある方がやる気にも繋がるよね : [sage] 2016/08/16(火) 23:35:20.25:56zF905F つうか3DAPIに安定を求めても無駄だ OpenGLは比較的安定してるから研究目的で使われてるだけだ それと最先端の情報は間違いなく日本語ではない : [sage] 2016/08/17(水) 11:03:05.64:VM9CuBkP OpenGLとD3D9は古い手法が混ざっていて混乱の元 VulkanとD3D12は周辺知識が余計に要る : [sage] 2016/08/17(水) 13:52:00.66:P3V6aYuj お前どっちもちゃんと扱った事ないだろw : [sage] 2016/08/17(水) 15:34:47.82:fGC+I60P WindowsだけならDirectXで良いけど、スマフォとかMacとかマルチを考えるならOpenGL : [sage] 2016/08/17(水) 16:45:06.27:7YeA1aVk 1から勉強するならWebGLが最適 最新のブラウザには良く出来たデバッガとプロファイラが備わってるし コンソールにはご丁寧に実行時エラーを表示してくれる どうせお前ら実行時エラー出しまくりなんだろうからこれが滅茶苦茶役に立つ で、基礎を身に着けたらC++とかでやればいい : [sage] 2016/08/17(水) 20:09:15.75:QRsMLiC7 ES2.0はプログラマブルシェーダーあるGPUが前提になって それに要らん機能は削除されてる Coreプロファイルもなんか色々削除されてるはず : [sage] 2016/08/17(水) 20:13:46.78:SlPTVXjn coreプロファイルってなんですか? : [sage] 2016/08/18(木) 20:01:09.03:MF6CGVf/ 2.xまでにあった要らん機能まで思い切って削っちゃったバージョン? : [sage] 2016/08/19(金) 20:50:01.17:s5nMr5/q directx周りのossのライブラリは軒並み微妙な印象 : [sage] 2016/09/02(金) 15:44:31.82:HIFOxvQq 電池も再来年に革新が起こりそうだけどね まあVulkanに取り組んどいた方が後々楽だと思うよ : [sage] 2016/09/03(土) 16:40:52.81:FrYijLTu 違うスレでも見た気がするけど、その電池の革新って何だ? ソースプリーズ : [sage] 2016/09/03(土) 23:51:00.03:h2wll6jz 日経エレクトロニクスでも記事になってた全固体電池じゃね? 安全で容量が数倍になるうえに寿命も長く、さらに充電時間も短縮するとか。 : [sage] 2016/09/06(火) 00:16:04.95:dm/HXvsI 固体電池が実用になるのは早くても2020年頃になると思うけどね で、容量が大きくなったからと言ってGPUをブン回すことが出来るかって言うとそうじゃないな 電池の持ちは良くなるだろうけど現状でもスマホで3Dゲームやると 持ってられなくなるぐらい熱くなるから、結局GPUの省電力化が全てだろう : [sage] 2016/09/06(火) 10:46:46.56:dPVu7qd7 さすがにpcか据え置き機でやれよ : [] 2016/09/06(火) 18:54:57.67:MfZbc6Jb mobile が PC 追い越すことは永遠にない : [sage] 2016/09/06(火) 21:01:44.94:3p+KPqnG 本当に永遠と言い切れるか? 電力を無線で飛ばす時代だ 普通に持ってるだけでスマホに500W以上の大電力が供給される可能性だってゼロとは言えない そうなるとPCを超えられる : [sage] 2016/09/06(火) 21:23:34.01:e+pQoU+e お前は未来技術板にでも行くんだな。 : [sage] 2016/09/06(火) 22:32:04.24:xiDyDxAm 物理的なサイズの問題はどこいったのかな。 小型で高性能化したスマホの技術を結局デスクトップに応用できるんだからでかいほうが強いのはずっとかわらん。 : [sage] 2016/09/06(火) 23:50:21.43:BbG5xseE PC用にボードを販売しても儲からないからスマホに最先端GPUを供給するようになったら立場が逆転する 経済的に立場が逆転する事は十分考えられる よって永遠とは言い難い : [sage] 2016/09/07(水) 00:29:44.15:CPDLZkVP 説得力ゼロでワロタ : [sage] 2016/09/07(水) 04:08:46.45:QI1brpnk わりとどうでもいい : [sage] 2016/09/07(水) 08:27:53.20:v4venNLg ボードが既にスマホよりでかいのにな : [sage] 2016/09/07(水) 12:37:33.59:uvFp1gK4 昔はCGをスパコンでレンダリングする事が当たり前だったが 今はPCを使っている(今でもスパコンの方が性能が上なのにだ) この期に及んでPCはスパコンを超えられないと言ってるようなもん あるしきい値を超えるとデカい方が衰退していく : [sage] 2016/09/07(水) 12:45:57.96:gFiV+ayk やたらと必死だけど根本的に脳味噌腐っててワロタ : [sage] 2016/09/07(水) 14:01:53.25:uvFp1gK4 ま、単純に「いつか mobile が PC 追い越す」と言えば納得するだろ そんなの今時みんな言ってる 要するに何を追い越すと明記してないから俺はPC用のディスクリートGPUなんて いつか誰も使わなくなるという観点から書き込んでただけだ : [sage] 2016/09/07(水) 14:08:33.80:uvFp1gK4 PC用のディスクリートGPUの方がデカいからモバイル用GPUは性能が「永遠」に追いつかないなんて 短絡的で糞つまらん事書き込む奴がいるからこんな事になった : [sage] 2016/09/07(水) 14:11:37.78:EVMT8UqU 合わせてPCの性能も高くなるので永久に追いつかない件 : [sage] 2016/09/07(水) 14:20:37.59:uvFp1gK4 サルは「永遠」に人類を超えられない、と言ってる事が一緒だなw サルには無事で人類にだけ感染する致命的な病気で人類が絶滅する可能性があったり 知能指数が低い子供しか生まれなくなる可能性もある 「永遠」とか簡単に言って納得してる奴ってプログラマとしては致命的だな : [] 2016/09/07(水) 15:01:21.08:YSZpbVen それな モバイルが速くなるんなら PCの箱の中がほとんど空っぽで真ん中にモバイルとかな : [sage] 2016/09/07(水) 15:05:20.64:HvbhVLNV 勝てる気がしない : [sage] 2016/09/07(水) 17:27:15.68:17d1VWw3 頭の悪さがプログラマとして致命的だな ただの荒らしだろうけど : [sage] 2016/09/07(水) 19:55:36.21:uvFp1gK4 「永遠」を証明するにはそれを阻害するあらゆる可能性を全て排除出来て初めて証明出来るが それは要するに悪魔の証明という事だ とりあえず、お前の突っ込みはただ悪口を言うだけの幼稚園児並みだなw : [] 2016/09/07(水) 23:03:24.31:kDxgbqqE 簡単な話、PCもモバイルも無くなるかも知れない。 PC が先に無くなれば、モバイルが追い越す期間が存在することになる。 どうでもいい話だ。 仕事があればスマホでもPCでもコンシューマでも、必要な程度に作りこむさ。 : [sage] 2016/09/08(木) 01:13:52.71:WFFFt8FR デスクトップが衰退していくのは無くなるからモバイルが追い越すとか、それ性能の話とは全く関係ないっていう滑稽さ : [sage] 2016/09/08(木) 01:50:45.12:IjrSLplX ダウンサイジングでWSやオフコンが消えたから今度はPCが消える的な話なら多少はね 若い世代はPC持たないしフツーの家庭からPCが消える可能性もなくはない : [sage] 2016/09/08(木) 02:51:28.88:0hht2XCk 性能なんて相対的なもんだろ PCが無くなってスマホがその位置になって、コンピューターは指輪ぐらいの大きさになって その指輪ぐらいの大きさの何かが永遠にスマホを越えられないって誰かが言うんだろうよ : [sage] 2016/09/08(木) 08:52:40.65:7o4m/kCG 何年も前から ネットサーフィンとメールしかやらない層がフル機能のPC買って ウイルスにやられたりするのは愚かしいと思ってたし あるべき姿に戻るだけ スマホの詰め込み過ぎもいずれアジアの廉価製品が出てきて駆逐されるだろう : [sage] 2016/09/12(月) 16:18:05.89:GTMYmn5k Vulkan SDK 1.0.26.0 : [] 2016/10/01(土) 13:39:18.23:nUT6iF3U 質問だけど 2D画像を表示するために構造体でテクスチャID、幅と高さの大きさを持たせて使ってるんだが テクスチャIDから画像の幅と高さを取得するメソッドってないの? スッキリさせたい。glfwです : [sage] 2016/10/01(土) 16:15:52.39:PHorM5/5 glgetなんちゃら : [sage] 2016/10/01(土) 17:51:15.55:nUT6iF3U 見当たりません・・・ : [sage] 2016/10/01(土) 18:02:04.33:nUT6iF3U 見つかりました。glGetTexLevelParameterivのことですね! ありがとうございます : [sage] 2016/10/01(土) 18:06:48.64:QBQLTxiB バカルンの本はまだ出ないんだな まあどうせ実機ないからテストできん : [sage] 2016/10/01(土) 19:15:46.11:j7/Bc0bs ばかるん? PCでもわりと最近のGPUなら動くだろ?Vulkan : [sage] 2016/10/01(土) 22:45:36.64:uhQiho5C ゲームなら既に、DOOMとThe Talos PrincipleとDota2がVulkanで動いてる。 本なんて要らんだろ。本が必要なレベルの人間には扱えない。 : [sage] 2016/10/01(土) 23:46:07.93:skXxXWUu んなことはない 日本語の本は期待できないが本家赤本は最初7月には出るはずだったのがひと月ずつずれていって今では11月発売だ とりあえず赤本待ち : [sage] 2016/10/02(日) 01:29:36.47:sd32PxOB 馬鹿るん♪ : [sage] 2016/10/03(月) 01:52:58.66:RfUrM0Co OpenGL1の赤本と同じだと思ってるお前の方がバカだろw 英語読めないのかよww : [sage] 2016/10/03(月) 02:07:52.63:RfUrM0Co Vulkanを魔術みたいに特別扱いしてる奴ダサ過ぎw PS4のローレベルなAPIはかなりむずいが詳細なドキュメントが日本語で付いてるよ それ理解した奴ならVulkanに置き換えるのは簡単だろ、同じAMDだし 俺らはそんな経験ないんだから赤本から始めるんだ : [sage] 2016/10/03(月) 21:09:30.88:BkBOvdSx 英語のWebサイトなんであんな真っ黒なんだよ アダルトサイトと区別つかねえ : [sage] 2016/10/09(日) 18:49:04.27:Xj0BbRf6 Vulkan使っても体感速度はほとんど変わらない PCならせいぜい10%程度みたい : [sage] 2016/10/09(日) 22:52:45.33:cO312FMp 10%は十分大きいと思うけど : [sage] 2016/10/11(火) 14:03:30.72:+ncvTzhG CPUに負荷が掛かりまくりでギリギリでも無ければ体感速度は変わらないでしょ? : [sage] 2016/10/11(火) 16:42:10.06:EYmFfrNB 無駄な処理が減れば、それだけ消費電力が減るんだよ! : [sage] 2016/10/11(火) 22:08:02.31:Il8D3j4M Vulkan使って変わらないのは単に使いこなしてないだけじゃないのか? : [sage] 2016/10/15(土) 15:33:54.85:2eRhSzEv Vulkan SDK 1.0.30.0 : [sage] 2016/10/16(日) 23:15:10.74:ezHfniSP 太陽戦隊 : [sage] 2016/10/22(土) 02:06:34.20:n4KWzxAz ttps://youtu.be/rvCD9FaTKCA : [sage] 2016/10/22(土) 09:00:47.31:ksoZ+Sju gtkmm3+epoxy+sgslで隠面消去の方法を質問したいのだけど 何処のスレが良いのですか? : [sage] 2016/10/22(土) 10:59:15.86:O48rD9qT くだすれ : [sage] 2016/10/22(土) 11:23:56.21:ksoZ+Sju sgslって何だ・・・org glslです プログラム板のくだすれで質問できそうなのは「くだすれC++/CLI(初心者用)part2」だけど・・・ 行ってみます : [sage] 2016/10/24(月) 08:30:59.75:OFHJSBPt OpenGLAPIでラップして使えるなら使う : [sage] 2016/10/25(火) 20:56:46.57:qOm0CxnU PBOからテクスチャにピクセルデータの転送を行いたいのですが、バッファ上の画像のピッチと テクスチャのピッチが異なる場合で困っています。 テクスチャの方が大きい場合はglTexImage2Dでできそうなんですが、逆にバッファ上の画像の方が 大きい場合にその一部をテクスチャに転送する方法がわかりませんでした。 OpenCLやCUDAのような、srcとdstのピッチが違う場合でも使える汎用的な矩形転送って無いんでしょうか? : [sage] 2016/10/26(水) 07:32:45.55:ZMW8+L5S glTexSubImage2Dかな。 : [sage] 2016/10/26(水) 08:18:34.18:MSxG37Ir ありがとうございます。 でもglTexSubImage2Dは転送元のバッファ側が連続している必要あるんじゃないですか? テクスチャの方が小さい場合はバッファの一部の矩形領域を転送することになりますが、 そういうことはできないような。 : [sage] 2016/10/26(水) 12:12:11.17:SKWE6KpR ああ、そう言うことか。 それならパデイングを含むサイズのダミーテクスチャ作ってglCopyTextureSubImage2Dだけとなんか無駄だなぁ 前提条件を見直した方がいい気がする : [sage] 2016/10/26(水) 16:10:22.42:HjBsTdOo 小さいテクスチャをテクスチャとして矩形をテクスチャにレンダリングするだけだろ : [sage] 2016/10/26(水) 20:20:11.52:MSxG37Ir ぐぐったら同じ問題の人がいて、その人はラインごとに転送したとか。 自分は結局テクスチャと同サイズのバッファを別に作ることにしました。 具体的なやり方がちょっとわかりませんが、FBOとか使うんですかね? : [sage] 2016/10/26(水) 20:35:27.43:n7tIDOUO 適当に書くけどglPixelStoreiのGL_UNPACK_ROW_LENGTH? : [sage] 2016/10/26(水) 22:08:52.23:ToYJ0I9+ テクスチャからPBOにコピーはやったことあるから、たぶん逆もできるだろうけど、調べるのめんどくせ : [sage] 2016/10/26(水) 22:54:36.78:MSxG37Ir なるほど。これとSKIPを組み合わせたら目的のことができるんですかね。 それにしてもglTexSubImage2Dの方に説明がないのはわかりづらいなぁ。 : [sage] 2016/10/27(木) 16:25:07.88:18/J71eF OpenGLやDirect2Dで画像処理して高速化するってどういうことなんでしょうか?? 例えば、GPGPUでOpenCLなどを使ってピクセルの処理を行って高速化するのはわかるんですが、 OpenGLとかではどうやるのかと。 例えば、画像をテクスチャとしてOpenGLになり取り込んで、ピクセルシェーダーだか 知りませんがそれで画像のピクセルのアクセスして処理する感じなのでしょうか?? : [sage] 2016/10/27(木) 16:56:16.97:QhZCyQPS メッシュ変形とかの3D機能を応用する場合を除けば 基本はGPGPUと変わらんよ : [sage] 2016/10/27(木) 17:18:13.80:18/J71eF 画像はテクスチャとして取り込まないといけない?から、処理できる画像の 最大サイズ制限はあるってことですかね?? OpenGL ES3.1などで追加されたCompute Shaderの場合もテクスチャ取り込む? Image Store/Loadって使っても? 初心者なのでちんぷんかんぷんな事言ってたらすみません。 : [sage] 2016/10/27(木) 21:01:07.59:X0THyINs はい : [sage] 2016/10/27(木) 21:03:59.99:93fq6rwp はいじゃないが : [sage] 2016/11/02(水) 12:27:08.57:FKbGn/qz 少なくともスマホではvulkan使う価値ないみたいね ttp://project-asura.com/blog/?p=3509 >以上を踏まえて,私が出した結論は「Vulkanは絶対に触るべきではない」です wwwwww : [sage] 2016/11/02(水) 13:41:59.29:VDmk3Fbl スマホこそ消費電力減らすために導入は必須だよ。 やり方が違って複雑だと嘆いているアホでしょ。 : [sage] 2016/11/02(水) 18:10:39.64:ExTjOOin ちゃんと記事読んでないアホ発見 : [sage] 2016/11/02(水) 23:38:20.18:jxsSxn8m VulkanはAMDが自社GPUを効率良く動かすために実装したMantleがベースになってるから > 基本的にVulkan専用のハードとか作っている会社は無いと思うので こんな事言ってる奴は馬鹿丸出しで見てて恥ずかしくなる… PS4のAPIもAMDが実装しててVulkanに似てるしもっと低レベルなAPIだ PS4で自社エンジンでゲーム作ってる会社はみんなVulkanより低レベルのAPIで作ってる 当然難しいのは間違いないが、日本語の詳細なドキュメントやらサンプルやらついてるから ある程度経験者なら普通に使うことは出来る : [sage] 2016/11/02(水) 23:48:26.87:jxsSxn8m ちなみに10年も前のPS3から低レベルAPIだぞ ただマルチスレッド未対応だったから今ほどは洗練されてなかったと思われる PS3の頃はシェーダー未経験な人ばっかだからみんな面食らって 想定した全機能を実装するのに数ヶ月どころか半年近く掛かるなんてざらだったと思われる : [sage] 2016/11/03(木) 00:19:08.23:FmaYciHx 複雑で嘆くのはみんな通る道だが、1本グラフィックエンジン仕上げてもいないのに クソと言ってしまうのが無能な証拠 Vulkanでゲームを1本マスターアップさせてから、やっぱりVulkaクソだったと言うなら間違いなくクソなんだろう : [sage] 2016/11/03(木) 00:52:21.85:szl3IS/m 無能な奴でも使えるもん作れない奴らも無能だわ。 つーか、日本語で唯一vulkanの情報を発信していた人がサジを投げたわけだな。 : [sage] 2016/11/03(木) 01:02:58.29:FmaYciHx だから、無能な奴はOpenGL使ってればいいだろ。まだ進化もドライバサポートもしてんだし Vulkanは限界までパフォーマンスを引き出す為のもんだよ お前らがゲームのグラに一喜一憂するから、開発者はどんだけ難しくて大変でも ちゃんとパフォーマンスさえ出れば何でも使うんだよ Vulkanはパフォーマンスがちゃんと出るか出ないかが問題なんだよ : [sage] 2016/11/03(木) 02:31:52.70:TH6IiknO PS4のAPIがVulkanより低レベルとか本気でいってんのかな… : [sage] 2016/11/03(木) 02:59:06.79:FmaYciHx ん?GNMXじゃなくてGNMの事だぞ? なかなか情報がないけど ttp://www.neogaf.com/forum/showthread.php?t=1021024 > Sony’s current API is much low level compared to Mantle and even Vulkan MantleやVulkanと比べてもとてもローレベルと言ってるぞ : [sage] 2016/11/03(木) 03:16:03.88:UYPiUT6+ 多分「低レベル」の意味を勘違いしてる素人 : [sage] 2016/11/03(木) 03:16:29.40:FmaYciHx こっちがソースか ttp://gamingbolt.com/ps4-should-support-vulkan-ps4s-api-not-completely-native-for-current-gen-yet-brad-wardell > their low-level API is still lower level than Mantle and Vulkan って明確にVulkanよりローレベルって言ってる GNMはハード直叩きに限り無く近いからな : [sage] 2016/11/03(木) 03:23:08.12:FmaYciHx なんだ、そういうことかw ローレベルって言えば通じるのかな?日本語って難しいなw : [sage] 2016/11/03(木) 07:29:33.57:85+c+nbh つーか素人うぜえよ テメエで使ったこともねえくせに 良いだの悪いだの アホじゃねーの? : [sage] 2016/11/03(木) 09:55:27.53:szl3IS/m なら玄人しかいない場所いけよ馬鹿 : [sage] 2016/11/03(木) 11:51:36.18:jbyLkc4A 手続きの手順が違うから まっさらからVulkanに合わせて作るならともかく 既存のOpenGLベースのコードの中身を入れ替えたり拡張するような使い方じゃ性能でないよって話だよね? : [sage] 2016/11/03(木) 12:13:24.92:6FeMk1RE プログラム書かないひとかもね : [sage] 2016/11/03(木) 13:01:20.70:x7ofF0dY 質問です 画像を描画する際、配列を渡して一斉に描画するほうが高速だと聞きました ですが渡す配列が固定長だと描画枚数が増えた時に柔軟に対応できない気がします 皆さんはそういった場合、毎フレーム動的配列を生成・削除してるのでしょうか? : [sage] 2016/11/03(木) 13:25:03.45:6FeMk1RE 前回と同じサイズのものは使いまわす っていうかそんなことより0で埋めるとか馬鹿な初期化する方が無駄 : [sage] 2016/11/03(木) 13:34:07.71:x7ofF0dY 前回と同じサイズのものは使いまわせばいいことは分かっています 描画する数が毎回変わるならどうすれば・・・って話です : [sage] 2016/11/03(木) 13:35:50.93:6FeMk1RE 気になるなら予め最大値判る大きさにしとけよ : [sage] 2016/11/03(木) 13:43:51.84:x7ofF0dY 描画したくないものまで描画されるじゃないですか 画面外に描画する。それでいいんですかね めんどくさいので配列として扱わないことにしました : [sage] 2016/11/03(木) 17:31:55.68:M9JiIIXY みんなマルチスレッド化されたOpenGLが欲しかったんだよね? : [sage] 2016/11/03(木) 17:47:51.27:MnQTEHWt そうでもない : [sage] 2016/11/03(木) 19:19:47.74:FmaYciHx OpenGLは必ず配列内の有効な個数を指定する必要がある 余計に描画されるとかしょうもない推測をするな : [sage] 2016/11/03(木) 21:14:58.89:x7ofF0dY thx。やり方がわかりました : [sage] 2016/11/04(金) 01:29:43.97:FKFPUeAb なんで必ず最大数描画するだよ、描画個数決めれるだろ 必要な分だけ先頭に詰めれ : [] 2016/11/04(金) 03:35:43.26:e0uuer+h 縦横の慣習が違うのは 民族性とか文化の違いから来てるんですか : [sage] 2016/11/04(金) 11:13:20.80:fEiF0USd お前らが叩くから記事消えちゃったじゃん : [] 2016/11/04(金) 14:57:33.75:57dKQ7qw > 描画したくないものまで描画されるじゃないですか ? 頂点数指定するだろ。 ていうか配列でというのは連続したメモリ領域をという意味だから、常にプログラミング言語仕様で言うところの配列の先頭からでなくともよい。 でかい固定配列をリングバッファとして使っても良い。 > 配列を渡して一斉に描画するほうが高速だと聞きました これを言った人が何を意味していたのか分からないが、 ・4頂点ずつ描画キックするよりはまとめてキックした方が良い ・glVertex や glColor の類を使うよりはglVertexPointerを使う方が良い ・VBO を使うとより良い と言える。 素人は何を聞いているのか分からないことが良くある。もっと謙虚になるといい。 : [] 2016/11/04(金) 14:58:53.65:57dKQ7qw ごめん、リロードしてなかった。 : [sage] 2016/11/05(土) 01:13:00.41:gzAsh3gw クソワロタww 消すような記事最初から書くなよw : [sage] 2016/11/15(火) 10:16:57.35:YjLtsY+t Vulkanってローレベル過ぎて使いづらそう なんかこう OpenGLとVulkanの中間みたいのが欲しい : [sage] 2016/11/16(水) 01:11:12.85:xjZDvINt もうこれ以上api増やさないで : [sage] 2016/11/16(水) 07:35:03.91:LWdqoO+l 赤本出たけど勉強してるの? : [sage] 2016/11/16(水) 11:01:21.29:C38vw7lZ そもそも流行りそうに無いんだよなぁ…… : [sage] 2016/11/16(水) 11:08:50.83:ruJwqX7K そうかなぁ : [sage] 2016/11/16(水) 12:24:37.35:I0d/eIi3 最近になってOpenGLを触ったんだけど凄く使い辛いと思った 元がとても昔に作られたものだからこんなものかとも考えたが これかDirectXを最下層として多くのゲーム等が作られているのかと正直驚いた : [sage] 2016/11/16(水) 12:28:03.81:rT2aNE5L 掲示板と日記帳の使い分けもできないリテラシーのひくそうな人には いろいろと不便でしょうね(´・ω・`) : [sage] 2016/11/16(水) 12:38:57.94:VglaLP8t オブジェクト指向マンセーで ステートマシンを知らないひとには使えない : [sage] 2016/11/16(水) 14:50:04.43:BjAGLSjY そのせいでマルチスレッドに対応しづらいのもまた事実 : [sage] 2016/11/16(水) 15:25:39.98:I0d/eIi3 なんでステートマシンになってるのかなと思った ハードウェアチップをI/O経由でたたくイメージなのかなこれ? 描画ソフトウェアライブラリーというよりSGIのGPUを制御するためのツールとしてデザインしたらこうなったのかな : [sage] 2016/11/16(水) 15:28:44.99:Nj+EczKt FILE*のイメージだろうね : [sage] 2016/11/16(水) 16:23:15.15:/LUNHxha CoreProfileになればだいぶ違うぞ。 そもそも便利機能は全部拡張機能だ。 : [sage] 2016/11/16(水) 19:42:15.33:kIxXFuD3 何bindしたかで関数の動作や引数の意味が変わってしまうのには嵌るわ。 バッファ関連そんなんばっかし。 : [sage] 2016/11/16(水) 23:34:36.54:fzskfnoe そりゃそうだ Cで構造体をVOID*にするようなもん : [sage] 2016/11/17(木) 01:30:46.96:PMO9oOjD 今のようなメモリ上に分散したデータをまとめてDMAでゴソッとGPUに渡すようなハードじゃなくて ハードウェア上に1つだけステートがあって、それこそI/OポートとかメモリマップドIOとかで GPUのレジスタを一つずつ設定してdrawするんであれば、初期のOpenGLの実装は理にかなってると言えるかも 想像で言ってるだけだが : [sage] 2016/11/17(木) 08:15:27.88:4vvrWja6 それがどう解釈されるかが関数のインターフェースに現れないのが問題。 どっかのグローバル変数の値によってint*かdouble*かが決まるような糞仕様。 : [] 2016/11/17(木) 09:19:40.51:bvn/QdTk オートマトンじゃないものをステートマシンと呼ぶ分野があるのか。 : [sage] 2016/11/17(木) 16:15:12.11:rgT4eIRU bind , unbindのタイミングの定義がなんかもやもやしてるよね : [] 2016/11/18(金) 16:07:46.20:vbdBJsNN free不要論者ですし : [] 2016/11/18(金) 23:33:13.88:SgtZza8z githubに中国語でコード書いている中国人もいるし 多少はね? : [sage] 2016/11/19(土) 21:45:54.84:48uE9qYW Vulkanで実装されたOpenGLみたいのを使えば 苦労しなくても既存のアプリが少しは早くなるかもって思ったけどそれは無いか Vulkanの大きなメリットの一つはレンダリングステートやコマンドバッファを再利用できる事みたいだが ゲームエンジン側は毎回OpenGLのAPIを呼ぶような構造になってて 再利用する前提になってないから無意味そう OpenGLの仕様に合わせようとするとエラーチェックも必須でさらにオーバーヘッドが : [sage] 2016/11/19(土) 22:29:30.25:a2H+q4ub 赤本も出た事だし猿でも分かるVulakanブログを始めようかと思ってるけどね 理解さえすれば偏見もなくなるはずだ : [] 2016/11/19(土) 22:36:41.20:0cH3YNKy ゲームエンジンはレンダリング部分をもっと高レベルの所で抽象化してるから意味あるよ。 余程糞設計のゲームエンジンでないかぎりな : [sage] 2016/11/20(日) 09:20:34.73:D6VOlvSW Vulkanは今までドライバが勝手にやってくれてたメモリ確保や コマンドバッファに入れたコマンドの送信も手動っぽいのも面倒くさい OpenGLとNV_command_listのVulkan版みたいの欲しいな あれVulkanで出来る事に近いんでしょ? ANGLEのVulkanバックエンドのコードは見てみたが まだ何も実装されていなかった : [sage] 2016/11/20(日) 09:32:39.51:0ByPx+DX エラーチェックとかステートの一貫性チェックとかは開発時だけに必要なんだよ リリースビルド時はバッサリ削除するのが普通 リリース版実行時にOpenGLエラーが発生したらそれは単にバグを残したままリリースしちゃったってことだ : [sage] 2016/11/20(日) 09:50:10.91:D6VOlvSW それアプリ側でglGetError使うかどうかって話じゃないの? もしかしたらglGetErrorが使われるかもしれないし エラー発生時もGPUによって違う結果になったりしないように OpenGLドライバは常にエラーチェックをしてる そのせいでオーバーヘッドが大きいとか聞く これ無視してエラーチェックの無いOpenGL実装を作ったら それはもはや規格外OpenGLだと思う : [sage] 2016/11/20(日) 12:30:46.79:AFs4tbnF 将来的にGPUメーカーの提供するドライバーがVulkanのみになってOpenGLを切り捨てるとかにならない限り Vulkanで実装したOpenGL APIとか作っても無意味そうだよね : [] 2016/11/20(日) 16:08:30.99:bRgpXaT+ GPUメーカーがそれを使えばドライバーがまともになる : [sage] 2016/11/20(日) 17:38:21.63:AFs4tbnF それはVulkanドライバーがまともならって前提だな : [sage] 2016/11/20(日) 18:26:40.97:eKhjuJLo プロレス技っぽいな : [sage] 2016/11/21(月) 09:44:08.00:o+vJVwIh ttps://www.khronos.org/vulkan/faq#web-vulkan WebVulkanは出ないけど Vulkanっぽい機能を追加したWebGL3は有り得る感じ? : [sage] 2016/11/21(月) 10:59:28.58:1Z4OsYDH 話の前提が違ってるな はゲームエンジンはOpenGLを呼ぶように設計されてるからVulkanにしたところで速くならないみたいなことでしょ で、OpenGLのエラーチェックは開発時だけに必要な機能だからそれをバッサリやらなければ速くなると言ったんだ : [sage] 2016/11/21(月) 11:04:31.25:1Z4OsYDH Vulkanドライバーは薄いレイヤーだしコンフォーマンステストも充実してるからドライバーの質が良い可能性は高い ちなみにOpenGL on Vulkanは既にあるぞ Khronos謹製じゃないがな : [] 2016/11/21(月) 18:12:23.08:nG5Ze3rJ OpenGLをMFCのシングルフォームビューで使用しています。 ピクチャーコントロールをOpenGLで描画しているのですが、他のウィンドウがかぶっていると描画されません。 何か解決策ないでしょうか? : [sage] 2016/11/21(月) 21:41:00.70:1Z4OsYDH WebGL3があるならES4.0が実装されるはずだけどそもそもリリースされるのかね? もはやES3.2で完成してんじゃないかとすら思えるけどね : [sage] 2016/11/21(月) 23:35:12.90:o+vJVwIh OpenGLそのままでもVulkanそのままでも無い何かが作られるなら WebGL3って言い方は適切じゃなかったな 実装にはVulkan使えば良いだろう : [sage] 2016/11/21(月) 23:43:31.58:1Z4OsYDH それ言ったらWindows版ブラウザのWebGL実装は全部DirectXを呼び出してるよ それがVulkanになるのは時間の問題だろうね WebGL→DirectXは右手系左手系とかシェーダーの違いとか苦労してるみたいだからVulkanの方が親和性は高いはず 上っ面のAPIはずっとWebGLのままだと思う : [sage] 2016/11/21(月) 23:49:37.90:1Z4OsYDH そろそろデフォで有効になるWebGL2はPS3以上PS4未満の能力があるから、それで十分だと思うけどね 限界までパフォーマンスを追求するようなプラットフォームじゃないし : [sage] 2016/11/23(水) 12:41:38.02:2CpUXBO/ ttp://floooh.github.io/2016/08/13/webgl-next.html VulkanをそのままWebに持っていけない理由が色々挙げられてる セキュリティとか性能の問題とかAPIの複雑さとか色々 それでもWebGLは普通にOpenGLを使うのと比べて遥かにオーバーヘッドがでかいようなので その辺を改善した後継は出るんなら欲しい この人によると良くできたOpenGLドライバでネイティブだと60fpsで100kのドローコールが出来るけど WebGLだと60fpsで出来るのは5,000程度らしい オンボードのGPU(Intel?)の出来の悪いドライバだと10k程度 : [sage] 2016/11/23(水) 13:43:42.26:gCl1Ewav Javascriptとかwebassemblyがネイティブコード並に速くならないとwebvulkanがあってもJavascriptの実行自体がボトルネックになって速くならない。 セキュリティチェックが必要だからネイティブコード並に早くするのは無理。 なのでAPI呼び出しを減らせるようにwebglを設計しようということか。 : [sage] 2016/11/24(木) 03:11:55.41:lzhnkyGu Vulkan SDK 1.0.33.0 : [sage] 2016/11/24(木) 09:37:42.37:U66XX0gW 今時MFC? ウィンドウ被ったら描画されないってWM_PAINTイベントで描画してないとか? でも最近のWindowsってウィンドウが被っていても消えたりしないよな デスクトップコンポジションがあるから : [sage] 2016/11/24(木) 19:18:00.38:l2S9PJI8 JavaScriptとWebAssemblyは同じじゃない WebAssemblyは遅くてもせいぜいネイティブコードの1.5倍以内の遅さに収まってる いずれオンゲーはWebAssembly+WebGL2な環境で動かすのが普通になるだろうね : [sage] 2016/11/24(木) 19:45:27.71:U66XX0gW そもそもJSじゃ速度が測定時の状況でかなり変わるし C++じゃ実行時にプロファイリングして得た情報で高速化なんて出来ないし 参照カウントとかで手動でメモリ管理する方がGCより速いとも言えないらしい APIコールには一定のオーバーヘッドがあるので それはC++より不利 : [sage] 2016/11/24(木) 23:20:47.26:l2S9PJI8 手動でメモリ管理するのは速度の為じゃなくて、適切なタイミングでメモリの取得解放を行う為だ あとプロファイリングは開発時に散々してチューニングすれば問題無い 実行時にプロファイリングしてC++よりも高速なコードを生成するなんてほとんど幻想に近いが有り得ないことはない ただそれもあてにならないわけだし、安定したフレームレートが必要なゲームには全く向かない : [sage] 2016/11/25(金) 09:25:52.13:2hNWEObD そもそも実行時プロファイリングは最適化に手間(実行時間)をかける価値のある部分を見つけるためのものだよね? 本当なら全部を最適化をしたいけど、実行時コンパイルでそれやると最適化にかかる時間でかえって遅くなるから最適化処理を必要最小限にしたい →もっとも効果がある部分をプロファイリングで探す…って C/C++はピックアップせず全てを最適化するからプロファイリングは不要だし 最適化にかかる時間をプログラムの実行時間外(事前)にまわせるから これより速く動作させる事なんて不可能でしょ : [sage] 2016/11/25(金) 09:43:31.68:l0xCaCL5 そういうベンチ結果ならあるから絶対ないって事は無いだろう 実際にどんなパターンで実行されるかって情報だけはAOTじゃ分からないからな それを加味して最適化するとデメリットがメリットが上回り速くなることは有り得る あまり頻繁に実行しない部分を時間を掛けて最適化してもあまり速度は速くならないし ttps://en.wikipedia.org/wiki/Adaptive_optimization : [] 2016/11/25(金) 09:50:03.45:kFMSAmJC 実行結果から最適化した方が良いコードを生成できる可能性高いしな。 エラー処理とかまず通らないコードをインライン展開してもコード密度悪くなって逆に性能悪くなるし。 (コンパイラ拡張で最適化のために殆ど通らないって属性付け出来たりするけど) VC++2017には実行した結果から最適化させる機能が入った ttps://msdn.microsoft.com/ja-jp/library/e7k32f4k.aspx : [sage] 2016/11/25(金) 09:56:19.33:zIB8Tv/6 「Rubyのしくみ」に載っているベンチマークでは、 JRubyのループ回数が10万回(0.3秒)から、100万回でも0.3秒なんだよね。 このタイミングでさらに、コンパイルして加速していく 最終的には、1,000万回(1秒)で、CRubyよりも速くなる。 CPUセントリックな処理、つまりI/Oが無い場合、 予測分岐とか最適化技術では、Javaが、Cよりも勝る : [sage] 2016/11/25(金) 10:03:58.57:l0xCaCL5 SwiftShaderもそういう最適化を行うために動的コード生成を利用してるらしい ttps://blog.chromium.org/2016/06/universal-rendering-with-swiftshader.html ttps://swiftshader.googlesource.com/SwiftShader/+/HEAD/docs/Index.md : [sage] 2016/11/26(土) 17:31:50.79:I+dI3pi3 プロファイルベースの最適化は開発時にプロファイリングして AOTコンパイル時のヒントとするやり方はかなり効果あるだろう 実際chromeが起動時間が20%速くなったとかあったな それとJITコンパイラする実行しながらプロファイリングするのと一緒にしてはいけない : [sage] 2016/12/16(金) 04:43:37.82:SI46tWvu DX11はDX12の機能ほしくなる あとはいまだにCPUにフレームレート引っ張られるのがいらっとくる : [sage] 2016/12/16(金) 13:27:10.53:VkbBq8iG Vulkan SDK 1.0.37.0 : [sage] 2017/01/10(火) 04:17:52.45:L2yDESqP よろしく : [sage] 2017/01/15(日) 08:46:04.47:9TaWN87P glmapbufferrangeってglbindsubdataで代用できるよね? : [sage] 2017/01/18(水) 21:02:07.78:0z00bTSD 横からだが、座標系の違いはシェーダ時代だと存在自体がユーザの好みじゃないかな GLとXの座標系の違いは固定機能が原因で、 シェーダだと座標系変換行列が吸収する。 少なくとも、俺が書いたDirectXのシェーダは、右手座標のモデルを入力して実現できている。 : [sage] 2017/01/18(水) 23:17:38.12:W7QnIoZ6 変換行列は一緒だぞ 右座標だろうが左座標だろうが関係ない : [sage] 2017/01/20(金) 11:43:09.83:iafDXYrd えっ、Zのプラスとマイナスが違うのに? : [sage] 2017/01/20(金) 23:47:40.41:OGbCNlg4 Zを+にするか-にするかはアプリがどういう行列を作るかで決めることでグラフィックのAPIレベルでは関係ないぞ。 実際にUnityはGL、Metal、DirectXのどれを使っても左手座標だぞっと。 : [sage] 2017/01/20(金) 23:49:00.32:OGbCNlg4 多分固定機能時代はそれぞれが内部的に決まってたからそういう風に思ってる人が多いんだと思うが : [] 2017/01/20(金) 23:52:08.78:1wzxLI3D くやしいのぅ : [sage] 2017/01/21(土) 01:35:01.75:ANcjdt99 でもzの範囲の問題でprojectionは互換なかったりするよね? : [sage] 2017/01/21(土) 10:06:17.46:NhoYLNrq それはプロジェクション行列に下駄はかせるか頂点シェーダーで変換すればいいし、右左とは関係ないわな。 : [sage] 2017/01/21(土) 13:20:01.43:ANcjdt99 ああ、なるほど確かに : [sage] 2017/01/23(月) 11:52:16.52:z+XsKe69 ttp://glslsandbox.com/ ここにglslのサンプルがいっぱいあるけど ここのglslをコピペして自分のpcで動かしたいけどそういうのってできます? : [sage] 2017/01/23(月) 17:04:45.86:cfoUMNYh DirectXは左手系と言ってるみたいだけど、多分サンプルとかがそういう風に 実装されてるだけで、実際にはアプリが自由に決めていい ただANGLEの実装ドキュメントによると最後のウィンドウ座標だけはY軸の向きが OpenGLとDirectXで逆になってて変換する必要があると書いてあった Y軸逆なのはテクスチャ座標もそうだな : [sage] 2017/01/23(月) 17:41:56.34:7QmIAt4p 同じ座標指定したら右手と左手じゃおかれる位置が明らかに変わるんだから 自由じゃない : [sage] 2017/01/23(月) 18:39:41.15:L7YdrHor jsみたいな高級言語だと、言語自体に予め遊びをいれておき、そこから適切なアルゴリズムを内側で変更するってことは可能じゃないかな 例えば、配列の探索。 シーケンシャルに読むコードであれば、ワークスレッドに分散して速度を稼ぐといった高速化ができる余地がある。 言語にスレッドがないからね これはcでも可能だが、最適化より予めOpenCLだったかの言語拡張で教え込むことができるから、そのプロファイル自体が要らない。 JavaScriptはよく知らんが、GCと同じでプロセスが落ちたら最適解を忘れそう : [sage] 2017/01/23(月) 18:52:56.50:L7YdrHor てか、配列探索の説明になってなかった。 配列の場合、言語では配列にみせるが、アクセスがシーケンシャルかインデックス単一要素アクセスのどちらが多いか、要素の削除やクリアの頻度を計るとかがあるような。 それによって内部の変数管理をリストに変更したりベクターにしたりという最適化があり得そう。 だが、実際は予めデザインで決定出来るのだが、そこをダイナミックオプティマイズで設計時間省略!てかはできるかな。 特に素人や頻繁にコードを変えるシーンだと好まれるかもしれない。 スレ違いすまん。 : [sage] 2017/01/24(火) 00:14:13.56:3QRoTv/K お前は… カメラの位置とかデータの内容が全て左手系や右手系を前提に構築されてれば まったく同じ見栄えのゲームが作れんだよ だからどっちを選択するのかはアプリの自由という事が理解できないのか? : [] 2017/01/24(火) 00:40:56.70:nvNd8iP1 レンダリングエンジンを抽象化するという発想がないんでしょ : [sage] 2017/01/24(火) 00:45:59.50:QLkGrWhR 座標データのZのプラスマイナス逆に刷りゃ同じになるけどそれって自由な選択じゃなくて座標系に合わせてデータ差し変えてるわけで 意味合いが違うな : [sage] 2017/01/24(火) 00:56:20.21:QLkGrWhR ああ右手用データを左手座標にぶちこんでも全部逆になるから結局見た目は同じになるって言いたいわけ? : [sage] 2017/01/24(火) 02:15:07.07:3QRoTv/K 左手系の為に左手系のデータを用意するのも含めてアプリの自由だと言ってんだよ やたら頭堅いやつが紛れてるな : [sage] 2017/01/24(火) 02:17:37.50:3QRoTv/K 左手系の為に左手系のデータやプログラムを用意する 右手系の為に右手系のデータやプログラムを用意する どっちかを決定するのはDirectXが決める事じゃなくてアプリの自由だという単純な事だぞ? : [sage] 2017/01/24(火) 08:24:46.56:HDVL1TLe 座標系に縛られるから不自由とかはグラフィックス計算の話題じゃないな 計算するのが不自由って意味になる… : [sage] 2017/01/24(火) 10:19:43.83:gBz7Q60o それよりボトムアップなのがややこしい FBOでテクスチャに描いたときに上下が逆になってしまう 対策は頂点シェーダーで座標を逆転させるか 普通のテクスチャを逆転させるか : [] 2017/01/24(火) 15:21:07.00:POlkEAF3 Aという行列があるとして →X=(x,y,z)というベクトルを用意して →Y = →XA という掛け算をするのが「いわゆる左手系と呼ばれる操作」 ↑X'=( x', y', z') というベクトルを用意して ↑Y' = A↑X' という掛け算をするのが「いわゆる右手系と呼ばれる操作」 の違いでしかない (要するにどちらも本質的には同じ) : [sage] 2017/01/24(火) 18:46:32.22:xI5AmToI アプリ内で反転したテクスチャをレンダラに渡すって手もあるが猛烈にメモリーの無駄 うちはGIMPでエクスポートするとき上下の鏡像反転だね : [sage] 2017/01/24(火) 18:56:09.33:URo6al7Y 計算回数も変わらないしね ボトムアップなのは、数学のグラフと同じ座標系にしたかったから、とか聞いたことがある。 xが接線、yが法線、zが従法線として、キチンと向きが揃うとかなんとか : [sage] 2017/01/24(火) 19:11:02.74:2vak9rNa ttp://stackoverflow.com/questions/4124041/is-opengl-coordinate-system-left-handed-or-right-handed OpenGLはobjspaceとworldspaceでは右手系で glOrtho/glFrustumの実装のせいでwindow座標では左手系になるらしい といっても古いOpenGLのお話 : [sage] 2017/01/24(火) 19:46:57.06:iZdMj9Ng Vulkan SDK 1.0.39.0 ttp://vulkan.lunarg.com/sdk/home : [sage] 2017/01/25(水) 16:37:16.52:3Z0+5oxH 大間違い それは単に行列が列指向(column oriented)か行指向の違いでしかない Wikipediaにちゃんと書いてあるんだから見ればいい : [sage] 2017/01/25(水) 16:45:53.74:3Z0+5oxH > xが接線、yが法線、zが従法線として それだとトップダウンにならないか? 接空間(tangent space)の事を言ってるなら x=接線(tangent) y=従法線(binormal) z=法線(normal) だな : [sage] 2017/01/25(水) 16:46:16.20:/RgCtnOd みなさんは3D行列の勉強はどこでしたんですか? : [sage] 2017/01/25(水) 17:50:32.20:dJzOsR4q してないという選択もlookatに丸投げ : [sage] 2017/01/27(金) 17:24:37.23:Gw4smznt OpenGL 4.0 シェーディング言語 -実例で覚えるGLSLプログラミング ttps://github.com/daw42/glslcookbook ここのサンプルは右手系と左手系どちらなのでしょうか : [sage] 2017/01/27(金) 20:23:38.57:6W1NRhqZ ハンドネスにやたらと拘る異常者が湧いてるな。 : [sage] 2017/01/28(土) 10:23:30.45:UxEI4Vr6 Vulkan SDK 1.0.39.1 : [sage] 2017/01/29(日) 16:06:14.97:4jsjYD83 GLしか使わないからハンドネスなんかどうでもいいが 原点視点から離れていく方向が+だからGLのほうが自然では無いかと あんまりなさそうだけど訴訟になった場合の対策でz逆にしたのかしらね : [sage] 2017/02/03(金) 14:26:53.63:mgnUKpuI ジンバルロックの理屈はわかるけど、実際何が問題なの?2軸が重なろうが構わず指定通り回転させればいいのでは? : [sage] 2017/02/04(土) 02:53:25.98:Jz71o7M0 2軸を外積を使って残りの軸を割り出す時に、完全に2軸が重なってると 外積の結果はゼロベクトルになってしまうけど、微妙な距離だと方向が 激しく変化する事により、向きがブルブルしてしまう事をジンバルロックと言う : [sage] 2017/02/04(土) 03:01:48.01:Jz71o7M0 (以下Y軸プラス方向が真上とする) よくある状況としてはlookatを使う時に普通はUpベクトルにY軸を渡すけど 真上を向こうとした時に方向ベクトル(eye - center)がY軸とほぼ同じ方向に なった時にサイドベクトル(X軸)がの状況により、激しく変化して グルグル回ってしまうとかある : [sage] 2017/02/05(日) 00:53:48.57:lV/1Yc3H x軸を外積で出さないでベクトル値を持っていればいいのでは? : [sage] 2017/02/05(日) 00:58:49.50:1XscLD18 方向ベクトルが任意なのにそのx軸ベクトルが固定値になるわけがない : [sage] 2017/02/05(日) 01:23:15.93:lV/1Yc3H 最初だけ外積で出して後はそれを一緒に回転させればいいのでは : [sage] 2017/02/05(日) 01:32:20.83:1XscLD18 その「一緒に回転」を数学的に厳密に描写してみ ジンバルロックと同じ問題が出るから : [sage] 2017/02/05(日) 04:27:58.79:D/nQCvX6 カメラの視線ベクトルも上ベクトルも、極座標変数θ、φから計算して常に直交するようにして与えてる。 : [sage] 2017/02/05(日) 23:06:56.76:wiSnBw0r FPSみたいなゲームだと真上を向くのは人間の首だからY軸と一定の角度以上には 上を向けないように制限してジンバルロックに対処してるのがほとんどだな : [sage] 2017/02/06(月) 15:28:30.58:GIjsSpfL 再度ジンバルロックについてお尋ねします。 軸が重なると言っているのは、初期姿勢のXYZ軸と、 回転後のXYZ軸が重なるということを言っているのだと思いますが、 2番目だけ90度だとマズイと言っていますが、 1番目を90度にしても軸は重なりますよね? 例えばXYZ軸の順で回転したい場合、 X軸をいきなり90度回せばY軸とZ軸は重なってしまうと思うのですが、 これはジンバルロックにならないのでしょうか? : [sage] 2017/02/06(月) 15:30:51.89:GIjsSpfL また、2番目を90度にしても、一番目を何度か動かせば、 初期軸と回転後の軸は重ならないと思うのですが。 XYZ軸の順で回転させる場合、 Xを45度回し、Y軸を90度回しても、回転後のX軸と最初のZ軸は重なりませんよね? : [sage] 2017/02/06(月) 15:34:01.74:sNAkUIYE うん : [sage] 2017/02/06(月) 15:49:33.60:GIjsSpfL じゃあ結局、何が問題なんです? : [sage] 2017/02/06(月) 21:07:00.36:NefZ0m3+ 回転と考えるから理解出来ないんだよ 単にあるものを回転させてるだけならジンバルロックなんて起きない いわゆるジンバルを中のリングはいじらずにそのもの全体をぐるぐる回してるに過ぎない ジンバルロックというのは中のリングの内2つが同一平面上にある時の事を言う その状態は要するに2軸が完全に重なっている事を意味する そうすると残りのリングは一方向に回転するしかなくなり、向きたい方向に向け無くなってしまう これが厳密な意味でのジンバルロックだ。わかったか? 3軸が全て垂直を保ったままの回転はジンバルロックは起きない で、3D計算上でのジンバルロックというのはlookatのコードのように2軸から 外積を使って3軸目を求める時に2軸がほぼ重なってる時に向きがランダムな 状態になる事を言う : [sage] 2017/02/10(金) 10:46:44.10:2uqmAdtA AppleがWebGPUなる新APIを発表したが これ標準になるのかね? : [sage] 2017/02/10(金) 15:25:49.78:HJiZ+eh8 Metalが標準になるような未来がもし来れば : [] 2017/02/11(土) 10:32:30.83:PXmesQvE シェーダコードと頂点、テクスチャの無償寄付サイトになるな : [] 2017/02/11(土) 10:53:09.39:1GGXJcPM ソースコード公開されてたらタダだーと勝手にコピーして使っちゃう人? : [sage] 2017/02/11(土) 13:07:50.78:mNcEgBaA 参考にするだけです : [sage] 2017/02/11(土) 13:30:47.81:F+Wp5HjG metalはc++で使えないのが厳しすぎる : [] 2017/02/11(土) 13:40:07.89:qtSuuft0 バレなきゃok わかりっこないし こんなもんよ : [sage] 2017/02/11(土) 13:41:27.87:qtSuuft0 日本のソースコードに著作権はないよ。 : [sage] 2017/02/11(土) 14:00:40.28:at1UL5N0 610みたいな無知がいるから法律ってのは必要なんだよな : [sage] 2017/02/11(土) 14:12:23.72:bHUvh3Vs WebGLはTyped Arrayの内容をいちいちアップロードせずにテクスチャやバッファとして使えないかとは思う VRAMが共有されてる環境ならコピー無しで使える しかしGPUが使用中のデータは書き換えてはいけなかったり GCがコンパクションでデータを移動しないようにメモリ上の位置を固定→パフォーマンスが低下するなど ややこしい事になるかもしれない : [] 2017/02/11(土) 18:55:07.85:1GGXJcPM バレて炎上してるのはこういう人が居るからか。 : [sage] 2017/02/13(月) 04:30:53.35:AsOjEe+m なんかジェットコースター宙返りのように反り続けていくとてっぺんで急に向きがくるんと変わっちゃうあれですよね。 : [sage] 2017/02/14(火) 20:31:42.76:82eoCw7d Intelも新グラフィックスドライバでVulkanに対応 ttp://pc.watch.impress.co.jp/docs/news/1044145.html : [sage] 2017/02/15(水) 07:52:58.06:6LeauESa それはlookAtが宙返り対応してないで裏がえる現象じゃね : [] 2017/02/15(水) 11:08:57.36:N3aAX75A フライトシミュレーターでもあるな : [sage] 2017/02/15(水) 19:10:02.58:h9Z3TIEZ 上方ベクトルは正しく設定しよう : [sage] 2017/02/16(木) 19:23:56.82:UHUABR+a BufferObjectをダブルバッファにすればGPUとCPUで並列処理出来るよ 実際にコピーしてるかどうかはドライバ次第だ Intelの内蔵GPUとかはコピーしてない気もするからな(実際のところは知らん) : [sage] 2017/02/28(火) 23:44:46.26:NdP5yvRM Vulkan SDK 1.0.42.0 : [sage] 2017/03/11(土) 21:38:04.37:GrzkoI7k Vulkan SDK 1.0.42.1 : [sage] 2017/03/29(水) 10:55:29.16:usp7p+f3 著作権表記がない場合は自動で付くんじゃなかった? : [sage] 2017/03/30(木) 19:32:54.16:aP5Dk+hE スマソが、グローシェーディングとかするのに法線使うけど、 その場合、頂点と1対1にするの? OBJファイルでインデックス方式になってるのを、uv含めて展開するのが正しいのかな? : [sage] 2017/03/30(木) 20:37:39.14:58ZWU75H 正しい : [sage] 2017/04/01(土) 08:37:36.41:qoKXZv+f 最近だとテクスチャをダイナミックに更新したい場面が多い。 バッファオプジェクトのRO宣言って割りと意味ないと思う。 drawを非同期実装とかしないでしょ。 : [sage] 2017/04/01(土) 13:11:28.85:aVi/GLyt Vulkan SDK 1.0.42.2 : [sage] 2017/04/07(金) 06:17:33.77:8Gy6obSU Vulkan SDK 1.0.46.0 : [sage] 2017/04/09(日) 23:59:57.43:b2Udeo0n どうか教え下さい AndroidアプリでNDK側でOpenGLESでテスクチャ作ってるのですが、 それをJava側に渡してGLSurfaceViewで表示したいです readPixelsで配列データとして渡して表示はできたものの、遅すぎてゲームアプリとしては破綻していて。。。 どんな方法がベストでしょうか?やはり、コンテキストを共有するしかないでしょうか? : [sage] 2017/04/10(月) 00:15:57.40:Ly5iuPId ベストを探す前に素直にサンプルと同じやり方を試すべきだと思う そうしない理由があるのならそれを言わんことには : [sage] 2017/04/10(月) 00:47:22.23:uhMdRFo2 サンプルってどれっすかね? 試すのは大丈夫なんですが、描画スレッド(Java側)と演算スレッド(NDK側)みたいな感じす スレッド跨いでEGLコンテキスト共有とか、知識あんまり無いです。。 Java側はGLSurfaceView使ってるので、単なるSurfaceViewに変えないとだめっすかね。。 : [sage] 2017/04/10(月) 01:57:45.01:fwsZgTkC シェーダー使わんの? : [sage] 2017/04/10(月) 21:03:21.49:cUDmNFgv レス遅くなってすみません シェーダー使うのもありですが、framebufferからreadpixelsする変わりにシェーダーで対応ってのがどうゆうことか理解できてません とりあえずNDK側でガリガリ作った画をJava側に60fpsで渡す方法があれば何でも試します : [sage] 2017/04/10(月) 22:12:20.96:5vxtV4z5 textureIDだけ渡したらいいんじゃないの? : [sage] 2017/04/10(月) 22:21:58.29:PM83VykM スレッドがJavaとNDK側で別なんです そしてJava側はGLSurfaceViewなので、なおさらコンテキストは共通化できてないっす : [sage] 2017/04/10(月) 22:46:43.31:Ly5iuPId どれ?じゃねーよ NDK使ってるんだろ? 大丈夫なら試せよ : [sage] 2017/04/10(月) 23:08:39.40:PM83VykM ndk-bundleのソースフォルダのサンプルが使えるってことですか? 使えそうなサンプルは無いように見えますが。。 教えて下さい。 : [sage] 2017/04/10(月) 23:18:56.98:Ly5iuPId だから何で自分の流儀を前提にしている訳? あんたの流儀はあんたが一番知っているんだから 他人に聞くだけ無駄だよ : [sage] 2017/04/10(月) 23:36:22.60:2T6RGgt8 こういう支離滅裂なアドバイス(?)する奴はなんなんだろうね?酔っぱらってんのか? : [sage] 2017/04/11(火) 00:26:38.47:C7b4Lnba Androidの事は知らんけど、単にコンテキスト間でリソース共有にすればいいだけだよね。 Windowsならできる。同様のAPIあるんじゃね。 : [sage] 2017/04/11(火) 02:09:09.99:pFzL7UjB ttp://d.hatena.ne.jp/orangesignal/touch/20120818/1345275541 これをぱっと見た感じGLSurfaceViewのgl.glXxxとNDK側のglXxxは同じコンテキスト使ってるっぽいからtextureID渡すだけで行けそうなものだけど : [sage] 2017/04/11(火) 17:50:22.73:JnGBstZh 横からスマソ、 俺もアンドロイドのOpenGL弄ってるんだけど、 GLES20.glxxxがラッパー?で、上で言ってるglxxxがNDKとか言うやつ? サイトでよく出てくるサンプルはGLES20.使ってるけど、 そのNDKとやらを使うと速いとかなんかいい事あるの? : [sage] 2017/04/11(火) 18:56:16.06:4xO2/YqC VM介さないから処理によっては速度が全然違う ゲームとかはフルndkのほうがパフォーマンスが良い これ以上はAndroidスレで聞いたほうがいい : [sage] 2017/04/11(火) 19:25:19.23:rQmuGoDh javaはラッパー : [sage] 2017/04/11(火) 21:13:28.73:FtBQsLuE Javaだろうと、NDKだろうとスレッド別なら全く別処理でテクスチャも何もかも共有できないよね? : [sage] 2017/04/11(火) 21:26:42.43:Behbl0oC だよね : [sage] 2017/04/12(水) 00:32:08.21:BrgOd/52 OpenGLESの知識は浅井ですが、自分の認識です↓ ttp://eaglesakura.hatenablog.com/entry/2013/12/28/235121 : [sage] 2017/04/12(水) 01:06:15.23:Bhc0CFYk shared_contextは遅いの? : [sage] 2017/04/12(水) 11:50:27.11:g3ZwxdtV 遅いのはJAVAとかNDKとか以前にreadpixelじゃないの? : [sage] 2017/04/12(水) 12:54:48.21:Pb3LvWpJ そうです。 その代替案を探してるだけなんですが、描画と処理のスレッド別なので、テスクチャIDやフレームバッファを共有できない(EGLコンテキスト共有できない)と思ってましたが方法ありそうですね : [sage] 2017/04/12(水) 21:35:08.21:+eTr5qap androidのことは詳しくないけどJava側のレンダリングスレッドからネイティブのレンダリング処理出すんじゃだめ? CPUは並列に動かせてもGPUは並列には動かないし、別スレッドに分ける意味余りないよね? : [sage] 2017/04/12(水) 21:47:27.65:IsZRv2xh レンダリングを別スレッドでやりたいわけじゃないでしょ。 : [sage] 2017/04/14(金) 05:02:55.11:j3OKtOYa 並列で動いてるんじゃねレンダ要求直後VBO書き換えるとチラつく : [sage] 2017/04/15(土) 13:04:22.50:GyRyUELf 実装はAPIの関知する限りではない いわゆる未定義動作の類なのでは? : [sage] 2017/04/15(土) 23:00:51.04:FDBlI7Dn 未定義つうか禁則じゃねVBO使わずにnioバッファの時は勝手に調停してくれてたんだが : [sage] 2017/05/05(金) 12:53:47.74:2J56jDbL ほんと初心者で申し訳ないのですが、質問をお許しください。 現在、MAX/MSP jitterを使っているものです。 GLSLの勉強をしているのですが、例えばjitter側で生成した球に、 グローエフェクトをかけたい場合、どういう考え方でGSGLを記述したらよいでしょうか。 vvvvとかならグローエフェクト専用のノードで一発なのに、 MAXでシェーダを書く場合の例とかいろいろ検索しても出てきません。 質問自体もおかしなところがあるかも知れませんが、是非MAXの環境で 映像を作っていきたい理由があるので、どなたかご教示お願いします。 : [] 2017/05/09(火) 08:46:01.87:8Otut7+9 未定義=禁則だと思うけど : [] 2017/05/10(水) 16:50:07.71:3NirUCdu 未定義は定義してないってことだね 禁則はやっちゃいけないってことだね 全然別の意味だね君の頭の中までは文句は無いよ 脳内の混同は取るに足らないありふれた事象だし : [] 2017/05/10(水) 22:22:29.85:P1RskujE プログラマは未定義動作をするプログラムを書いてはいけない事に変わりない。やっちゃいけないことだよ。 : [sage] 2017/05/10(水) 22:45:03.25:TahTqR8d 未定義動作とごっちゃにしているんだろうなと思ったら案の定。 : [] 2017/05/10(水) 22:46:38.87:P1RskujE 流れを読もうね : [sage] 2017/05/11(木) 00:37:38.99:s9cCeBkh 未定義動作しても構わないよ そこに到達しないコードを書くのが基本 : [sage] 2017/05/11(木) 04:33:17.40:QJPjjG3O 未定義動作なんて聞かない言葉だと思ってググったらバッファの初期化忘れのことかよ もしも初期化してなきゃ最初の1フレームは起きるかもしれないが件のは前のフレームと 次のフレームとの境目で起きると思われるちらつきだから未定義動作とやらでは無いわな : [] 2017/05/11(木) 07:55:54.57:wBC9RJQi ここってC言語を知らない人も居るんだね : [sage] 2017/05/11(木) 09:34:12.49:fwiX6jdh WebGLだとセキュリティ上の理由でglMapBufferみたいな安全を保証できない機能は使用禁止 : [] 2017/05/16(火) 18:19:56.36:EpxzEiEV GTX1060(モニター@を接続)とQuadro4000(モニターAを接続)の2枚差し PhotoshopなどのOpenGL系でGTX側に接続しているモニター@を10bitカラー表示させることってでませんか? どのような効果が見込めるか分からなかったのですが、 NVIDIAコントロールパネル/3D設定の管理/OpenGLレンダリングGPU の設定ではグローバル設定→Quadro4000に変更してみました : [sage] 2017/05/16(火) 23:46:49.25:eU5MEqDJ photoshopなら設定にあるけど他のソフトはソフトが対応してるかだからユーザーがどうこうできる問題じゃない : [sage] 2017/05/19(金) 03:27:17.75:Xjl9lHc/ つうかWebGL以前にglMapBufferはOpenGL ESにねーし GLESベースのWebGLに無くて当然 WebGL1.0でもテクスチャ使えば似たような事は出来る : [sage] 2017/05/20(土) 19:41:55.23:hsMiSaXN Vulkan SDK 1.0.49.0 : [sage] 2017/05/21(日) 08:13:42.34:GufdndHa glewの2.0.0のVC10のglew.slnをビルドすると error LNK2019:未解決の外部シンボル memsetが関数 glewContextInitで参照されました と出てビルドできないのですが、どう直せばいいのでしょうか? : [sage] 2017/05/21(日) 08:18:16.21:GufdndHa ちなみにソリューションを検索しても「memset」の文字列は出てきませんでした。 : [sage] 2017/05/21(日) 21:34:37.37:4Y1sL5Ms vulkanって流行ってンの? : [sage] 2017/06/08(木) 10:00:16.18:gWFivyAT VAOで描画する時ってglBufferSubDataとかで毎フレーム頂点データを書き換えるような場合は使えない? : [sage] 2017/06/18(日) 14:17:13.34:UBHrzox3 VAOって何よ GL_DYNAMIC_DRAW指定しとけ : [sage] 2017/07/05(水) 16:05:55.42:TFVKjpNE VAO知らないってどんな旧バージョンだよ : [sage] 2017/07/05(水) 21:08:45.69:zYeK5Znt ES2.0 : [sage] 2017/08/07(月) 19:31:26.86:KYx8Kn3i glslのIDEとかってないですか? vulkanで使うのですが : [] 2017/08/13(日) 07:54:40.85:p1FRAySF 人とAIの共存を主とする「Google PAIR」、機械学習(NN含む)をブラウザ上で全て実行できるWebMLライブラリ「deeplearn.js 0.1.0」をリリース ttp://shiropen.com/2017/08/12/27359 人を中心としたAIシステムの研究と設計をするGoogleのプロジェクト「The People + AI Research Initiative(PAIR)」は、 ブラウザ上で機械学習(Machine learning)を全て実行できるオープンソースライブラリ「deeplearn.js 0.1.0」をリリースしました。 本ライブラリは、可能な限り多くの人に機械学習を開かせたいという思いのもと開発されました。 その為、インストールやバックエンドなし、ブラウザ上で全て実行できる仕様になっています。 今までもWeb Machine learning(WebML)ライブラリは存在していましたが、 Javascriptの速度によって制限されていたり、 訓練ではなく推論に限定されていたりしていました。 一方で、deeplearn.jsは、 WebGLを利用しGPUで計算することで大幅にスピードアップさせ、 またニューラルネットワークを学習させる際に用いられるアルゴリズムBackpropagation(バックプロパゲーション)機能も備わっています。 : [sage] 2017/08/14(月) 12:16:28.57:EXJotbGm SPIR-Vシェーダー拡張を統合した「OpenGL 4.6」が公開 ttps://mag.osdn.jp/17/08/01/161500 : [sage] 2017/08/14(月) 19:53:09.75:VWupTZlZ > 「OpenGL 4.6」が公開 > 「OpenGL 4.6」の仕様公開を発表した > OpenGL 4.5は2010年に登場したOpenGL 4系の最新版。 > OpenGL 4.5の仕様はプロジェクトのWebサイトで公開されている。 : [] 2017/08/15(火) 06:34:36.43:K8T9Hr6g Androidで動くVulkanとOpenGLESの比較できるベンチマークアプリ知らない? : [sage] 2017/08/15(火) 14:26:54.35:W1XYAgOO スラドのhylom OSDNマガジンの末岡洋子 : [] 2017/08/15(火) 14:44:30.18:SeXfrzIV 最新トップYoutuberの年収は10億円、1億円の時代はもう古い ttp://www.himatubushisp.com/entry/2017/05/10/224945 Youtuberヒカルが月収を明らかに!!おはよう朝日です出演 ttps://www.youtube.com/watch?v=RLZGrqQnnZc 第1回案件王ランキング!YouTuberで1番稼いでるのは誰だ! ttps://www.youtube.com/watch?v=asF2wQ2xhjY&t=61s ユーチューバーの儲けのカラクリを徹底検証! ttps://www.youtube.com/watch?v=FUSb4erJSXE&t=504s 【給料公開】チャンネル登録者4万人突破記念!YouTuberの月収公開! ttps://www.youtube.com/watch?v=Y7DAQ0RKilM&t=326s 誰も言わないなら俺がYouTuberのギャラ相場を教えます ttps://www.youtube.com/watch?v=E4q-vaQh2EQ&t=118s 最高月収5000万円だとさ。年収じゃなくて「月収」な おまえらもyoutubeに動画投稿したほうがいい 手っ取り早く視聴数稼ぐには有名ユーチューバーへの物申す系動画がオススメ しばたーやよりひとやkunやぽんちやモンスタージョンなどを真似すればいい : [] 2017/08/15(火) 18:57:14.86:K8T9Hr6g AndroidでGLES2で実装されてるやつをVulkanに置き換えてみたんだが1/3(GLES2は45 Vulkanは15程度)しかFPS出なかった。(3D性能自体あんまりよくない中華スマホ) 単純に置き換えただけじゃFPS出ないとはよく言われてるし最適化考えてないベタ移植だからこんなもんかなぁと思ってたんだが、Windows上のNVIDIA環境で動かしたら1割アップ(GL3は880、Vulkanは1000)してた。 これデバイスの特性ってやつなのかスマホのドライバーがアレなのかどっちだと思う? デバイスの特性だったとしたらどうやって最適化したらええんやろか… : [sage] 2017/08/15(火) 20:06:35.95:W1XYAgOO モバイルだとライフサイクルからして ドライバとデバイスを分ける意味はあんまりないと思うけど ベタ移植でも環境によっては効果があるなら 両方実装して性能の良いほうに切り替えれば良いのでは : [] 2017/08/16(水) 15:00:17.80:UVw/Dh9+ 素人が効率の良いOpenGL実装をVulkanで作るって不可能な気がするので ANGLEに期待 ANGLE on Vulkan Update Q1 2017 ttps://groups.google.com/d/msg/angleproject/HfDeJyIXlrU/MnSe6jNiAQAJ : [sage] 2017/08/17(木) 02:04:48.89:B3yfRGJG 自前じゃ一枚絵を出すのも大変そうだから公式レンダラを みんなでチューニングやカスタマイズみたいな方向になるのかしらね : [] 2017/08/17(木) 21:32:39.45:rdQtPA4Z 不明要素が多いから何とも言えない バックバッファの切り替えウェイト、デバイス固有のリミッタとかに填まっている可能性もある。 中身はARMで泥ならば、所詮はVM。 変更できない要素に左右される。 例えば、電池消耗を抑えるためにフレームレートを制限なんかは想像しやすい。 MS違う : [sage] 2017/08/17(木) 21:43:32.99:8qdAznIJ ARMかどうかって関係あるの? VMって何の話? : [sage] 2017/08/17(木) 22:57:50.61:la1KCE2X iOSはJava使ってないから無条件に速いと思ってる iPhone信者か : [sage] 2017/08/18(金) 00:22:15.98:sNIlJiAD 電池理由でアプリに制限を掛ける。 そういう設計もあるって話。 スマホでfpsを求めるのが間違い。 一番電池を消耗するのは、電波発信。 次がバックライト。その次がプロセッサ : [sage] 2017/08/18(金) 07:09:40.57:U5k+yUmQ どう解釈したらとが繋がるのかさっぱり分からん 電池理由でアプリに制限を掛ける設計があるとして GLES2とVulkanで性能差が出る説明にならないし 結局はアプリによるが 性能が限られたスマホだからこそfpsが求められるんじゃないの? 要求が60fps超でなく例えば30fpsだとしても : [sage] 2017/08/18(金) 14:20:56.20:e4v3XQyH VulkanってAndroidのJava APIからは使えないよね : [sage] 2017/08/18(金) 17:09:45.93:nOiT4Yx1 用意されるのかなそれともvulcan入れてあるけどNDKでやってくれとなるのか : [sage] 2017/08/18(金) 19:27:32.86:0EPwtIc2 JavaってC#みたいな構造体やポインタの操作みたいな ローレベルな事は出来ないけど VulkanみたいなローレベルのAPIを持ってけんの? : [sage] 2017/08/19(土) 06:09:39.23:43kvAmEv 提供されるとは思わんが できるかできないかで言えばで 構造体は「同等のバイナリを生成する」クラスで実現できるし ポインタ操作(演算)はそもそも必要ないだろう ポインタ使った最適化したければNDK使えで済む話 : [] 2017/08/19(土) 14:20:08.82:6K7s/w8N そのデバイスでバックバッファをクリアとスワップをするだけのアプリを走らせれば、性能が出せるのかは、わかるだろ : [sage] 2017/08/19(土) 14:51:16.65:ygZPyu+S JavaからじゃvkMapMemoryで頂点バッファにアクセス出来ないよな WebGLも同じような理由でglMapBufferがない 代わりにglBufferData的なバッファのアップロード用の関数が必要 : [sage] 2017/08/19(土) 20:09:26.77:zlOKfERV 3DMarkに追加されたAPI Overhead TestをHuawei P10 Liteでやったが OpenGL ES 3.0: 31547 Vulkan: 45753 でVulkanの方が45%ぐらい早いという結果に ミッドレンジのGPU貧弱な端末だとこんなものか Galaxy S7 edgeだと5.8倍近い差がつくらしい ttp://www.4gamer.net/games/143/G014363/20170818014/ : [] 2017/08/20(日) 00:17:42.47:PGSVSpKF おー情報サンクス。リリースグットタイミングだわ。 グラフ見るとOpenGLESのほう60までしかFPS出てないからvsyncで頭打ちになってるっぽいね。 単純にスコアの比較はできない 俺もHuawei P10 Liteだからやってみたけど GLES 36950 Vulkan 53200 だったけど、GLESは60以上出てなかったし、Draw Call per frameの線とFPSの線が交わる高さが一緒だから効率全く変わらない気がする(リンク先のGalaxyだとVulkanの方が交わる位置が高い) CommandBufferを一度作ったら作り直さないみたいなLowLevelAPIに有利さな実装になってると思うから、それで互角ってことはそれができないアプリだと逆にVulkan負けそう。もちろんP10 Liteの話ね。 : [] 2017/09/07(木) 23:47:18.43:+2bEEO6N OpenGL ES超絶難易度アルティメット級でワロタw 俺かなりITと親和性も高いし、3Dそのものは15年以上やってるけど、 CGがちゃんと表示できないwwww これどうやったらちゃんと表示できんの?w もう2週間くらい挑戦してるけど全く進まなくて辛すぎwwwwwwwwwwww 教えてえろい人w : [sage] 2017/09/08(金) 16:30:24.33:KPLe5Qd+ それはみんな通過する儀式的なもの絵を出せて半人前 しかし泥なんかあんなにユーザーいるのにまともなレンダラ無いんだよな テクスチャと頂点と視点渡せば絵が出るようなやつが最初からあれば 捗るんだが : [] 2017/09/09(土) 06:14:55.77:Av4F4Tck そんな中途半端なものがまともだとは思えないんだが。 : [] 2017/09/09(土) 11:38:19.13:8A4+ZAJU 中途半端かね?完成したものはどんなだか興味があるな 入門者が玉転し作れる程度の物すらないのよね : [sage] 2017/09/09(土) 11:51:58.25:kUd/qIXg 自分で作れば? : [] 2017/09/09(土) 11:54:35.48:3STIjmAW 初心者向けならユニティでいいじゃないかと。 なんでJavaで作りたいのか : [sage] 2017/09/09(土) 12:02:18.29:NhVsuY8L OpenGL 4.6の進化点やOpenCLの将来について,Khronos Group代表のNeil Trevett氏に聞いてみた ttp://www.4gamer.net/games/107/G010729/20170907023/ ・OpenGL 4.6がリリース Vulkanとの相互連携機能を搭載 ・2017年はVulkanのアップデートなし 移植工程を短縮するラッパーの開発が進む ・OpenCLソフトウェア資産をVulkanで動作させるソリューションを開発 ・glTFは物理ベースレンダリングに対応 WebGLはFlash終了問題が普及の追い風に ・AMDの「プリミティブシェーダ」は,OpenGLやVulkanに取り入れられるのか? : [] 2017/09/09(土) 13:19:29.91:3STIjmAW glTFの物理ベースって 最新観てもペンディングだったんだが。 器を汎用的で高機能を目指すにしても、別にこの形式のままシェーダに流し込む訳でもないだろうと。 : [] 2017/09/09(土) 19:12:38.21:8A4+ZAJU 初心者がスクラッチで0からレンダラ書くと年単位でかかる 発熱が少ないバイナリが小さいユニティ使ったこと無いけどなー : [sage] 2017/09/09(土) 21:14:54.33:sCuUC1it 最新のOpenGLでできることを OpenGL ESで実現しようとすると大変だが OpenGL ESで実現できることは OpenGLでも(スレチだがDirect Xでも)大差ないと思うんだが はなぜES名指しなんだろう? : [sage] 2017/09/10(日) 12:54:48.01:mFLa2LdI 昔のOpenGLはシェーダとか使わなくてもよかったからじゃないかな。 : [sage] 2017/09/10(日) 13:34:19.36:BEQ6+h7v OpenGL 1.5が約15年前な訳だが 携帯デバイスだとデバッグがやりにくい というのなら分からんでもないが それは難易の問題じゃないしなぁ : [sage] 2017/09/10(日) 14:29:37.88:jzTwYGLB 昔のOpenGLを再現するデフォルトシェーダーとかあると良いのにネ : [sage] 2017/09/10(日) 17:16:46.12:mFLa2LdI 俺がOpenGL始めたの2007年くらいだったけど そのころは固定機能パイプラインによる解説ばっかだった気がする。 スマホが普及してESが登場した頃から日本度でもまともにGLSLを学習できるようになった気がする。 : [sage] 2017/09/10(日) 17:42:43.64:BEQ6+h7v 当時はリアルタイムグラフィックス分野はDirectXが開拓していた だからあえてOpenGLをやる人は クロスプラットフォームだとか互換性を重視していた DirectXやっていた人がOpenGLに流れたのが スマホが普及してESが登場した頃であって OpenGL内だけで言えば固定機能パイプラインとの決別は OpenGL3の策定時点(それこそ2007年頃)で既に決定的だったと思う : [] 2017/09/11(月) 01:49:20.13:SnGLKWrX それなら素直にOpenGLES1.1使えばええやん : [sage] 2017/09/12(火) 03:45:02.98:mnRL344l 動作も軽いし製作者の力量でソコソコ綺麗な絵出るもんね ただ時代の流れでサポ切りとかあるのか無いのか知りたい : [sage] 2017/09/18(月) 15:43:19.63:5qvGYV/U GLES自体新しくて多くの端末で動いてるし動かないアプリが出ても困るから安易に切られることはナイアル : [sage] 2017/09/22(金) 03:12:56.81:0XQ4k8W6 スマホはDirectX使えないからな 必然的に互換性という面でOpenGLが出てくる スマホ、特にAndroidはパフォーマンス厳しいしVulkanに頼りたくなる : [sage] 2017/09/22(金) 03:13:57.05:0XQ4k8W6 OpenGL系は基本後方互換前提の代物だからそうそう切られることはないはず アーキテクチャの違いでパフォーマンスが下がるとかはあるかもしれないけど誤差の範囲でしょ : [] 2017/10/04(水) 23:04:11.00:HVw4BQOs glutってグラットって読む? : [] 2017/10/05(木) 02:48:26.46:iTr/aZ+d GLUT (pronounced like the glut in gluttony) is the OpenGL Utility Toolkit, a window system independent toolkit for writing OpenGL programs. : [] 2017/10/05(木) 02:50:51.64:iTr/aZ+d グラトゥニー グラットゥニーのグラットゥ : [] 2017/10/05(木) 08:50:05.88:OFcuCCap dクス : [sage] 2017/10/05(木) 10:31:47.35:oekIPpEo チェ〜ンジ、グラットぉぉぉぉ!! : [] 2017/10/08(日) 21:19:52.29:UyktAqAp glutでポリゴンにアンチエイリアスかけれないんだが。 線ならかけれるのに。 どうやんの? : [sage] 2017/10/08(日) 21:22:48.66:TjjbI37x アンチエイリアシングは甘え。 : [sage] 2017/10/08(日) 23:35:58.43:GvYlDhJz 実際のところ画面の高解像度化で アンチエイリアシングなしでも そこそこ鑑賞に堪えうるようになってしまった ミップマップや異方性フィルタリングは欲しいが : [] 2017/10/09(月) 00:10:18.61:YU1H7ndt glutはグルトだろ : [sage] 2017/11/03(金) 17:35:46.07:gZf2VKXN Vulkan SDK 1.0.65.0 : [sage] 2017/11/15(水) 08:55:45.71:bUtgDTef WinはDirectX MacはMetal VulkanはLinux専門になりそう : [sage] 2017/11/15(水) 09:45:41.78:1KJ2A9H9 ほんでもクロスプラットフォームにしようとおもったらVulkan一択なんやろ? : [sage] 2017/11/15(水) 09:49:36.57:uTPoKijJ 別にWinでもVulkan普通に動くじゃん Androidでもいつかはみんな使うようになる 問題はAppleなんだよな : [sage] 2017/11/15(水) 09:59:57.09:LYmVSFgD AppleはmacOSでもiOSでもAPIとして採用する気無はなくMetal以外眼中に無い感じやしね 最近Web標準のAPI草案にMetal特有の仕様を突っ込もうとしてMSとGoogleに反発されてなかったっけ : [sage] 2017/11/15(水) 10:15:59.82:bUtgDTef 各プラットフォームが足並み揃えてくれないと、クロスプラットフォームが形骸化してしまうし使う意味もなくなるな WebGLはどうなるんだろ ライブラリの開発者は大変だな : [sage] 2017/11/16(木) 00:40:22.67:U+DE6iTU 物凄く大変だとは思うがそれに見合った収益はあんのかしら : [] 2017/11/24(金) 22:02:38.11:Z1PbZD/w glfwとglewで OpenGL 4.6 ターゲットにプログラムしています。 glslの "layout(binding = N)" が反映されず困っています。 glGet○○すると 0 が返って来ます。 どうやら宣言順にインデックスが付けられてるようで glGet○○の値を使えば正常に動作します。 でも気持ち悪いです。 何で binding 指定が有効にならいのでしょうか? 初めはUniformBuffer使おうとして気づいたのですが、 ショートプログラムで確認した結果、 shaderStorage、sampler、image等も同じく反映されないようです。 環境はGeforce GTX760、ドライバVer388.13、VSコミュ2017使ってます。 : [] 2017/12/02(土) 08:41:04.82:JvMTpbwK 横からだが、シェーダ側で指定したバインド順番をCPUに強制させたいという話かと理解したが それは後方互換性を維持するためではないかと : [] 2017/12/02(土) 08:51:03.30:+JG4y+dR DX9cから始めて11のあとにglに来たんだが 混乱と雑音をうむだけの後方互換性は、はよ切り捨てろとは思った。 glは統一規格を目指してない。 専用機での利用を大前提としたGPU規格のテンプレートみたいな印象がした。 : [sage] 2017/12/02(土) 09:46:27.85:PRegk6Y6 GLSL一行目の#version指定が正しくないとか? layout指定は300以降だったかな? OpenGL/GLESとGLSLのversion指定って混乱するよね…… : [] 2017/12/02(土) 11:04:39.79:Tv3BogrX 一行目必須、BOM禁止。コメント禁止だしね それ以外もドライバ依存が激しい。 PS4やDSなんかのコンソールやiPhoneなら、それ以外がないから気にならないが 泥の現状はカオス、コキュートスモード : [] 2017/12/02(土) 19:30:00.66:hb+Z3o85 腹が立ってきた。 glはハードウェア実装に特化して作る方ほことを考えてないんだな。 directXが至高と思えてきた。 せめてカレントあたりについては、リファレンスも目的語か「どこに」を書けよ。 : [sage] 2017/12/05(火) 09:35:36.25:t1hhSu47 もうみんなVulkanに移行しようぜ : [] 2017/12/05(火) 23:38:56.73:WoyHGfNJ 自己解決しました。 glGet(Uniform/Resoruce)Indexが返す値が"layout(binding = N)"のNと思い込んでいました。 プログラムオブジェクトに入力するパラメータは必ずバインドしないといけないと思い込んでおりました。 layout(binding = N) と glBindBufferBase(GL_UNIFORM_BUFFER, N, ubo); が対になっていてglUniformBlockBinding呼ぶ必要ないと。 酒飲んでプログラムすると駄目だなぁ。 : [sage] 2017/12/06(水) 10:27:02.53:ROyOilcp 単位ベクトル同士の外積は単位ベクトルになるのかと思ってたら違ったでござるよ orz : [sage] 2017/12/06(水) 10:28:25.17:ROyOilcp あぁ、直行する単位ベクトル同士ならいいのか... : [sage] 2017/12/06(水) 10:33:19.09:7Z4PG9ak 全ての辺の長さが1の平行四辺形の面積は色々だからな。 : [sage] 2017/12/06(水) 10:41:55.51:ROyOilcp あぁそういうことですね : [] 2017/12/06(水) 17:29:13.31:oBvdSzU/ 平行六面体 : [sage] 2017/12/06(水) 22:14:24.71:2G+Fm3sR |a||b|sinθ だからな 角度によって面積はゼロに近づく : [sage] 2017/12/07(木) 01:14:22.26:fcKh4od9 #include <GLFW/glfw3.h> int main() { GLFWwindow *window; if (!glfwInit()) return -1; window = glfwCreateWindow(640, 480, "Hello World", NULL, NULL); if (!window) { glfwTerminate(); return -1; } glfwMakeContextCurrent(window); while (!glfwWindowShouldClose(window)) { glClear(GL_COLOR_BUFFER_BIT); glfwSwapBuffers(window); glfwPollEvents(); } glfwTerminate(); return 0; } $ g++ -L/usr/local/lib -lglfw -framework OpenGL main.cpp $ ./a.out キタ━━━━(゚∀゚)━━━━!! : [sage] 2017/12/07(木) 10:33:17.06:qHHEXIff シェーダーの話題ってここでええのん? : [] 2017/12/08(金) 14:28:44.62:6WtIjESa 栄養 : [sage] 2017/12/10(日) 22:04:09.61:Xd+spiQZ ES3.2をJavaのみで書ききり、嫌になってバルカンに移行。 泥で触っているんだけど、かなりいいね。使いやすい。 ほとんどDX11と同じ感覚で使える。 バルカンは、普及する感じがした。 : [] 2017/12/14(木) 23:34:24.62:I1vhdCTR 泥バルカン。 スワップチェイン、フレームバッファとサーフェスをコアダンプなしで通せたが、 いまだに残るパイプラインとシェーダ。 またまだ続く簡易フレームワークを作る作業。 現在のコード量。6000行 : [] 2017/12/20(水) 07:30:14.77:gUtt4LOa 愚痴。バルカンネタ ようやくディscripter、パイプラインあたりも実装が終わった。 今日あたりになんかのジオメトリを描画できそう。 残りは定数バッファへの値の流し込み。 : [sage] 2017/12/21(木) 07:14:53.51:wiUIS1bD Vulkanでジオメトリの描画成功記念カキコ あっけなく描画できた。 Windowsで作った描画フレームワークのジオメトリがあっさり描けた。 ようやくスタートライん。 : [sage] 2017/12/21(木) 09:23:06.53:jPJSvhP5 あっさり描画できましたか あっさり描画できてよかったですね : [sage] 2017/12/21(木) 15:10:44.36:X1S6oc7e 最近のバージョンのAndroidはVulkan対応してるらしいけど 使ってるゲームってあるの? : [sage] 2017/12/21(木) 18:28:57.84:xctmZ09c ないと思うよ。 2016年末に定まった規格だから対応機種は、その頃以降の機種になると思う。 というか、これからの規格ではないかと。 字形を描画する機能がない。 : [] 2017/12/21(木) 18:55:24.50:agTzrnuM 調べてきた。 APIレベル 23以降。泥6以降。 23以前もsoでどうこうは、恐らく、使えないことを確かめる手段の提供を以て対応の整理だろう。 泥6のシェアは、10%辺り。泥は4が今でも主軸のレガシィ : [] 2017/12/21(木) 19:01:45.15:7LfvPQ5G 大事なことを書き忘れた。 スナップドラゴン、エクスペリアXZsでも ジオメトリシェーダ × あとはわかるな : [sage] 2017/12/22(金) 00:32:12.80:i1X6UBpk OpenGLでもいいんやけどねぇ OpenGLのどこがいかんのや : [] 2017/12/22(金) 07:39:20.61:UDRrn+R8 カレント : [sage] 2017/12/23(土) 18:14:10.02:hl+3r86b Vulkanはドライバーが未成熟なせいで OpenGL ES 3.1より遅いかもと 3DMarkのAndroid版のSling Shot Extremeの説明には書かれている : [sage] 2017/12/24(日) 15:25:42.77:/VeWYwOF 終了のお知らせ ttp://d.hatena.ne.jp/shi3z/20171223/1513980907 : [sage] 2017/12/24(日) 20:59:20.91:YQBy9q3A 何で一個人がデータセンターの心配してんの? 貧乏人はGeForce使ってればいいんだよ : [sage] 2017/12/24(日) 21:32:53.43:ZdJPg4SS なんでってユーザーだからだろアホか。 : [sage] 2017/12/24(日) 22:26:01.34:YQBy9q3A は?個人ならGeForce使ったって何の問題も無いんだよ 馬鹿も休み休み言え ちょっとGeForce集めただけでデータセンター気取りかよw : [sage] 2017/12/25(月) 01:18:51.29:SIEbJbCX 貧乏人が深層学習やりたかったら、時間貸しのデータセンターしか満足できる速度で実行できないでしょ? : [] 2017/12/25(月) 09:26:59.43:ipsYhAiN 深窓学習は、昔のホストコンピューティンぐへの回帰現象かな とりま、そこらのDCよりも京の方が安くつく、とすら感じる。 できることも占い程度。 : [sage] 2017/12/25(月) 09:32:25.54:Hs3yDk/8 時代遅れすぎる情報が未だにごされと紹介されている。 もうGLとdxの違いは、深度区画だけなんだから : [sage] 2017/12/25(月) 09:58:10.43:XdRG80xO ああ、GLが-1~1でdxが0~1なんだっけ : [sage] 2017/12/25(月) 10:01:17.27:1YmR/zMV ちなみにGeForceをデータセンター云々の記述はアメリカのサイトには書いてない だから海外では(今のところ)合法 日本にNVIDIAを激怒させるようなよっぽどの乞食が居たんだろうな さくらインターネットか?迷惑な話だ : [sage] 2017/12/25(月) 10:06:39.74:XdRG80xO その辺の事情がわからんのだが 具体的にさくらインターネットが何をしたん? : [sage] 2017/12/25(月) 11:59:44.83:Zo3UB7Lw 英語でも書いてあるように見えるけど ttp://www.nvidia.com/content/DriverDownload-March2009/licence.php?lang=us&type=GeForce 2.1.3 Limitations. : [sage] 2017/12/25(月) 14:31:17.91:vAchG11E さくらだけ名指しとはかわいそうすぎる : [sage] 2017/12/25(月) 14:55:26.00:lFApqw4e 昨日か今日変更になったよ… : [sage] 2017/12/25(月) 18:33:35.92:0U/3PXeD ドライバに対するライセンス条項 No Datacenter Deployment. データセンタに配布すんな The SOFTWARE is not licensed for datacenter deployment, 繰り返すが、このソフトウェアは、データセンタへの配布をライセンスしてない、 except that blockchain processing in a datacenter is permitted. しかし、データセンタにおけるブロックチェイン計算なら許してやるよ、こじきども(キャハ) 条項よりも、話題の論点がようわからん。 : [sage] 2017/12/25(月) 18:37:15.09:0U/3PXeD ちな、ブロックチェイン計算とは履歴みたいな奴。 具体的な実装でいえば、イーサリアルだかピットコインなんかが、それだったと思う。 何にしろ、確かにテスラを買わせる為の制限条項との指摘は理解できる。 もっともな指摘だなー、と。 : [] 2017/12/25(月) 18:38:24.18:0U/3PXeD しまった。 ○配置 ×配布 : [] 2017/12/28(木) 21:48:44.53:iWEL+baV ジオメトリシェーダーって性能が出ないとかで いらない子扱いされてるらしいけど なんで? : [sage] 2017/12/29(金) 09:21:10.89:7qKElSZW そんなことより嫁をめとりたい : [sage] 2017/12/30(土) 13:37:43.10:GxGC3+RW Mayaって昔はQuadroでしか動作保証してなかった気がするけど、仕事で使わせるものには高いやつを売り付けるというNVIDIAの昔からの常套手段だな : [] 2018/01/19(金) 00:26:43.17:F0bS1On1 1dテクスチャの使い方のサンプルはどこかにありませぬかあ カラーマップで使いたいんだけど探してもなかなかヒットしませぬ 何卒。。。 : [] 2018/01/19(金) 07:10:32.97:PphXjkGV V 固定して 2D テクスチャとして扱えば。 : [sage] 2018/01/19(金) 21:03:15.48:X7HMJzrK 2Dしか使った事ないけど1Dって使い勝手違うの? : [sage] 2018/01/20(土) 09:59:34.02:4AOaXNlF 隔離はナイスアイディア : [sage] 2018/01/20(土) 10:08:46.38:oLwnKzuO いゃ〜ん、ヴァルカーん : [] 2018/01/21(日) 21:54:51.75:ZYoNSckf テクスチャを作るときのフラグが違うだけだと思う。 シェーダからはUだけ指定。 使ったことないけど。 法線マップのアルファにカラーマスクを仕込んで使った方が立体的に色を当てられるような。 実行時に色を交換したいなら定数バッファにいれた方が楽に思う。 : [] 2018/01/23(火) 10:28:53.67:7WiImxPC 法線マップを圧縮しないならね。 2D ゲーム作ってる可能性もかなりあると思うけど。 定数バッファがいいかどうかは、複数のシェーダで使うのかどうかかな。 : [sage] 2018/01/23(火) 12:55:06.79:hh5ZQXwd いやいやカラーマップ(パレット)って普通テクスチャ毎に必要でしょ またはオブジェクト毎とか 要するにユーザーが服の色を指定するとかすると必要になる シェーダー毎とか関係無い : [sage] 2018/01/23(火) 17:24:15.24:hbCDcD6q グレースケールでデザインさせて、配色をそのつぎに決めるとかなら、あるような。 14なんかはそんな感じにみえる。 あれはユーザが基本色を選べる。 配色数が少ないなら、全通りをテクスチャでもつとかできるかもだが、配色数が多いと読み込みも地獄なら、VRAM要求も地獄になる。 だからパレットだけを一次元でもつのだろうが、配色選択のためならば、やっぱり一次元じゃなく、二次元で持ちたくなると思う。 横に配色、縦にバリエーション(ユーザが選択する軸)と配列して。 : [sage] 2018/01/25(木) 12:27:36.46:DEu5d/BX 0次元 テクスチャ使わないで単に色指定じゃ駄目なんかしら 1次元 線をテクスチャで使うってのは珍しいな : [sage] 2018/01/25(木) 18:02:07.16:SW6+fB/4 わざと縮退させたデータ送ったりは普通にするやん : [sage] 2018/02/27(火) 16:27:51.06:bmiKNI1S グラフィックスAPI「Vulkan」がmacOS/iOSで利用可能に ttps://pc.watch.impress.co.jp/docs/news/1108626.html ttps://pc.watch.impress.co.jp/img/pcw/docs/1108/626/01.jpg ttps://pc.watch.impress.co.jp/img/pcw/docs/1108/626/02.jpg ttps://youtu.be/IwFC1NXsSZM : [sage] 2018/02/27(火) 17:56:07.84:YOGiHGes 本格普及のいよかん : [sage] 2018/02/27(火) 23:36:05.06:l+pACPTY えらいぞApple ちょっと見直したわ : [] 2018/02/28(水) 08:05:41.82:S4STWT1p 泥はとっくに対応済みなような。7以上だけど。 自分の端末で動かしたから間違いない。 : [sage] 2018/02/28(水) 08:24:30.73:vQgAlL9i あんま大したネタじゃないが、D3D12とvulkanに特徴的なのは ・DescripterSet ・パイプラインハンドル ・テクスチャロード手続き ・コマンドリスト かな 一つを使い回さず、目的別に個別に作れと言われている気がした。 D3D9、11、GL、GLESと使ってきたけど、バルカンは使いやすく、GPUを理解しやすい。 : [sage] 2018/02/28(水) 09:07:29.04:GfDfFRzS ほぉ場合によってはMetalを他所のプラットホームに展開して世界征服なんてのも面白いと思うがそうきたか : [sage] 2018/02/28(水) 11:56:40.13:jII5qUsF これ基本Metal APIへの変換レイヤーなだけで別にAppleは何もしてねえのでは : [sage] 2018/02/28(水) 17:01:08.92:yf3Ws+Qq Appleは何もしてないぞ 単にMetalのラッパーだな しかしOpenGL使うよりはCPU負荷は減ると書いてある 知りたいのは直接Metalを使った場合よりどれぐらいオーバーヘッドがあるかだけど分からん : [] 2018/02/28(水) 19:03:29.85:k5A4r0wT バルカンに字形描画はない。 そこをどう折り合うのだろう : [sage] 2018/02/28(水) 23:40:51.15:05MN3oF7 Vulkanにフォント描画が無ければ実装しないだけじゃないか? ゲームは普通APIに依存しない形でフォント描画を実装してると思うからそれほど重要ではない気がする : [sage] 2018/03/02(金) 08:21:30.33:pdv41u9B ゲーム、動画再生のみバルカン OS内部はESとvkのデゥアルスタックか。 : [sage] 2018/03/02(金) 10:23:15.64:zvF9L+3q Vulkanを使ってみたいけど、Amazonで本を探しても英語の本しか出てこないし、その英語の本もレビューを見ると今一だし、どうしたもんか... : [sage] 2018/03/02(金) 11:28:24.12:lWF1HTVb ドキュメント読もうな : [sage] 2018/03/02(金) 11:44:43.29:LOSGTajv Vulkanは公式のC++ラッパーが有るのが助かる これから日本語の書籍を書こうと思っている人は絶対C++11前提で書いてほしい こんなとこで言っても無駄だろうが… : [sage] 2018/03/02(金) 13:52:42.17:TR1djmvI いままで公式の出版物は良書だったからな今後に期待だね : [] 2018/03/02(金) 17:59:08.02:i5jabcob でもバルカン理解するには、GPUのアーキテクチャというか、描画パイプラインの知識が大前提な気がする。 簡単なフレームワークを書いたが、理解しにくいのは、 シェーダにポインタを与えるDscripterset テクスチャロード まんまパイプラインと名づけられたパイプラインハンドル周辺 テクスチャなんかは、何故、一度ステージにいれてからコマンド投げて転送するのか? フォーマットをレイアウトする為だが、他のAPIだと透過的にできたことをやらされるので、ディスに使われると思う。 : [sage] 2018/03/02(金) 21:38:15.71:0VS8eezM まあ、そのへんは慣れなんじゃないか? OpenGL3.0系に初めて触ったとき、「これ使うのにソフトウェアでレンダリングエンジン書ける知識が必要じゃねえか」と衝撃を覚えたし : [sage] 2018/03/02(金) 22:55:41.91:uY0QOeld ガンバルカン : [] 2018/03/06(火) 17:50:55.39:3cvqGCfT openGLをなに入れればいいのかわからないよ〜、openGLって名前じゃないのもあるからわけわからないよ〜 : [] 2018/03/06(火) 18:40:56.91:03FKlPoE 中世の暗黒時代に生きとるんか : [sage] 2018/03/06(火) 20:00:31.06:qto5wiY+ そのレベルならJuliaとかPythonからglfwを使うのがよい : [] 2018/03/06(火) 20:10:43.40:3cvqGCfT C言語は知識あるからC言語でopenGL使うにはどうすればいいかなって聞こうと思ってたんだよ : [sage] 2018/03/06(火) 21:21:31.65:XSsM00DU サンプル的にはC言語が一番多いと思うが... : [sage] 2018/03/06(火) 21:52:38.18:Eaz1J+y1 諸事情でopenGL触らないといけなくなったんだけど全然分からない…… 最終的にwindowsアプリ作るところまで持ってかなきゃいけないんだけど1週間位あーでもないこーでもないやってようやくウインドウに立体を表示させられるくらい 床井先生のところ参考にしたりしてるけど全然だめ。難しすぎないこれ。泣きそう : [sage] 2018/03/06(火) 21:57:19.11:XSsM00DU そもそも1週間でマスターできると思ってたのかよ コンピュータグラフィック舐めすぎだろ : [sage] 2018/03/06(火) 22:09:38.65:Eaz1J+y1 ごめん。マスターなんておこがましいことは考えてない。 ただこれまでの課題はそこそこ順調だったもんで急ブレーキになったもんだから っていうかwindowsプログラミングの難しさもやっぱあんのかなこれ……openglの参考書写経してるときはほうほうなんて思いながらやれたりもするのに : [sage] 2018/03/06(火) 22:47:06.43:6wF4I1yM 今時のOpenGLを裸で叩いて立体の表示まで行ったのなら、あとはどうとでもなるような気がするが… ワールド座標から同次行列使ってスクリーン座標にできてるし、シェーダーも動いてるってことだろ? : [sage] 2018/03/07(水) 00:09:36.40:CTqOg+7Y OpenGLで2Dをするか3Dをするかで必要な数学の知識は変わってくる : [sage] 2018/03/07(水) 08:37:57.29:G6R4UecX GLで混乱して挫折するのは、 頂点・索引配列絡みとカレントじゃないかな プロセッサから毎回頂点要素(座標、法線なんか)を送り込む初期のGL方式が未だにWebには最新情報とアフィリエイトされているし。 Google先生もこれをオススメするしね。 あとはWebGLが曲者。 発展途上のAPIはDXのように丸ごと差し替えるのが正解なんだろう。 混乱のもと。 : [] 2018/03/07(水) 08:40:51.70:G6R4UecX そうだ、ちらうら。 OpenGLとVulkanはデバイス座標系における正数方向の向きが違う。 なんとDirect3Dとも異なる第三の座標系 まあ射影行列の符号が変わるだけだが : [sage] 2018/03/07(水) 08:42:53.16:G6R4UecX ttps://matthewwellings.com/blog/the-new-vulkan-coordinate-system/ : [] 2018/03/07(水) 08:45:46.79:G6R4UecX れんとうすまん。 Yを↓にしたのは、恐らくは、加速度センサーの符号を意識したIoT機器配慮の設計だと理解している。実際の趣旨はしらん。 : [sage] 2018/03/07(水) 09:22:48.87:7SqH7HYl 主な理由は普通にコンピュータで扱う一般的な座標にあわせただけでしょ : [sage] 2018/03/07(水) 10:11:07.85:4T48SgsL +1 謎なのはBMP : [] 2018/03/07(水) 13:46:17.89:7HCJdbkd PSのコントローラーを箱で使えた時にPSの時と方向が逆転するって昔きたわ : [sage] 2018/03/07(水) 14:41:58.64:N8AahZ+v WebGLはまんまOpenGL ES2.0だし絶対に必要な環境 JavaScriptと若干のWebの知識が必要だけど1から3Dの勉強するには最も敷居が低い環境と言える : [sage] 2018/03/07(水) 14:46:26.75:N8AahZ+v しかも最後まで右手系のままで一貫してる だからといって何かメリットがあるわけでもないだろうが : [] 2018/03/07(水) 17:54:26.70:7HCJdbkd 昔作ったopenGLのGLAUXで作ったコードはglutに書き換えた方が良い?今後参考にするためにもそっちの方が良い? : [] 2018/03/07(水) 17:56:21.16:L+d1J7Rs そのままで桶 : [sage] 2018/03/07(水) 20:47:09.31:soM9osyD 同次行列って何?シェーダーってなんだっけ?レベルなのでお察しください ファイルから座標読み込んできっちり画面内に収まるように表示させろとか、視点を3次元で回転させるとか、しかもそれをマウスで出来るようにしろとか、オブジェクト選択させろとか…… そもそもMFCすらよく分かんないからもう : [sage] 2018/03/07(水) 20:50:41.07:jzt3Aumo OpenGLとか低レベルのことは忘れて、ライブラリを使うべき : [] 2018/03/07(水) 20:57:49.67:7HCJdbkd 開発環境準備するの解らなくて、C言語でopenGL使ってしょぼいシューティングゲーム作ろうと思ってるんだけどなに入れた方が良い? glutだけでいいの?の全部入れておいた方が良い? : [sage] 2018/03/07(水) 21:10:49.29:/9xPEa+U さすがにVBOが主流になってから7-8年は経ってるけど、考えてみるとOpenGL3以降に対応した赤本ってまだ日本語版ないんだっけ? というか、今のはどういう記述になってるんだろう シェーダー前提の記述になると、三角形を表示するまでがけっこう遠いよな : [sage] 2018/03/07(水) 22:11:44.33:soM9osyD でかい本屋行ったり古本屋みたりして思ったんだけどさopenglって優しい参考書無いの辛い 例えばjavaとかcとかだったらそれこそ具体例なり比喩なりイラストなり駆使してステップバイステップで進めていけるような本いくらでもあるじゃない もういきなり変換だのなんだの言われても何やってんのかまずそこから丁寧に説明しろやって思う 行列の話で込み入ったことになるというならもっとイメージをつかませてくれるというか…… : [sage] 2018/03/07(水) 22:21:26.54:lC06JEBx 日本語は少ないと感じた。 おれはバルカンで0から描画だけは、なんちゃってフレームワークを書き上げたから、GLには戻りたくない。 ジオメトリファイルを読み込むところからスキンメッシュ処理まではバルカンでできる。 今後の課題は、輪郭線の強調にタイムラインアニメーション。 バルカンは使いやすい。分かりやすい。 : [sage] 2018/03/07(水) 22:35:01.09:jsRnYNoO 見ていてわかるが、ニーアや15のグラフィックス機能は、やっぱり最高峰と言われるだけある。 やはり、その道のプロは違う。 どんだけ血反吐はいたんだろう、と。 : [sage] 2018/03/07(水) 22:38:08.88:jzt3Aumo 積み上げれば良いだけで、血反吐を吐く必要なんて無い。 : [sage] 2018/03/07(水) 22:44:11.22:/9xPEa+U FF15はともかく、ニーアは低予算にあえぎながらあれだけのものを作ったのがすごい : [] 2018/03/07(水) 22:49:37.56:7HCJdbkd FF15ってopenGLなの?全然か書かれてないしどうやってみんなわかるんだ : [sage] 2018/03/07(水) 22:53:17.14:jPuVbXN5 取り敢えず本屋行ってゲーム数学みたいな本を一冊買って読め 話はそれからだ 3DやりたいからっていきなりOpenGLのAPIを使いはじめても遠回り ここの初心者の質問見てるとつくづくそう思う : [sage] 2018/03/07(水) 22:56:46.43:jPuVbXN5 PS4は専用の非公開APIで箱はDirectX12でしょ OpenGLは売りもんのゲームじゃほぼ使われてないでしょ スマホだとほぼ全部GLESなはず : [] 2018/03/07(水) 23:08:22.65:Znot2r1H ○×さんのサイトがよかった : [] 2018/03/07(水) 23:48:17.61:7HCJdbkd openGLはグラフィックドライバーに入ってて補助・拡張ライブラリを追加して入れないともっと手軽に作れないって理解で合ってる? : [] 2018/03/07(水) 23:49:07.68:Znot2r1H ええっ : [sage] 2018/03/08(木) 00:16:21.13:4E0wVG2f OpenGLはグラボ叩くためのライブラリだから、ゲームループとかWindow周りの処理とかイベント処理は自前で実装するか別ライブラリのお世話になるしかないね : [sage] 2018/03/08(木) 00:31:28.57:3YwCVqa3 GLもメタルもバルカンもd3dもゲームコントローラやキーボード、マウス入力、 OSウインドウの移動もファイルの読み書きも、サウンド再生も、動画のデコードも、 セーブデータの暗号化もサポート外だしな。 配色デザインもしてくれないし、メッシュ、ジオメトリの生成もしないし、2Bを笑顔にしてもくれないし、声もだせないし、スキンメッシュも簡単にできるAPIなんかない。 可愛いキャラを作ってもくれない。 スカートの布を綺麗に捲ってもくれません。 : [] 2018/03/08(木) 08:00:57.49:OEgQLKAy GLで作られたゲームはMinecraftとDoomぐらいしか思いつかないや ニーアとかFFもwindowsだとDirectXだしpsだと別のapiだろうし : [sage] 2018/03/08(木) 10:04:48.36:How10RP5 スマホ向けケームはほとんどGLだったんじゃね? 今はVulkanとかMetalかもしれんけど : [sage] 2018/03/08(木) 11:17:44.29:rwNFvW5I ニーアAは mac でも動く。 : [sage] 2018/03/08(木) 11:56:39.57:14XLUb3u New SDK released for Vulkan 1.1! Please note --- this new SDK supports Vulkan 1.1.70, and is backward-compatible with Vulkan 1.0.70. : [] 2018/03/08(木) 17:45:12.97:bTglIUZ4 動かせないコードからどの拡張ライブラリ入れれば動かせるってことはわかる? : [sage] 2018/03/08(木) 20:41:20.16:YMj7g293 glulookatのパラメータいじくって視点動かそうかと思ってるんだけど、最後の3引数の上方向ってどうやって決めればええのか教えてくれんか 例えば原点中心、半径1の球を(0, 0, 2)から見てるとするじゃない。そうすると当然glulookat(0, 0, 2, 0, 0, 0, 0, 1, 0)になるじゃない でもこれで仮に視点をX軸中心に45度回転させたとして、(0, √2、√2)から原点を眺めるわけだけどこの場合上ってどう決めればいいんかな 他にも90度だったらようは真下向くことになるのに上方向(0, 1, 0)じゃないよなとか 基本的な質問で悪いんだが色々調べてもわからんかったから誰か頼む : [sage] 2018/03/08(木) 20:44:49.13:NKs7zC1C ジンバルロック?起こすけど外積使うとか? : [sage] 2018/03/08(木) 20:58:19.82:EVxjjduY 視線ベクトルの外積だよね : [sage] 2018/03/09(金) 01:17:15.82:RX9hyNow Please noteってRelease noteの間違いか? : [sage] 2018/03/09(金) 01:31:33.86:9FwD4ccF 気をつけてくださいって意味じゃ : [sage] 2018/03/09(金) 02:47:27.84:+lrD2w/z 視線ベクトル用の変換行列で 上ベクトルを変換させれば良いだけ カメラのパラメータとして 視線ベクトルを持たせるんではなく 姿勢行列(横、上、前)を持たせるとわかりやすい : [sage] 2018/03/09(金) 07:20:09.00:pPy2svMO ビュー行列は、カメラ設置点(ワールド座標系)を原点とした座標系に頂点を変換する作用を持つ。 同時に天地を決定させる。 lookat()の中では、上ベクトル(ワールド座標系)を注視点ベクトルとの外積(法線)を取って、それを三つの「軸」を決めている。 長くなったが、ワールド座標系でみて、上の向きとしたいベクトルを与えればいい。 厳密には、上ベクトルに与えるベクトルが注視点に向けて垂直に向けるべきだが、あんま気にせずともよい。 真面目に計算すると酔う絵になる。 : [] 2018/03/09(金) 07:21:32.49:pPy2svMO ようは軸とするベクトル。 : [] 2018/03/09(金) 17:49:11.19:6UOtnPKl visualstudio2015でglut32.libが開けないんだけど スペックは osWindows8 調べたけど全然わからないよ、助けてくれ〜 : [sage] 2018/03/09(金) 17:56:47.43:6uXwrQ+F なんてエラー出てんの? : [] 2018/03/09(金) 18:00:54.07:6UOtnPKl 1>------ ビルド開始: プロジェクト:ConsoleApplication3, 構成:Debug x64 ------ 1>LINK : fatal error LNK1104: ファイル 'glut32.lib' を開くことができません。 ========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ========== こんなの出た リンカーでもパス通してるんだけど : [sage] 2018/03/09(金) 18:29:59.79:c6gvztnT glut64.libじゃねぇの? : [] 2018/03/09(金) 20:20:12.16:6UOtnPKl 1からコンソールアプリ作り直してやったけどやっぱエラーが出るな 1>------ ビルド開始: プロジェクト:ConsoleApplication1, 構成:Debug x64 ------ 1> stdafx.cpp 1> ConsoleApplication1.cpp 1>c:\k013a2065\consoleapplication1\consoleapplication1\consoleapplication1.cpp(10): error C2664: 'void glutInit_ATEXIT_HACK(int *,char **)': 引数 2 を '_TCHAR *[]' から 'char **' へ変換できません。 1> c:\k013a2065\consoleapplication1\consoleapplication1\consoleapplication1.cpp(10): note: 指示された型は関連がありません。変換には reinterpret_cast、C スタイル キャストまたは関数スタイルのキャストが必要です。 1>c:\k013a2065\consoleapplication1\consoleapplication1\consoleapplication1.cpp(11): error C2664: 'int glutCreateWindow_ATEXIT_HACK(const char *)': 引数 1 を '_TCHAR *' から 'const char *' へ変換できません。 1> c:\k013a2065\consoleapplication1\consoleapplication1\consoleapplication1.cpp(11): note: 指示された型は関連がありません。変換には reinterpret_cast、C スタイル キャストまたは関数スタイルのキャストが必要です。 ========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ========== : [sage] 2018/03/09(金) 20:35:15.85:SWJ5R9YA そういう基本でこける奴は GLじゃなくてDirect3D使った方が良いと思うぞ APIとしての難易度は一緒だろうが Direct3Dの方が情報が遥に得やすいだろうからな : [] 2018/03/09(金) 21:28:29.15:6UOtnPKl これ解決したわ、freeglutのglut.h freeglut.h freeglut_std.h freeglut_ext.h三つの置き場所8.0に入れたら動いたわ win8でやってるからWindows Kits/8.0の方に入れなきゃダメだったみたいだ : [] 2018/03/10(土) 06:20:56.62:L0iyZELB スレ違いにもほどがある : [sage] 2018/03/10(土) 09:57:22.10:XEkR3r0W ほどがあるというほどでもない : [sage] 2018/03/10(土) 21:34:08.38:LQ5aOFXC - - ありがとう。正直あまり理解できないけど参考にして頑張ってみる。 そもそも座標系だとか視点だとかねそこら辺で行列云々とかもうちんぷんかんぷんなんだよね…… いやほら1次変換とかで座標を動かすのに行列掛け算するのは知ってるけど、視点だの投影だのとどう行列が絡むんだよみたいな : [] 2018/03/11(日) 09:32:54.78:zWe+i43K 射影も投影も行列 : [] 2018/03/12(月) 12:11:21.45:69L4T8rX GPUはデバイス座標系で点を打つデバイスである。 だから、まずは行列を忘れることから始めることをオススメする。 ここを押さえないと、マジックやブラックボックスな理解にしかたどり着かない。 : [sage] 2018/03/12(月) 13:40:55.21:0pvg4NwO たかが点を打つために行列の使用を強制されるんでしょ : [] 2018/03/12(月) 16:00:41.65:CSgz2Faf 別に行列じゃなくてもいいよ 連立方程式で線形代数計算してるだけだし : [sage] 2018/03/12(月) 17:30:48.00:UuCdIp+V なんちゃら座標とかなんちゃら行列とか、計算しやすいから使ってるだけで 最終的にxyzが-1〜+1の範囲に収まってる点だけ描画される 直線の中間とか三角形の内部とかはいい感じに計算してくれる と、こんな認識 : [] 2018/03/12(月) 17:36:23.54:FajbO2mA 3D空間の(x,y,z) → 2D画面の(X,Y) : [] 2018/03/12(月) 18:28:11.28:KdliYUuE 行列を使わずとも絵を出せる。 : [] 2018/03/12(月) 20:29:16.67:xtO3pvSo その通りだね。行列は計算式をコンパクトにまとめた様式に過ぎない。 計算機時代に適した計算方法。 手計算の方が計算回数は少なく、 行列は無駄な計算(結果が計算前と変わらない成分)が含まれやすい。 : [sage] 2018/03/12(月) 21:13:09.34:AgHcxoXo 4x4の同時行列を知って感動したのは、三角関数なしに座標変換できることだったな 最初は狐につままれたような気分だった : [sage] 2018/03/12(月) 22:10:29.58:1imlvdfL あーもー座標系ってのがわかんない。座標は座標で一つじゃないか。(0,0,0)は原点だし、(1,0,0)はそこからx軸方向に1進んだとこ。それだけじゃないか…… その座標上の点を動かすのに行列を動かすのは分かる。でも座標が動かない視点移動に行列だのもうちんぷんかんぷん。俺こんな頭悪かったかなぁ。C++やらjavaやらの勉強してるときにこんな詰まったことないよ その-1〜+1ってのが全然分かんないんだよね。どっからでてきたその正方形ってなってる 表示されるのは長方形だし、座標はてんでばらばらな位置にあるしわけがわからない : [sage] 2018/03/12(月) 22:23:17.19:w9nLIp05 -1〜+1ってのはただの取り決めだろ 計算上も都合がいいし、大きすぎても小さすぎても誤差が発生する浮動小数点数を扱う上でも都合がいい 最終的には表示デバイスの個々のピクセルへ反映されるわけだけれども : [sage] 2018/03/12(月) 22:51:59.22:78vgHoZW だから844で言ってるけどゲーム数学の本を一冊読め それで理解できないなら3Dは諦めて2Dに専念しろ : [sage] 2018/03/12(月) 23:04:03.49:78vgHoZW 手計算ってのはスカラーでの計算の事を言ってるんだろうけど、スカラーに分解した方が速いなんて事は座標変換に対してはまず有り得ないと言える それとも本当に手で計算する事を言っているのか… : [] 2018/03/13(火) 00:33:18.93:/zEVpJ3t 言葉のあや。 座標変換だけなら4回は変化のない計算が含まれたり、移動だけなら3回。 しかし行列だと必ず16回計算する。 それをマルチコアとストリームで最適化するから見えない、という話。 : [sage] 2018/03/13(火) 00:45:27.82:euSoxjJP デバイス座標系は「比の世界」 ラスタライザがビューポートとレンダリングターゲットのサイズを分けることにも機能がある。おれは便利に使っている。 解ると流石はトップチームの設計と感動するし。 : [sage] 2018/03/13(火) 01:18:43.41:pKGQDpWH まあ行列の乗算はSIMDと相性が良いし 単純に16回とは言い切れない部分もある : [sage] 2018/03/13(火) 11:47:45.76:eyFwaX8I つうか…積和演算又は内積を100回勉強してから出直してこい 「手計算」で16回な訳ないだろ 掛け算足し算合わせて64回だよ SIMDだと4回で済む : [] 2018/03/13(火) 17:39:47.50:dqdO2T6N 一部同意だけど PとかMとかRの行列があって順に座標ベクトルに掛けるのが決まってるなら あらかじめ行列の積をもって置いて計算量減らしたりは出来る 手計算でも減るけどこの辺はごちゃごちゃする気がするんだ : [sage] 2018/03/13(火) 23:37:22.64:x1xF7TNf ID違うだろうから今更だけど、計算回数の違いは、 偏に「アルゴリズム(計算式)の形に起因する計算回数の違い」に依存する。 つまり、アルゴリズムがループかシーケンスかの違いね。 この当たりって専門学校でも普通(一般教養の観点で基礎的)に教える分野だと思ったけど違うのかな。 演算子の数で計算量は決定しない。 演算子は最適化できる。 計算量を決定する因子は、行列の列数と行数であり、その数で決定される。 そういう認識から、16回って書いたんだけど。 : [sage] 2018/03/13(火) 23:53:44.54:WeCP0dK8 だから何で16回なんだよ… 足し算は無視かよ 足し算も含めて64回だよ : [sage] 2018/03/14(水) 00:09:08.20:oU5PPI0r 行列演算って並列処理向きだよな 行と列の数が決まってて、それぞれを掛けて足すだけだし、個々の要素が他に影響も与えないから先読みもできる SIMDとかそういう感じなんだろうけど、1っ個ずつ掛け算して足してって逐次処理でやってるわけじゃないからね 個々の要素を並列でガッと掛け算してガッと足し算するだけだから2ステップで終わる感じ? 専用プロセッサで並列処理してるから行列の要素の数とかほとんど影響なんじゃね? まぁ、GPUじゃなくてCPU側で計算させてる所はそうじゃないだろうけど : [sage] 2018/03/14(水) 04:32:37.79:+5JMyOIF SIMDはガッと掛けてガッと足して1ステップだよ 最近GPUに搭載され始めてるテンソル用の演算器はガッと行列掛けて1ステップだよ 但しFP16に限るが : [sage] 2018/03/14(水) 06:09:20.60:hUapu0pl 個人的には逆数などクロック数がかかる演算は 演算器を倍速で動かすなどして スループットを1にして欲しい : [] 2018/03/14(水) 15:01:15.07:2cAisCwC あほですか たったの一回ですよ : [sage] 2018/03/14(水) 15:07:03.88:+5JMyOIF 何がたったの1回なんだ? とは俺だぞ… : [sage] 2018/03/14(水) 15:18:11.19:+5JMyOIF 計算回数が1回になるってどんな数学だよ… 専用のハードウェアによってスループットが1になったって事だよ : [sage] 2018/03/14(水) 15:28:47.75:hFOwW8jG 数式として1回なのか 実装として1クロックなのか 混同しているのな : [] 2018/03/20(火) 08:25:35.87:SKw1wycK バルカン。 サブミットでデバイスロストする。 泥だと比較的簡単に絵が出せたのだが、窓だと妙に落ちる個人的な印象。 怪しいのはSPIR-Vバイトコードとディスクリプタなんだが、なんでこうもエラーを返さず落ちるのか : [sage] 2018/03/20(火) 21:55:10.67:RPslvUV7 解決しました。一応シェア OnCreateでサーフェスを作るとデバイスロストになる様子。 終わり : [sage] 2018/03/27(火) 22:06:56.25:egC6Dvn4 VulkanのVkEnumerateInstanceExtensionPropertiesって、引数のlayerNameがNULLの時は利用可能な拡張が全部返ってきて、レイヤ名を与えた時はそのレイヤが提供している拡張(レイヤが必要としている拡張ではなく)を返すで間違いない? : [sage] 2018/03/29(木) 09:01:40.14:SuLfrNg/ テストすればわかること。 他機種全プラットフォームにおいて、一様に同じ挙動をする保証があるのかは知らん。 スナドラと窓で確認した限りは、そう返した、 だが、デバッグレイヤーの有効化は、コんふィグレーションに依存して、返却されるものが変わる様子。 窓だとレジストリとジェイソンのぱラメータで返却される値がかわった。 あと1.1にすると文字列がかわる。 : [sage] 2018/04/03(火) 02:56:07.78:J9woBtMc Khronosが語る「Vulkan 1.1」。VR&AR向けAPI「OpenXR」の最新動向も ttp://www.4gamer.net/games/293/G029343/20180330081/ : [sage] 2018/04/03(火) 09:17:26.37:1nlPijmR kronosがレイトレーシングのAPIを出したらまた面白いな。 : [sage] 2018/04/09(月) 08:17:36.99:jqtt+iU4 漸くバリカンでテキスチャマップが期待通りにできるようになりました。 それと遂にZ値(深度値の分解能問題)と戦うことになりました。 まあ射影深度を0.1から1000とかの適当な数字が悪いんだけど。 : [sage] 2018/04/16(月) 10:22:13.06:UgR56jg1 Freetype いいね。これ vulkanの字形機能なしの課題が完全に解決したよ。 半日でビットマップが取れた。 : [] 2018/04/16(月) 10:56:54.10:75OnkAat おめ : [sage] 2018/04/16(月) 12:05:35.26:pRl0iab+ なんだおめ : [] 2018/04/16(月) 22:12:04.57:yrNQl9WY 初心者ですが、質問です。 aを押したらソリッドが、bを押したらワイヤーフレームが描画されるようにしたんですが、 キーを押しただけでは切り替わらなくて、マウスでウインドウを動かしてやらないと切り替わらないのですが、 どこが悪いのですか? またどうすればキーを押したでけで切り替わるようになりますか? よろしくお願いします。 : [] 2018/04/16(月) 22:17:41.63:yrNQl9WY 自己解決しました。 アイドルコールバックの中にglutPostRedisplay();を入れたら、キーを押しただけで切り替わるようになりました。 : [sage] 2018/04/17(火) 00:09:49.11:TcnTTLm/ おめ : [] 2018/04/17(火) 03:25:53.82:QMWYQNUe なんだおめ : [sage] 2018/04/17(火) 15:22:05.07:YJ78AWLa 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 : [sage] 2018/04/21(土) 14:31:55.01:/YoH8OD3 適当に某エミュの中のOpenGLいじってたら、いろいろ調べるのにネットに情報なさすぎわろた;; : [sage] 2018/04/21(土) 15:09:36.91:cce/sk/7 なんで全部疑問形なんだよw みんな自信無さ過ぎw : [sage] 2018/04/21(土) 15:47:03.81:1eaCjSbB お前らVulkan使ってる? 俺は初期化だけで涙目だよ : [sage] 2018/04/21(土) 16:52:55.89:p46UHlUy Vulkanの前にシェーダー覚える為にOpenGLやってたら OpenGLで満足しちゃって止まってる : [sage] 2018/04/21(土) 20:41:44.39:q1Nw2jB7 使ってるよ。 特定のことを複数方法があるOpenGLより解りやすい。 窓と泥のVulkanは、細かい部分で違いがある。 泥のVulkanは、スモールセット 窓のVulkanは、最大セット 震度バッファなんかでも違いがある。 泥のVulkanだと32ビット深度バッファが未対応な機種があるとか。(24ビット+ステンシル8ビットまでとか。すなどら) : [] 2018/04/22(日) 11:31:43.53:82Blnn+W Vulkanのいい感じのラッパーはねえのか : [sage] 2018/04/22(日) 12:35:31.11:eJeQlrkB Yo! チェケラッチョ! : [sage] 2018/04/22(日) 16:25:29.93:T55LhCLI 久々の休みだしちょっといじってみっかなぁ とDemoビルドしてキューブ回転させて満足しちまった つか最小デモでプロジェクト4つもあって萎えたわ : [sage] 2018/04/22(日) 21:45:48.78:4soL3hg4 V-EZとかどうよ? : [sage] 2018/04/23(月) 00:16:42.94:lTVxtVma サラッとgitなめた感じだと、すごくイイと感じた、 面倒なサブバス、ディスクリプタ、描画パイプラインがキャッシュメカニズムでラップされているのか、こいつらをアプリケーションで管理しなくて済みそうなところに感動した。 需要が多いと思われるAndroid未対応。(窓のみ) 泥対応したら、確実にこれが採用されると思う。 さすがAMD : [sage] 2018/04/23(月) 00:33:46.57:lTVxtVma 描画パイプラインといえば、何故か内のスマホだと描画パイプラインを作る所で、激しく処理時間がかかるんだよな。 シェーダが29、描画パイプラインを58 これを2セット作る部分で3分くらい握りこむ。 ちな、テクスチャ60MBとかは、1秒も掛からない。 描画できるようになれば、普通に30fpsは出る : [sage] 2018/04/23(月) 12:10:38.21:oyLGpw6Q リアルタイム れンダリングの世界は、 どこまでも外部ツールによるデータ(頂点、テクスチャ)のコンパイルに行き着く。 : [sage] 2018/05/08(火) 21:07:40.44:1jXTxPe4 なんか興味がなくなってきた。 Vulkanで一応は動くようになった。 ・遅延レンダリング(いわゆる深度バッファシャドー) ・ボーンアニメーション ・環境反射マッピング ・レイヤ合成 ・入力アタッチメント ・マルチサンプリング なんかは、スクラッチから一通り書けるようになった。 SSAOなんかは、深度バッファの応用だから、この先はアイデアの分野にみえた。 3DCGは、レンダリングより準備段階の方が楽しそうだと思った。 ちらうら。 : [sage] 2018/05/08(火) 21:12:12.57:9ujaq46I その中でOpenGLではできなくてVulkanならではのものってある? : [sage] 2018/05/08(火) 23:26:06.30:1jXTxPe4 強いてあげれば。描画パスかな。 あとは理解の容易さ。後者のメリットはGLとは比較にならない。 今後GLが下火になるのは間違いない。 これから勉強する人間は、必ずVulkanを選ぶだろうよ。 : [sage] 2018/05/09(水) 04:16:02.78:q3UXuSpg vulkanってグラボの要求高そう : [sage] 2018/05/11(金) 22:05:37.07:rMzLFpG5 高いと思うよ。 2016年より前のコンピュータ機器は、デスクトップのボードを除くとアンドロイドを含めて対応機種0だしね。泥の世代交代も進んでない。 泥の半数から3割が未だにAndroid 4世代。 : [sage] 2018/05/12(土) 11:00:29.64:pDgCeBjY 共同ツール 1 ttps://seleck.cc/685 ttps://trello.com/ ボードのメニュー → Power-Upsから拡張可能 Slack DropBoxなど Trello Chrome拡張機能 elegant ttp://www.kikakulabo.com/service-eft/ trelloのオープンソースあり 共同ツール 2 ttps://www.google.com/intl/ja_jp/sheets/about/ 共同ツール 3 ttps://slack.com/intl/ja-jp ttps://www.dropbox.com/ja/ ttps://bitbucket.org/ ttps://ja.atlassian.com/software/sourcetree ttps://sketchapp.com/extensions/plugins/ ttp://photoshopvip.net/103903 ttps://goodpatch.com/blog/sketch-plugins/ : [] 2018/05/23(水) 19:42:14.23:Au5e7VGg 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方 役に立つかもしれません グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』 SHK5K : [sage] 2018/05/24(木) 10:54:46.27:cPlRxlDn SHK5K : [sage] 2018/05/29(火) 16:27:09.19:K5r7JBXm VTK使ってる人いませんか? 全く話題がないしでも紹介されてないしマイナーなんですかね? : [] 2018/05/29(火) 17:53:10.00:QKhV4oKb pythonのは使ってた : [sage] 2018/05/30(水) 02:25:18.31:3Wrdgi9E VTKもC++用ラッパーだよな OpenSceneGraphとどっちがいいの? : [sage] 2018/06/05(火) 21:01:12.60:n/qMWlsN What’s New in macOS ttps://developer.apple.com/macos/whats-new/ > Deprecation of OpenGL and OpenCL : [sage] 2018/06/05(火) 21:20:49.56:3JOKg9H7 うせやろ・・・? : [sage] 2018/06/05(火) 21:53:55.27:+IwdtWRd QuickDrawのみになるのか! : [sage] 2018/06/05(火) 22:31:51.54:ZZ8oF8fq Vulkanサポートするんじゃなかったっけ : [sage] 2018/06/05(火) 22:44:51.47:cFpDHrjQ あちゃー、ここで独自規格にシフトして勝算あるのかね。 せめてMetalをLinuxとWindowsでも使えるようにしてくれよ。 : [sage] 2018/06/05(火) 23:02:00.64:jILz6EVz 独自路線を突き進むAppleに未来はあるのか : [sage] 2018/06/05(火) 23:08:37.44:xvG0QRRJ KronosやらがSDK出すだけでAppleはなんもしないよ : [sage] 2018/06/06(水) 08:25:04.71:ZsyzKobZ うーん… : [sage] 2018/06/06(水) 10:35:22.20:8vN7AzOR ゲームエンジンのデベロッパが汗かいとる : [sage] 2018/06/06(水) 13:51:53.75:KfLceXUG Minecraftとかどうなるんだろ : [sage] 2018/06/06(水) 15:07:02.13:8vN7AzOR でもあぁあと2、3年は使えるやろ OpenGLに依存してるアプリがたくさん残ってるうちはAppleも簡単には消せないはず : [sage] 2018/06/06(水) 15:56:08.39:U3aoEimN みんなiPhone買わなきゃいいんだよ 特に日本人な : [sage] 2018/06/06(水) 20:13:37.32:boKIlFBl MSと真逆でAppleはdeprecatedつったら割とソッコで消すことが多いから楽観はせん方が・・・ : [sage] 2018/06/07(木) 02:59:58.43:i0FRgQIv Appleはいつもこういうやり方だからな(笑)。 死亡。 : [sage] 2018/06/07(木) 09:53:41.84:EO/o86zQ 今からOpenGL勉強するのは愚の骨頂ですか? : [sage] 2018/06/07(木) 10:03:41.66:etJL6Icp 今からならVulkanにしとくか、GPUに慣れる目的でOpenGLに触っておくかくらいじゃね まだVulkanの日本語のチュートリアルって少ないんかな : [sage] 2018/06/07(木) 10:05:01.08:etJL6Icp あとプラットフォームによるか webGLでなにか作りたいならむしろVulkanだと何もできない? : [] 2018/06/07(木) 10:21:55.77:4mIWw2z0 なんで目的とかゴールを言わずにそんなこと聴くんだ : [] 2018/06/08(金) 09:16:20.20:3Z44SiQi WebGPUって死んだ? : [sage] 2018/06/08(金) 09:23:30.95:r8oycuBt しれっとOpenCLもdepってるけど、これの代わりって有るのか? OpenCL方面は疎いから分からん : [sage] 2018/06/08(金) 20:52:20.33:/GCX+93b MetalのComputeShaderでやれってことらしいよ。OpenCLはAppleが作らせたのにね。 : [sage] 2018/06/09(土) 00:22:06.75:P6RTkvti Metalってそんな汎用的なAPIなのかよ… だとしても強引過ぎるだろ Appleを嫌いになりそう : [] 2018/06/09(土) 09:25:02.62:XNb8o9kX Vulkanは計算用パイプラインが元からある。 あとアップルが後方互換を維持するとか、あり得ない。 切るといったら、次の機種で切る。 : [sage] 2018/06/10(日) 18:10:38.88:cOjgeRVZ 某3Dモデリングソフト開発がOpenGL2.0止まりだって聞いたことある。 : [sage] 2018/06/10(日) 21:51:11.70:6dHJkhiY ComputeなんたらってGPGPU用に流行ったけど、結局わざわざ別のシステムを用意しなくてもVulkanやMetalのComputeShaderを使えば事足りるということで落ち着いたのかな? その割りにはNVIDIAはCUDAをやめるようには思えないけど : [] 2018/06/11(月) 13:39:33.05:urgYl6nk 意外と速い ttp://jp.wgld.org/js4kintro/editor/ : [] 2018/07/04(水) 22:22:46.25:gFgZc5FG MKF : [sage] 2018/07/05(木) 16:40:04.20:AeL6VB/V MKF
凡例:
レス番
100 (赤) → 2つ以上レスが付いている
100 (紫) → 1つ以上レスが付いている
名前
名無しさん (青) → sage のレス
名無しさん (緑) → age のレス
ID
ID:xxxxxxx (赤) → 発言が3つ以上のID
ID:xxxxxxx (青) → 発言が2つ以上のID
このページは2ch勢いランキング が作成したアーカイブです。削除についてはこちら 。