クロスプラットフォームの3D API OpenGL 及び次世代のローレベルAPI Vulkan に関する話題を扱うスレッド。
現在の最新バージョンは4.5
https://www.opengl.org/
https://www.khronos.org/vulkan
== OpenGLと一緒に使われるツール&ライブラリ ==
苦労したくなかったらとりあえず入れとけ。
・glx: XからOpenGLを使うためのライブラリ。普通は直接は使わず意識する事はない
・glut: クロスプラットフォームなツールキット。でもさすがに古くさい
・GLFW より新しいマルチプラットフォームなツールキット
・glew: これを入れないと拡張機能が使えないor使いにくい
・glxgears: 歯車が回るベンチマーク。-infoでOpenGLのバージョンが見られる。OpenGLの動作確認はこれで
・glxinfo: 自分の使っているカードのOpenGLの機能が全てリストアップされる。
・OpenTK C#からOpenGLを簡単に使えるようになる。VC#の強力なIntellisenseとあわせてサクサク開発可能。
・OpenSceneGraph: OpenGL を高度に抽象化し、利便性を高めたラッパー。C++ ライブラリ
・OpenGL Mathematics (GLM): GLSL 文法ライクの C++ 数学ライブラリ
== チュートリアルサイト ==
床井研究室: http://marina.sys.wakayama-u.ac.jp/~tokoi/oglarticles.html
OpenGL de プログラミング: http://wiki.livedoor.jp/mikk_ni3_92/
NeHe: http://nehe.gamedev.net/
Tutorials for OpenGL 3.3 and later http://www.opengl-tutorial.org/
Learning Modern 3D Graphics Programming http://www.arcsynthesis.org/gltut/
== 前スレ ==
OpenGLスレ Part21
http://peace.2ch.net/test/read.cgi/tech/1409581958/
== 関連スレ ==
【O3D】HTML5用 3D API WebGL 【Canvas:3D】
http://peace.2ch.net/test/read.cgi/tech/1308761577/
OpenGL 2.0 専用スレ
http://peace.2ch.net/test/read.cgi/tech/1126268759/
OpenGL/Vulkanスレ Part22©2ch.net
レス数が900を超えています。1000を超えると表示できなくなるよ。
2015/08/27(木) 18:12:51.54ID:VxmGCqDu
815デフォルトの名無しさん
2018/03/06(火) 20:00:31.06ID:qto5wiY+ そのレベルならJuliaとかPythonからglfwを使うのがよい
816デフォルトの名無しさん
2018/03/06(火) 20:10:43.40ID:3cvqGCfT C言語は知識あるからC言語でopenGL使うにはどうすればいいかなって聞こうと思ってたんだよ
817デフォルトの名無しさん
2018/03/06(火) 21:21:31.65ID:XSsM00DU サンプル的にはC言語が一番多いと思うが...
818デフォルトの名無しさん
2018/03/06(火) 21:52:38.18ID:Eaz1J+y1 諸事情でopenGL触らないといけなくなったんだけど全然分からない……
最終的にwindowsアプリ作るところまで持ってかなきゃいけないんだけど1週間位あーでもないこーでもないやってようやくウインドウに立体を表示させられるくらい
床井先生のところ参考にしたりしてるけど全然だめ。難しすぎないこれ。泣きそう
最終的にwindowsアプリ作るところまで持ってかなきゃいけないんだけど1週間位あーでもないこーでもないやってようやくウインドウに立体を表示させられるくらい
床井先生のところ参考にしたりしてるけど全然だめ。難しすぎないこれ。泣きそう
819デフォルトの名無しさん
2018/03/06(火) 21:57:19.11ID:XSsM00DU そもそも1週間でマスターできると思ってたのかよ
コンピュータグラフィック舐めすぎだろ
コンピュータグラフィック舐めすぎだろ
820デフォルトの名無しさん
2018/03/06(火) 22:09:38.65ID:Eaz1J+y1 ごめん。マスターなんておこがましいことは考えてない。
ただこれまでの課題はそこそこ順調だったもんで急ブレーキになったもんだから
っていうかwindowsプログラミングの難しさもやっぱあんのかなこれ……openglの参考書写経してるときはほうほうなんて思いながらやれたりもするのに
ただこれまでの課題はそこそこ順調だったもんで急ブレーキになったもんだから
っていうかwindowsプログラミングの難しさもやっぱあんのかなこれ……openglの参考書写経してるときはほうほうなんて思いながらやれたりもするのに
821デフォルトの名無しさん
2018/03/06(火) 22:47:06.43ID:6wF4I1yM 今時のOpenGLを裸で叩いて立体の表示まで行ったのなら、あとはどうとでもなるような気がするが…
ワールド座標から同次行列使ってスクリーン座標にできてるし、シェーダーも動いてるってことだろ?
ワールド座標から同次行列使ってスクリーン座標にできてるし、シェーダーも動いてるってことだろ?
822デフォルトの名無しさん
2018/03/07(水) 00:09:36.40ID:CTqOg+7Y OpenGLで2Dをするか3Dをするかで必要な数学の知識は変わってくる
823デフォルトの名無しさん
2018/03/07(水) 08:37:57.29ID:G6R4UecX GLで混乱して挫折するのは、
頂点・索引配列絡みとカレントじゃないかな
プロセッサから毎回頂点要素(座標、法線なんか)を送り込む初期のGL方式が未だにWebには最新情報とアフィリエイトされているし。
Google先生もこれをオススメするしね。
あとはWebGLが曲者。
発展途上のAPIはDXのように丸ごと差し替えるのが正解なんだろう。
混乱のもと。
頂点・索引配列絡みとカレントじゃないかな
プロセッサから毎回頂点要素(座標、法線なんか)を送り込む初期のGL方式が未だにWebには最新情報とアフィリエイトされているし。
Google先生もこれをオススメするしね。
あとはWebGLが曲者。
発展途上のAPIはDXのように丸ごと差し替えるのが正解なんだろう。
混乱のもと。
824デフォルトの名無しさん
2018/03/07(水) 08:40:51.70ID:G6R4UecX そうだ、ちらうら。
OpenGLとVulkanはデバイス座標系における正数方向の向きが違う。
なんとDirect3Dとも異なる第三の座標系
まあ射影行列の符号が変わるだけだが
OpenGLとVulkanはデバイス座標系における正数方向の向きが違う。
なんとDirect3Dとも異なる第三の座標系
まあ射影行列の符号が変わるだけだが
825デフォルトの名無しさん
2018/03/07(水) 08:42:53.16ID:G6R4UecX826デフォルトの名無しさん
2018/03/07(水) 08:45:46.79ID:G6R4UecX れんとうすまん。
Yを↓にしたのは、恐らくは、加速度センサーの符号を意識したIoT機器配慮の設計だと理解している。実際の趣旨はしらん。
Yを↓にしたのは、恐らくは、加速度センサーの符号を意識したIoT機器配慮の設計だと理解している。実際の趣旨はしらん。
827デフォルトの名無しさん
2018/03/07(水) 09:22:48.87ID:7SqH7HYl >>826
主な理由は普通にコンピュータで扱う一般的な座標にあわせただけでしょ
主な理由は普通にコンピュータで扱う一般的な座標にあわせただけでしょ
828デフォルトの名無しさん
2018/03/07(水) 10:11:07.85ID:4T48SgsL829デフォルトの名無しさん
2018/03/07(水) 13:46:17.89ID:7HCJdbkd PSのコントローラーを箱で使えた時にPSの時と方向が逆転するって昔きたわ
830デフォルトの名無しさん
2018/03/07(水) 14:41:58.64ID:N8AahZ+v831デフォルトの名無しさん
2018/03/07(水) 14:46:26.75ID:N8AahZ+v832デフォルトの名無しさん
2018/03/07(水) 17:54:26.70ID:7HCJdbkd 昔作ったopenGLのGLAUXで作ったコードはglutに書き換えた方が良い?今後参考にするためにもそっちの方が良い?
833デフォルトの名無しさん
2018/03/07(水) 17:56:21.16ID:L+d1J7Rs そのままで桶
834デフォルトの名無しさん
2018/03/07(水) 20:47:09.31ID:soM9osyD >>821
同次行列って何?シェーダーってなんだっけ?レベルなのでお察しください
ファイルから座標読み込んできっちり画面内に収まるように表示させろとか、視点を3次元で回転させるとか、しかもそれをマウスで出来るようにしろとか、オブジェクト選択させろとか……
そもそもMFCすらよく分かんないからもう
同次行列って何?シェーダーってなんだっけ?レベルなのでお察しください
ファイルから座標読み込んできっちり画面内に収まるように表示させろとか、視点を3次元で回転させるとか、しかもそれをマウスで出来るようにしろとか、オブジェクト選択させろとか……
そもそもMFCすらよく分かんないからもう
835デフォルトの名無しさん
2018/03/07(水) 20:50:41.07ID:jzt3Aumo OpenGLとか低レベルのことは忘れて、ライブラリを使うべき
836デフォルトの名無しさん
2018/03/07(水) 20:57:49.67ID:7HCJdbkd 開発環境準備するの解らなくて、C言語でopenGL使ってしょぼいシューティングゲーム作ろうと思ってるんだけどなに入れた方が良い?
glutだけでいいの?>>1の全部入れておいた方が良い?
glutだけでいいの?>>1の全部入れておいた方が良い?
837デフォルトの名無しさん
2018/03/07(水) 21:10:49.29ID:/9xPEa+U >>823
さすがにVBOが主流になってから7-8年は経ってるけど、考えてみるとOpenGL3以降に対応した赤本ってまだ日本語版ないんだっけ?
というか、今のはどういう記述になってるんだろう
シェーダー前提の記述になると、三角形を表示するまでがけっこう遠いよな
さすがにVBOが主流になってから7-8年は経ってるけど、考えてみるとOpenGL3以降に対応した赤本ってまだ日本語版ないんだっけ?
というか、今のはどういう記述になってるんだろう
シェーダー前提の記述になると、三角形を表示するまでがけっこう遠いよな
838デフォルトの名無しさん
2018/03/07(水) 22:11:44.33ID:soM9osyD でかい本屋行ったり古本屋みたりして思ったんだけどさopenglって優しい参考書無いの辛い
例えばjavaとかcとかだったらそれこそ具体例なり比喩なりイラストなり駆使してステップバイステップで進めていけるような本いくらでもあるじゃない
もういきなり変換だのなんだの言われても何やってんのかまずそこから丁寧に説明しろやって思う
行列の話で込み入ったことになるというならもっとイメージをつかませてくれるというか……
例えばjavaとかcとかだったらそれこそ具体例なり比喩なりイラストなり駆使してステップバイステップで進めていけるような本いくらでもあるじゃない
もういきなり変換だのなんだの言われても何やってんのかまずそこから丁寧に説明しろやって思う
行列の話で込み入ったことになるというならもっとイメージをつかませてくれるというか……
839デフォルトの名無しさん
2018/03/07(水) 22:21:26.54ID:lC06JEBx >>838
日本語は少ないと感じた。
おれはバルカンで0から描画だけは、なんちゃってフレームワークを書き上げたから、GLには戻りたくない。
ジオメトリファイルを読み込むところからスキンメッシュ処理まではバルカンでできる。
今後の課題は、輪郭線の強調にタイムラインアニメーション。
バルカンは使いやすい。分かりやすい。
日本語は少ないと感じた。
おれはバルカンで0から描画だけは、なんちゃってフレームワークを書き上げたから、GLには戻りたくない。
ジオメトリファイルを読み込むところからスキンメッシュ処理まではバルカンでできる。
今後の課題は、輪郭線の強調にタイムラインアニメーション。
バルカンは使いやすい。分かりやすい。
840デフォルトの名無しさん
2018/03/07(水) 22:35:01.09ID:jsRnYNoO 見ていてわかるが、ニーアや15のグラフィックス機能は、やっぱり最高峰と言われるだけある。
やはり、その道のプロは違う。
どんだけ血反吐はいたんだろう、と。
やはり、その道のプロは違う。
どんだけ血反吐はいたんだろう、と。
841デフォルトの名無しさん
2018/03/07(水) 22:38:08.88ID:jzt3Aumo 積み上げれば良いだけで、血反吐を吐く必要なんて無い。
842デフォルトの名無しさん
2018/03/07(水) 22:44:11.22ID:/9xPEa+U FF15はともかく、ニーアは低予算にあえぎながらあれだけのものを作ったのがすごい
843デフォルトの名無しさん
2018/03/07(水) 22:49:37.56ID:7HCJdbkd FF15ってopenGLなの?全然か書かれてないしどうやってみんなわかるんだ
844デフォルトの名無しさん
2018/03/07(水) 22:53:17.14ID:jPuVbXN5 取り敢えず本屋行ってゲーム数学みたいな本を一冊買って読め
話はそれからだ
3DやりたいからっていきなりOpenGLのAPIを使いはじめても遠回り
ここの初心者の質問見てるとつくづくそう思う
話はそれからだ
3DやりたいからっていきなりOpenGLのAPIを使いはじめても遠回り
ここの初心者の質問見てるとつくづくそう思う
845デフォルトの名無しさん
2018/03/07(水) 22:56:46.43ID:jPuVbXN5846デフォルトの名無しさん
2018/03/07(水) 23:08:22.65ID:Znot2r1H ○×さんのサイトがよかった
847デフォルトの名無しさん
2018/03/07(水) 23:48:17.61ID:7HCJdbkd openGLはグラフィックドライバーに入ってて補助・拡張ライブラリを追加して入れないともっと手軽に作れないって理解で合ってる?
848デフォルトの名無しさん
2018/03/07(水) 23:49:07.68ID:Znot2r1H ええっ
849デフォルトの名無しさん
2018/03/08(木) 00:16:21.13ID:4E0wVG2f OpenGLはグラボ叩くためのライブラリだから、ゲームループとかWindow周りの処理とかイベント処理は自前で実装するか別ライブラリのお世話になるしかないね
850デフォルトの名無しさん
2018/03/08(木) 00:31:28.57ID:3YwCVqa3 GLもメタルもバルカンもd3dもゲームコントローラやキーボード、マウス入力、
OSウインドウの移動もファイルの読み書きも、サウンド再生も、動画のデコードも、
セーブデータの暗号化もサポート外だしな。
配色デザインもしてくれないし、メッシュ、ジオメトリの生成もしないし、2Bを笑顔にしてもくれないし、声もだせないし、スキンメッシュも簡単にできるAPIなんかない。
可愛いキャラを作ってもくれない。
スカートの布を綺麗に捲ってもくれません。
OSウインドウの移動もファイルの読み書きも、サウンド再生も、動画のデコードも、
セーブデータの暗号化もサポート外だしな。
配色デザインもしてくれないし、メッシュ、ジオメトリの生成もしないし、2Bを笑顔にしてもくれないし、声もだせないし、スキンメッシュも簡単にできるAPIなんかない。
可愛いキャラを作ってもくれない。
スカートの布を綺麗に捲ってもくれません。
851デフォルトの名無しさん
2018/03/08(木) 08:00:57.49ID:OEgQLKAy GLで作られたゲームはMinecraftとDoomぐらいしか思いつかないや
ニーアとかFFもwindowsだとDirectXだしpsだと別のapiだろうし
ニーアとかFFもwindowsだとDirectXだしpsだと別のapiだろうし
852デフォルトの名無しさん
2018/03/08(木) 10:04:48.36ID:How10RP5 スマホ向けケームはほとんどGLだったんじゃね?
今はVulkanとかMetalかもしれんけど
今はVulkanとかMetalかもしれんけど
853デフォルトの名無しさん
2018/03/08(木) 11:17:44.29ID:rwNFvW5I ニーアAは mac でも動く。
854デフォルトの名無しさん
2018/03/08(木) 11:56:39.57ID: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.
Please note --- this new SDK supports Vulkan 1.1.70, and is backward-compatible with Vulkan 1.0.70.
855デフォルトの名無しさん
2018/03/08(木) 17:45:12.97ID:bTglIUZ4 動かせないコードからどの拡張ライブラリ入れれば動かせるってことはわかる?
856デフォルトの名無しさん
2018/03/08(木) 20:41:20.16ID: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)じゃないよなとか
基本的な質問で悪いんだが色々調べてもわからんかったから誰か頼む
例えば原点中心、半径1の球を(0, 0, 2)から見てるとするじゃない。そうすると当然glulookat(0, 0, 2, 0, 0, 0, 0, 1, 0)になるじゃない
でもこれで仮に視点をX軸中心に45度回転させたとして、(0, √2、√2)から原点を眺めるわけだけどこの場合上ってどう決めればいいんかな
他にも90度だったらようは真下向くことになるのに上方向(0, 1, 0)じゃないよなとか
基本的な質問で悪いんだが色々調べてもわからんかったから誰か頼む
857デフォルトの名無しさん
2018/03/08(木) 20:44:49.13ID:NKs7zC1C ジンバルロック?起こすけど外積使うとか?
858デフォルトの名無しさん
2018/03/08(木) 20:58:19.82ID:EVxjjduY 視線ベクトルの外積だよね
859デフォルトの名無しさん
2018/03/09(金) 01:17:15.82ID:RX9hyNow >>854
Please noteってRelease noteの間違いか?
Please noteってRelease noteの間違いか?
860デフォルトの名無しさん
2018/03/09(金) 01:31:33.86ID:9FwD4ccF 気をつけてくださいって意味じゃ
861デフォルトの名無しさん
2018/03/09(金) 02:47:27.84ID:+lrD2w/z862デフォルトの名無しさん
2018/03/09(金) 07:20:09.00ID:pPy2svMO >>856
ビュー行列は、カメラ設置点(ワールド座標系)を原点とした座標系に頂点を変換する作用を持つ。
同時に天地を決定させる。
lookat()の中では、上ベクトル(ワールド座標系)を注視点ベクトルとの外積(法線)を取って、それを三つの「軸」を決めている。
長くなったが、ワールド座標系でみて、上の向きとしたいベクトルを与えればいい。
厳密には、上ベクトルに与えるベクトルが注視点に向けて垂直に向けるべきだが、あんま気にせずともよい。
真面目に計算すると酔う絵になる。
ビュー行列は、カメラ設置点(ワールド座標系)を原点とした座標系に頂点を変換する作用を持つ。
同時に天地を決定させる。
lookat()の中では、上ベクトル(ワールド座標系)を注視点ベクトルとの外積(法線)を取って、それを三つの「軸」を決めている。
長くなったが、ワールド座標系でみて、上の向きとしたいベクトルを与えればいい。
厳密には、上ベクトルに与えるベクトルが注視点に向けて垂直に向けるべきだが、あんま気にせずともよい。
真面目に計算すると酔う絵になる。
863デフォルトの名無しさん
2018/03/09(金) 07:21:32.49ID:pPy2svMO ようは軸とするベクトル。
864デフォルトの名無しさん
2018/03/09(金) 17:49:11.19ID:6UOtnPKl visualstudio2015でglut32.libが開けないんだけど
スペックは
osWindows8
調べたけど全然わからないよ、助けてくれ〜
スペックは
osWindows8
調べたけど全然わからないよ、助けてくれ〜
865デフォルトの名無しさん
2018/03/09(金) 17:56:47.43ID:6uXwrQ+F なんてエラー出てんの?
866デフォルトの名無しさん
2018/03/09(金) 18:00:54.07ID:6UOtnPKl 1>------ ビルド開始: プロジェクト:ConsoleApplication3, 構成:Debug x64 ------
1>LINK : fatal error LNK1104: ファイル 'glut32.lib' を開くことができません。
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
こんなの出た
リンカーでもパス通してるんだけど
1>LINK : fatal error LNK1104: ファイル 'glut32.lib' を開くことができません。
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
こんなの出た
リンカーでもパス通してるんだけど
867デフォルトの名無しさん
2018/03/09(金) 18:29:59.79ID:c6gvztnT glut64.libじゃねぇの?
868デフォルトの名無しさん
2018/03/09(金) 20:20:12.16ID: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 スキップ ==========
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 スキップ ==========
869デフォルトの名無しさん
2018/03/09(金) 20:35:15.85ID:SWJ5R9YA そういう基本でこける奴は
GLじゃなくてDirect3D使った方が良いと思うぞ
APIとしての難易度は一緒だろうが
Direct3Dの方が情報が遥に得やすいだろうからな
GLじゃなくてDirect3D使った方が良いと思うぞ
APIとしての難易度は一緒だろうが
Direct3Dの方が情報が遥に得やすいだろうからな
870デフォルトの名無しさん
2018/03/09(金) 21:28:29.15ID:6UOtnPKl >>886
これ解決したわ、freeglutのglut.h freeglut.h freeglut_std.h freeglut_ext.h三つの置き場所8.0に入れたら動いたわ
win8でやってるからWindows Kits/8.0の方に入れなきゃダメだったみたいだ
これ解決したわ、freeglutのglut.h freeglut.h freeglut_std.h freeglut_ext.h三つの置き場所8.0に入れたら動いたわ
win8でやってるからWindows Kits/8.0の方に入れなきゃダメだったみたいだ
871デフォルトの名無しさん
2018/03/10(土) 06:20:56.62ID:L0iyZELB スレ違いにもほどがある
872デフォルトの名無しさん
2018/03/10(土) 09:57:22.10ID:XEkR3r0W ほどがあるというほどでもない
873デフォルトの名無しさん
2018/03/10(土) 21:34:08.38ID:LQ5aOFXC874デフォルトの名無しさん
2018/03/11(日) 09:32:54.78ID:zWe+i43K >>873
射影も投影も行列
射影も投影も行列
875デフォルトの名無しさん
2018/03/12(月) 12:11:21.45ID:69L4T8rX876デフォルトの名無しさん
2018/03/12(月) 13:40:55.21ID:0pvg4NwO たかが点を打つために行列の使用を強制されるんでしょ
877デフォルトの名無しさん
2018/03/12(月) 16:00:41.65ID:CSgz2Faf 別に行列じゃなくてもいいよ
連立方程式で線形代数計算してるだけだし
連立方程式で線形代数計算してるだけだし
878デフォルトの名無しさん
2018/03/12(月) 17:30:48.00ID:UuCdIp+V なんちゃら座標とかなんちゃら行列とか、計算しやすいから使ってるだけで
最終的にxyzが-1〜+1の範囲に収まってる点だけ描画される
直線の中間とか三角形の内部とかはいい感じに計算してくれる
と、こんな認識
最終的にxyzが-1〜+1の範囲に収まってる点だけ描画される
直線の中間とか三角形の内部とかはいい感じに計算してくれる
と、こんな認識
879デフォルトの名無しさん
2018/03/12(月) 17:36:23.54ID:FajbO2mA 3D空間の(x,y,z) → 2D画面の(X,Y)
880デフォルトの名無しさん
2018/03/12(月) 18:28:11.28ID:KdliYUuE 行列を使わずとも絵を出せる。
881デフォルトの名無しさん
2018/03/12(月) 20:29:16.67ID:xtO3pvSo >>877
その通りだね。行列は計算式をコンパクトにまとめた様式に過ぎない。
計算機時代に適した計算方法。
手計算の方が計算回数は少なく、
行列は無駄な計算(結果が計算前と変わらない成分)が含まれやすい。
その通りだね。行列は計算式をコンパクトにまとめた様式に過ぎない。
計算機時代に適した計算方法。
手計算の方が計算回数は少なく、
行列は無駄な計算(結果が計算前と変わらない成分)が含まれやすい。
882デフォルトの名無しさん
2018/03/12(月) 21:13:09.34ID:AgHcxoXo 4x4の同時行列を知って感動したのは、三角関数なしに座標変換できることだったな
最初は狐につままれたような気分だった
最初は狐につままれたような気分だった
883デフォルトの名無しさん
2018/03/12(月) 22:10:29.58ID:1imlvdfL あーもー座標系ってのがわかんない。座標は座標で一つじゃないか。(0,0,0)は原点だし、(1,0,0)はそこからx軸方向に1進んだとこ。それだけじゃないか……
その座標上の点を動かすのに行列を動かすのは分かる。でも座標が動かない視点移動に行列だのもうちんぷんかんぷん。俺こんな頭悪かったかなぁ。C++やらjavaやらの勉強してるときにこんな詰まったことないよ
>>878
その-1〜+1ってのが全然分かんないんだよね。どっからでてきたその正方形ってなってる
表示されるのは長方形だし、座標はてんでばらばらな位置にあるしわけがわからない
その座標上の点を動かすのに行列を動かすのは分かる。でも座標が動かない視点移動に行列だのもうちんぷんかんぷん。俺こんな頭悪かったかなぁ。C++やらjavaやらの勉強してるときにこんな詰まったことないよ
>>878
その-1〜+1ってのが全然分かんないんだよね。どっからでてきたその正方形ってなってる
表示されるのは長方形だし、座標はてんでばらばらな位置にあるしわけがわからない
884デフォルトの名無しさん
2018/03/12(月) 22:23:17.19ID:w9nLIp05 -1〜+1ってのはただの取り決めだろ
計算上も都合がいいし、大きすぎても小さすぎても誤差が発生する浮動小数点数を扱う上でも都合がいい
最終的には表示デバイスの個々のピクセルへ反映されるわけだけれども
計算上も都合がいいし、大きすぎても小さすぎても誤差が発生する浮動小数点数を扱う上でも都合がいい
最終的には表示デバイスの個々のピクセルへ反映されるわけだけれども
885デフォルトの名無しさん
2018/03/12(月) 22:51:59.22ID:78vgHoZW だから844で言ってるけどゲーム数学の本を一冊読め
それで理解できないなら3Dは諦めて2Dに専念しろ
それで理解できないなら3Dは諦めて2Dに専念しろ
886デフォルトの名無しさん
2018/03/12(月) 23:04:03.49ID:78vgHoZW887デフォルトの名無しさん
2018/03/13(火) 00:33:18.93ID:/zEVpJ3t888デフォルトの名無しさん
2018/03/13(火) 00:45:27.82ID:euSoxjJP889デフォルトの名無しさん
2018/03/13(火) 01:18:43.41ID:pKGQDpWH まあ行列の乗算はSIMDと相性が良いし
単純に16回とは言い切れない部分もある
単純に16回とは言い切れない部分もある
890デフォルトの名無しさん
2018/03/13(火) 11:47:45.76ID:eyFwaX8I891デフォルトの名無しさん
2018/03/13(火) 17:39:47.50ID:dqdO2T6N >>887
一部同意だけど
PとかMとかRの行列があって順に座標ベクトルに掛けるのが決まってるなら
あらかじめ行列の積をもって置いて計算量減らしたりは出来る
手計算でも減るけどこの辺はごちゃごちゃする気がするんだ
一部同意だけど
PとかMとかRの行列があって順に座標ベクトルに掛けるのが決まってるなら
あらかじめ行列の積をもって置いて計算量減らしたりは出来る
手計算でも減るけどこの辺はごちゃごちゃする気がするんだ
892デフォルトの名無しさん
2018/03/13(火) 23:37:22.64ID:x1xF7TNf >>891
ID違うだろうから今更だけど、計算回数の違いは、
偏に「アルゴリズム(計算式)の形に起因する計算回数の違い」に依存する。
つまり、アルゴリズムがループかシーケンスかの違いね。
この当たりって専門学校でも普通(一般教養の観点で基礎的)に教える分野だと思ったけど違うのかな。
演算子の数で計算量は決定しない。 演算子は最適化できる。
計算量を決定する因子は、行列の列数と行数であり、その数で決定される。
そういう認識から、16回って書いたんだけど。
ID違うだろうから今更だけど、計算回数の違いは、
偏に「アルゴリズム(計算式)の形に起因する計算回数の違い」に依存する。
つまり、アルゴリズムがループかシーケンスかの違いね。
この当たりって専門学校でも普通(一般教養の観点で基礎的)に教える分野だと思ったけど違うのかな。
演算子の数で計算量は決定しない。 演算子は最適化できる。
計算量を決定する因子は、行列の列数と行数であり、その数で決定される。
そういう認識から、16回って書いたんだけど。
893デフォルトの名無しさん
2018/03/13(火) 23:53:44.54ID:WeCP0dK8894デフォルトの名無しさん
2018/03/14(水) 00:09:08.20ID:oU5PPI0r 行列演算って並列処理向きだよな
行と列の数が決まってて、それぞれを掛けて足すだけだし、個々の要素が他に影響も与えないから先読みもできる
SIMDとかそういう感じなんだろうけど、1っ個ずつ掛け算して足してって逐次処理でやってるわけじゃないからね
個々の要素を並列でガッと掛け算してガッと足し算するだけだから2ステップで終わる感じ?
専用プロセッサで並列処理してるから行列の要素の数とかほとんど影響なんじゃね?
まぁ、GPUじゃなくてCPU側で計算させてる所はそうじゃないだろうけど
行と列の数が決まってて、それぞれを掛けて足すだけだし、個々の要素が他に影響も与えないから先読みもできる
SIMDとかそういう感じなんだろうけど、1っ個ずつ掛け算して足してって逐次処理でやってるわけじゃないからね
個々の要素を並列でガッと掛け算してガッと足し算するだけだから2ステップで終わる感じ?
専用プロセッサで並列処理してるから行列の要素の数とかほとんど影響なんじゃね?
まぁ、GPUじゃなくてCPU側で計算させてる所はそうじゃないだろうけど
895デフォルトの名無しさん
2018/03/14(水) 04:32:37.79ID:+5JMyOIF896デフォルトの名無しさん
2018/03/14(水) 06:09:20.60ID:hUapu0pl 個人的には逆数などクロック数がかかる演算は
演算器を倍速で動かすなどして
スループットを1にして欲しい
演算器を倍速で動かすなどして
スループットを1にして欲しい
897デフォルトの名無しさん
2018/03/14(水) 15:01:15.07ID:2cAisCwC898デフォルトの名無しさん
2018/03/14(水) 15:07:03.88ID:+5JMyOIF899デフォルトの名無しさん
2018/03/14(水) 15:18:11.19ID:+5JMyOIF900デフォルトの名無しさん
2018/03/14(水) 15:28:47.75ID:hFOwW8jG 数式として1回なのか
実装として1クロックなのか
混同しているのな
実装として1クロックなのか
混同しているのな
901デフォルトの名無しさん
2018/03/20(火) 08:25:35.87ID:SKw1wycK バルカン。
サブミットでデバイスロストする。
泥だと比較的簡単に絵が出せたのだが、窓だと妙に落ちる個人的な印象。
怪しいのはSPIR-Vバイトコードとディスクリプタなんだが、なんでこうもエラーを返さず落ちるのか
サブミットでデバイスロストする。
泥だと比較的簡単に絵が出せたのだが、窓だと妙に落ちる個人的な印象。
怪しいのはSPIR-Vバイトコードとディスクリプタなんだが、なんでこうもエラーを返さず落ちるのか
902901
2018/03/20(火) 21:55:10.67ID:RPslvUV7 解決しました。一応シェア
OnCreateでサーフェスを作るとデバイスロストになる様子。
終わり
OnCreateでサーフェスを作るとデバイスロストになる様子。
終わり
903デフォルトの名無しさん
2018/03/27(火) 22:06:56.25ID:egC6Dvn4 VulkanのVkEnumerateInstanceExtensionPropertiesって、引数のlayerNameがNULLの時は利用可能な拡張が全部返ってきて、レイヤ名を与えた時はそのレイヤが提供している拡張(レイヤが必要としている拡張ではなく)を返すで間違いない?
904デフォルトの名無しさん
2018/03/29(木) 09:01:40.14ID:SuLfrNg/ テストすればわかること。
他機種全プラットフォームにおいて、一様に同じ挙動をする保証があるのかは知らん。
スナドラと窓で確認した限りは、そう返した、
だが、デバッグレイヤーの有効化は、コんふィグレーションに依存して、返却されるものが変わる様子。
窓だとレジストリとジェイソンのぱラメータで返却される値がかわった。
あと1.1にすると文字列がかわる。
他機種全プラットフォームにおいて、一様に同じ挙動をする保証があるのかは知らん。
スナドラと窓で確認した限りは、そう返した、
だが、デバッグレイヤーの有効化は、コんふィグレーションに依存して、返却されるものが変わる様子。
窓だとレジストリとジェイソンのぱラメータで返却される値がかわった。
あと1.1にすると文字列がかわる。
905デフォルトの名無しさん
2018/04/03(火) 02:56:07.78ID:J9woBtMc Khronosが語る「Vulkan 1.1」。VR&AR向けAPI「OpenXR」の最新動向も
ttp://www.4gamer.net/games/293/G029343/20180330081/
ttp://www.4gamer.net/games/293/G029343/20180330081/
906デフォルトの名無しさん
2018/04/03(火) 09:17:26.37ID:1nlPijmR >>905
kronosがレイトレーシングのAPIを出したらまた面白いな。
kronosがレイトレーシングのAPIを出したらまた面白いな。
907デフォルトの名無しさん
2018/04/09(月) 08:17:36.99ID:jqtt+iU4 漸くバリカンでテキスチャマップが期待通りにできるようになりました。
それと遂にZ値(深度値の分解能問題)と戦うことになりました。
まあ射影深度を0.1から1000とかの適当な数字が悪いんだけど。
それと遂にZ値(深度値の分解能問題)と戦うことになりました。
まあ射影深度を0.1から1000とかの適当な数字が悪いんだけど。
908デフォルトの名無しさん
2018/04/16(月) 10:22:13.06ID:UgR56jg1 Freetype
いいね。これ
vulkanの字形機能なしの課題が完全に解決したよ。
半日でビットマップが取れた。
いいね。これ
vulkanの字形機能なしの課題が完全に解決したよ。
半日でビットマップが取れた。
909デフォルトの名無しさん
2018/04/16(月) 10:56:54.10ID:75OnkAat おめ
910デフォルトの名無しさん
2018/04/16(月) 12:05:35.26ID:pRl0iab+ なんだおめ
911名無し@キムチ
2018/04/16(月) 22:12:04.57ID:yrNQl9WY 初心者ですが、質問です。
aを押したらソリッドが、bを押したらワイヤーフレームが描画されるようにしたんですが、
キーを押しただけでは切り替わらなくて、マウスでウインドウを動かしてやらないと切り替わらないのですが、
どこが悪いのですか?
またどうすればキーを押したでけで切り替わるようになりますか?
よろしくお願いします。
aを押したらソリッドが、bを押したらワイヤーフレームが描画されるようにしたんですが、
キーを押しただけでは切り替わらなくて、マウスでウインドウを動かしてやらないと切り替わらないのですが、
どこが悪いのですか?
またどうすればキーを押したでけで切り替わるようになりますか?
よろしくお願いします。
912名無し@キムチ
2018/04/16(月) 22:17:41.63ID:yrNQl9WY913デフォルトの名無しさん
2018/04/17(火) 00:09:49.11ID:TcnTTLm/ おめ
914デフォルトの名無しさん
2018/04/17(火) 03:25:53.82ID:QMWYQNUe なんだおめ
レス数が900を超えています。1000を超えると表示できなくなるよ。
ニュース
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 「国民の憤りを引き起こした」中国側“高市首相発言の撤回改めて要求” [どどん★]
- 【インバウンド】中国からの“渡航自粛”…ツアー1000人分の直前キャンセル「キャンセル料は免除してくれ」 ことしいっぱいキャンセルに [1ゲットロボ★]
- 【芸能】日中関係悪化でエンタメ業界に大ダメージ… JO1の中国でのイベント中止、邦画は公開延期、STARTOアイドルへの影響も [冬月記者★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
