Source

Branch

1/ @matthewcraig42

Usually the key benefit is two fold, making the code truly cross platform and decoupling user level code from a specific rendering api/backend. Without that if you change the underlying render API it will break all your user level code, and adding additional render backends is also challenging.