李锦俊(mybios)的blog

游戏开发 C++ Cocos2d-x OpenGL DirectX 数学 计算机图形学 SQL Server

  C++博客 :: 首页 :: 联系 :: 聚合  :: 管理
  86 Posts :: 0 Stories :: 370 Comments :: 0 Trackbacks

公告

QQ:30743734
EMain:mybios@qq.com

常用链接

留言簿(15)

我参与的团队

最新随笔

搜索

  •  

积分与排名

  • 积分 - 327371
  • 排名 - 58

最新评论

阅读排行榜

评论排行榜

关键在于他的贴图的索引方式。如下所示。明眼人就能看出规律来。
只能说这么多了。公司有保密制度。请见谅!


如果本文对你的开发有所帮助,并且你手头恰好有零钱。

不如打赏我一杯咖啡,鼓励我继续分享优秀的文章。




posted on 2007-08-28 18:57 李锦俊(mybios) 阅读(7697) 评论(18)  编辑 收藏 引用 所属分类: 3D引擎开发

Feedback

# re: 魔兽3贴图方法 2007-08-28 20:07 weed
嗯,跟地牢围攻的思想一样。不过地牢围攻是把地形分割成可重复组装的Patch  回复  更多评论
  

# re: 魔兽3贴图方法 2007-08-28 22:00 李锦俊
@weed
地牢围攻2,下回来玩玩先,呵呵。  回复  更多评论
  

# re: 魔兽3贴图方法 2007-08-28 22:04 李锦俊
@weed
你blog老是打不开
  回复  更多评论
  

# re: 魔兽3贴图方法[未登录] 2007-08-29 19:55 flyman
明眼人,出来一个呀?^_^  回复  更多评论
  

# re: 魔兽3贴图方法 2007-08-30 11:36 LifeAndC
4个字节,用bit做索引?  回复  更多评论
  

# re: 魔兽3贴图方法 2007-09-04 23:52 david
楼主玩的都是高科技!仰望之~  回复  更多评论
  

# re: 魔兽3贴图方法 2007-09-26 16:20 Starriness
大概看懂了~谢谢~  回复  更多评论
  

# re: 魔兽3贴图方法 2007-09-29 14:19 我是我
http://www.cnitblog.com/sword/archive/2007/04/21/26000.aspx

怎么和别人的一样啊?

盗版?  回复  更多评论
  

# re: 魔兽3贴图方法 2007-10-16 16:05 李锦俊
@我是我
等你看懂了再发表评论吧。  回复  更多评论
  

# re: 魔兽3贴图方法 2007-12-18 00:16 ...
呃~~,我的疑问是...这不是跟一般的3D模型贴图的索引方式一样么,都是用ID号传达给模型材质的地址!!什么地方特别了请问???  回复  更多评论
  

# re: 魔兽3贴图方法 2008-04-10 00:10 any
说你有比http://www.cnitblog.com/sword/archive/2007/04/21/26000.aspx
更简单的方法,把人骗到这里来,结果是“公司有保密制度”,这也太狗屎了吧?  回复  更多评论
  

# re: 魔兽3贴图方法 2008-04-11 23:08 any
搜索到一篇公司没有所谓“保密制度”的文章,大家结合着上面的图看,就明白了,DOS时代就被嚼烂的制表方法,还保密个bird。
http://www.chinagcn.com/blog/?uid-145-action-viewspace-itemid-850  回复  更多评论
  

# re: 魔兽3贴图方法 2008-08-28 10:33 contra
我研究了半天搞明白了,楼主保密,我不用保密。算法说明如下:

注意楼主图中0-15索引,这16块对应于16种拼接状态,17-32是用来随机的实心块(当tile等于15的时候使用,来让场景有更多变化)

每块tile顶点位置对应顺序如下(这个是关键):
2 1
4 3

每个顶点要记录图素属性,我们拼接的时候就是改变场景地图中顶点的属性而已。


拼接算法如下:
当前块对应图素图片索引 = (point4属性==''草")<<3|(point3属性==''草")<<2|(point2属性==''草")<<1|(point1属性==''草");
是不是很简单呢?:)

0:0 ->保留块
01:1 ->point1有拼接
10: 2 ->point2有拼接
11:3 ->point1,point2有拼接
100:4 ->point3有拼接
101:5 ->point3,point1有拼接
110:6 ->point3,point2有拼接
111:7 ->point3,point1,point2有拼接
1000:8 ->point4有拼接
1001:9 ->point4,point1有拼接
1010: 10 ->point4,point2 有拼接
1011: 11 ->point1,point2,point4有拼接
1100: 12 ->point4,point3有拼接
1101: 13 ->point4,point3,point1有拼接
1110: 14 ->point2,point3,point4有拼接
1111: 15 ->point1-point4都有拼接

  回复  更多评论
  

# re: 魔兽3贴图方法 2008-09-03 09:15 flipcode
这种方法早用上了
前15块是组合索引图,后15块是装饰块,
war3就是经典!
它的悬厓也是基于这个算法弄出来的,用文件名标识出来  回复  更多评论
  

# re: 魔兽3贴图方法 2008-09-03 09:18 flipcode
推荐一个作得跟war3很象的游戏:<三国争霸>
www.7fgame.com  回复  更多评论
  

# re: 魔兽3贴图方法 2008-09-12 16:39 王一伟
算法无所谓 老不老,楼上觉得别人的东西没意义的大可不必看 没必要卖老

你懂人家不一定懂

博主辛苦弄出来。。给新手看也是意义

(偶就是看了这写了一份,没参考各位的代码,自己写的。)  回复  更多评论
  

# re: 魔兽3贴图方法[未登录] 2009-11-27 23:35 jk
哦,原来是这样,但是,悬崖的文件名又是有什么作用呢?  回复  更多评论
  

# re: 魔兽3贴图方法 2011-10-28 08:19 mc
看着图就觉得和marchingcube原理差不多,后者还更高明些
为什么这种fancy trick也要保密,这种公司成不了大器  回复  更多评论
  


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理