OpenGL实用开源库 汇总
https://blog.csdn.net/huawenguang/article/details/1393904
https://blog.csdn.net/hbtj_1216/article/details/54729417
有了网络的最大好处就是可以资源共享。网络是最大的知识库,也是最好的老师,正所谓“没有你想不到的,只有你找不到的”。以下是我收集的以游戏编程,OpenGL 3D编程相关的免费扩展库资料。不断更新中,如果你有好的建义,也请把函数库名及大概功能写上,本人负责收集整理。免费共享
SDL
在3D的世界里,SDL可真所胃是大名顶顶,正所谓“为人不知陈近南,自称英雄也枉然”,因此呢,如果你是做OpenGL开发的,一定要认识一下SDL。我们都知道,在windows系统中,有一个DirectX是游戏开发商的首选的开发包,其背后只支持的Direct3D作为三维图形接口。而SDL就被认为是非window系统中的DirectX,而且是开源的。SDL所使用的3D图形接口是OpenGL。但除了图形之外,它还支持对声音、键盘、鼠标、操纵杆、2D图像等等的底层处理。现在已有不少游戏使用这个开发包进行开发。
SDL是跨平台的,目前支持的系统有:Linux, Windows, Windows CE, BeOS, MacOS, Mac OS X, FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, IRIX, and QNX
SDL 是用C语言写的,但是能很好地兼容C++语言。并且能被其它语言绑定使用,如: Ada, C#, Eiffel, Erlang, Euphoria, Guile, Haskell, Java, Lisp, Lua, ML, Objective C, Pascal, Perl, PHP, Pike, Pliant, Python, Ruby, and Smalltalk.
SDL发布支持GNU LGPL v2.0 许可协议。也就是说SDL可以免费用于商业应用。
http://www.libsdl.org/index.php
GLM
OpenGl中在进行图形变换的时候需要使用几何数学库,这里使用第三方数学库GLM。github地址:https://github.com/g-truc/glm
OpenGL Mathematics (GLM) 是基于OpenGL着色语言(GLSL)规范的图形软件的头文件C ++数学库。
GLM提供的类和函数使用与GLSL相同的命名约定和功能设计和实现,因此任何知道GLSL的人都可以在C ++中使用GLM。
这个项目不限于GLSL的功能。基于GLSL扩展约定的扩展系统提供扩展能力:矩阵变换,四元数,数据打包,随机数,噪声等等。
这个库与OpenGL完美地工作,但它也确保与其他第三方库和SDK的互操作性。它是软件渲染(光线追踪/光栅化),图像处理,物理模拟和任何需要简单方便的数学库的开发上下文的良好候选。
GLM是用C ++ 98编写的,但是当编译器支持时可以利用C ++ 11。它是一个没有依赖的平台独立库,它正式支持以下编译器:
● 苹果Clang 6.0及更高版本
● GCC 4.7及以上
● 英特尔C ++ Composer XE 2013及更高版本
● LLVM 3.4及更高版本
● Visual C ++ 2013及更高版本
● CUDA 7.0及更高版本(实验版)
● 任何C ++ 11编译器
使用案例:
#include <glm/vec3.hpp> // glm::vec3
#include <glm/vec4.hpp> // glm::vec4
#include <glm/mat4x4.hpp> // glm::mat4
#include <glm/gtc/matrix_transform.hpp> // glm::translate, glm::rotate, glm::scale, glm::perspective
#include <glm/gtc/constants.hpp> // glm::piglm::mat4 camera(float Translate, glm::vec2 const & Rotate)
{glm::mat4 Projection = glm::perspective(glm::pi<float>() * 0.25f, 4.0f / 3.0f, 0.1f, 100.f);glm::mat4 View = glm::translate(glm::mat4(1.0f), glm::vec3(0.0f, 0.0f, -Translate));View = glm::rotate(View, Rotate.y, glm::vec3(-1.0f, 0.0f, 0.0f));View = glm::rotate(View, Rotate.x, glm::vec3(0.0f, 1.0f, 0.0f));glm::mat4 Model = glm::scale(glm::mat4(1.0f), glm::vec3(0.5f));return Projection * View * Model;
}
glew(OpenGL Extension Wrangler Library )
GLEW是一个跨平台的C++扩展库,基于OpenGL图形接口。使用OpenGL的朋友都知道,window目前只支持OpenGL1.1的涵数,但OpenGL现在都发展到2.0以上了,要使用这些OpenGL的高级特性,就必须下载最新的扩展,另外,不同的显卡公司,也会发布一些只有自家显卡才支持的扩展函数,你要想用这数涵数,不得不去寻找最新的glext.h,有了GLEW扩展库,你就再也不用为找不到函数的接口而烦恼,因为GLEW能自动识别你的平台所支持的全部OpenGL高级扩展涵数。也就是说,只要包含一个glew.h头文件,你就能使用gl,glu,glext,wgl,glx的全部函数。GLEW支持目前流行的各种操作系统(including Windows, Linux, Mac OS X, FreeBSD, Irix, and Solaris)。
下载:http://glew.sourceforge.net/
ShaderGen 提供简单的UI接口让你可以产生固定管线(Fixed Pipeline)的Shader.如果你对Shader不熟悉的话,这是一个不错的入门工具.详细网址如下:
http://developer.3dlabs.com/downloads/shadergen/
NVSG
The NVIDIA Scene Graph Software Development Kit (NVSGSDK) is an object-oriented programming library for creating scenegraph-based applications. The NVSGSDK provides a comprehensive set of classes that developers can easily combine and extend to create fast and reliable graphics applications.
CG_GL
CG_GL is OpenGL API-based open source engine for creating 3D effects. The new release adds depth-of-field with lens blur, and motion blur using shaders. Older version of the engine work on GeForce4 and support full screen blur, transparent object distortion, and glow. Engine is available here: http://tweety3d.no-ip.org. There are also other 3D related programs.
OpenSteer for AI. [MIT license]
Fluid Studios provides a memory manager, matrix class, font generator, radiosity processor, and various other things.
Panda3D (Game/graphics lib, released by Disney after being used for Toontown Online)
math3d++ provides the normal matrix, vector and quaternion classes, and their associated operations.
BMF_Font bitmap font library (and font texture generator)
OpenSceneGraph - 3D engine.
Demeter Terrain Engine [LGPL]
OGLWFW(OpenGL Window Framework) and basically does what it says on the tin, acts as a framework to create OpenGL windows. here
ARToolKit An augmented reality toolkit, works really nice and very fun to play with. Documentation is still in the works though so you will have to do with the examples.
MXRToolKit I haven't used this one but it appears to offer about the same as ARToolKit except it comes with documentation.
MathGL++ MathGL++ is a class library for fast C++ maths for use in OpenGL C++ projects. Easy to use and similar to the OpenGL API. Matricies, Vectors, Quaternions, Linear polynomials with eigen systems are all going to be included.
ManagedGL - The cross-platform .NET game library. Development ManagedGL 1 is stalled in faviour of ManagedGL 2. Currently mostly 2D graphics.
LibUFO GUI library (for OpenGL) [LGPL] 一个基于OpenGL的界面库
Crazy Eddie's GUI (another GUI lib)另一个比较有名气的游戏界面库,被OGRE游戏引擎收录使用。
HGE is a greate library for creating hardware accelerated 2D games for windows that is free for freeware games.
Novodex under physics libraries, free for non-commercial use.一个物理引擎,现在被收购了,改名为:PhysX
Pixel Toaster
http://www.pixeltoaster.com/
Open source c++ library for realtime software rendering.
It gives you a truecolor or floating point framebuffer at your choice, then converts the pixels to the display on the fly. Keyboard and mouse input, and a high resolution timer are also provided.
Currently supports only Windows (DirectX9), but ports to MacOS X and Unix (XWindows etc) are underway.
PTK . PTK is a great Mac/Windows 2d library running on top of OpenGL (so it's fast). It's free for freeware but it does have a PTK Watermark in the corner
MMXRand Almost twice as fast as the original Wagner's C++ code using Pentium MMX instruction by Matthew Bellew:
Tao Framework - .Net libraries for Cg, DevIL, FreeGLUT, ODE, OpenAL, OpenGL, and SDL.
OPAL - Open Physics Abstraction Layer, currently wraps just ODE I think but could be adapted to use other libraries. Choice of BSD or LGPL license.
Blitz++ (math library for C++)
PortAudio does cross-platform audio output and input using callbacks.
GLFTFont - zlib license
Not exactly a library, but a simple class that bridges freetype and OpenGL allowing drawing of truetype fonts in OpenGL. It's functionality is requested often enough I figured I'd release it
Object-Oriented Input System (OIS)
OIS is a library for cross-platform input management. It is under the zlib/libpng license. The library supports keyboard, mouse, and joystick/gamepad input. Action mapping is included in one of the demos, and force feedback is planned for the 0.4.0 release (currently in development).
libMikMod is a audio module player and library supporting many formats, including mod, s3m, it, and xm. Originally a player for MS-DOS, MikMod has been ported to other platforms, such as Unix, Macintosh, BeOS, and Java. libMikMod falls under theLGPL agreement.
GLM - a Math Library for OpenGL
http://members.tripod.com/markus_ilmola
This library contains useful math functions that are needed when
programming with OpenGL. Mostly vector and matrix math.
GIMPACT : Collision detection library.
http://gimpact.sourceforge.net/
============================================
目录
- General purpose libraries
- 3D Graphics
- 2D Graphics
- Video
- Image and Font Handling
- Sound + Music
- Networking
- Model Handling and Character Animation (3D)
- Filesystems, persistence, and format parsing
- Scripting Languages
- Artificial Intelligence
- Mathematics, Physics and Collision Detection
- Debugging, memory checks, general purpose, etc
- Other Tools
General purpose libraries
AgateLib (.NET library) |
(MPL) |
Alchemist's Game Library (2D game engine) |
(Free for non-commercial use) |
Allegro |
(giftware) |
Amaltheia (game programming API) |
LGPL |
Basic Game Library (Docs in Spanish?) |
Creative Commons |
DXGame (Visual Basic 6, 2D game engine/toolkit) |
("100% free to use"), but check for details |
IKA (generic gaming engine) |
('free') |
ClanLib |
LGPL |
CRM32Pro multimedia SDK |
(free, with sub-libraries under LGPL etc) |
Devlib |
LGPL |
Game Incubator |
free |
GLFW |
ZLIB |
Goblin 2D+ Engine |
(free for noncommercial, commercial licenses available for purchase) |
Golden T Game Engine (Java) |
(free to use, but requires credit) |
KJAPI |
(free for non commercial projects) |
MASI-CiX 2D sprite-based game platform |
(free for noncommercial, negotiate for commercial) |
PLIB General purpose library. |
LGPL |
Popcap 2D library with extras. |
(Popcap license) |
Proyecto dx_lib32 Spanish language. VB6. |
Free |
PTK |
(free for freeware, commercial license otherwise) |
Realmforge (in C#) |
LGPL |
SDL |
LGPL |
SDL.NET |
LGPL |
SxDL 2D and 3D. |
GPL |
The Tao Framework (various libs ported to .Net) |
(various/MIT) |
3D Graphics
Amanith (vector graphics) |
(QPL) |
Antiryad GX |
(various licenses depending on chosen usage, but free for freeware) |
Apocalyx |
GPL |
ARToolkit |
GPL (or commercial) |
Axiom (OGRE in C#) |
LGPL |
CG |
(free) |
Crystal Space |
LGPL |
Cube |
(slightly modified zlib) |
Delta3D |
LGPL |
Demeter terrain engine |
LGPL |
ExNihilo |
(unknown) |
Fly3D |
GPL |
FTGL (fonts in OpenGL) |
LGPL |
G3D |
BSD |
Genesis3D |
(similar to GPL) |
Ghost (glut-like) |
(Dual license - BL and GPL |
GLee |
BSD-like |
Graphics Library Helper (like GLU) |
(freeware) |
Heretic/Hexen |
(free for non-profit use) |
Interactive Visualisation Framework |
LGPL |
Irrlicht |
ZLIB |
LightFeather |
ZLIB |
MXR Toolkit |
GPL |
The Nebula Device |
(free license) |
NeoEngine |
(MPL) |
NGL (glut-like framework) |
LGPL |
NVIDIA Scene Graph SDK |
(free to use) |
OGRE 3D |
LGPL |
OpenGlean |
MIT |
OpenGlut |
MIT |
FreeGlut |
MIT |
OpenGL Window Framework |
ZLIB |
OpenSceneGraph |
(OpenSceneGraph licence, like LGPL) |
OpenSG |
LGPL |
Panda 3D |
(free) |
Qhull |
(free?) |
QuakeForge |
GPL |
XEngine |
ZLIB |
Yake |
(LGPL, custom licenses) |
2D Graphics
AntTweakBar (GUI for DX/OGL) |
ZLIB |
Crazy Eddie's GUI System |
LGPL |
Eclipse |
LGPL |
Endogine sprite engine (C#) |
("no restrictions on the use") |
GameVision SDK |
(unknown license) |
HGE |
(free for non-commercial, otherwise pay) |
hxrender - docs here |
ZLIB |
Kyra LGPL |
|
ManagedGL (C#/.NET/SDL) |
LGPL |
ParaGUI (for SDL) |
LGPL |
Saq2D (C#) |
"free to use for personal/commercial use" |
TinyPTC (open source) |
|
LibUFO (gui, for OpenGL etc) |
LGPL |
zEngine |
BSD |
Video
Dirac |
(MPL) |
FFmpeg |
(open source) |
Theora |
('BSD-like') |
XviD |
GPL |
Image and Font Handling
BFont |
LGPL |
BMF_font (bitmap fonts in OpenGL) |
LGPL |
CImg |
(CeCill license) |
Corona |
ZLIB |
CxImage |
ZLIB |
DevIL |
LGPL |
FreeImage |
(GPL, FIPL) |
GFL SDK |
(free for non-commercial use) |
GLFT_Font |
ZLIB |
GTL (Game Texture Loader) |
ZLIB |
IJG (jpeg library) |
(free?) |
ImageMagick |
(apache-style license) |
libPNG |
(libPNG license) |
libTiff |
(free?) |
Paintlib |
(free, must give credit) |
SDL_image |
LGPL |
SFont |
(choose LGPL or GPL) |
Titan |
ZLIB |
Sound + Music
Audiere |
LGPL |
BASS |
(Free for freeware projects, otherwise commercial) |
FMOD |
(Free for freeware projects, otherwise commercial) |
Hekkus Sound System |
(For WinCE/Win32/Symbian and .NET.) (Free use, but credit or donation required.) |
libMikMod |
LGPL |
libsndfile |
LGPL |
Ogg Vorbis |
BSD-like |
OpenAL |
(?) |
PortAudio |
essentially free |
SDL_mixer (requires SDL) |
LGPL |
SDL_sound (requires SDL) |
LGPL |
Networking
Low level
Dyconnect |
ZLIB |
Enet |
free use |
HawkNL |
LGPL |
libCURL (URL transfer) |
Curl license |
SDL_net |
LGPL |
Lidgren.Library.Network (.NET/C#) |
Unspecified license - contact author |
High-level
Nevrax/NEL |
(GPL?) |
Net2 |
LGPL |
OpenPlay |
(Apple Public Source License) |
OpenTNL |
GPL , or commercial |
RakNet |
GPL , or free by application |
ReplicaNet |
Free for freeware, otherwise commercial |
Zoidcom |
Free for noncommercial, otherwise contact author |
Unknown
Game Network Engine |
LGPL |
Model Handling and Character Animation (3D)
Animadead |
LGPL |
Cal3D |
LGPL |
GPUMesh |
(free) |
GNU Triangulated Surface Library |
LGPL |
LibASE |
LGPL |
lib3DS |
LGPL |
Filesystems, persistence, and format parsing
bzip2 |
(free) |
Crypto++ |
free, but note possible crypto. legal issues |
ezXML |
MIT |
libXML |
MIT |
LZMA (7-Zip compression) |
LGPL or CPL |
LZO |
GPL |
PhysFS |
zlib |
SDL_Config |
LGPL |
SQLite |
(public domain) |
TinyXML |
zlib |
Unrarlib |
free for non-commercial, otherwise GPL |
ZipArchive |
GPL , or pay for commercial license |
zipstream, bzip2stream (iostream wrappers for the zlib and bzip2 libraries) |
ZLIB |
zlib |
ZLIB |
zziplib |
LGPL /MPL |
Scripting Languages
AngelScript |
ZLIB |
BOO (Reqs .NET/CLI) |
MIT/BSD style |
CInt (C interpreter) |
free, reg. required for commercial use |
EosScript |
LGPL |
GameMonkey |
MIT |
GS9 |
'free' for any use |
Guile |
Modified GPL - almost LGPL |
IO |
BSD |
Javascript |
(presumably Mozilla license) |
Lua |
MIT |
Perl |
Artistic license |
Tcl |
free |
Python |
free |
Ruby |
Ruby license |
Small |
ZLIB |
Squirrel |
ZLIB |
VBScript |
'license at no charge' |
Artificial Intelligence
FEAR |
GPL , other |
OpenSteer |
MIT |
PathLib |
(old, mainly Czech) |
Mathematics, Physics and Collision Detection
Mathematics
Blitz++ |
GPL or Blitz Artistic License) |
GLM (OpenGL helpers) |
free? |
Math3D++ (vectors, quaternions) |
free? |
MathGL++ (Matrices, Vectors, Quaternions, Linear polynomials with eigen systems) |
LGPL |
Mersenne Twister random number generator |
free |
VMath (NxM matrix template class) |
free |
Physics
Flatland (2D physics) |
BSD |
Newton Game Dynamics |
Free, but must notify creators |
Novodex |
free for noncommercial, contact for commercial |
Open Dynamics Engine (ODE) |
BSD |
Open Dynamics Framework |
free for both commercial and non-commercial use |
OPAL |
BSD or LGPL - please check |
Physical |
(free) |
Plane2D (for ODE) |
presumably BSD also |
Tokamak |
free |
True Axis |
free for non-commercial use |
Collision detection:
ColDet |
LGPL |
GImpact |
LGPL /BSD-like |
Opcode |
free usage |
Rapid |
free for non-commercial use |
Solid |
LGPL |
V-Collide |
free for non-commercial use |
Debugging, memory checks, general purpose, etc
Boost (C++ smart pointers, parsers, random numbers, quaternions, and more) |
Boost license |
Chattering Pixels libraries (memory, I/O, sorting, timers) |
Free for noncommercial use, shareware and commercial licenses also available |
ElectricFence |
GPL |
Fluid Studios Logger |
free |
Hans Boehm garbage collector for C++ |
free use, no warranty |
The Image Debugger (Win32 image output) |
free |
IProf('A portable industrial-strength interactive profiler for C++ and C.') |
public domain |
LeakTracer |
Public domain |
MMGR (memory manager/checker) |
free |
OIS (Object-oriented Input System) |
ZLIB |
Valgrind (Linux debugging and profiling tool) |
GPL |
Other Tools
Doxygen (documentation generator) |
GPL |
InnoSetup (installer) |
free |
NaturalDocs (documentation generator) (Requires Perl 5.05.) |
Free |
NSIS (installer) |
free |
Synopsis (documentation generator) |
free |
UPX (executable packer) |
free |
boost
loki
open gl win frame
gen library
AI lib
game graphics lib
same as previous
math 3D lib
3D engine
terain engine
reality toolkit
another as previous
math gl
gui lib
croll platform 2D text
harware acc
phisics
phisics again
realtime rendering
unti testing
2d lib
3d font lib
math lib
font lib
compresion lib
image loading
tif image loading
VR
triagulae surface lib
tokamak phisics
random numbers
glh lib
Cg
ogre .net
hex render
SDL collide
compresion lib
java game engine
FBX SDK
zip handler
3D Editor anfd BSP Compiler
OpenGL实用开源库 汇总相关推荐
- 机器视觉、模式识别开源库汇总
机器视觉.模式识别开源库汇总 机器视觉课堂 昨天 版权归机器视觉课堂所有,转载请注明.谢谢: https://mp.weixin.qq.com/s/HuzMLbSMSzpTxvMhUud2Jw 一.开 ...
- IOS 第三方开源库汇总
IOS 第三方开源库汇总 1. 常用开源库简介 2. 统计工具 3. 数据埋点工具 4. 社交分享集成工具 5. 网络通信,网络数据工具 6. 音视频处理工具 7. 图像处理工具 8. 云存储 9. ...
- OpenGL实用开源代码列表
有了网络的最大好处就是可以资源共享.网络是最大的知识库,也是最好的老师,正所谓"没有你想不到的,只有你找不到的".以下是我收集的以游戏编程,OpenGL 3D编程相关的免费扩展库资 ...
- Android常用热门开源库汇总(持续更新)
原文转载:https://www.yundashi168.com/344.html 请及时关注原文网站,因为后续持续更新都在原网站更新.请多多点赞和关注. 前言 收集了一些比较常见的开源库,特此记录( ...
- 工业基础类IFC—开源库汇总
name descrip license Adapy Adapy是一个用于结构分析和设计的python库,致力于IFC与各种有限元格式的交互.同时,它还提供一套CAD模型和FEM网格模型的参数化建模框 ...
- 优秀Java程序员应该知道的20个实用开源库
一个优秀且经验丰富的Java开发人员的特点之一是对API的广泛了解,包括JDK和第三方库.我花了很多时间学习API,特别是在阅读Effective Java 3rd Edition之后,Joshua ...
- 开源项目推荐:OpenGL之开源库OpenSceneGraph
OpenSceneGraph(缩写:OSG)是一个开源的三维引擎,被广泛的应用在可视化仿真.游戏.虚拟现实.科学计算.三维重建.地理信息.太空探索.石油矿产等领域.OSG采用标准C++和OpenGL编 ...
- android 地址选择器_48种Android开发的开源库汇总
一.安全 1.SQLCipher Sqlite加密工具 项目地址: https://github.com/sqlcipher/sqlcipher 帮助文档: http://sqlcipher.net/ ...
- OpenGL实用扩展库(二)---- glee(OpenGL Extension Library)
GLEE OpenGL Extension Library : GLEE也是一个跨平台的 OpenGL扩展函数库,主要用于载入OpenGL的高级扩展函数,以方便程序员使用显卡的最新扩展功能.和glew ...
最新文章
- StatQuest学习笔记23——RNA-seq简介
- 条形图与直方图的区别
- Linux软件安装通用思路
- python3 matlabplot 和numpy 简单绘图
- CCNA题库关于Frame-relay看图答题的解答
- linux忘记mysql的密码忘记了_linux忘记mysql密码找回方法
- mysql创建库和表确保utf8_mysql创建utf8数据库
- vscode自动加前缀_详解VScode自动补全CSS3前缀插件以及配置无效的解决办法
- 公司新来了一个质量工程师,说团队要保证 0 error,0 warning
- 报错,null [org.springframework.web.method.annotation.MethodArgumentTypeMismatchException,Failed to con
- socketserver剖析.html
- php 文件上传$_FILES中error返回值详解
- idea报错:不支持发行版本5的错误,快速解决方案
- java记事本写玫瑰花代码_第一个用记事本写的java代码
- 苹果充电慢是什么原因_成都苹果维修点告诉你为什么iPhone手机不能在关机状态下充电?...
- 【2019年03月29日】股票的滚动市盈率PE最低排名
- 数字电路与逻辑电路芯片
- 比 Elasticsearch 更快, RediSearch + RedisJSON = 王炸
- php sec-websocket-accept,javascript – Websocket握手Sec-WebSocket-Accept标...
- 基于单片机的温湿度串口监控系统设计(#0429)
热门文章
- (zz)Android深入浅出之Binder机制
- openvpn集成openldap认证
- 《Python Web开发实战》踩地雷记17/3/27
- 操作系统实验:使用linux系统提供的系统调用msgget(),msgrev(),msgctl()编制一个长度为1K的消息发送和接受的程序
- RFID芯片标签资产标识系统推动房地产发展
- US News 2023世界大学计算机科学排名公布!清华大学再度荣登全球第一
- 从客户端游戏漏洞看开发中的安全隐患
- 华为8817升级Android5,华为c8817e官方系统升级更新教程(固件rom升级)
- Teamviewer 再次涨价,太贵了,有没有平替软件?
- PBC Library Manual(PBC库手册)翻译(三)