注册 登录
编程论坛 C图形专区

RGE Version 0.1.3 released !

RockCarry 发布于 2008-03-28 10:41, 3538 次点击
RGE Version 0.1.3
------------------
Date: 2008-3-28
相对 V0.1.2 版的改进
Draw2D:
    1. RGE.Draw2D 中定义了一些实用的填充图案
    2. 修改了 RGE.Draw2D 中的 drawbase 模块的部分定义
    3. PEN 对象中不再提供坐标变换的功能

Audio:
    1. 重写了 RME,采用了新的思路
    2. 新的 RME 中实现了 wave 和 midi 的播放,并支持重复任意次的播放功能
    3. 加入了 rmedev 模块提供对 RME 音频设备的支持

Image:
    1. 修改了 pcx codec 的部分代码,更加稳定
    2. pcx codec 做为 RGE.Image 的组成部分
    3. RGE.Image 中加入了 bitstr 模块,用于实现对位流的读写操作
    4. RGE.Image 中加入了 lzw 模块,实现了 lzw codec
    5. 实现了完整的 GIFCodec, 可用于 GIF 图像的解码显示和编码保存
    6. GIFCodec 中实现了一个简单的 gifplayer 函数,可用于播放 gif 动画

Other:
    1. 修改了 makefile 中的 tcc 编译参数,去掉了 -a 编译开关

                   RockCarry
                   2008-3-28

[[it] 本帖最后由 RockCarry 于 2008-4-2 09:31 编辑 [/it]]
21 回复
#2
RockCarry2008-03-28 11:00
这一版本主要实现了 BITSTR, LZWCodec, GIFCodec, 为 Image 模块打下了一些基础。

GIF 这个东西,我在大学时,就有雄心壮志想要把它实现,可是呢,都毕业两年了,现在才完整地实现了。看来想和做真是有差距的。做完之后,才发现要完整、正确无误的实现一个 Codec 是多么的困难,需要反复的调试。昨晚为了解决编码时图像不正常的 bug, 就调试到1点过。后来还是没有解决,到了今天早上才发现了bug所在。

不过话说回来,GIF 这个鬼东西,文件结构设计的也太烂了,给我们的解码带来很多不方便,如果是我设计的话,绝对比他做得好的多。不过呢,人家都成了标准了,并且有那么多资源,也没有办法,虽然很不爽还是要实现。

完成之后还是很兴奋的,有成就感。接下来就是 JPEGCodec 了。我也有研究,似乎 JPEG 会更加容易些吧。
#3
RockCarry2008-03-28 11:02
今天先做下广告,周末在发布吧。
#4
RockCarry2008-03-28 11:19
encode 方面目前还有些 bug, 编码出来的图像在 XP 自带的图片浏览器下有的时候显示不正常。而使用 XnView 可以正常显示。

[[it] 本帖最后由 RockCarry 于 2008-4-2 09:30 编辑 [/it]]
#5
RockCarry2008-03-28 11:40
encode 方面又改了下,基本正常了,不过还需要测试,大家也可以参与进来。
#6
jig2008-03-28 14:21
顶起
#7
RockCarry2008-03-28 15:52
已经上传了全部文件,不用等到周末了。
#8
kk48682008-03-28 16:32
前几天和JIG讨论wav的时候,感觉还有有些问题没处理好。
这下好了,有高手的东西看啦,哈哈。
down下来偷偷研究去。
#9
RockCarry2008-03-28 16:35
这次我也终于把 GIF 的给实现了,效果还是可以了。
但是 GIF 的 disposal 什么的还没有处理,还有一些 extension 也没有处理,interlace 的也没有处理。
#10
RockCarry2008-03-28 16:40
下一步是 JPEGCodec, 不知道 kk4868 还有没有在研究 JPEG.
#11
kk48682008-03-28 16:46
没有找到midi播放的具体代码...
从测试程序上来看,还是采用以前那种用命令行传递参数的方式。来实现播放midi的吗?

[[it] 本帖最后由 kk4868 于 2008-3-28 16:50 编辑 [/it]]
#12
RockCarry2008-03-28 16:49
RGE 目前虽然进展缓慢,但是一切都是按照工程化的方法在进行开发,代码的质量也比较可靠。在开发时,我都是反复思考和尝试,然后再设计架构、接口。虽然做这个不会有任何的金钱利益,但是得到的是更多的乐趣、成就感、知识和经验。

[[it] 本帖最后由 RockCarry 于 2008-3-28 16:52 编辑 [/it]]
#13
kk48682008-03-28 16:53
很久没研究了,现在在写网页游戏。
你的东西比较好用,我就向JIG看齐了,等着用吧,哈哈
JPEG的解码比较麻烦,我数学基础不是太好,写代码还是有些吃力
#14
RockCarry2008-03-28 16:54
midi 是借助了 RME 来播放的。在压缩包的 tools 目录里面有 RME 的源代码。至于基于 DSP 的 midi 播放,还没有时间去研究。让大家失望了,呵呵。
#15
RockCarry2008-03-28 16:56
在 RGE 中,也将 RME 理解为一种外部设备了,就如同 wavedev 将 SoundBlaster 理解为一种外部设备一样。
#16
kk48682008-03-28 16:57
WAV播放没什么可说的,实现方法都差不多。
目前的问题就是中断中使用fread函数问题,会不会导致中断嵌套?
另外,JIG提出来,如果WAV文件采样频率太高的话,文件缓冲会跟不上声音播放效果,出现慢速播放的现象。

[[it] 本帖最后由 kk4868 于 2008-3-28 16:58 编辑 [/it]]
#17
kk48682008-03-28 17:00
SoundBlaster声卡编程简易文档 V0.1
这个好东西你写完了吗?嘿嘿
#18
RockCarry2008-03-28 17:03
赫赫,这个目前还是 V0.1,所以一直都没有敢发布。我前段时间看了下,错别字太多了,哈哈。
#19
kk48682008-03-28 17:11
这个东西不错,收藏啦,哈哈
#20
RockCarry2008-03-28 17:11
那个应该是 CPU 不够用的缘故。XP 下的 SoundBlaster 都是 windows 的 DOS Box 软件模拟实现的,效率很糟糕。我的程序基本上一播放 wave 文件,CPU 的使用都在 90% 以上。
#21
RockCarry2008-03-28 17:14
所以,我估计如果用 SoundBlaster 播放 midi 做背景音乐,效果是不会很好的,我是指在 XP 下。所以,我先借助了 RME 来实现 midi,CPU 使用很小。后面再研究 DSP 的。
#22
ba_wang_mao2008-03-31 08:38
我也来顶起!
1