文档章节

推荐 OpenGL C Math 数学库

ylme
 ylme
发布于 2017/03/19 23:06
字数 391
阅读 429
收藏 2

我平常自己写点小东西都是用的 GLM(OpenGL Mathematics)数学库。GLM 功能很强大,也很方便用,直接包含在项目中编译即可。但是文件太多,有时候想写个小例子只用到其中个别函数,而不得不把整个库的代码都拉过来,而且最重要的是我个人更喜欢 c ,很多时候因为用 GLM 不得不采用 cpp 语法。所以就从网上搜索了一下,找了三个 c 代码的数学库。

linmath

linmath 功能相对很多,我当时搜索时是在 stackoverflow 上找到的,作者在回答时推荐了自己的这个库,还说有奇怪的 bug ,所以我没有用,不过我蛮喜欢这个库中对于 c macro 的使用。

kazmath

kazmath 功能很全面,作者也是大名鼎鼎。看介绍说 Cocos2d 也参考了这个库。

math3d_h

math3d STB style 。单个头文件即可使用。我用的就是这个库。这个库代码超级简洁。而且包含了完整的单元测试。下面是简单的代码片段。这个文件中只包含了两个类型 vec3_tmat4_t 。矩阵与 vector 相乘时有函数 m4_mul_posm4_mul_dir ,分别对应点坐标和矢量坐标,矢量坐标会忽略 w 分量而点坐标不会,具体可以查看实现。

mat4_t viewmat = m4_look_at(vec3((float)sin(t) * radius, 25.0f, (float)cos(t) * radius),
		                        vec3(0, -50.0f, 0),
		                        vec3(0, 1.0f, 0));
mat4_t persmat = m4_perspective(45.0f, (float)w / (float)h, 0.1f, 1000.0f);

© 著作权归作者所有

共有 人打赏支持
ylme
粉丝 10
博文 40
码字总数 41754
作品 0
广州
程序员
OpenGL学习入门之VS2010环境配置 [转]

OpenGL开发环境简介    基于OpenGL标准开发的应用程序运行时需有动态链接库OpenGL32.DLL、Glu32.DLL,这两个文件在安装Windows NT时已自动装载到C:WINDOWSSYSTEM32目录下(这里假定用户将W...

IMGTN
2012/07/24
0
0
【转载】OpenGL C#绘图环境配置

OpenGL简介 OpenGL作为一种图形学编程接口已经非常流行, 虽然在大型游戏方面DirectX有一定的市场占有率, 但由于OpenGL的开放性,可移植性等优点,OpenGL已经成了一种图形学方面的标准。 由...

venorie
2013/06/17
0
0
VS2010配置OpenGL开发环境

最近开始研究OpenGL了,下面是网上看到的一篇入门VS2010上环境配置的文章 OpenGL(Open Graphics Library)是一个跨编程语言、跨平台的专业图形程序接口。 OpenGL是SGI公司开发的一套计算机图形...

TinkerS
2012/11/14
0
0
用多线程方法实现在MFC/WIN32中调用OpenGL函数并创建OpenGL窗口

OpenGL相关的工具库中的OpenGL程序往往都是在C函数main中初始化和创建的,使用控制台来完成显示和控制颇为不便。如果能够在MFC中OpenGL函数并创建OpenGL窗口,并且可以将控制参数传入给OpenG...

guoliang
2014/05/29
0
0
opengl超级宝典笔记—Using OpenGL(三)

OpenGL状态机 绘制3D图形是一项复杂的任务。我们需要许多的属性,比如光照属性,材料属性,纹理等。如果我们在每次绘制图形的时候,都去设置这些属性,或者以参数的形式传进去。那工作量非常...

Mario_Q
2013/09/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Coding and Paper Letter(二十四)

资源整理。这一次内容有点多,拆为两篇,这一篇主要针对Coding。 Coding: 1.R语言包geex,用于估计参数的框架和来自R中的一组无偏估计方程(即M-估计)的经验夹层协方差矩阵。 geex 2.R语言...

胖胖雕
22分钟前
1
0
Python中使用SQLite

SQLite: SQLite是一种数据库,Python中集成了SQLite3,所以在Python中使用SQLite,可以直接导入SQLite包,不需要做额外的配置。 更多的SQLite简介和相关知识可以查看专门的教程:http://ww...

akane_oimo
24分钟前
1
0
05《Java核心技术36讲》之几种字符串类有什么区别?

一、提出问题 今天,我们来聊聊日常使用的字符串,别看它似乎很简单,但其实字符串几乎在所有编程语言里都是个特殊的存在,因为不管是数量还是体积,字符串都是大多数应用中的重要组成。 今天...

飞鱼说编程
43分钟前
1
0
Univalsal_ImageLoader源码结构与创建者模式 初步小结

最近在回归看Univalsal_ImageLoader源码,本想自己也实现试试写一个,看源码是为了学习看能否使用,助于自己可以写出有自己逻辑结构的代码。 首先我们初始化ImageLoader的配置初始化的时候,...

DannyCoder
今天
0
0
计算卷积神经网络浮点数运算量

前言 本文主要是介绍了,给定一个卷积神经网络的配置之后,如何大概估算它的浮点数运算量。 相关代码:CalFlops,基于MXNet框架的 Scala 接口实现的一个计算MXNet网络模型运算量的demo。 正文...

Ldpe2G
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部