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三维球体数据生成与绘制【附源码】 http://www.linuxidc.com/Linux/2013-04/83235.htm