2024.6.18
这几日处于懒得写数学只想搓低级工程的状态。
给SimCraft做了套新的OpenGL封装,现在作为GUI小工具包个人认为还好用。
重写了相机类,分离了相机的参数和控制。设计了CRTP的相机控制器CameraController
类。
今天发现glfw可以通过glfwSetWindowUserPointer和glfwGetWindowUserPointer来绑定任意的指针,这样就可以在glfw的回调函数中访问到自己的类了。考虑到这两个函数不是类型安全的,配合CRTP可以为模板基类定义静态函数,将指针进行static_cast
,这样的静态函数就可以直接被子类实例化为对应类型的函数,从而能直接返回子类类型的指针。在回调函数中就无需担忧类型安全。
问题是这样引入了模板,自然就引入了巨大的头文件,不知道怎么解决。