Windows GUI & Game Engine los-lib: 
http://code.google.com/p/los-lib/ 
2009 年 1 月 3 日Los 对象集合库 0.42 Los 对象集合库提供一组 Windows 应用程序开发的对象化类型。 该库遵循 GNU LGPL LICENSE Ver.3. 以进行分发。 该库具有进化的消息映射、命令映射、多线程等模型。它的程序设计界面相当清晰,任何人可以立即使用它来开发高效的 Windows 应用程序。 los::blaze 子库支持 3D 渲染,具有一个简易的 GDI 渲染器以及灵活的 Direct3D 渲染器,支持场景管理,精确碰撞检测,蒙皮网格动画的播放,音频播放线程等内容。

解决方案 »

  1.   

    sungoco2:
     
    好东西,就是编译不过去===================嗯,确实最新发布的代码某些情况下是不能编译通过的,需要修改 std::vector 以及 std::list 的 resize 的其中一个重载成员的值传递为引用传递。void resize(size_type _Newsize, const _Ty& _Val) // 2008.12.12 by Zhipeng Wang之所以没有传达这个信息是因为仅当选择 SSE 增强指令集,该错误才会出现。如果是其他的问题,感兴趣的话可以告知。nevergone:
    做到哪了? 
    好久没看你QQ上线了================经常在线都是隐身的,不过最近可能要少上了,要创作的因素还有很多。一起努力。xbwee:
    进化的消息映射、命令映射、多线程等模型 
    “进化的”是指···=================消息映射以及命令映射使用了传递行为的适配器来压入处理队列,不仅用户可以简单配接,系统执行亦可准确解析参数并传递到有效的过程,因为比 MFC 更灵活易用,且没有 MFC 的映射模型在处理多重继承产生的错误,所以是进化的。多线程从通用句柄派生的内核对象类型出发,直至 UI 线程管理者,以及和执行模块类组合而成的主模块状态,DLL 模块状态,共同构成了应用程序的稳固的生存期,并且不失一致性和易用性,这是需要从代码组织结构和实际应用去体会的。简单的应用方面,可以在音频线程 Audio.h 上得到论证。整个多线程模型完全遵循对象化的法则,只有一个例外,就是全局状态,一般称为单件的东西:_G_Application_Ptr = static_cast<Application*>(this); // 应用程序状态
    _G_ThreadManager_Ptr = static_cast<ThreadManager*>(this); // 专用于消息调度的主 UI 线程
    _G_Module_Ptr = static_cast<Module*>(this); // 执行模块状态
    _G_Instance = ::GetModuleHandle(0);还有一个稍微头痛的概念,Dll 模块依赖于主应用程序模块,所以 DllModule 继承自 Application。
    基于 DllModule 可引用宿主应用程序进程信息以及具有一个不被执行消息循环的 ThreadManager,它实际上具有 Application 的结构,所以我从 Application 派生出新的 DllModule 用法,它的模块对应于当前 DLL 模块信息,应用程序概念则映射到宿主应用程序,并且在 DllModule::OnProcessAttach() 执行 Application::Initialize(0),在 DllModule::OnProcessDetach() 执行 Application::Release(),以强制在 DllModule 创建的窗口的活动期必须位于这个期间(即有窗口状态)。完成上述工作后,任何 DLL 模块均可以创建具有消息路由的位于 DLL 加载宿主线程的窗口。典型的一个应用便是 IE Toolband。
      

  2.   

    pomelowu:好东西马克。。我是不明白这些3d模型是怎么被添加进来然后被引擎渲染的楼主给个简单的教程吧?==================初学渲染的时候写的,很弱,但是基本概念是正确的:http://hi.baidu.com/loserwang/blog/item/edbb411bdefd81f9ae513327.html目前还是以堆代码为主,如果有人有时间写教程或者项目文档那再好不过了。
      

  3.   

    http://hi.baidu.com/loserwang/blog/item/edbb411bdefd81f9ae513327.html 
    楼主的这篇博文看起来不错啊!
      

  4.   

    hnliuxiping:
    再次谢谢关注。有交流才能有进步。======================也感谢你的关注。这里高手如林啊,不过,我不会放弃努力的。
      

  5.   

    没看出界面库的突出特征.拼3D效果看我的博客:
    http://blog.csdn.net/zhucde/archive/2008/12/30/3645190.aspx
      

  6.   

    http://hi.baidu.com/loserwang/blog/item/edbb411bdefd81f9ae513327.html 
    这篇文章文采很好啊(技术内容我几乎略过,因为不太懂)!
      

  7.   

    楼上的,该文有误导的嫌疑,如果想要了解真切的渲染技术有很多书籍可以参考的。
    所以我建议感兴趣的新进者抱着玩笑的态度掠过便可,倒是提供的源码部分有适当的良好技巧可以借鉴。zhucde:没看出界面库的突出特征. 拼3D效果看我的博客: 
    http://blog.csdn.net/zhucde/archive/2008/12/30/3645190.aspx===========================这份代码是较早为了编写界面乃至图形程序时遇到阻碍而发起的,从较为顺利的进展来看这种想法是可行的,并一开始就打算推荐给同样带有类似困惑的朋友。可以说是初学者专为初学者提倡的一种设计方案,并不是对每个人都有帮助。
      

  8.   

    简单看了一下这个库,写的相当不错,代码很清爽,楼主C++的功力不俗啊,加油,继续完善吧。另外,演示的DEMO还有点bug,人物会被卡住。
      

  9.   


    PS: 
    我的目标是 ----> ^_^
      

  10.   

    顶,强悍。不过楼主能不能问你一个问题:你这个库跟OpenGL和DirectX是什么关系?你是不是在重新发明一个轮子啊?
    当然就算你是在做重复的事情也已经很强了。
      

  11.   

    superdiablo:顶,强悍。不过楼主能不能问你一个问题:你这个库跟OpenGL和DirectX是什么关系?你是不是在重新发明一个轮子啊? 
    当然就算你是在做重复的事情也已经很强了。=================================如果你对 C++ 和 Win32 相当熟悉,但是又不想在一些界面库上消耗时间,甚至觉得即使使用目前的一些界面库等程序库也不能有自信地设计应用程序,那么借鉴我设计的框架十分有好处的。也可以直接用它,但是对于我来说,这才是个起点而已。确实少量包装了 DirectX 等图形 API 并且能进行有限的 3D 渲染,但是它不是一个类似 Direct3D 以及 OpenGL 的基础图形 API。因为其他事务,有一段时间(可能不会超出半年)不再更新这套程序库,但并不表示它已经完善,相反,我会在合适时机再完善它。并且随着其他任务的需求,这套程序库也会得到相应地扩展——我将用进一步的需求来完善它。如果有朋友对我的工作感兴趣或者觉得失望,欢迎和我取得联系:loserwang (a) gmail.com
      

  12.   

    强啊楼主
    能发给我程序的代码吗
    我想研究下
    [email protected]