请问游戏引擎底层跨平台是不是使用cmake根据代码里面的平台宏,编译各个平台的源码生成窗体程序,再在这个窗体中绘画就是跨平台了?请问我理解的对不对?
我理解的游戏引擎跨平台原理:比如画一个三角形的API根据各个平台的源码封装很多平台的窗口实现,然后更具宏切换不同的源码生成各个平台的对应可执行文件,这样就可以生成各个平台的游戏可以执行文件。请问现在主流是否是这样实现的谢谢,本人学生研究软件爱好,请大佬解答赐教
请问游戏引擎底层跨平台是不是使用cmake根据代码里面的平台宏,编译各个平台的源码生成窗体程序,再在这个窗体中绘画就是跨平台了?请问我理解的对不对?
我理解的游戏引擎跨平台原理:比如画一个三角形的API根据各个平台的源码封装很多平台的窗口实现,然后更具宏切换不同的源码生成各个平台的对应可执行文件,这样就可以生成各个平台的游戏可以执行文件。请问现在主流是否是这样实现的谢谢,本人学生研究软件爱好,请大佬解答赐教
要看你跨什么平台,你想法还是简单了。
跨操作系统,相同硬件,这个可以按照你说的,用宏或者条件编译,生成不同操作系统适配的代码,不同的链接到api上。
跨cpu,这个就需要不同的编译器来交叉编译。
跨gpu,这个不但要考虑代码的移植性,还要考虑到性能的移植性。在某种硬件上能运行,但是非常卡,作为游戏是不能接受的。
因为跨硬件的复杂性,现在也有基于中间语言二次编译的(比如java C#)。