最近一直在thinking inmodern C++,大部分都是使用基于对象(object based)的技术。使得对象相较于C++的面向对象风格的程序而言,对象要散列一些,结构更清晰。对象之间适配使用了大量的泛型编程(Generic programming)技术。Boost C++库的发展和C++11语言新特性对模板的支持,优秀的泛型库大量涌现。它们都继承了STL极高的可复用性与很低的学习曲线。Jeremy Ong写的Selene库是笔者目前阅读过的非常精彩的modern C++风格的程序库,但也有一些show off的感觉。还有两个数学库glm与mtl。
对于图形API的C++ wapper库确实不多,OGLplus算是一个。代码并算不上是非常精彩,诸如没有使用traits/policy编程技法来降低复杂性,使用了decltype关键字这种较为初学的泛型技术,没有考虑空基类优化等细节问题。但也有很多出彩的地方,比如对OpenGL具

本文介绍了OGLplus库,一个基于现代C++的OpenGL封装库。文章探讨了OGLplus如何通过具名对象和Operation的封装减少对OpenGL API的直接调用,实现了类型安全和资源管理。作者指出,尽管OGLplus保留了OpenGL的状态机编程风格,但其通过异常处理和Fluent Interface提高了代码的可读性和安全性。示例代码展示了OGLplus的Object based风格,强调了利用RAII对象进行状态管理的亮点。
最低0.47元/天 解锁文章
400

被折叠的 条评论
为什么被折叠?



