几何数学库:OpenGL Mathematics

分享到:
  由于C/C++标准库中没有几何数学库,这样造成在开发一个三维系统之初往往都需要自行实现一个实用的几何数学库,这样太费时费力了。GLM的出现可以很好的解决这个问题。
    GLM设计上遵照OpenGL Shading Language风格,使用开放的MIT授权协议。会GLSL的人可以很快上手。因采用了数据结构与函数方法分离的方式,可以很容易扩充函数方法而不改变原文件(增加新的头文件即可,不过得在不同的头文件中找函数方法比较费力)。

    简单示例,包含头文件“glm.hpp”即可使用核心功能:
#include
int foo()
{
glm::vec4 Position = glm::vec4(glm::vec3(0.0), 1.0);
glm::mat4 Model = glm::mat4(1.0);
Model[3] = glm::vec4(1.0, 1.0, 0.0, 1.0);
glm::vec4 Transformed = Model * Position;
return 0;
}

项目主页:http://www.open-open.com/lib/view/home/1378730345772

昵    称:
验证码:

相关文档:

  • 构建高性能系统的C语言事件框架:libPhenom
    libPhenom 是 Facebook 发布的一个C语言事件框架,用于构建高性能和高可扩展的系统。支持多线程,提供内存管理和常用数据结构(hash tables, l...
  • 高并发C++应用程序框架:saf application framework
    saf (saf application framework) 是一个高并发的c++应用程序框架,它以RPC为基础,提供了动态载入模块的特性,为服务端开发人员只用关注于程...
  • C语言高级编程库:Cello
    Cello的高级结构受到了Haskell的启发;而语法与语义受到Python,Obj-C的启发。它不是关于C语言的面向对象的,而是提供一种工具将C语言转...
  • Command Line Progress Bar
    这是一个在 Linux 下用 C 语言写的控制台下的进度条,如下图所示:...
  • pst文件格式操作C++库 PST File Format SDK
    PST File Format SDK (pstsdk) 是一个跨平台的 C++ 库,用来读取Outlook中的pst文件格式,并提供数据写入的功能。...
  • 实现常用设计模式的C++类库:Loki
    Loki 是一个包含实现了各种设计模式和方法实现的C++类库。...
  • google开源的C++性能分析工具 - gperftools
    gperftools是Google提供的一套工具,其中的一个功能是CPU profiler,用于分析程序性能,找到程序的性能瓶颈。...
  • C++ 语言的 IO 包 Conexus I/O 库
    conexus 是一个通用的 C++ 语言的 IO 包,包含对 IPv4/6 的Sockets、串行通讯、核心消息队列、管道以及文件的操作封装。...
  • C/C++的URL解析库:oneurl
    oneurl是一个C/C++语言开发的url解析以及标准化开源库,基于googleurl内核函数...
  • C 协同程序:Coroutine
    Coroutine 是 C 的协同程序。...
  • Concurrency Control Flow 并发流程控制
    回调函数是指将函数(这里的函数是泛指某一块可执行代码的引用,如C++的仿函数或Java中的接口和对象)作为参数传递给另一个函数。...
  • C++协程库:orchid
    orchid是一个构建于强大的boost库基础上的C++库,类似于python下的gevent/eventlet,为用户提供基于协程的并发模型。 协程,顾名思义,协作...
  • C++ 解析器线程的传播库:libpondyparser
    libpondyparser 是另一个使用 Markov 模型的多核 C++ 解析器线程的传播库,包含了一个使用增强学习传播的线程来打包一个指向统计解析库的...
  • C++开发工具 Orwell Dev-C++
    Orwell Dev-C++ 是 Dev-C++ 的维护版本,提供更新的 MinGW 编译器和相关代码。该工具使用 Delphi 开发。...
  • C++ 工具类库:Moost
     Last.fm 的音乐信息检索团队近日开源了 moost 工具,这是该团队在产品开发过程中使用的 C++ 实用程序的集合。...
  • C++格式化输出库 FastFormat
    FastFormat 是一个C/C++格式化输出的库,输入的参数是类型安全的/范型的/可扩展的。...
  • Adobe FlasCC的开源版本:CrossBridge
    CrossBridge是Adobe FlasCC的开源版本,它提供了一个完整的C/C++开发环境,目的是把C/C++程序编译成Flash程序,运行于Flash Runtime之上。CrossBridge...
  • 如何实现一个malloc
    任何一个用过或学过C的人对malloc都不会陌生。大家都知道malloc可以分配一段连续的内存空间,并且在不再使用时可以通过free释放掉。但...
  • C语言封装的轻量线程环境 Protothreads
    Protothreads是一种针对C语言封装后的宏函数库,为C语言模拟了一种无堆栈的轻量线程环境,能够实现模拟线程的条件阻塞、信号量操作等...
  • 多核编程框架 FastFlow
    FastFlow 是一个多核编程框架,实现了无锁的 MPMC FIFO 队列规范,用以支持多核的高级应用开发。速度比 TBB、OpenMP 都要快。...