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; }