Bir 3d motor yapıyorsunuz. Çok platformlu dünyaların en iyisini istiyorsunuz. Birdenbire, Direct3D'yi Windows makinelerinde ve OpenGL'yi OSX / Linux'ta kullanmak istiyorsanız, her ikisinin de desteklenen özelliklerini en az ortak paydaya feda etmeniz gerektiğinin farkına varın.
Bazıları OpenGL'yi üç işletim sisteminde kullanabilirler, çünkü kendi başına en az ortak payda olduğu görülmektedir. Her şey yolunda. Ardından, grafik API'nizin arka ucunu Nintendo'nun GX'ine taşımalısınız, ayrıca bir PS3 ve Xbox360 yolu yapmanız gerekir.
Ne yaparsın? Kendi başına en az ortak payda olan kendi API'nızı tasarlıyor musunuz ve her platform için bunun için arka uç uygulamaları mı yazıyorsunuz yoksa kendi dalı olan her platform için mi yazıyorsunuz?
Kendi API'nızı tasarlamayı seçerseniz, köprü deseni veya kendi voodoo'unuzu mu kullanıyorsunuz? Delilik her şeyin farkına varacağınız yerde durur ve mutfak lavabosu yaklaşımı durmalıdır ve temel olarak her platform için bir şube olarak ayrı motorunuz vardır. Ya da her şeye ve mutfak lavabosuna bağlı kalırsınız ve her platform için arka uç modülü uzmanlıklarında platform özelliklerini saklarsınız.