GPL许可证
GPL通用性公开许可证(General Public License,简称GPL)。在字典中的含义是非洲大羚羊,我们可以常常看到非常个性化的羊头,想必很多人已经非常熟悉。象征 GNU 那种追求自由的精神.GPL同其它的自由软件许可证一样,许可社会公众享有运行、复制软件的自由;发行传播软件的自由;获得软件源码的自由,以及改进软件并将自己作出的改进版本向社会发行传播的自由。GPL还规定,只要这种修改文本的整体或者其某个部分来源于遵循GPL的程序,则该修改文本的整体就必须按照GPL流通,不仅该修改文本的源码必须向社会公开,而且对于这种修改文本的流通不准许附加修改者自己做出的限制。因此,遵循GPL流通的程序不能同非自由的软件合并。GPL所表达的这种流通规则称为copyleft,表示与copyright(版权)的概念“相左”。上述单词“free”指的是自由(freedom),而不是价格。你可能需要或者不需要为获取GNU软件而支付费用。不论是否免费,一旦你得到了软件,你在使用中就拥有三种特定的自由。首先是复制程序并且把它送给你的朋友或者同事的自由;而后是通过获取完整的源代码,按照你的意愿修改程序的自由;最后是发布软件的改进版并且有助于创建自由软件社团的自由。 GPL,LGPL,GFDL的区别 GPL 是 GNU General Public License (GNU 通用公共许可证)的缩写形式; LGPL 是 GNU Lesser General Public License (GNU 宽通用公共许可证)的缩写形式,旧称 GNU Library General Public License (GNU 库通用公共许可证),在宽松程度上与 BSD、Apache、XFree86 许可证相似; GFDL 是 GNU Free Documentation License (GNU 自由文档许可证)的缩写形式。它们是自由软件(Free Software)的通用版权认证协议,由自由软件基金会(FSF)制定和发布。 基于 GPL 的软件允许商业化销售,但不允许封闭源代码。 基于 LGPL 的软件也允许商业化销售,但不允许封闭源代码。
比如涉嫌非法使用GPL代码事件 超星阅读器中涉嫌非法使用开源图形库DjVuLibre ( http://djvulibre.djvuzone.org/ )。DjVuLibre提供了高效的图像压缩格式DjVu格式的编码和解码功能。DjVuLibre的使用授权为GPL(GNU General Public License: http://www.thebigfly.com/gnu/gpl/ ),按照GPL的要求,凡是使用该软件的代码也需要开放原代码,而超星浏览器公然违反了这个授权,不但没有开放原代码,而且利用自由软件牟利。
|
SourceForge介绍 SourceForge 是全球最大的开放源代码软件开发平台和仓库。它集成了很多开放源代码应用程序,为软件开发提供了整套生命周期服务。SourceForge.net是开放源代码软件的开发者进行开发管理的集中式场所,也是源代码仓库。大量开源项目在此落户(2005年5月已经超过一百万),包括维基百科使用的MediaWiki,但也包含很多休眠和单个用户的项目。 |
Linux游戏开发工具收集 | |||
FMOD FMOD是一个非常容易使用的跨平台声音引擎,能够在WINDOWS,WINDOWS CE,LINUX,MACINTOSH,GAMECUBE,PLAYSTATION 2和XBOX上使用。支持C/C++,VB,DELPHI和MASE。如果你在以上说明的任何一种平台上使用任何一种语言,那么FMOD适合你。本篇中使用的是C语言,同样他也适合其他平台。 相关的声音库 另一个相关的声音库是OPENAL。OPENAL是另一个跨平台的适应API,也同样支持WINDOWS,LINUX和MACINTOSH。同样能应用于C/C++,DELPHI和JAVA。风格有点象OPENGL。 开始之前,请将FMOD.DLL拷贝到你的工作目录下,也就是和你的项目文件在一起。 与C语言用户相关 在你的编译器下加入"fmod.h" 文件和库文件: fmodvc.lib for Microsoft Visual C++ and Codewarrior 在我们用FMOD播放我们的声音文件时,我们要先初始他。像下面这样: FSOUND_Init (44100, 32, 0); 第一参数是输出率,用赫兹表示。在这里,我们取44100。第二个参数是我们最大的软通道。第三个参数是我们想表明的一些符号。在这里,我们取0; 歌,例子或流 FMOD支持两种API:FSOUND和FMUSIC。具体用哪个将由你要播放的声音决定。 而FSOUND API支持压缩的.WAV,.MP2,.MP3,.OGG or .RAW。 DEV C++下依靠上面的代码编
| |||
zlib linux文件压缩工具 1、编程环境:winxp sp2+Dev-C++4.9.9.2 using namespace std; int main(int argc,char **argv) 包含文件: zlib1.dll | |||
Other free archiver: TUGZip http://www.tugzip.com/ zipgenius UPX 可以修改,假如你希望保护你的文件的话。 | |||
openal 3D音频编码 有OPENGL编程精练的人将很快掌握OPENAL。OPENAL有建立3D环境音效的能力。 // 用于播放声音 | |||
libogg - 音频编码。有关oggvorbis开发,主要为*.ogg码流结构及封装的文件,和vorbis-tools,libvorbis一起使用 包含文件 vorbisfile.dll,vorbis.dll,ogg.dll | |||
libmad MP3流媒体解码器,播放mp3文件 libmad附带了一个示例程序minimad, 但是仅仅是将解码结果输出到屏幕上,不爽,而libao则可以将pcm输出,通过多种方式播放出来,因此可以考虑将两者结合起来,编写一个可以播放mp3的小例子
http://www.underbit.com/products/mad/
| |||
freetype
一个流行的字体函数库,在游戏中解析显示TrueType汉字 GTK+(基于DirectFB)的字体绘制是通过pango+freetype+fontconfig三者协作来完成的,其中,fontconfig负责字体的管理和配置,freetype负责单个字符的绘制,pango则完成对文字的排版布局。 void load(const char* font_file , int _w , int _h)
| |||
TinyXml 轻量级XML解析器,游戏中常用解析简单的配置文件。 游戏中是使用一个INI文件来定义。这是一个好的办法,我们每次使用时从外部导入我们的数据,而不用每次修改时都编程一次。而我们今天在这里要讲解的是用XML文件来设置 许多人将XML用到很多需要活动设置的应用,比如服务器参数的设置,玩家数据的管理(最近才发现的,原来以为是在数据库中进行管理的,后来发现XML文件也能管理玩家数据,并且比操作数据库要方便的多)。还有人甚至用XML文件来设置窗口界面。看来掌握XML是非常有意义的。 我们下面来看一下tinyxml是如何在C/C++中建立XML文件的。 char floader[200],buffer[200]; TiXmlDocument* m_xmlDoc = new TiXmlDocument(); TiXmlElement xElement("player"); sprintf(buffer,"%d", 1); xElement.SetAttribute("admin", buffer);
TiXmlElement xPos("pos");
sprintf(buffer,"%d",2); xPos.SetAttribute("x", buffer);
sprintf(buffer,"%d",3); xPos.SetAttribute("y", buffer);
sprintf(buffer,"%d",4); xPos.SetAttribute("zone", buffer);
xElement.InsertEndChild(xPos); m_xmlDoc->InsertEndChild(xElement); sprintf(floader,"%s.xml", "antking"); m_xmlDoc->SaveFile(floader); delete m_xmlDoc;......
这段简单的代码的作用就是将用户数据保存在XML文件中。不同的是我对其做了一些简化。 | |||
如何在C++中使用libjpeg.lib函数库如果想在自己的应用程序中集成处理jpeg图片功能,IGL提供了很好函数库,如果善加用之则可达到事半功倍的效果。因为是该函数库是opensource所以我们不必担心软件版权问题!(呵呵,毕竟我们要尊重别人的软件成果)。可以从网络下载获得最新的函数库,下载地址:http://www.ijg.org 我则以libjpeg-6b版本介绍与自己用VC++6.0的开发应用程序整个集成过程。 1、下载最新的函数库,解压缩后放到一个目录中例如: c:\temp\jpeglib-6b\ 2、生成头文件jconfig.h,新建一个文件命名为jconfig.h,拷贝程序库中jconfig.vc内容到刚建立的文件中。 3、进入命令行模式RUN->CMD,然后执行 nmake -f makefile.vc 生成所需要的libjpeg.lib函数库。 4、用VC++6.0创建自己的应用程序,在需要引用函数库的地方加入 extern "C" { #include "jpeglib.h" } 因为函数库是用C语言写的所以,记住一定要用extern包装起来整个编译预处理文件,否则在编译连接的时候就会产生一大堆的unresolved link error...。 经过以上的步骤我们就可以在自己的应用程序中调用库函数中提供的函数了。
补充2个 | |||
DOSBOX DOSBox 是一个基于 SDL 开发的 DOS 模拟器,也是 Windows 下最好的 DOS 模拟器。可以轻易在大部分平台上模拟 DOS 环境,比如 Windows、BeOS、Linux、MacOS X 等。其定制的模拟标准为真实的 286/386 环境,目录标准支持 XMS 和 EMS,支持 Tandy/Hercules/CGA/EGA/VGA/VESA 图形算法,支持SoundBlaster/Gravis Ultra 声卡等。 使用方法 : | |||
StellaX 早期的游戏机雅达利Atari 模拟器程序
| |||
CVS CVS 还有一个更加重要的特性: 能记下每个文件的每次修改,以及如何被修改...对于基于 Internet 的合作方式来说,这些特性太重要了。一个地域上分散的自愿者组织显然不可能投入很多的时间来训练其成员彼此合作。因为这样的话,当该组织有成员变更的时候,为此付出的投资将损失殆尽。所以需要指定一套基本的项目分配方案,以确保新成员能较容易的适应工作,同时也需要设置一个自动的系统来接受外来代码,并使每个成员能及时得到最新修改的代码。 微软代码管理工具VSS(Microsoft Visual SouceSafe ) 有个BUG。它的目录是完全共享的,任何一位都可以删除修改。其他的版本管理工具还包括:PVCS、VCS、RCS等。 | |||
GeSHi 语法加亮显示工具:
| |||
|
gcc/cygwin gcc简介 GNU的C语言编译器(GUN C Compiler:GCC) win2000操作系统中安装gcc环境,模拟unix中的gcc 需要安装和配置cygwin
cygwin
MinGW 还有一个解决方案是MinGW ——在 WINDOWS 下运行 GNU 程序的工具 MinGW,即 小型GNU for Windows。 它的作用是让开发者可以在windows操作系统上方便的使用gcc等GNU开发工具。它是一些头文件和端口库的集合,该集合允许人们在没有第三方动态链接库的情况下使用 GCC(GNU Compiler C)产生 Windows32 程序。 |
Dev C++ Dev-C++ 是一个非常好的 C/C++ 程序集成开发环境,而且还是完全免费的.更重要的是 Dev-C++ 几乎完全支持 ISO C/C++ 标准!它包括多页面窗口、工程编辑器,在工程编辑器中集合了编辑器、编译器、连接程序和执行程序。它也提供高亮度语法显示的,以减少编辑错误。 常用的集成开发环境编译器有:Turbo C、Turbo C++(这两个太旧了,不推荐使用)、GCC、MicroSoft Visual C++ 6.0,Dev-C++。Dev-C++ 虽然功能不太强大,使用起来也不甚方便,但是它对 C 和 C++ 标准的支持非常好. |
Tiny C GNU/Linux 系统上最小的 C 语言编译器 Tiny C 编译器。Tiny C 编译器不仅仅是一个常规意义上的 C 语言编译器,它还使得用户可以像使用脚本语言一样使用 C 语言进行快捷的脚本编程。 TCC 介绍
Debian 的 tcc 软件包的主页 http://packages.debian.org/unstable/devel/tcc.html Cygwin 是一个微软 Windows 环境下的模拟 UNIX 的开发和使用环境,大部分主要的 GNU 工具包都有 Cygwin 下的版本。可以在 Cygwin 环境下使用 TCC。Cygwin 的主页在 http://www.cygwin.com |
SDL
它能做什么?视频、音频、事件、CDROM支持、线程、计时器、各种图象文件格式读取、快速绘图、混音、游戏杆支持、网络、MPEG解码等等,且CPU字节顺序无关。 大体上与DirectX比较对应关系如下:
SDL本身只支持加载BMP文件,如果你想显示其他类型的图像文件,就要用到扩展类库,扩展类库里面还有其他一些组件,你可以在这里下载到 http://www.libsdl.org/projects/SDL_image/ 包含文件:SDL_mixer.dll SDL_image.dll SDL.dll SDL_net.dll |
ClanLib 一个主要针对游戏开发者的跨平台C++框架。尽管API主要为游戏开发设计 ClanLib可以工作在Windows,Linux和MacOS操作系统之上,并且提供源码级的zip或tar文件支持。Windows开发者可以使用微软Visual Studio,Borland C++或者MinGW(小型GNU for Windows)编译器和环境。第三方的对于Ruby和Perl语言的绑定支持也是可用的。可选的特效程序包括一个Lua插件(流行的小脚本编程语言)和FreeType(一个免费的TrueType字体库)。 |
[引擎]开源2D引擎HGE(D3D加速)HGE简单的说,就是以3D加速实现2D图像的做法,就是RMXP內部的绘图功能(Game Maker也是),HGE使用DX8作为图像加速库,在Windows XP以后的系统,无须更新DX版本即可运行(这意味著你的游戏有较好的市场) |
Fenix Pack引擎跨平台游戏制作工具Fenix是目前少数实现单一代码跨多平台的制作工具,因为他的程序被编译为偽代码,由Fenix解析器运行。 这是官方首页,您可以在该站得到官方版本(西班牙文)
|
Allegro Allegro引擎是跨平台游戏开发库。 Allegro最开始被研发于八十年代后期古老的Atari ST平台上,此后,Allegro被移植到最为流行的Windows C++开发环境中,包括VS,MinGW,Cygwin和Borland C++。 具体到像素级的绘图函数,包括平坦阴影,填充,图案填充,精灵,blitting(位图复制),位图计算缩放和旋转,半透明/光效果以及比例字体支持的文本输出。
|
Libcurl (HTTP downloads)为一个免费开源的,客户端url传输库,支持FTP,FTPS,TFTP,HTTP,HTTPS,GOPHER,TELNET,DICT,FILE和LDAP,跨平台,支持Windows,Unix,Linux等,线程安全,支持Ipv6。并且易于使用。 |
CEGUI CEGUI全称 "Crazy Eddie's GUI System"是一个自由免费的GUI库,基于LGPL协议,使用C++实现,完全面向对象设计。CEGUI开发者的目的是希望能够让游戏开发人员从繁琐的GUI实现细节中抽身出来,以便有更多的开发时间可以放在游戏性上。 |
guichan guichan 是一个界面库GUI library 使用于 Allegro, SDL 或OpenGL |
PyGame 制作游戏 Pygame 是用于编写游戏的一组Python模块. 她基于是十分优秀的SDL库. 您可以用python创建功能强大的、多媒体程序. Pygame 是跨平台的,几乎可以运行于各种平台。 |
自从自从网络多媒体巨头macromedia公司公布了SWF格式后,出现了大批的SWF格式开发软件,简化了FLASH动态网页制作的复杂程度,网络上各种各样的SWF文档开发包更是举不胜数,我们都知道FLASH虽然经过了几个版本的升级,一直到现在的FLASH5.0版本,但并不是十全十美的,比如FLASH本身没有三维建模功能,要想在FLASH里实现3D效果只能运用视觉欺骗,更加依赖设计者的创造力,另外FLASH也不支持AVI格式的文件,还有很多操作烦琐的特殊效果等等,现在都开发出来插件或外挂程序,来完成更复杂的作品,减少工作时间,增加工作效率。 http://www.tomore.com/down_file.php?id=2989 Flash Player SDK 是为消费性电子设备开发的 Flash 技术。Flash Player SDK 能够使设备制造商、系统集成商和浏览器公司创建具有全面 Web 浏览能力的一流产品和服务, 从而使得用户尽享具有 Flash 内容的大量网站。使用此新技术的产品预期在今年将正式推出,目前许多全球最大的制造商已推出採用 Flash 技术的行动电话以及消费性电子产品,其中包括了 Nokia、Samsung、Sony Ericsson、Kodak 等厂商。未来在手机上便能玩到更多的 Flash 游戏、使用更亲切易懂的 Flsah 操作介面了。 http://www.adobe.com/cn/products/flashplayer_sdk/
|
Anti-Grain Geometry Anti-Grain Geometry(以下简称AGG)是一个用标准的平台无关的C++写成的通用图形工具包。它可以应用在计算机程序中需要高质量的2D图形的许多方面。例如,AGG可以用于渲染2D地图。AGG只使用了C++和标准C的函数,如memcpy,sin,cos,sqrt等。基本的算法甚至没有使用C++ Standard Template Library。因此,AGG能够在大量的应用软件中使用,包括嵌入式系统中。 AGG刚刚更新了版本,目前版本是2.5。 Anti-Grain Geometry,也许是目前,开源的最牛X的2D渲染引擎,当然也是跨平台的,不依赖于某一个操作系统!而且速度巨快,当然STL也是用的非常多。 AGG简介
|
Xara Xtreme一款老牌图像设计软件,可以用以绘图、处理图像、制作WEB图形,具有制图速度快、软件体积小、界面美观等特点,被誉为“世界上速度最快的绘图软件”。本月,Xara推出开源的Xara Xtreme on Linux (Xara LX),供用户免费下载 |
Amanith Framework是一個開放原始碼跨平台(Linux, Win32, MacOS X, FreeBSD和IRIX)向量繪圖framework.最新的版本為0.3v.詳細資料如下: |
曾被誉为“Linux 图形未来希望”的 cairo 广受诟病的是它的效率,尽管从一开始 cairo 便宣称将会利用 glitz 这样的 backend 实现硬件加速的矢量图形绘制,从而达到软件绘制无法达到的效果。结果现在戏剧性的是,cairo 比所有这些用软件绘制的引擎都慢得多。 所以才有人写了这么一篇 Why Cairo?,意思大概说得很清楚了,Mozilla 选用 cairo 的借口现在看来是非常苍白无力的,比如说 cairo 引以为傲的“bring vector graphics to print”有多少人需要把网页输出到 PDF/PS?如果最基本的页面渲染都做不到高效,谈何页面印刷的高效?
|
Inkscape是一个开放源码的矢量绘图软件,而且功能也十分强大,除了基本的点、线、面、圆形、矩形、曲线之外,也可以做到三维颜色等等高级功能。
|
开源社区里最出色的图像处理工具,PhoXo里很多算法取自它 |
以上.