3d Game Walkman

3d图形渲染,网络引擎 — tonykee's Blog
随笔 - 22, 文章 - 0, 评论 - 111, 引用 - 0
数据加载中……

2008年6月18日

今天找了一个编辑LUA的好东西,你猜猜她是谁?

     摘要: 她是什么编辑器呢?

嘿嘿,很熟悉,但也有点新鲜的东西
用了十年的工具,今天终于看到了新版本
6月份才出的新版本  阅读全文

posted @ 2008-06-18 21:32 李侃 阅读(1465) | 评论 (7)编辑 收藏

2008年6月13日

今天初次试用了一下Ageia Physx物理引擎,感觉也还行,上手比较容易

     摘要: 前阶段用了newton的物理引擎,做到joint联体的那些例子了,基本上都摸索清楚了。
今天晚上索性也来试试physx,有了newton的基础,上手到也算神速。  阅读全文

posted @ 2008-06-13 23:49 李侃 阅读(823) | 评论 (0)编辑 收藏

2008年6月2日

今天试了试newton的NewtonTreeCollisionAdd,发现引擎的bug,似乎还没有解决

     摘要: 发现了newton物理引擎的一个bug,不知道怎么解决  阅读全文

posted @ 2008-06-02 17:08 李侃 阅读(100) | 评论 (5)编辑 收藏

2008年5月30日

今天第一次试了试newton的物理引擎,在directx环境下写了写,竟然一次成功,没想到这么容易就上手了

     摘要: 还以为万事开头难,但有时还并非如此
物理引擎和渲染是没有直接关系的,但考虑到跨平台,几乎所有的物理引擎都选择在GL环境下编写
我担心没学过GL,学引物理擎会产生很大的障碍,对此望而生畏...  阅读全文

posted @ 2008-05-30 11:29 李侃 阅读(1457) | 评论 (4)编辑 收藏

2008年5月27日

能穿透alphatest纹理的shadowmap

     摘要: 这几天加入了shadowmap影子,着实费了点脑子看起来很简单的,可这东西牵扯到很多东西,场景要成像的对象都要统一纳入深度图里面渲染一遍,加了很多渲染方面的组织代码,静态模型,骨骼模型,等等,都要影子,渲染的方法还略有区别...  阅读全文

posted @ 2008-05-27 15:57 李侃 阅读(1208) | 评论 (6)编辑 收藏

2008年5月14日

今天做好了地形纹理混合,准备开始加入物理引擎了

     摘要: 已经完成的功能,高度编辑,模型创建,旋转,平移,缩放的transform
7层纹理混合,1层光照编辑  阅读全文

posted @ 2008-05-14 13:51 李侃 阅读(1460) | 评论 (12)编辑 收藏

2008年4月16日

这断时间比较忙,但闲暇的时候依然奋战,地图编辑器有了进展,今天终于完成了场景对象的拖放

     摘要: 场景编辑器,搞定了物体在空间的拖放,并能用精确数据输入来控制,实现了3dmax那样的效果  阅读全文

posted @ 2008-04-16 21:59 李侃 阅读(1206) | 评论 (1)编辑 收藏

2008年3月22日

场景编辑器今天有了很好的进展,今天完成了地形塌陷和隆起的编辑,很兴奋

     摘要: 我的大地形的顶点的凹凸都可以用可视化的方式进行编辑了,庆祝一下~!!!  阅读全文

posted @ 2008-03-22 23:24 李侃 阅读(1630) | 评论 (10)编辑 收藏

2008年3月18日

晚上查了些资料,总算找到了MFC的游戏主循环,并好好研究了一把

网络和流协议,文件打包,读取,等等一工作基本工作总算是完工了,现在人物可以在我的场景中漫游,人物和人物之间通过网络能相互通讯,都已经实现了,但是回头再看看我的场景,实在是汗颜啊,场景十分单调,之前我是把场景对象放入到一个大的XML文件中的,完全手工来编辑XML,因为没有自己的场景编辑器,唉,一直下不了决心去写啊。

从今天开始,我打算自己自作一个场景编辑器,这可是一个大工程啊,不过应该是很值的,如果能完善,那才真就有引擎的架式了
可能你会问,现在也有很多免费的引擎还自己写?
是啊,我的无限大地形是核心,里面溶入了我太多的心血,很多实现和别人的自然“不完全兼容”了,如今是时候了……

进行了简单的设计之后,初步我打算用MDI窗口来制作场景编辑器,工具,参数调节面板在两旁,中间是D3D窗口
可才开始,就碰到问题了,天哪,MFC的主循环在哪里呢?How about Continuous Updating and Rending in MFC ?

不过功夫不负有心人,总算查到了,不过研究了好一会儿,还好有了结果

那么说到正题,怎么在MFC应用程序里面加入主循环呢,MFC的WinMain可是看不到的哦,消息处理都做了高度封装

其实也是有解决方法的,请看下文:

//你需要重写你的应用程序的Run()方法,把原方法里面的代码统统复制过来下面都是copy的CWinApp::Run()的源码

int CMapEditorApp::Run()
{
 //return CWinApp::Run();
 if (m_pMainWnd == NULL && AfxOleGetUserCtrl())
 {
  // Not launched /Embedding or /Automation, but has no main window!
  TRACE(traceAppMsg, 0, "Warning: m_pMainWnd is NULL in CWinApp::Run - quitting application.\n");
  AfxPostQuitMessage(0);
 }


 ASSERT_VALID(this);
 _AFX_THREAD_STATE* pState = AfxGetThreadState();

 // for tracking the idle time state
 BOOL bIdle = TRUE;
 LONG lIdleCount = 0;

 // acquire and dispatch messages until a WM_QUIT message is received.
 for (;;)
 {
 
 //偷看消息队列,如果没有消息的话,就执行游戏的主循环框架完成渲染的Update
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 while(!::PeekMessage(&(pState->m_msgCur), NULL, NULL, NULL, PM_NOREMOVE))
  {
   //这里就可以放游戏的主循环了
   //GameLoop();
   DBWindowWrite("hello \r\n");
  }
//加入上面这段就搞定了,这个方法里面的其他的代码就不要去动他们的了,否则 ^_^!
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

  // phase1: check to see if we can do idle work,处理线程
  while (bIdle &&
   !::PeekMessage(&(pState->m_msgCur), NULL, NULL, NULL, PM_NOREMOVE))
  {
   // call OnIdle while in bIdle state
   if (!OnIdle(lIdleCount++))
    bIdle = FALSE; // assume "no idle" state
  }
       
  // phase2: pump messages while available
  do
  {
   //windows自己的GetMessage消息处理机制,类似于消息泵,有消息就处理消息
   // pump message, but quit on WM_QUIT,
   if (!PumpMessage())
    return ExitInstance();

   // reset "no idle" state after pumping "normal" message
   //if (IsIdleMessage(&m_msgCur))
   if (IsIdleMessage(&(pState->m_msgCur)))
   {
    bIdle = TRUE;
    lIdleCount = 0;
   }

  } while (::PeekMessage(&(pState->m_msgCur), NULL, NULL, NULL, PM_NOREMOVE));
 }
}



这只是一个初步的开始,MFC可不是一个好东西,这到不算什么,地图编辑器才是最麻烦的东西。
唉~~~

无论如何,现在开工吧!

posted @ 2008-03-18 00:42 李侃 阅读(1567) | 评论 (4)编辑 收藏

2008年3月12日

关于资源包的新的比较完善的想法

     摘要: 关于资源包的新的比较完善的想法,模仿文件或数据库系统内部的数据组织结构,这里只是来谈谈原理和思路,我还没实现  阅读全文

posted @ 2008-03-12 11:58 李侃 阅读(1011) | 评论 (4)编辑 收藏