OGLplus 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
OGLplus 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
OGLplus 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
OGLplus 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
OGLplus 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 Boost
开发语言 C/C++ 查看源码 »
操作系统 Linux
软件类型 开源软件
开源组织
地区 不详
投 递 者 红薯
适用人群 未知
收录时间 2011-12-13

软件简介

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;
}
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (1)

加载中
编辑分不清openGL和openAL 介绍是ogl,示例是oal OGLplus
2013/12/05 09:00
回复
举报
更多评论
发表了资讯
2015/08/11 00:00

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

OGLplus 0.65.0 发布,此版本支持 GLX 和 EGL 示例中的多个示例,改进``Context`` 和 ``ClientContext``,还有 bug 修复,构建系统更新,快速入门文档更新。 更新内容 ------- - The GLX and EGL-based example harnesses were refactored and updated to use multisampling with the specified number of samples when the ``--samples`` option is specified. - The ``FillRectangle`` value has been added to the ``Polygo...

0
6
发表了资讯
2015/08/06 00:00

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

OGLplus 0.64.0 发布,此版本包括新的 GPU 程序过载构建函数,允许错误处理延迟,更新了文档和示例。 改进 The DeferredHandler and the Outcome<T> classes, which allow to defer and/or cancel calling of error handlers were added. New overloads of Shader::Compile, Shader::CompileInclude, Program::Link and Program::Validate and ProgramPipeline::Validate, which return Outcome<T> instead of handling errors...

1
8
发表了资讯
2015/06/27 00:00

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

OGLplus 0.63.0 发布,此版本主要是一些 bug 修复和编译器警告: - 添加了 ``ShaderStorageBlock`` 类和相关的函数 - 修复了 ``Cloud`` 和 ``BrushedMetal`` 图像生成器的 bug - 优化一些编译器警告 - 一些其他改进 - 修复了 ``PathCommandNV`` 枚举的 bug 下载:oglplus-0.63.0.tar.gz (5.8 MB) 更多内容请看这里。 OGLplus (oglplus) 是一个仅包含头文件的 C++ 语言库,用于实现一个瘦面向对象的 OpenGL 门面操作接口,提供了...

0
6
发表了资讯
2015/06/12 00:00

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

OGLplus 0.62.0 发布,更新内容如下: The SizeType and BigSizeType classes were updated and arithmetic operators were added. A missing-identifier bug was fixed in images::Image. Some compiler warnings were silenced. Several other minor changes were made to the internals. The Quickbook documentation was updated. 更多内容请查看发行日志。 此版本现已提供下载:oglplus-0.62.x/oglplus-0.62.0.zip OGLplus...

3
10
发表了资讯
2015/05/08 00:00

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

OGLplus 0.61.0 发布,此版本更新了 GL 版本检测,还有一些构建系统的改进;错误代码枚举和 OALplus 异常更新;GL ARB_clip_control 封装器;Quickbook 文档更新。 此版本现已提供下载:oglplus-0.61.0.tar.gz (5.7 MB)。 主要改进 The SizeType and BigSizeType classes were added and some occurences of GLsizei and GLsizeiptr were replaced. Wrappers for the ARB_clip_control extension were added. The ALErrorCode, ...

1
13
发表了资讯
2015/04/09 00:00

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

OGLplus 0.60.0 发布,此版本主要是小的改进,bug 修复和文档更新。 更新内容如下: 更新了 Boolean 封装器,添加了 operator ~ Object 封装器添加了 HasInstance 函数 更新原生 GL context wrappers 部分重构和简化了 DSA Texture, Buffer 和 Framebuffer 封装器 添加了 SingleFace 枚举 添加了 FragmentData 和 FragmentDataSlot typedefs 添加了新的独立示例 oalplus::CurrentContext 类重命名为 ContextMadeCurrent. 添加了...

0
13
发表了资讯
2015/02/05 00:00

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

OGLplus 0.59.0 发布,此版本是个 bug 修复版本: A bug in move construction and move assignment in the Object wrappers were fixed. The Boolean wrapper for GLint, ALint and EGLBoolean values implicitly convertible from and to bool was added. 此版本现已提供下载: oglplus-0.59.0.zip oglplus-0.59.0.tar.gz OGLplus (oglplus) 是一个仅包含头文件的 C++ 语言库,用于实现一个瘦面向对象的 OpenGL 门面操作接口,...

2
10
发表了资讯
2015/02/01 00:00

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

昨天刚刚发布了 OGLplus 0.58.0 版本,今天就发布了 OGLplus 0.58.1 版本,官方并未提供此版本的发行说明,让人难以捉摸,但是大体改进可以参考 OGLplus 0.58.0 版本: - Noexcept specifiers were added to some functions. - The oalplus::GetALName function was added. - Small changes were made to oalplus::Listener and Device wrappers. - Several assignments constructors were fixed to prevent problems with self...

2
6
发表了资讯
2015/01/31 00:00

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

OGLplus 0.58.0 发布,此版本修复了一些 bug 和大部分 MSVC 方面的警告;对 OALplus Listener 和 Device wrappers 进行了一些小的改进;重构了 GL/AL 名字和对象封装器类。此外还更新了 MSCV 2012 单独示例和 Quickbook 文档。更多内容请看这里,现已提供下载: oglplus-0.58.0.zip oglplus-0.58.0.tar.gz OGLplus (oglplus) 是一个仅包含头文件的 C++ 语言库,用于实现一个瘦面向对象的 OpenGL 门面操作接口,提供了自动资源和...

4
10
发表了资讯
2015/01/01 00:00

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

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 get...

0
13
发表了资讯
2014/12/22 00:00

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

OGLplus 0.55.0 发布,此版本添加了 ``ClientContext`` 类,用来维护(暂时只有部分) GL 状态,允许 push/pop 独立状态变量或者是高效查询和改变他们的值。此版本同时还更新了快速入门文档;平台的移植不再至此和原始重启参数;一些 bug 修复。 改进记录 ======= - The ``oglplus::ClientContext`` class was added. - The ``EnumToClass`` template and its specializations were added. - A new getter/setter functions were ...

3
11
发表了资讯
2014/12/01 00:00

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

OGLplus 0.54.0 发布,此版本主要是 bug 修复,更新了快速开始文档,构建系统,重构了反馈帮助类,修复了移植系统后平台不支持原始重启指数的问题。 改进列表 ======= - 以命名空间级别重新实现了 ``TransformFeedback::Activator`` 和 ``TranformFeedback::Pauser`` 类 - A new overload of ``Context::ClearColor`` was added. - A bug in multiplication of Matrix by a scalar was fixed. - The shape builders were update...

0
7
发表了资讯
2014/10/23 00:00

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

OGLplus 0.53.0 发布,此版本是个 bug 修复版本,现已提供下载。此版本更新了构建系统的 GL 版本检测,更新了 ObjHandle 和更新了文档。 改进记录 GL 检测算法现在也会检测存在的所有要求的 GL 常量 修复了设置 Vector<T,N> 数组统一值的问题 ObjHandle 移除了一个不再使用的 constructor 更新了 Quickbook 文档 OGLplus (oglplus) 是一个仅包含头文件的 C++ 语言库,用于实现一个瘦面向对象的 OpenGL 门面操作接口,提供了自动...

0
7
发表了资讯
2014/09/24 00:00

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

OGLplus 0.52.0 发布,此版本现已提供下载,更新内容如下: - The tools for automatic-generation of the enumeration headers were updated and the headers were re-generated. - The OutputData class was added and used in Texture. - Regressions in the text rendering utilities were fixed. - Regressions in GLES v3 and android support were fixed. - Wrappers and enumerations for KHR_blend_equation_advanced...

0
7
发表了资讯
2014/08/16 00:00

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

OGLplus 0.50.0 发布,此版本现已提供下载,更新内容如下: - Support for different methods of GL object construction was added. - The implementation of smart-enums was updated and the smart-enum-values were added. - The context::ClearBuffers class was renamed to context::BufferClearing. - The Capability enumeration was updated. - The StaticGroup class template was updated. - The Range utilities w...

2
13
发表了资讯
2014/07/30 00:00

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

OGLplus 0.49.0 发布,此版本现已提供下载,更新内容如下: 缓存数据规范 The BufferSize and BufferData classes used for specifying GPU buffer size and data were added. The Buffer::Data, Buffer::SubData and some other functions were changed to used the new classes. In case of Buffer::SubData an interface-breaking change was made -- the offset is now specified in bytes. The Buffer::Resize function fo...

0
7
发表了资讯
2014/07/15 00:00

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

OGLplus 0.48.0 发布,此版本改进了 aglplus,oalplus 和eglplus 异常类,更新了 BezierCurves 类,添加了新的 GL 扩展封装器,重构了 OAlplus::Device 类,更新了文档等等,同时还修复了一些 bug ,移除了一些旧的示例。 其他更新内容: 改进 ======= -“oglplus::Error” * ``Error::GLLib`` function was added. * ``Error::GLFuncName`` function was renamed to ``GLFunc``. - “oalplus::Error” * ``Error::ALLibName``...

0
8
发表了资讯
2014/06/19 00:00

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

OGLplus 0.47.0 发布,此版本对 OALplus 和 EGLplus 的某些部分进行了更深度的重用和重构。其他更新内容如下: Voronoi/Worley cell image generators, the Group<Object> template class a wrapper for the NV_draw_texture extension re-adds interoperability with GLM vectors and matrices Two new examples were also added minor improvements were made to the build system OGLplus (oglplus) 是一个仅包含头文件的 C+...

1
6
发表了资讯
2014/05/31 00:00

OGLplus 0.46.0 发布,OpenGL 的 C++ 封装

OGLplus 0.46.0 完全重写了很多关键的部分,包括对象和 GPU 程序封装、错误报告和处理;源码目录结构等等。 OGLplus (oglplus) 是一个仅包含头文件的 C++ 语言库,用于实现一个瘦面向对象的 OpenGL 门面操作接口,提供了自动资源和对象管理的封装,让在 C++ 中使用 OpenGL 更加简单和安全。

0
13
发表了资讯
2014/05/01 00:00

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

OGLplus 0.45.0 发布,此版本更新内容如下: 更新了之前版本引入绑定 API 的 GL 对象 Context::Direct(object) 函数提供对象的 direct-state-access 添加了 ExposeGLName 函数 添加了新的 NV_shader_buffer_load 和 NV_texture_barrier 封装器 更新了封装器的 EXT_direct_state_access 和 ARB_robustness SortNWMap 图像生成器可以编码一个双调的排序网格 更新构建系统 更新文档 添加了新示例 OGLplus (oglplus) 是一个仅包含头...

0
9
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
暂无内容
1 评论
90 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部