一个免费开源的3D人模制作软件

还是emacs里写blog方便。

之前的网络项目一直卡在资源短缺这块,虽然找了一款开源的地图编辑器来解决了部分的地图问题,但精灵,人物之类的,实在是难找。但现在似乎3D的资源似乎非常多了,至少我看到了很多都是。但我实在弄不清楚那些内容的版权问题,这几天在学习blender,一个开源的3D软件,就像我对道路一样,我总分不清楚那些线线框框是短是长,我常在想,怎么不告诉我某个部分需要多少像素或者几份几毫啊。我曾经想用poser来制作人模,我在刚研究程序的时候研究过一段时间3dsmax,那时候没有自己的电脑,只能用盗版软件,poser非常不错,很简单的就弄出来人模了。在最近研究了一段时间blender,对于blender的方式,或许是习惯造成,我总习惯在右边找一些相关的按钮。对于一个没有美术基础的人,我不知道学习三维软件是否很难,现在暂时先学着吧。今天,突然想着,还是先解决眼前的问题吧,既然poser如此强大,伟大的开源界一定有想办法解决的。就被我找到了目前的makehuman(造人?),先用小水管下下来试试吧,我只希望制作出来的人模面数可以简单的就可以精简就可以了,毕竟,实时渲染讲究的是速度优先。

在看完了一整部的《孩子们都很好》之后,小水管终于完工了。

继续阅读一个免费开源的3D人模制作软件

自己实现内存分配

很早之前,我们就在讨论自己实现内存分配的必要性,既然系统已经实现了内存内存分配,我们为何要多此一举?我们是否可以认为系统的内存分配是高效的?很自然的观点,自己实现内存分配没有系统的高效,我到现在依然保持这样的观点(对于成熟的系统)。我们找了很多理由来说明它的不必要性,却又找了很多理由来说明它的必要性。先看下历史缘由吧(即使在现在依然在进行中):
BREW系统中无法使用高级的C++,自然包括异常(ADS1.2编译器),这样,如果一个很深很深的函数中,某个地方内存分配失败,为了确保程序的正常运行,必须进行检查,告诉用户内存不够了,而我们又不能使用try…catch机制,只能在每个内存分配之后进行检查。这是一种让人烦恼的情况,必须进行解决。
继续阅读自己实现内存分配

BREW中对malloc和free检测内存泄露

大约3到4年前,我刚刚开始对BREW进行深入的了解和开发。面对的都是C代码,里面充斥着MALLOC和FREE的调用,难道他们就不会封装一下吗?问题在于,程序可能不是自己写的,嗯,程序的某个地方,在某个时机可能会产生内存泄露;程序在退出时,系统不会自动释放占用的内存吗?答案是NO,直到关机之前,BREW都不会帮你释放,包括最新的BREW 4.0系统。而kddi对此也进行了非常严格的重视,程序进入之前剩余内存和程序退出之后剩余内存误差在5KB之内。系统本身会造成一些内存浪费(碎片),即使在这种情况下,也要求误差5KB。想象一下,查找一个地方的内存泄露是多么的麻烦。因此,换个角度,是否让程序来帮助我们查找,当然,答案是肯定的,不然,我就是在骗人了。
继续阅读BREW中对malloc和free检测内存泄露