我有一个用C++编写的游戏引擎设计,其中一个跨平台的游戏对象包含在特定于平台的应用程序对象中。
我试图解决的问题是需要从应用程序向游戏传递特定于操作系统的数据的情况。在这种情况下,我需要将Windows的主HWND传递给DirectX或其他平台的OpenGL上下文给使用的渲染器。不幸的是,我对渲染器的控制很少,它可以期望特定于平台的数据。
我意识到我可以在应用程序端初始化渲染器,但我更希望游戏决定何时以及在哪里进行。通常,我对应用程序端有控制,但对游戏端没有控制。游戏作者可能会选择使用不同的渲染器。
我也考虑过使用某种“属性管理器”,通过字符串传递数据,但我不太喜欢那个想法。
有什么好的建议吗?
我试图解决的问题是需要从应用程序向游戏传递特定于操作系统的数据的情况。在这种情况下,我需要将Windows的主HWND传递给DirectX或其他平台的OpenGL上下文给使用的渲染器。不幸的是,我对渲染器的控制很少,它可以期望特定于平台的数据。
我意识到我可以在应用程序端初始化渲染器,但我更希望游戏决定何时以及在哪里进行。通常,我对应用程序端有控制,但对游戏端没有控制。游戏作者可能会选择使用不同的渲染器。
我也考虑过使用某种“属性管理器”,通过字符串传递数据,但我不太喜欢那个想法。
有什么好的建议吗?