タグ

ブックマーク / esprog.hatenablog.com (3)

  • ECSとJobSystem 基礎 - しゅみぷろ

    はじめに やる気がある。全部Uniteのせい。 今回はECS(Entity Component System)とJobSystemについて色々触ってみたので、基礎部分のメモを残しておきます。 サンプルのプロジェクトは以下から見れます。 github.com どの程度自分の解釈が正しいのかちょっと怪しい部分もあるので、今後も色々と検証も行っていきます。その段階で間違いとか新たな発見とかがあったらその都度記事を更新します。 あと、今回の内容は非同期処理について多少知見があると理解が早いです。 なんか4年前くらいに書いた資料が発掘されたので、興味がある方は見てみてください。 後ろの方(スライド92枚目あたり)に非同期処理についての何かが書いてあります。 ECSとJobSystemを使うメリット そもそも、ECSやJobSystemはどんな時に役立ってくれるのでしょうか。 これからECSとJobS

    ECSとJobSystem 基礎 - しゅみぷろ
  • 描画の効率化について - しゅみぷろ

    はじめに 今回の記事ではUnite2018で得た有り余るやる気を発散するために、描画の効率化について書いていこうと思います。 また、MaterialPropertyBlockという機能が結構誤解されがちなので、これについても纏めていこうと思います。 バッチングを効かせる上で考慮すべきこと ここで言うバッチングは静的なものではなく、動的に行われるバッチングを指すこととします。 バッチングはざっくり説明すると「同じマテリアルを使っているものの描画は出来る限り纏めちゃおうね」っていうやつです。 このバッチングはUnityのバッチング条件に該当する場合自動的に行ってくれます。 これからバッチングが切れる条件について見ていきます 頂点数多いとバッチングされない メッシュ(サブメッシュ)の頂点数がある特定の数を超えるとバッチングが効かなくなります。 このある特定の数はShaderによって代わり、非常に

    描画の効率化について - しゅみぷろ
  • Forward Renderingについてまとめてみた - しゅみぷろ

    UnityのForwardRenderingについて自分なりにまとめてみます。 docs.unity3d.com ForwardRenderingで実行されるパス ForwardRenderingでは、1つかそれ以上のパスが実行されます。実行されるパスは Baseパス (ForwardBase) オブジェクトを1つのピクセルライティングと、頂点ライティング、SHライティングによってレンダリングする。 Additionalパス (ForwardAdd) 追加されたピクセルライティングを用いるライトをレンダリングする。 です。それぞれのパスでライティングが計算されます。 ライティングの計算方法 ライティングの計算方法は以下の3種類です。 ピクセルライティング フラグメントシェーダーでライティングを計算しピクセル色に適用する。ピクセルごとに計算処理を行うため高価なライティング。 頂点ライティング

    Forward Renderingについてまとめてみた - しゅみぷろ
  • 1