In DX11, IEffectFactory both creates effects and the textures associated with the materials. In DX12, this is separated into IEffectFactory and IEffectTextureFactory.
Refactoring the DX11 implementation to be similar would reduce some of the code duplication in EffectFactory, NPREffectFactory, DGSLEffectFactory, and PBREffectFactory.
The main challenge is there's no way to do this without introducing breaking changes which could impact client code. A simple port would be needed or some way to maintain backward compat would be ideal.
In DX11, IEffectFactory both creates effects and the textures associated with the materials. In DX12, this is separated into IEffectFactory and IEffectTextureFactory.
Refactoring the DX11 implementation to be similar would reduce some of the code duplication in EffectFactory, NPREffectFactory, DGSLEffectFactory, and PBREffectFactory.
The main challenge is there's no way to do this without introducing breaking changes which could impact client code. A simple port would be needed or some way to maintain backward compat would be ideal.