OpenGL 的 C++ 封裝庫,OGLplus 0.56.0 發布

jopen 9年前發布 | 6K 次閱讀 OpenGL

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

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!