游戏开发论坛

 找回密码
 立即注册
搜索
查看: 9394|回复: 22

翻版Novodex Physics engine

[复制链接]

9

主题

266

帖子

266

积分

中级会员

Rank: 3Rank: 3

积分
266
发表于 2006-6-2 15:55:00 | 显示全部楼层 |阅读模式
闲来无事,想写个物理引擎玩玩.于是就参考Novodex 的接口,猜测其实现思路,实现了Novodex SdK 2.2 中的2个例子.

我现在还没想到好的线性互补算法,当然,还有一堆NOVODEX的东西是我目前所无法去弄清楚的, 所以真实程度,效率和NOVODEX 差很远/
sf_200662155515.jpg

9

主题

266

帖子

266

积分

中级会员

Rank: 3Rank: 3

积分
266
 楼主| 发表于 2006-6-2 15:57:00 | 显示全部楼层

Re: 翻版Novodex Physics engine

约束系统.以及力系.
sf_200662155723.jpg

9

主题

266

帖子

266

积分

中级会员

Rank: 3Rank: 3

积分
266
 楼主| 发表于 2006-6-2 16:04:00 | 显示全部楼层

Re: 翻版Novodex Physics engine

exe

sf_20066216358.rar

320.42 KB, 下载次数:

9

主题

32

帖子

132

积分

注册会员

Rank: 2

积分
132
发表于 2006-6-2 16:21:00 | 显示全部楼层

Re:翻版Novodex Physics engine

我先去补课....然后在来看。.

55

主题

331

帖子

337

积分

中级会员

Rank: 3Rank: 3

积分
337
发表于 2006-6-3 10:09:00 | 显示全部楼层

Re:翻版Novodex Physics engine

真了不起

0

主题

16

帖子

41

积分

注册会员

Rank: 2

积分
41
发表于 2006-6-4 04:09:00 | 显示全部楼层

Re:翻版Novodex Physics engine

真是了不起啊,又一个盗用别人东西说是自己写的人。我就简单得做了一个 dumpbin LthPhysics.dll /all > dump.txt,你猜我看到什么?下面就是我截取的内容,看过ODE源代码的人就知道怎么回事了(虽然下面的东西只是源代码中的错误信息--静态字符串)。完全是盗版所有ODE的东西,我猜测此人以Novodex的接口规范封装了ODE的实现,然后就命名此引擎为LthPhysics了。还好意思说闲来无事,写个物理引擎玩玩!!!

100121C0: 30 1C 00 10 00 00 80 3F 42 61 64 20 61 72 67 75  0......?Bad argu
  100121D0: 6D 65 6E 74 28 73 29 20 28 25 73 3A 25 64 29 00  ment(s) (%s:%d).
  100121E0: 2E 5C 73 72 63 5C 6D 61 73 73 2E 63 70 70 00 00  .\src\mass.cpp..
  100121F0: 63 65 6E 74 65 72 20 6F 66 20 6D 61 73 73 20 69  center of mass i
  10012200: 6E 63 6F 6E 73 69 73 74 65 6E 74 20 77 69 74 68  nconsistent with
  10012210: 20 6D 61 73 73 20 70 61 72 61 6D 65 74 65 72 73   mass parameters
  10012220: 20 28 25 73 3A 25 64 29 00 00 00 00 69 6E 65 72   (%s:%d)....iner
  10012230: 74 69 61 20 6D 75 73 74 20 62 65 20 70 6F 73 69  tia must be posi
  10012240: 74 69 76 65 20 64 65 66 69 6E 69 74 65 20 28 25  tive definite (%
  10012250: 73 3A 25 64 29 00 00 00 6D 61 73 73 20 6D 75 73  s:%d)...mass mus
  10012260: 74 20 62 65 20 3E 20 30 20 28 25 73 3A 25 64 29  t be > 0 (%s:%d)
  10012270: 00 00 00 00 00 00 00 00 00 00 00 3F AB AA AA 3D  ...........?«ªª=
  10012280: DB 0F 49 40 2E 5C 73 72 63 5C 6F 64 65 2E 63 70  Û.I@.\src\ode.cp
  10012290: 70 00 00 00 61 73 73 65 72 74 69 6F 6E 20 22 77  p...assertion "w
  100122A0: 20 26 26 20 6A 22 20 66 61 69 6C 65 64 20 69 6E   && j" failed in
  100122B0: 20 25 73 3A 25 64 00 00 61 73 73 65 72 74 69 6F   %s:%d..assertio
  100122C0: 6E 20 22 77 20 26 26 20 76 74 61 62 6C 65 22 20  n "w && vtable"
  100122D0: 66 61 69 6C 65 64 20 69 6E 20 25 73 3A 25 64 00  failed in %s:%d.
  100122E0: 6A 6F 69 6E 74 20 63 61 6E 20 6E 6F 74 20 62 65  joint can not be
  100122F0: 20 61 74 74 61 63 68 65 64 20 74 6F 20 6A 75 73   attached to jus
  10012300: 74 20 6F 6E 65 20 62 6F 64 79 20 28 25 73 3A 25  t one body (%s:%
  10012310: 64 29 00 00 6A 6F 69 6E 74 20 61 6E 64 20 62 6F  d)..joint and bo
  10012320: 64 69 65 73 20 6D 75 73 74 20 62 65 20 69 6E 20  dies must be in
  10012330: 73 61 6D 65 20 77 6F 72 6C 64 20 28 25 73 3A 25  same world (%s:%
  10012340: 64 29 00 00 63 61 6E 27 74 20 68 61 76 65 20 62  d)..can't have b
  10012350: 6F 64 79 31 3D 3D 62 6F 64 79 32 20 28 25 73 3A  ody1==body2 (%s:
  10012360: 25 64 29 00 62 61 64 20 6A 6F 69 6E 74 20 61 72  %d).bad joint ar
  10012370: 67 75 6D 65 6E 74 20 28 25 73 3A 25 64 29 00 00  gument (%s:%d)..
  10012380: 77 61 72 6E 69 6E 67 3A 20 64 65 73 74 72 6F 79  warning: destroy
  10012390: 69 6E 67 20 77 6F 72 6C 64 20 63 6F 6E 74 61 69  ing world contai
  100123A0: 6E 69 6E 67 20 67 72 6F 75 70 65 64 20 6A 6F 69  ning grouped joi
  100123B0: 6E 74 73 00 73 74 65 70 73 69 7A 65 20 6D 75 73  nts.stepsize mus
  100123C0: 74 20 62 65 20 3E 20 30 20 28 25 73 3A 25 64 29  t be > 0 (%s:%d)
  100123D0: 00 00 00 00 62 61 64 20 77 6F 72 6C 64 20 61 72  ....bad world ar
  100123E0: 67 75 6D 65 6E 74 20 28 25 73 3A 25 64 29 00 00  gument (%s:%d)..
  100123F0: 62 61 64 20 6F 32 20 63 6C 61 73 73 20 6E 75 6D  bad o2 class num
  10012400: 62 65 72 20 28 25 73 3A 25 64 29 00 62 61 64 20  ber (%s:%d).bad
  10012410: 6F 31 20 63 6C 61 73 73 20 6E 75 6D 62 65 72 20  o1 class number
  10012420: 28 25 73 3A 25 64 29 00 63 6F 6C 6C 69 64 65 72  (%s:%d).collider
  10012430: 73 20 61 72 72 61 79 20 6E 6F 74 20 69 6E 69 74  s array not init
  10012440: 69 61 6C 69 7A 65 64 20 28 25 73 3A 25 64 29 00  ialized (%s:%d).
  10012450: 2E 5C 73 72 63 5C 63 6F 6C 6C 69 73 69 6F 6E 5F  .\src\collision_
  10012460: 6B 65 72 6E 65 6C 2E 63 70 70 00 00 69 6E 76 61  kernel.cpp..inva
  10012470: 6C 69 64 20 6F 70 65 72 61 74 69 6F 6E 20 66 6F  lid operation fo
  10012480: 72 20 67 65 6F 6D 20 69 6E 20 6C 6F 63 6B 65 64  r geom in locked
  10012490: 20 73 70 61 63 65 20 28 25 73 3A 25 64 29 00 00   space (%s:%d)..
  100124A0: 67 65 6F 6D 20 6D 75 73 74 20 62 65 20 70 6C 61  geom must be pla
  100124B0: 63 65 61 62 6C 65 20 28 25 73 3A 25 64 29 00 00  ceable (%s:%d)..
  100124C0: 60 3A 00 10 00 0D 01 10 10 33 00 10 2E 5C 73 72  `:.......3...\sr
  100124D0: 63 5C 63 6F 6C 6C 69 73 69 6F 6E 5F 73 74 64 2E  c\collision_std.
  100124E0: 63 70 70 00 60 5E 00 10 30 3B 00 10 10 33 00 10  cpp.`^..0;...3..
  100124F0: 61 72 67 75 6D 65 6E 74 20 6E 6F 74 20 61 20 62  argument not a b
  10012500: 6F 78 20 28 25 73 3A 25 64 29 00 00 60 5E 00 10  ox (%s:%d)..`^..
  10012510: C0 3D 00 10 10 33 00 10 61 72 67 75 6D 65 6E 74  À=...3..argument
  10012520: 20 6E 6F 74 20 61 20 70 6C 61 6E 65 20 28 25 73   not a plane (%s
  10012530: 3A 25 64 29 00 00 00 00 28 6B 6E 4E DB 0F C9 40  :%d)....(knNÛ.É@
  10012540: 00 00 40 40 61 73 73 65 72 74 69 6F 6E 20 22 6F  ..@@assertion "o
  10012550: 32 2D 3E 74 79 70 65 20 3D 3D 20 64 53 70 68 65  2->type == dSphe
  10012560: 72 65 43 6C 61 73 73 22 20 66 61 69 6C 65 64 20  reClass" failed
  10012570: 69 6E 20 25 73 3A 25 64 00 00 00 00 61 73 73 65  in %s:%d....asse
  10012580: 72 74 69 6F 6E 20 22 6F 31 2D 3E 74 79 70 65 20  rtion "o1->type
  10012590: 3D 3D 20 64 53 70 68 65 72 65 43 6C 61 73 73 22  == dSphereClass"
  100125A0: 20 66 61 69 6C 65 64 20 69 6E 20 25 73 3A 25 64   failed in %s:%d
  100125B0: 00 00 00 00 61 73 73 65 72 74 69 6F 6E 20 22 73  ....assertion "s
  100125C0: 6B 69 70 20 3E 3D 20 28 69 6E 74 29 73 69 7A 65  kip >= (int)size
  100125D0: 6F 66 28 64 43 6F 6E 74 61 63 74 47 65 6F 6D 29  of(dContactGeom)
  100125E0: 22 20 66 61 69 6C 65 64 20 69 6E 20 25 73 3A 25  " failed in %s:%
  100125F0: 64 00 00 00 61 73 73 65 72 74 69 6F 6E 20 22 6F  d...assertion "o
  10012600: 32 2D 3E 74 79 70 65 20 3D 3D 20 64 50 6C 61 6E  2->type == dPlan
  10012610: 65 43 6C 61 73 73 22 20 66 61 69 6C 65 64 20 69  eClass" failed i
  10012620: 6E 20 25 73 3A 25 64 00 61 73 73 65 72 74 69 6F  n %s:%d.assertio
  10012630: 6E 20 22 6F 31 2D 3E 74 79 70 65 20 3D 3D 20 64  n "o1->type == d
  10012640: 42 6F 78 43 6C 61 73 73 22 20 66 61 69 6C 65 64  BoxClass" failed
  10012650: 20 69 6E 20 25 73 3A 25 64 00 00 00 61 73 73 65   in %s:%d...asse
  10012660: 72 74 69 6F 6E 20 22 6F 31 2D 3E 74 79 70 65 20  rtion "o1->type
  10012670: 3D 3D 20 64 43 43 79 6C 69 6E 64 65 72 43 6C 61  == dCCylinderCla
  10012680: 73 73 22 20 66 61 69 6C 65 64 20 69 6E 20 25 73  ss" failed in %s
  10012690: 3A 25 64 00 61 73 73 65 72 74 69 6F 6E 20 22 6F  :%d.assertion "o
  100126A0: 32 2D 3E 74 79 70 65 20 3D 3D 20 64 42 6F 78 43  2->type == dBoxC
  100126B0: 6C 61 73 73 22 20 66 61 69 6C 65 64 20 69 6E 20  lass" failed in
  100126C0: 25 73 3A 25 64 00 00 00 AC C5 27 37 61 73 73 65  %s:%d...¬Å'7asse
  100126D0: 72 74 69 6F 6E 20 22 6F 32 2D 3E 74 79 70 65 20  rtion "o2->type
  100126E0: 3D 3D 20 64 43 43 79 6C 69 6E 64 65 72 43 6C 61  == dCCylinderCla
  100126F0: 73 73 22 20 66 61 69 6C 65 64 20 69 6E 20 25 73  ss" failed in %s
  10012700: 3A 25 64 00 00 00 80 BF 61 73 73 65 72 74 69 6F  :%d....¿assertio
  10012710: 6E 20 22 6F 31 2D 3E 74 79 70 65 20 3D 3D 20 64  n "o1->type == d
  10012720: 52 61 79 43 6C 61 73 73 22 20 66 61 69 6C 65 64  RayClass" failed
  10012730: 20 69 6E 20 25 73 3A 25 64 00 00 00 00 00 80 40   in %s:%d......@
  10012740: 66 66 86 3F FF FF 7F FF FF FF 7F 7F 61 73 73 65  ff.?ÿÿ.ÿÿÿ..asse
  10012750: 72 74 69 6F 6E 20 22 28 67 32 2D 3E 67 66 6C 61  rtion "(g2->gfla
  10012760: 67 73 20 26 20 47 45 4F 4D 5F 41 41 42 42 5F 42  gs & GEOM_AABB_B
  10012770: 41 44 29 3D 3D 30 22 20 66 61 69 6C 65 64 20 69  AD)==0" failed i
  10012780: 6E 20 25 73 3A 25 64 00 61 73 73 65 72 74 69 6F  n %s:%d.assertio
  10012790: 6E 20 22 28 67 31 2D 3E 67 66 6C 61 67 73 20 26  n "(g1->gflags &
  100127A0: 20 47 45 4F 4D 5F 41 41 42 42 5F 42 41 44 29 3D   GEOM_AABB_BAD)=
  100127B0: 3D 30 22 20 66 61 69 6C 65 64 20 69 6E 20 25 73  =0" failed in %s
  100127C0: 3A 25 64 00 65 3A 5C 6C 65 74 68 65 5C 65 6E 67  :%d.e:\lethe\eng
  100127D0: 69 6E 65 5C 6C 69 62 6F 64 65 5C 73 72 63 5C 63  ine\libode\src\c
  100127E0: 6F 6C 6C 69 73 69 6F 6E 5F 73 70 61 63 65 5F 69  ollision_space_i
  100127F0: 6E 74 65 72 6E 61 6C 2E 68 00 00 00 69 6E 76 61  nternal.h...inva
  10012800: 6C 69 64 20 6F 70 65 72 61 74 69 6F 6E 20 66 6F  lid operation fo
  10012810: 72 20 6C 6F 63 6B 65 64 20 73 70 61 63 65 20 28  r locked space (
  10012820: 25 73 3A 25 64 29 00 00 2E 5C 73 72 63 5C 63 6F  %s:%d)...\src\co
  10012830: 6C 6C 69 73 69 6F 6E 5F 73 70 61 63 65 2E 63 70  llision_space.cp
  10012840: 70 00 00 00 F0 91 00 10 E0 82 00 10 10 33 00 10  p...ð...à....3..
  10012850: D0 83 00 10 70 84 00 10 20 85 00 10 C0 85 00 10  Ð...p... ...À...
  10012860: 00 0D 01 10 00 0D 01 10 00 0D 01 10 69 6E 64 65  ............inde
  10012870: 78 20 6F 75 74 20 6F 66 20 72 61 6E 67 65 20 28  x out of range (
  10012880: 25 73 3A 25 64 29 00 00 67 65 6F 6D 20 69 73 20  %s:%d)..geom is
  10012890: 61 6C 72 65 61 64 79 20 69 6E 20 61 20 73 70 61  already in a spa
  100128A0: 63 65 20 28 25 73 3A 25 64 29 00 00 6F 62 6A 65  ce (%s:%d)..obje
  100128B0: 63 74 20 69 73 20 6E 6F 74 20 69 6E 20 74 68 69  ct is not in thi
  100128C0: 73 20 73 70 61 63 65 20 28 25 73 3A 25 64 29 00  s space (%s:%d).
  100128D0: 61 73 73 65 72 74 69 6F 6E 20 22 69 20 3E 3D 20  assertion "i >=
  100128E0: 30 20 26 26 20 69 20 3C 20 28 74 65 73 74 65 64  0 && i < (tested
  100128F0: 5F 72 6F 77 73 69 7A 65 2A 6E 29 22 20 66 61 69  _rowsize*n)" fai
  10012900: 6C 65 64 20 69 6E 20 25 73 3A 25 64 00 00 00 00  led in %s:%d....
  10012910: 00 00 00 00 00 00 F0 3F 61 72 67 75 6D 65 6E 74  ......ð?argument
  10012920: 20 6E 6F 74 20 61 20 73 70 61 63 65 20 28 25 73   not a space (%s
  10012930: 3A 25 64 29 00 00 00 00 10 92 00 10 E0 82 00 10  :%d)........à...
  10012940: 10 33 00 10 D0 83 00 10 70 84 00 10 20 85 00 10  .3..Ð...p... ...
  10012950: C0 85 00 10 00 86 00 10 50 86 00 10 D0 86 00 10  À.......P...Ð...
  10012960: 30 92 00 10 E0 82 00 10 10 33 00 10 D0 83 00 10  0...à....3..Ð...
  10012970: 70 84 00 10 20 85 00 10 C0 85 00 10 00 86 00 10  p... ...À.......
  10012980: 20 88 00 10 40 8D 00 10 2E 5C 73 72 63 5C 6D 61   ...@....\src\ma
  10012990: 74 72 69 78 2E 63 70 70 00 00 00 00 F3 04 35 3F  trix.cpp....ó.5?
  100129A0: 0A 00 00 00 0A 25 73 3A 20 00 00 00 0A 25 73 20  .....%s: ....%s
  100129B0: 25 64 3A 20 00 00 00 00 4F 44 45 20 49 4E 54 45  %d: ....ODE INTE
  100129C0: 52 4E 41 4C 20 45 52 52 4F 52 20 25 64 00 00 00  RNAL ERROR %d...
  100129D0: 4F 44 45 20 4D 65 73 73 61 67 65 00 2E 5C 73 72  ODE Message..\sr
  100129E0: 63 5C 72 6F 74 61 74 69 6F 6E 2E 63 70 70 00 00  c\rotation.cpp..
  100129F0: 7A 65 72 6F 20 6C 65 6E 67 74 68 20 76 65 63 74  zero length vect
  10012A00: 6F 72 20 28 25 73 3A 25 64 29 00 00 2E 5C 73 72  or (%s:%d)...\sr
  10012A10: 63 5C 6F 64 65 6D 61 74 68 2E 63 70 70 00 00 00  c\odemath.cpp...
  10012A20: 76 65 63 74 6F 72 20 68 61 73 20 7A 65 72 6F 20  vector has zero
  10012A30: 73 69 7A 65 20 28 25 73 3A 25 64 29 00 00 00 00  size (%s:%d)....
  10012A40: 6E 75 6D 5F 62 79 74 65 73 20 74 6F 6F 20 6C 61  num_bytes too la
  10012A50: 72 67 65 00 DB 0F 49 C0 2E 5C 73 72 63 5C 6A 6F  rge.Û.IÀ.\src\jo
  10012A60: 69 6E 74 2E 63 70 70 00 6A 6F 69 6E 74 20 69 73  int.cpp.joint is
  10012A70: 20 6E 6F 74 20 61 20 73 6C 69 64 65 72 20 28 25   not a slider (%
  10012A80: 73 3A 25 64 29 00 00 00 74 68 69 73 20 73 68 6F  s:%d)...this sho
  10012A90: 75 6C 64 20 6E 65 76 65 72 20 67 65 74 20 63 61  uld never get ca
  10012AA0: 6C 6C 65 64 00 00 00 00 61 73 73 65 72 74 69 6F  lled....assertio
  10012AB0: 6E 20 22 6A 6F 69 6E 74 2D 3E 6E 6F 64 65 5B 31  n "joint->node[1
  10012AC0: 5D 2E 62 6F 64 79 22 20 66 61 69 6C 65 64 20 69  ].body" failed i
  10012AD0: 6E 20 25 73 3A 25 64 00 AB AA 2A 3E 00 00 00 00  n %s:%d.«ª*>....
  10012AE0: 2D 43 1C EB E2 36 1A 3F 75 6E 61 74 74 61 63 68  -C.ëâ6.?unattach
  10012AF0: 65 64 20 6F 72 20 64 69 73 61 62 6C 65 64 20 6A  ed or disabled j
  10012B00: 6F 69 6E 74 20 74 61 67 67 65 64 00 61 74 74 61  oint tagged.atta
  10012B10: 63 68 65 64 20 65 6E 61 62 6C 65 64 20 6A 6F 69  ched enabled joi
  10012B20: 6E 74 20 6E 6F 74 20 74 61 67 67 65 64 00 00 00  nt not tagged...
  10012B30: 65 6E 61 62 6C 65 64 20 62 6F 64 79 20 6E 6F 74  enabled body not
  10012B40: 20 74 61 67 67 65 64 00 64 69 73 61 62 6C 65 64   tagged.disabled
  10012B50: 20 62 6F 64 79 20 74 61 67 67 65 64 00 00 00 00   body tagged....
  10012B60: 61 73 73 65 72 74 69 6F 6E 20 22 73 74 61 63 6B  assertion "stack
  10012B70: 73 69 7A 65 20 3C 3D 20 77 6F 72 6C 64 2D 3E 6E  size <= world->n
  10012B80: 6A 22 20 66 61 69 6C 65 64 20 69 6E 20 25 73 3A  j" failed in %s:
  10012B90: 25 64 00 00 61 73 73 65 72 74 69 6F 6E 20 22 73  %d..assertion "s
  10012BA0: 74 61 63 6B 73 69 7A 65 20 3C 3D 20 77 6F 72 6C  tacksize <= worl
  10012BB0: 64 2D 3E 6E 62 22 20 66 61 69 6C 65 64 20 69 6E  d->nb" failed in
  10012BC0: 20 25 73 3A 25 64 00 00 2E 5C 73 72 63 5C 75 74   %s:%d...\src\ut
  10012BD0: 69 6C 2E 63 70 70 00 00 61 73 73 65 72 74 69 6F  il.cpp..assertio
  10012BE0: 6E 20 22 69 6E 66 6F 5B 69 5D 2E 6D 20 3E 3D 20  n "info.m >=
  10012BF0: 30 20 26 26 20 69 6E 66 6F 5B 69 5D 2E 6D 20 3C  0 && info.m <
  10012C00: 3D 20 36 20 26 26 20 69 6E 66 6F 5B 69 5D 2E 6E  = 6 && info.n
  10012C10: 75 62 20 3E 3D 20 30 20 26 26 20 69 6E 66 6F 5B  ub >= 0 && info[
  10012C20: 69 5D 2E 6E 75 62 20 3C 3D 20 69 6E 66 6F 5B 69  i].nub <= info[i
  10012C30: 5D 2E 6D 22 20 66 61 69 6C 65 64 20 69 6E 20 25  ].m" failed in %
  10012C40: 73 3A 25 64 00 00 00 00 61 73 73 65 72 74 69 6F  s:%d....assertio
  10012C50: 6E 20 22 6A 3D 3D 6D 22 20 66 61 69 6C 65 64 20  n "j==m" failed
  10012C60: 69 6E 20 25 73 3A 25 64 00 00 00 00 2E 5C 73 72  in %s:%d.....\sr
  10012C70: 63 5C 71 75 69 63 6B 73 74 65 70 2E 63 70 70 00  c\quickstep.cpp.
  10012C80: CD CC CC CC CC CC EC 3F 61 73 73 65 72 74 69 6F  ÍÌÌÌÌÌì?assertio
  10012C90: 6E 20 22 6A 62 5F 70 74 72 20 3D 3D 20 6A 62 2B  n "jb_ptr == jb+
  10012CA0: 32 2A 6D 22 20 66 61 69 6C 65 64 20 69 6E 20 25  2*m" failed in %
  10012CB0: 73 3A 25 64 00 00 00 00 00 00 00 00 00 00 F0 41  s:%d..........ðA
  10012CC0: 00 00 00 00 00 00 F0 3D 2E 5C 73 72 63 5C 63 6F  ......ð=.\src\co
  10012CD0: 6C 6C 69 73 69 6F 6E 5F 74 72 61 6E 73 66 6F 72  llision_transfor
  10012CE0: 6D 2E 63 70 70 00 00 00 47 65 6F 6D 54 72 61 6E  m.cpp...GeomTran
  10012CF0: 73 66 6F 72 6D 20 65 6E 63 61 70 73 75 6C 61 74  sform encapsulat
  10012D00: 65 64 20 6F 62 6A 65 63 74 20 6D 75 73 74 20 6E  ed object must n
  10012D10: 6F 74 20 62 65 20 61 74 74 61 63 68 65 64 20 74  ot be attached t
  10012D20: 6F 20 61 20 62 6F 64 79 20 28 25 73 3A 25 64 29  o a body (%s:%d)
  10012D30: 00 00 00 00 00 00 00 00 47 65 6F 6D 54 72 61 6E  ........GeomTran
  10012D40: 73 66 6F 72 6D 20 65 6E 63 61 70 73 75 6C 61 74  sform encapsulat
  10012D50: 65 64 20 6F 62 6A 65 63 74 20 6D 75 73 74 20 6E  ed object must n
  10012D60: 6F 74 20 62 65 20 69 6E 20 61 20 73 70 61 63 65  ot be in a space
  10012D70: 20 28 25 73 3A 25 64 29 00 00 00 00 61 73 73 65   (%s:%d)....asse
  10012D80: 72 74 69 6F 6E 20 22 6F 31 2D 3E 74 79 70 65 20  rtion "o1->type
  10012D90: 3D 3D 20 64 47 65 6F 6D 54 72 61 6E 73 66 6F 72  == dGeomTransfor
  10012DA0: 6D 43 6C 61 73 73 22 20 66 61 69 6C 65 64 20 69  mClass" failed i
  10012DB0: 6E 20 25 73 3A 25 64 00 17 B7 D1 38 00 00 00 00  n %s:%d..·Ñ8....


你这个应该叫做:盗版ODE物理引擎!

0

主题

16

帖子

41

积分

注册会员

Rank: 2

积分
41
发表于 2006-6-4 09:16:00 | 显示全部楼层

Re:翻版Novodex Physics engine

再补充一点,我确实没有在dumpbin里面看到LCP代码,不知道什么原因你还没有把它加进你所谓的LthPhysics引擎。这个算法可是举世皆知的George Dantzig博士发明的,可不是你这个剽窃者自己想出来的!!!

你剽窃的ODE文件列表:(直接从dump结果查出)
mass.cpp
ode.cpp
collision_kernel.cpp
collision_std.cpp
collision_space.cpp
matrix.cpp
rotation.cpp
joint.cpp
odemath.cpp
util.cpp
quickstep.cpp <--- ODE的标志性feature
collision_transform.cpp

应该还有很多没有静态字符串的源文件,比如大名鼎鼎的Opcode碰撞检测系统也应该在你剽窃之列。

最明显的罪证在这里:
e:\lethe\engine\libode\src\collision_space_internal.h

我不是反对参考和借鉴国外优秀的东西,但是如果是你借鉴的,第一,你不应该来炫耀,把别人的东西说成是你自己的;第二,你应该告诉大家你参考或者借用了哪些第三方的东西;第三,为了让你的东西具有说服力,一些理论和源代码还是可以在允许的情况下与大家分享(如果你说你的东西不能对外公布,那你来这里炫耀个屁啊!)

28

主题

110

帖子

110

积分

注册会员

Rank: 2

积分
110
发表于 2006-6-4 12:07:00 | 显示全部楼层

Re:翻版Novodex Physics engine

这年头,学术腐败已经无可救药了.

20

主题

473

帖子

502

积分

高级会员

Rank: 4

积分
502
发表于 2006-6-4 15:29:00 | 显示全部楼层

Re:翻版Novodex Physics engine

做戏作全套。。。。楼主,剽也要有专业精神
你这也太把观众当白痴了  :)

9

主题

266

帖子

266

积分

中级会员

Rank: 3Rank: 3

积分
266
 楼主| 发表于 2006-6-4 15:55:00 | 显示全部楼层

Re:翻版Novodex Physics engine

TO : dejavu
     如果是想剽窃,我不可能会让你看到到这么多信息. 第一个例子完全是ODE都能做出来的. 看看第二个例子.
ODE 的约束系统可以做到这个效果麽? 你用ODE 的约束系统做到锤子哪里来就会出问题(重力和拉力Mixing的影响,在QuickStep下会让Slider约束近乎打破, 如果去掉重力,那么锤子碰撞时候的又会导致锤子飘起来). ODE 不支持Novodex 里面的 PointOnLine 约束.
还有你看来是研究过ODE 的, 那么可以告诉我ODE
mail list 里面你是否收到我发的邮件? 通知 dWorldQuickStep 的bug 的 同时也附带了第二个例子的代码.  你见过别人想剽窃还要对主人说,诶,我偷了你的钱包怎么破了个洞的.
   
  你能完全基于ODE 实现我所做的东西,关于ODE底层,不做任何改动,那么你再来说我剽窃就行了.


   
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-24 21:49

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表