计算与OpenGL的加载法线

时间:2014-02-01 20:28:21

标签: c++ opengl normals

嗯,你好。我正在尝试编写一个OpenGL游戏引擎/游戏(一个特定于我想要的游戏引擎:P)。我正在使用.obj模型,但看起来效率相当低。所有那些atof操作结合无法快速保留矢量大小存储我想象的数据使整个事情稍微慢一点,所以我得出结论,我可能想尝试使用我自己的模型格式。我不知道如何在不牺牲灵活性的情况下实现它,我想知道,以这种自定义二进制对象格式存储法线或者在加载时生成它们会更好吗?它肯定会节省空间,但我还不确定它可能带来的性能影响,如果有的话。有什么建议吗?

基本摘要:要保存法线,还是在加载时生成法线?

谢谢^。^

1 个答案:

答案 0 :(得分:2)

过早优化。您将完全加载模型一次。并且 atof 开始时并不是一个非常复杂的操作(它基本上只是char const *c = instring; while(isdigit(*c)){ v *= 10; v += *c - '0'; c++;}的循环

  

我想知道,最好以这种自定义二进制对象格式存储法线,还是在加载时生成它们?

加载它们。法线是你希望建模艺术家能够微调的东西。