描画APIのおはなし

定期的に話題になりますね(´・ω・`) ゲームプログラマになりたい人はDirectXを覚える必要があるのか? https://togetter.com/li/1258870
5
M.K @ryutorion

ぶっちゃけ、今時どこの会社も独自のエンジンなり汎用エンジンなりを利用しているので、レンダリング担当にならなければDirectXとか描画APIなんて扱わないんだよなぁ。ただ、やっぱり一番中心でもあるので、やりたい気持ちも分かる。

2019-04-25 23:59:11
alwei @aizen76

@ryutorion 難しい…僕なんて正直DirectXの知識なんてどこで使うの?みたいなレベルですよ…ただ知っていると色々便利ではあります。

2019-04-26 00:08:18
M.K @ryutorion

@aizen76 えぇ。知識があるのと無いのなら、ある方が良いですね。ぶっちゃけ、レンダリング担当は、ある日突然にVulkanやMetalやってね、と言われても対応しないといけないので、重要なのは、APIではなく、その元になる概念や技法に関する知識なんでしょうが、やはり動かした方が理解が深まりますよね

2019-04-26 00:11:22
alwei @aizen76

@ryutorion はい、そうです。ぶっちゃけAPIは単なる関数でしかないので、使い方を調べれば誰でも使えますから。とにかく何でも作れる人が強い…

2019-04-26 00:19:27
M.K @ryutorion

@aizen76 そもそも、ゲームの場合、各種ハードメーカーの用意したAPIに合わせないといけないですからねぇ

2019-04-26 00:20:45
たさし @_TASASI_

DirectXが使えるかどうか、ではなく。低レイヤーのことが分かっているかどうか、という需要なだけでは

2019-08-15 20:58:31
タカユキ @nezumimusume

低レイヤーの知識ってDirectXだろうがOpenGLだろうがPS4だろうがUE4だろうがUnityだろうが変わらんからね。

2019-08-15 21:01:25
たさし @_TASASI_

@aizen76 どこから低レイヤ問題はたしかにある。 基本的な描画APIが分かっていれば、エンジン使っていても描画不具合とかを追うときに役に立つし。 グラフィックスデバッガなんかはそのまんまAPI出てくるからとっつきやすくなるし。 問題解決はしやすくなる。

2019-08-15 21:13:49
床井浩平 @tokoik

描画APIの話にいっちょカミしていい?描画APIの知識だけでグラフィックスプログラミングができるなんて誰も思ってなくて、それを組み合わせて絵や動きを作るためにプログラミングやCGや数学や物理や機械学習やスクリプティングや言い出したらキリがないほどの知識を動員せんならんわけで。

2019-08-15 22:31:15
床井浩平 @tokoik

つまり、例えば「今の」ゲームを作るという目的に対して、ほぼ裸のPCの機能とも言える描画API(これに異論のある人もいるけど)は低レベル過ぎて、そのギャップを埋めるのがめっちゃ大変なわけで。このことを、私は「セマンティイクギャップ」って呼んでるんだけど。 web.wakayama-u.ac.jp/~tokoi/lecture…

2019-08-15 22:31:15
床井浩平 @tokoik

そのギャップを埋める知識をまとめたパッケージがゲームエンジンなどのミドルウェアで、それにエディタなどの開発環境が付いていて、アセットストアのようなリソースの流通機構や教育リソース、開発者コミュニティまで整備したエコシステムが準備されているわけだから、それを活用しない手はない。

2019-08-15 22:31:15
床井浩平 @tokoik

だから、いま求められている「ゲームエンジンを使うスキル」ってのは、ゲームエンジンの機能やエディタの使い方の知識だけでなく、そういうエコシステムやコミュニティをちゃんと活用して、その中でどんどんアウトプットしていくっていう姿勢じゃないかと思うんだ。

2019-08-15 22:31:16
床井浩平 @tokoik

特に、各ゲームエンジンと一緒に提供されている教育リソースは、ちゃんと基礎を抑えた良質なものが多くて、そういうものをちゃんと押さえれば、誰もが「つよつよ」になれそうに思える。

2019-08-15 22:31:16
床井浩平 @tokoik

じゃあ、なんで自分がAPI直叩きのチュートリアルを書いたかっていうと、昔からそういうことをしていたということもあるけど、そういうギャップの部分の知識も「ゲームエンジンを使いこなすための基礎」として必要だと考えているからで。

2019-08-15 22:31:16
床井浩平 @tokoik

線形代数の教科書の話と同じで、ゲームやグラフィックスの領域もどんどん難しくなってるから、短期間にそれを網羅して学ぶというのは不可能に近い。 twitter.com/infoseeker18/s…

2019-08-15 22:31:16
verbatim @infoseeker18

数学に限らず学問はどんどん深まり、難しくなっていく。誰かが情報を整理・圧縮しなければ学習は不可能になる。線形代数なんてそのまま並べたらものすごい量だが、現代なら要点が一冊の教科書に収まる。高度な数学も誰かが圧縮しなければならない。この意味でよい教科書を書くことは大事な仕事である。 twitter.com/sugaku_seminar…

2019-08-15 09:58:25
verbatim @infoseeker18

数学に限らず学問はどんどん深まり、難しくなっていく。誰かが情報を整理・圧縮しなければ学習は不可能になる。線形代数なんてそのまま並べたらものすごい量だが、現代なら要点が一冊の教科書に収まる。高度な数学も誰かが圧縮しなければならない。この意味でよい教科書を書くことは大事な仕事である。 twitter.com/sugaku_seminar…

2019-08-15 09:58:25
数学セミナー @sugaku_seminar

◎『数学セミナー』2019年9月号 特集「現代数学の難しさについて」(8月10日発売) 数学は“難しい”。とくに現代数学は「難しくなりすぎている」と言われることもあります。数学を学ぶ者、研究者を目指す者は、この状況にどう対峙すれば良いのでしょうか。多様な視点で答えます。 pic.twitter.com/4jqFJXlGOD

2019-08-13 13:20:33
数学セミナー @sugaku_seminar

◎『数学セミナー』2019年9月号 特集「現代数学の難しさについて」(8月10日発売) 数学は“難しい”。とくに現代数学は「難しくなりすぎている」と言われることもあります。数学を学ぶ者、研究者を目指す者は、この状況にどう対峙すれば良いのでしょうか。多様な視点で答えます。 pic.twitter.com/4jqFJXlGOD

2019-08-13 13:20:33
拡大
床井浩平 @tokoik

でも、そのとっかかりの部分だけでも押さえておかないと、自分が作ろうと思うものの世界が、自分から見えているゲームエンジンの機能に制限されてしまいがちになる。「何ができるか」に「自分が知ってる(あるいはネットのどこかに書いてあった)ゲームエンジンの機能を使って」という前提が付く。

2019-08-15 22:31:17
床井浩平 @tokoik

そういうものから解放されるために、もっと自由にゲームエンジンを使えるようになるために、ゲームエンジンを作った人が何を考えて作ったのか、その気持ちを理解するために、その構造や理論を入り口から覗いてみよう、っていうのが私の立場。

2019-08-15 22:31:17
ワカバ @hitose

どちらかというと就職した後に影響出そう。Direct3DのAPIを直接叩く機会は減ったけど描画の基礎まわりの知識は必要になるからなぁ

2019-08-16 02:56:02
堂前 嘉樹@ゲームを動かす数学・物理R発売中! @yoshiking2000

描画APIについて俺も言ったろ!と思って下書きしてたけど文章力ないのでやめた。 ただ、描画API触っておくとエンジン扱ってても内部が想像しやすいのでメリットはあると思う。たまに描画API触ることを軽視してる人を見ると悲しくなる。現時点で触ってなくても中を知ろうとする人はいいなと思う。

2019-08-16 11:42:45
堂前 嘉樹@ゲームを動かす数学・物理R発売中! @yoshiking2000

なので描画APIで中を知ろうとするのもあるかと思いますし、エンジンだけで勝負するなら、変態的に使い倒してるとこ、もしくは圧倒的なセンスで使ってるのは見てみたいです。ただエンジンを使ってるだけだと、プログラマとしては弱いかなと感じます。プログラマ以外も触れてしまう分野なので。

2019-08-16 11:47:56
堂前 嘉樹@ゲームを動かす数学・物理R発売中! @yoshiking2000

とは言え、俺も描画APIの直叩きは経験ないです。改造のためにちょっといじったりする程度です。ただRenderDocとかで解析してるとAPI単位で結果出るので、慣れておくのは悪くないとは思いますね。

2019-08-16 11:50:56
急性セイシュニウムアレルギーショックルセイダーちゃん @gl_gtc_dgtls

DirectXとかOpenGLとかAPI扱えるかどうかじゃなくてその先のグラフィックスに対する理解があるかどうか + c++での実装力を見られるんだと思う....って就職作品の話じゃぁねぇか

2019-08-16 12:07:01
たかなし @g_fukurowl

DirectX、内製エンジン作ってたりそれこそゲームエンジン等ミドルウェア提供事業やってる会社とかなら使用頻度は高そう。それだってエンジンのコア開発チームに配属とかされない限り使う機会はめっちゃ減るとは思う。

2019-08-15 21:44:06