你好,我刚刚开始我的暑假假期,正在思考是否从零开始建立我的游戏引擎,尽管我对游戏开发的知识并不多,但我相信我可以做出一些东西,我想先建立一个数学库,然后再建立一个物理引擎,使用它们来建立一个游戏引擎。但是,我遇到了很多问题,不是关于性能的问题,因为我刚刚开始,而是关于架构的问题。
我的当前问题是在数学库中,我有很多问题,希望得到帮助。
第一个问题是epsilon:
我应该如何选择一个epsilon值?我已经定义了浮点数和双精度浮点数的epsilon值,但我不确定是否正确?所有我听到的都是,不要使用双精度浮点数,因为它们很慢。
我应该是否为所有函数添加一个默认参数,让用户输入自己的epsilon值?而且,运算符重载函数只接受两个参数。
第二个问题是安全性vs不安全性:
我应该如何编写可能会出现除以零的函数?我是否应该为每个函数编写两种版本?而且,运算符重载函数是安全的还是不安全的?如果我写检查零的代码,会不会影响函数的性能?如果我写检查零的代码,应该使用哪个epsilon值?而且,运算符重载函数如果是安全的,如何传递epsilon值?
第三个问题是成员函数vs全局函数:
我应该如何决定哪些函数应该是成员函数,哪些函数应该是全局函数?因为我之前都是根据感觉来决定的,“这个函数给我的感觉是成员函数”之类的。
我真的很迷惑,希望得到一些指导。
评论 (0)