请问游戏引擎底层跨平台是不是使用cmake根据代码里面的平台宏,编译各个平台的源码生成窗体程序,再在这个窗体中绘画就是跨平台了?请问我理解的对不对?
我理解的游戏引擎跨平台原理:比如画一个三角形的API根据各个平台的源码封装很多平台的窗口实现,然后更具宏切换不同的源码生成各个平台的对应可执行文件,这样就可以生成各个平台的游戏可以执行文件。请问现在主流是否是这样实现的谢谢,本人学生研究软件爱好,请大佬解答赐教
要看你跨什么平台,你想法还是简单了。
跨操作系统,相同硬件,这个可以按照你说的,用宏或者条件编译,生成不同操作系统适配的代码,不同的链接到api上。
跨cpu,这个就需要不同的编译器来交叉编译。
跨gpu,这个不但要考虑代码的移植性,还要考虑到性能的移植性。在某种硬件上能运行,但是非常卡,作为游戏是不能接受的。
因为跨硬件的复杂性,现在也有基于中间语言二次编译的(比如java C#)。
运行效率会比较好。白鹭时代,了解一下,相对成本比较低也可以实现
写好代码吧,少年!
现在市面上的主流商业引擎,渲染,调用物理设备,这些都是很底层的东西。
而且涉及的内存管理,图形学,计算机原理的知识,既多且深。
而且没个5,6年的深耕这一领域,你在项目组,根本没机会碰这些的。
所以,少年,还是先从 for while ,if else 写好,一步一步来啊,等你到10W行,你自己然而然该知道的,都知道了。不知道的,也知道如何去获取了。
谁规定不能先了解了解?,眼界要开一点,只会写代码没什么意义,代码只是验证你的思想而已