OpenGL 的 C++ 封装库,OGLplus 0.56.0 发布

jopen 9年前

OGLplus 0.56.0 发布,此版本更新了类 ``ClientContext``;添加了大量的新 getter/setter 函数到 ``Context``;更新 GLM 的互操作性;更新 Quickbook 文档和构建系统。

改进记录
=======
- The ``oglplus::ClientContext`` class was updated, wrappers for new state variables and functions were added..

- The ``EnumAssocType`` and ``EnumAssocGLType`` templates and their specializations were added.

- Many new getter/setter functions were added to ``oglplus::Context``.

- The Quickbook documentation was updated.

- Minor changes in the error reporting in the low-profile mode were made.

- A problem with the wxGL harness on Windows was fixed.

- The tools for auto-generating of the enumeration headers were updated and the headers were re-generated.

- Several minor changes were made to the enumerations types.

- New options were added to the configure.bat script.

- Detection of support for strongly-typed enum template parameters was added.

OGLplus (oglplus) 是一个仅包含头文件的 C++ 语言库,用于实现一个瘦面向对象的 OpenGL 门面操作接口,提供了自动资源和对象管理的封装,让在 C++ 中使用 OpenGL 更加简单和安全。

#include <oalplus/al.hpp>  #include <oalplus/all.hpp>  #include <oalplus/alut.hpp>     #include <chrono>  #include <thread>     int main(int argc, char** argv)  {      // open the default device      oalplus::Device device;      // create a context using the device and make it current      oalplus::CurrentContext context(device);      // create an instance of ALUT      oalplus::ALUtilityToolkit alut(false, argc, argv);      // create a listener and set its position, velocity and orientation      oalplus::Listener listener;      listener.Position(0.0f, 0.0f, 0.0f);      listener.Velocity(0.0f, 0.0f, 0.0f);      listener.Orientation(0.0f, 0.0f,-1.0f, 0.0f, 1.0f, 0.0f);      // create a Hello World sound and store it into a buffer      oalplus::Buffer buffer = alut.CreateBufferHelloWorld();      // create a source from the data in buffer and set its position      oalplus::Source source;      source.Buffer(buffer);      source.Position(0.0f, 0.0f,-1.0f);      // let the source play the sound      source.Play();      // wait for a while      std::chrono::seconds duration(2);      std::this_thread::sleep_for(duration);      //      return 0;  }

OpenGL 的 C++ 封装库,OGLplus 0.56.0 发布

来自:http://www.oschina.net/news/58405/oglplus-0-56-0