お世話になっております。
<br/>
現在弊社で開発中のゲームプロジェクトにおいて、エンジンのバージョンアップ作業を行っております。
自社で改造していたエンジン本体の差分を5.6から5.8に移植するにあたり、ShadingModelID周辺の事について質問がございます。
5.6での「GBuffer の ShadingModelID」「EMaterialShadingModel(MSM)の枠」「FMaterialRelevance::ShadingModelMask」のそれぞれの空いてる2枠を使用して独自のシェーディングモデルIDを拡張して使用してきましたが、
5.8ではそれぞれGBufferが2枠、MSMが3枠、ShadingModelMaskがMSM13の1枠だけの空きになってるようで、改造差分を移植する際の方針を迷っており、方針として
A.「既存の枠を潰さない」方向で行く(Substrate用のビットを削るか構造体を64bitより大きくする)か、
B.「MSM_Subsurface(2)を流用する(※拡張の1つがプロジェクト専用のカスタムしたSubsurfaceシェーディングなので)」
の2パターンで考えてます。
そこで質問なのですが、以下の2点について伺いたいです。ちなみにプロジェクトではSubstrateは不使用という条件です。
<br/>
1. MSM_Subsurface は非推奨や削除の予定がありますか。
2. Substrate が無効な場合に SHADINGMODELID_SUBSTRATE_TOON を別の ID へ移しても問題ありませんか。
3. FMaterialRelevance::ShadingModelMask が 14bit になった理由と、拡張するならどの方法が推奨されますか。
<br/>
また、「MSM_Subsurface」とは別に、プロジェクトでは「MSM_PreintegratedSkin」についても使用しておらず、こちらも置き換えの候補としては有望かなと考えてますが、こちらの「MSM_PreintegratedSkin」 を流用・廃止する対応をしても問題はなさそうでしょうか。
よろしくお願いいたします。
[Attachment Removed]