我一直在思考,可能已经想太久了。目前,我有一个名为“Renderer”的抽象基类,它具有渲染和注册对象的虚拟方法(我必须注册对象以分配VBO的内存)。
然而,我不确定是否应该保持这样,我认为我应该保持基本的抽象类。我只是不会创建另一个“Renderer”来使用除OpenGL之外的其他API渲染我的对象。换句话说,我不会使用Direct3D或任何其他图形API,除了OpenGL。
但是我可能会有多个OpenGL渲染器的实现,例如针对OpenGL ES和普通OpenGL的实现(如果它们之间有很大的差异)。
如果我要使用另一个API,比如Direct3D,则创建上下文可能是我最关心的问题...我只是不确定如何以整洁的方式完成它。
如果这没有任何意义,对不起,我想我一直在思考太久了。