From abf1d49a1756fb0217862f829b1ec7877a59eaf4 Mon Sep 17 00:00:00 2001 From: soniccat Date: Sat, 27 Mar 2010 16:05:38 +0300 Subject: [PATCH] investigating in bullet ccd, add correspond sample, some library imporve --- BlenderWork/cameras/Camera | 10 +- BlenderWork/colisionTestt.blend | Bin 0 -> 299680 bytes BlenderWork/meshes/Plane.001 | 93 -- src/3D/SEMesh.cpp | 33 + src/3D/SEMesh.h | 5 +- src/Objects/SEPhysicObject.cpp | 5 + src/Objects/SEPhysicObject.h | 1 + src/Objects/SEPhysicWorld.cpp | 28 + src/Objects/SEPhysicWorld.h | 2 + vs/GLUT_Window_Template.suo | Bin 161792 -> 168960 bytes vs/Lesson1.cpp | 158 +- vs/objects/meshes/Plane | 910 ------------ vs/{objects => sample1}/cameras/Camera | 0 vs/{objects => sample1}/images/ground1.jpg | Bin vs/{objects => sample1}/images/ground2.jpg | Bin vs/{boxObject => sample1}/images/test.jpg | Bin .../materials/Material.002 | 0 vs/{objects => sample1}/materials/highGround | 0 vs/{objects => sample1}/materials/lowGround | 0 vs/{boxObject => sample1}/meshes/Plane | 0 vs/{objects => sample1}/meshes/Plane.001 | 0 vs/sample2/cameras/Camera | 5 + vs/sample2/images/ground1.jpg | Bin 0 -> 36321 bytes vs/{objects => sample2}/images/test.jpg | Bin vs/sample2/materials/Material | 6 + .../materials/Material.001} | 2 +- vs/sample2/meshes/Plane | 30 + vs/sample2/meshes/Wall | 92 ++ vs/sample2/meshes/Washer | 1290 +++++++++++++++++ 29 files changed, 1654 insertions(+), 1016 deletions(-) create mode 100644 BlenderWork/colisionTestt.blend delete mode 100755 BlenderWork/meshes/Plane.001 delete mode 100644 vs/objects/meshes/Plane rename vs/{objects => sample1}/cameras/Camera (100%) rename vs/{objects => sample1}/images/ground1.jpg (100%) rename vs/{objects => sample1}/images/ground2.jpg (100%) rename vs/{boxObject => sample1}/images/test.jpg (100%) rename vs/{boxObject => sample1}/materials/Material.002 (100%) rename vs/{objects => sample1}/materials/highGround (100%) rename vs/{objects => sample1}/materials/lowGround (100%) rename vs/{boxObject => sample1}/meshes/Plane (100%) rename vs/{objects => sample1}/meshes/Plane.001 (100%) mode change 100755 => 100644 create mode 100644 vs/sample2/cameras/Camera create mode 100644 vs/sample2/images/ground1.jpg rename vs/{objects => sample2}/images/test.jpg (100%) create mode 100644 vs/sample2/materials/Material rename vs/{objects/materials/Material.002 => sample2/materials/Material.001} (75%) create mode 100644 vs/sample2/meshes/Plane create mode 100644 vs/sample2/meshes/Wall create mode 100644 vs/sample2/meshes/Washer diff --git a/BlenderWork/cameras/Camera b/BlenderWork/cameras/Camera index 456ae7d..2990723 100755 --- a/BlenderWork/cameras/Camera +++ b/BlenderWork/cameras/Camera @@ -1,5 +1,5 @@ -type Camera -name Camera -pos -7.481132 5.343665 -6.507640 -see -6.826270 4.898420 -5.896974 -end +type Camera +name Camera +pos -12.485068 4.323415 -24.932487 +see -11.830207 3.878170 -24.321821 +end diff --git a/BlenderWork/colisionTestt.blend b/BlenderWork/colisionTestt.blend new file mode 100644 index 0000000000000000000000000000000000000000..29432b9e0ba073e1b86408e4236a912503823242 GIT binary patch literal 299680 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 literal 0 HcmV?d00001 diff --git a/BlenderWork/meshes/Plane.001 b/BlenderWork/meshes/Plane.001 deleted file mode 100755 index 0a10f16..0000000 --- a/BlenderWork/meshes/Plane.001 +++ /dev/null @@ -1,93 +0,0 @@ -type Mesh -name Plane.001 -vertexCount 36 -vert -20.433050 1.000000 21.633966 -vert -20.433041 -1.000000 21.633976 -vert 20.433037 1.000000 21.633976 -vert -20.433041 -1.000000 21.633976 -vert 20.433031 -1.000000 21.633984 -vert 20.433037 1.000000 21.633976 -vert 20.433043 -1.000000 -21.633970 -vert 20.433048 1.000000 -21.633966 -vert 20.433037 1.000000 21.633976 -vert 20.433043 -1.000000 -21.633970 -vert 20.433037 1.000000 21.633976 -vert 20.433031 -1.000000 21.633984 -vert -20.433041 -1.000000 -21.633976 -vert -20.433027 1.000000 -21.633987 -vert 20.433043 -1.000000 -21.633970 -vert -20.433027 1.000000 -21.633987 -vert 20.433048 1.000000 -21.633966 -vert 20.433043 -1.000000 -21.633970 -vert -20.433041 -1.000000 21.633976 -vert -20.433050 1.000000 21.633966 -vert -20.433041 -1.000000 -21.633976 -vert -20.433050 1.000000 21.633966 -vert -20.433027 1.000000 -21.633987 -vert -20.433041 -1.000000 -21.633976 -vert -20.433050 1.000000 21.633966 -vert 20.433037 1.000000 21.633976 -vert 20.433048 1.000000 -21.633966 -vert -20.433050 1.000000 21.633966 -vert 20.433048 1.000000 -21.633966 -vert -20.433027 1.000000 -21.633987 -vert -20.433041 -1.000000 21.633976 -vert -20.433041 -1.000000 -21.633976 -vert 20.433043 -1.000000 -21.633970 -vert -20.433041 -1.000000 21.633976 -vert 20.433043 -1.000000 -21.633970 -vert 20.433031 -1.000000 21.633984 - -norm -0.000000 0.000005 1.000000 -norm -0.000000 0.000005 1.000000 -norm -0.000000 0.000005 1.000000 -norm -0.000000 0.000004 1.000000 -norm -0.000000 0.000004 1.000000 -norm -0.000000 0.000004 1.000000 -norm 1.000000 -0.000003 0.000000 -norm 1.000000 -0.000003 0.000000 -norm 1.000000 -0.000003 0.000000 -norm 1.000000 -0.000003 0.000000 -norm 1.000000 -0.000003 0.000000 -norm 1.000000 -0.000003 0.000000 -norm 0.000000 -0.000006 -1.000000 -norm 0.000000 -0.000006 -1.000000 -norm 0.000000 -0.000006 -1.000000 -norm 0.000001 0.000002 -1.000000 -norm 0.000001 0.000002 -1.000000 -norm 0.000001 0.000002 -1.000000 -norm -1.000000 -0.000005 0.000000 -norm -1.000000 -0.000005 0.000000 -norm -1.000000 -0.000005 0.000000 -norm -1.000000 0.000007 -0.000001 -norm -1.000000 0.000007 -0.000001 -norm -1.000000 0.000007 -0.000001 -norm 0.000000 1.000000 0.000000 -norm 0.000000 1.000000 0.000000 -norm 0.000000 1.000000 0.000000 -norm -0.000000 1.000000 -0.000000 -norm -0.000000 1.000000 -0.000000 -norm -0.000000 1.000000 -0.000000 -norm -0.000000 -1.000000 0.000000 -norm -0.000000 -1.000000 0.000000 -norm -0.000000 -1.000000 0.000000 -norm -0.000000 -1.000000 -0.000000 -norm -0.000000 -1.000000 -0.000000 -norm -0.000000 -1.000000 -0.000000 -vertexGroup Group -vertexIndexCount 12 -face 0 1 2 -face 3 4 5 -face 6 7 8 -face 9 10 11 -face 12 13 14 -face 15 16 17 -face 18 19 20 -face 21 22 23 -face 24 25 26 -face 27 28 29 -face 30 31 32 -face 33 34 35 -material Material -end -end diff --git a/src/3D/SEMesh.cpp b/src/3D/SEMesh.cpp index a7c81d9..1ecae5a 100644 --- a/src/3D/SEMesh.cpp +++ b/src/3D/SEMesh.cpp @@ -188,4 +188,37 @@ void SEMesh::GetTriangleMesh( btTriangleMeshPtr triangleMesh ) ++start; } +} + +btBoxShapePtr SEMesh::GetBoxShape( ) +{ + float minX = FLT_MAX, maxX = FLT_MIN; + float minY = FLT_MAX, maxY = FLT_MIN; + float minZ = FLT_MAX, maxZ = FLT_MIN; + + float* vertexArray = mVertexArray.get(); + for( int i=0; i vertexArray[i] ) minX = vertexArray[i]; + if( maxX < vertexArray[i] ) maxX = vertexArray[i]; + + if( minY > vertexArray[i+1] ) minY = vertexArray[i+1]; + if( maxY < vertexArray[i+1] ) maxY = vertexArray[i+1]; + + if( minZ > vertexArray[i+2] ) minZ = vertexArray[i+2]; + if( maxZ < vertexArray[i+2] ) maxZ = vertexArray[i+2]; + } + + btVector3 vec = btVector3( (maxX - minX)/2.0f, + (maxY - minY)/2.0f, + (maxZ - minZ)/2.0f ); + + /*if( vec.x() < 0.1 ) + vec.setX(0.1f); + if( vec.y() < 0.1 ) + vec.setY(0.1f); + if( vec.z() < 0.1 ) + vec.setZ(0.1f);*/ + + return btBoxShapePtr( SENewObject( vec ) ); } \ No newline at end of file diff --git a/src/3D/SEMesh.h b/src/3D/SEMesh.h index 40c45bb..05bb48f 100644 --- a/src/3D/SEMesh.h +++ b/src/3D/SEMesh.h @@ -21,7 +21,7 @@ typedef shared_array SEUVNativeArrayPtr; typedef shared_ptr btTriangleMeshPtr; typedef shared_ptr btConvexHullShapePtr; - +typedef shared_ptr btBoxShapePtr; class SEMesh: public SESceneLoaderDelegate { @@ -32,7 +32,7 @@ class SEMesh: public SESceneLoaderDelegate SENormalNativeArrayPtr mNormalArray; SEUVNativeArrayPtr mUVArray; - SEVertexGroupArray mVertexGroupArray; + SEVertexGroupArray mVertexGroupArray; public: SEMesh(void); @@ -56,6 +56,7 @@ class SEMesh: public SESceneLoaderDelegate void GetTriangleMesh( btTriangleMeshPtr trianlgeShape ); void GetConvexHullShape( ); + btBoxShapePtr GetBoxShape( ); }; #endif SEMesh_H diff --git a/src/Objects/SEPhysicObject.cpp b/src/Objects/SEPhysicObject.cpp index c938914..cc80b84 100644 --- a/src/Objects/SEPhysicObject.cpp +++ b/src/Objects/SEPhysicObject.cpp @@ -54,4 +54,9 @@ void SEPhysicObject::Draw() btRigidBodyPtr SEPhysicObject::rigidBody() { return mRigidBody; +} + +const SEString& SEPhysicObject::name() +{ + return mMesh->name(); } \ No newline at end of file diff --git a/src/Objects/SEPhysicObject.h b/src/Objects/SEPhysicObject.h index 52520a3..4b548a3 100644 --- a/src/Objects/SEPhysicObject.h +++ b/src/Objects/SEPhysicObject.h @@ -44,6 +44,7 @@ class SEPhysicObject: public SEObjectInterface virtual void Draw(); btRigidBodyPtr rigidBody(); SEMeshPtr mesh(); + const SEString& name(); }; diff --git a/src/Objects/SEPhysicWorld.cpp b/src/Objects/SEPhysicWorld.cpp index 866a954..99ec34a 100644 --- a/src/Objects/SEPhysicWorld.cpp +++ b/src/Objects/SEPhysicWorld.cpp @@ -35,6 +35,17 @@ void SEPhysicWorld::InitDiscreteDynamicsWorld( btDispatcherPtr dispatcher, btBro mWorld = btDynamicsWorldPtr( SENewObject( mDispatcher.get(), mBroadphaseInterface.get(), mConstraintSolver.get(), mCollisionConfiguration.get() ) ); } +void SEPhysicWorld::InitContinuousDynamicsWorld( btDispatcherPtr dispatcher, btBroadphaseInterfacePtr broadphaseInterface, btConstraintSolverPtr constraintSolver, btCollisionConfigurationPtr collisionConfiguration ) +{ + mCollisionConfiguration = collisionConfiguration; + mBroadphaseInterface = broadphaseInterface; + mDispatcher = dispatcher; + mConstraintSolver = constraintSolver; + + mWorld = btDynamicsWorldPtr( SENewObject( mDispatcher.get(), mBroadphaseInterface.get(), mConstraintSolver.get(), mCollisionConfiguration.get() ) ); + +} + btDynamicsWorldPtr SEPhysicWorld::world() { return mWorld; @@ -67,4 +78,21 @@ void SEPhysicWorld::RemoveObjects() } mPhysicObjectArray.clear(); +} + +SEPhysicObjectPtr SEPhysicWorld::GetObject(const char* name) +{ + SEPhysicObjectArray::iterator start = mPhysicObjectArray.begin(); + SEPhysicObjectArray::iterator end = mPhysicObjectArray.end(); + + while(start != end) + { + if( (*start)->name() == name ) + return *start; + + ++start; + } + + SEAssert(false, "Physic object not found"); + return SEPhysicObjectPtr(); } \ No newline at end of file diff --git a/src/Objects/SEPhysicWorld.h b/src/Objects/SEPhysicWorld.h index f6d78ec..4407ca8 100644 --- a/src/Objects/SEPhysicWorld.h +++ b/src/Objects/SEPhysicWorld.h @@ -35,6 +35,7 @@ class SEPhysicWorld static SEPhysicWorldPtr sharedInstance(); void InitDiscreteDynamicsWorld( btDispatcherPtr dispatcher, btBroadphaseInterfacePtr broadphaseInterface, btConstraintSolverPtr constraintSolver, btCollisionConfigurationPtr collisionConfiguration ); + void InitContinuousDynamicsWorld( btDispatcherPtr dispatcher, btBroadphaseInterfacePtr broadphaseInterface, btConstraintSolverPtr constraintSolver, btCollisionConfigurationPtr collisionConfiguration ); btDynamicsWorldPtr world(); @@ -42,6 +43,7 @@ class SEPhysicWorld void AddObject( SEPhysicObjectPtr object); void RemoveObjects(); + SEPhysicObjectPtr GetObject(const char* name); }; diff --git a/vs/GLUT_Window_Template.suo b/vs/GLUT_Window_Template.suo index 5445eb89970541dcf4d28dfd05ea5995a2a25a27..3e0f367d51c6294a910b3280458d367c3f01ca92 100644 GIT binary patch delta 4490 zcmeHKe^AuN72mfUaQq1J<2VTd9-tU0p8S>qhC?t#OzZihwo&qfh^bnBSuqG>atFo6 zN^8Zf+38HD5<8>)H51KsxU~HTBk5$)#_FWnN*&8|Qni_;v2EI^os9JJ?)I)HIwQ>V z&o1-1ef!zBZ+G9mef!0GE6)49_|xr{BylF;$#1{&Hbn^`T-~bQvPPYAmZ)Nj#rH4E zO&QY%enj}L$3B%~T>yC+MJKP7kNA2D4o7?D2_hjXc`yJ`yz|5I)DQ3cWt#b=XjcOT zGx#{P=L5DGd=}b8K;{fSAMH;7GwrAN28!OG7~)0Q)W!5P?N}=_RFBhbO@n%Pt=#Is_T*ejoqRU7M2I>-0kpBf!hFZf8;^@0`02+dnJ-Tj`piS zhCVw?OX89sJ`5ysGcB97xkQdgL7R_F=)VrrI-hIBxTKY8plqQ&)F~ZtiRj@lN!3?| zDLI_owJnqdTQMi&1aV#J{Rr1NEUMY zZm(PyODSPm^{jSBUx(%SVJdDNniIS5qt1M{RZlsoz&G^R3-!_B3GdA*HC1O*#c|dr zzXb(e9WRZej*pz3mSbuMYUY}NJRlq3C}fVuECP7^Vt~0AAQxD|(5`m5R2_C%eWwq) z=hG!0jjnw@D-;!W#L#>o19%vC-Xes5hn>1pQhFio1Nwk|pw9oNCFGBe+ZipyF5r&; z`^#u|IyLLv6|_3miHH*7*UB@tK)GM3((W9x`Cn|HQp?FEN>X`xgFd~S;#G04?UZ9P zMN`1_x%awWh<9PAQmn>pZ4r(B>8(VGD)oa@UAvVg^k@UMDeu#EfBz0TZPBmwN~ho1 zNgK%%*gF;$@DGOz-+1;1`+;vVhsrX5Io5Lm3jq#Z<~9LU0CSuvLV7ijGk}$bW7`b? z$5*4_0y&2bNMLiA6k?0vS`3$px)tCbkea{A#eE+YUh_!z+4 zLx2XjG=T`3Sbu@iwzG*YGj30)3*0`#?T_FFj67s&UTy0Pj_s`h$7R^`;T~fu&l8|d znXdDpE^rqi^J?FX;C^GcD-ql^!%anSe>B_;!|^fv*~lN5IvyPESTK-6Bzu*WxqJvk z&IJN_qDA!L%sNrGA#;2ws1Ve`gTs2YGVJGrHOmr4YnLTpyvael4^x^=sJmgMOMF3S zZv|EAm{OUf-m6RY@T0)vIGXbSzWoINbL>QpZstPK&Uv#O$OkHbkRHE_Jbs1YSnpAQ zqq@#;Y|jPoEvN@Dwngv))&u+yZU~Zri8nva``ld!>FzzKw6k_~d;@wMv*SdZ=P z1yKB+uTkR)PPG1y&QYRG7Y@*6eJhC^e#dV)@+WEHk)@RwRSs~{sxb8m)Sm>ZO}mEc zk=C@MTOF1v$Rn*+PgEzE*mUhL+_m#H`(^%y*4|(|7 zU{GKS9@PB4djaNn3j+XW=JfI=z=q!fm}5V_4Y2+%0p{4B<3J?Glbi>5k_!OqF?SVU?i#=x%fA<^ zf`>b0NLKsv~PL11TTwR>$;icOk&qHlD9KVIBkhwSv z$2ab00S2!a3B5E{UeUkml8OE#hs>grc~a`UN_j;8G*>>Ra}W|bIiCu2@gn)}lLa!- zW9*5=5Zo}tVZxjR;LwOg{ixx13w4m$hc3hM7U~VR%5dyQ4k0d_p^PY+A@Ceq3S5BB^Wf>J zN_X3(TOa%?9pJ5{@-jB)e{@mWg1fTweOBIOm+N`p-r#4;trmN5Fm=d+!jjV9vS;T7 zY78!;s!JZzNAf9YZce18h~dwiFuQQF^D2^axK;2wH(ux)oI*FD|x^|F}2e~jX0;D*e>k>)@Hag}_4asrN=V^sKWbmFeg`YMqt?63p+LMIN7 z9ai+;7yVGnVb-GXtb4VqiR^O>-Tz1aJvov77m**C2{ZJRT{Z_oFybOi SMrGb7r{0_BXn**GfBYW=F7{||ZxGklE3X~SLgX#+SMlJLOP#mqGtFpx|8g+(Dak_zVics+-Itv;# z%1}5P=gSg@E)2I1f=#${S)vTwn6EIW(`|_?ahv<%{9w$?7TN!nm-ub$x%u7m-2Zvb z={?Uq&uO^b7=9Gju|=6!b@T&oO8aGsVX#`UM_DR*j5)%oD3QOE2VCC-*%A}^E%uEx z!wc|-U~+OPpBV{dHtOCcg7zRfIGLr#w31N^Y2ZxLHS0KbocbD$N8{M1H=yvS9=++A zfoVNAq1^(xP_KRFPWtoN!y!%A<2ez`5lvo8Bs{l=qAwS61Vyjn)HR~(XYtfgsxxVU zVjv}1+Ddt9hE{l|K;($CP+0(nZNs&N)vz*F!8WmSwh{MgtpjFaq38N*puaiXfhmXFhh^Xx zEt*t_kSYw?%3fj#%qXdwrik?!cJZZWuG+Vc6Gi-a7r1Oe zwvMqW@U=v%6=teROw`<6=-LhTfNu4VEK+rGnjSUvOg3##kt-|7Cw*yTSFaaSt|Cq} z2Wge0rBo{VPsXcj0@R+M23L_yCoUe!myQZ*Z!4pCvFKhv3=UdFc%4}dR#J!3++&o+ zFkS81N_8X}f3eEb@A9%)9xqbF#+%x|o4HZ-SJ8z@Vnd}(eG(=kN#Dz)$O{L#UK;OU z{(ADqs{ST!Bbian*N*$Msnz^CwtALWGv6fs@s`j+QRhleFJT4DgW@Q_mBWfz3G*{A z+s7Q(ay!`yb$n7>X!r3AkgiY&Mt}RdC#mXlAsjBfbr-mKi3RnloBl{9+LVm>Z0a z_l)@YXrr-cwRvZa=yS((l)O6R;=1Xte}#AJ0lnZ7_!@iz`oOo~GPnY+f@|P9xB>dX z0Qe5v1mA;OK>MOUXl+yZ>8@40Zvt7yDq4M9&f|Gp1lGpY*Fwxp+eZpTXyl^v;IdJsXra! zuh4k6iF)M#Upd}rvkcVn&);D#mXDelCL8sV%bXw^6_kSt%7K@UD-UWm7`~Q76%W(` z#N?vJ7|Y3Zxjo(jMEQ{jHWfI)^Z!!`V!&%LJ%g&(HUn(5S2}BWq3o{Z0TGN?#mB85 zwsg|oIohc|Je3yg1lqXK%{HnGetObject( "Washer" ); + + btVector3 impulse( 0.1,0.1,1 ); + impulse.normalize(); + + float powerValue = 18; + btVector3 resultVector = powerValue*impulse; + + washer->rigidBody()->activate(); + + washer->rigidBody()->getWorldTransform().setOrigin( btVector3(-2,5,-5) ); + washer->rigidBody()->setLinearVelocity( btVector3(0,0,0) ); + //washer->rigidBody()->setLinearVelocity( btVector3(0,0,0) ); + washer->rigidBody()->applyImpulse(resultVector, btVector3(0,0,0)); + } + if(button == SETouchButtonRight) rightButtonPressed = true; @@ -489,7 +507,8 @@ BOOL CreateGLWindow(char* title, int width, int height, int bits, bool fullscree SETexturePtr objectTexture; CameraControllerPtr cameraController; -void LoadScene() +//land with falling boxes - ground.blend +void LoadScene1() { //physic world btCollisionConfigurationPtr collisionConfiguration = btCollisionConfigurationPtr( SENewObject() ); @@ -503,7 +522,7 @@ void LoadScene() SEPath currentPath; SEPath::CurrentDirectory( ¤tPath ); - currentPath.AppendName( "objects" ); + currentPath.AppendName( "sample1" ); SESceneLoader loader; loader.Load( ¤tPath ); @@ -521,7 +540,7 @@ void LoadScene() //btTriangleVertexArrayPtr vertexArray = mesh->CreateTriangleIndexVertexArray(); - btCollisionShapePtr boxShape = btCollisionShapePtr( SENewObject(btVector3(btScalar(1.0),btScalar(1.0),btScalar(1.0))) ); + btCollisionShapePtr boxShape = cubeMesh->GetBoxShape(); //btCollisionShapePtr( SENewObject(btVector3(btScalar(1.0),btScalar(1.0),btScalar(1.0))) ); btBvhTriangleMeshShapePtr triangleShape = btBvhTriangleMeshShapePtr( SENewObject( triangleMesh.get(), true, true ) ); @@ -552,10 +571,10 @@ void LoadScene() groundTransform.setOrigin(btVector3(0.0,10,-30.0)); groundTransform.setRotation( btQuaternion() ); - //int y=10; int z=1; + int y=10; //for (int z=0;z<5;++z) - for (int y=10;y<15;++y) + //for (int y=10;y<15;++y) for (int i=0;i<5;++i) { groundTransform.setOrigin(btVector3(i*5.0,y*10,z*5.0)); @@ -577,6 +596,135 @@ void LoadScene() } } +//continuous collision test - colisionTestt.blend +void LoadScene2() +{ + //physic world + btCollisionConfigurationPtr collisionConfiguration = btCollisionConfigurationPtr( SENewObject() ); + btDispatcherPtr dispatcher = btDispatcherPtr ( SENewObject(collisionConfiguration.get()) ); + btBroadphaseInterfacePtr overlappingPairCache = btBroadphaseInterfacePtr( SENewObject() ); + btConstraintSolverPtr solver = btConstraintSolverPtr( SENewObject() ); + + //InitContinuousDynamicsWorld InitDiscreteDynamicsWorld + SEPhysicWorld::sharedInstance()->InitDiscreteDynamicsWorld( dispatcher ,overlappingPairCache, solver, collisionConfiguration ); + SEPhysicWorld::sharedInstance()->world()->setGravity(btVector3(0,-9,0)); + SEPhysicWorld::sharedInstance()->world()->getDispatchInfo().m_enableSPU = true; + + SEPath currentPath; + SEPath::CurrentDirectory( ¤tPath ); + currentPath.AppendName( "sample2" ); + + SESceneLoader loader; + loader.Load( ¤tPath ); + + //camera + cameraController = CameraControllerPtr( SENewObject() ); + SETouchController::sharedInstance()->AddDelegate( cameraController ); + + ///create a few basic rigid bodies + SEMeshPtr planeMesh = SEObjectStore::sharedInstance()->GetMesh( "Plane" ); + SEMeshPtr washerMesh = SEObjectStore::sharedInstance()->GetMesh( "Washer" ); + SEMeshPtr wallMesh = SEObjectStore::sharedInstance()->GetMesh( "Wall" ); + + //btTriangleMeshPtr triangleMesh = btTriangleMeshPtr( SENewObject() ); + //planeMesh->GetTriangleMesh( triangleMesh ); + + //btTriangleVertexArrayPtr vertexArray = mesh->CreateTriangleIndexVertexArray(); + + btCollisionShapePtr planeShape = planeMesh->GetBoxShape();//btCollisionShapePtr( SENewObject(btVector3(btScalar(1.0),btScalar(1.0),btScalar(1.0))) ); + btCollisionShapePtr washerShape = washerMesh->GetBoxShape(); + btCollisionShapePtr wallShape = wallMesh->GetBoxShape(); + + //planeShape->setMargin(gCollisionMargin); + washerShape->setMargin(0.05f); + //wallShape->setMargin(gCollisionMargin); + + //btBvhTriangleMeshShapePtr triangleShape = btBvhTriangleMeshShapePtr( SENewObject( triangleMesh.get(), true, true ) ); + + + btTransform groundTransform; + groundTransform.setIdentity(); + groundTransform.setOrigin(btVector3(0,0,0)); + //groundTransform.setRotation( btQuaternion( -DEGREES_TO_RADIANS(180) ,0, 0,1) ); + + { + btScalar mass(0.0); + + //rigidbody is dynamic if and only if mass is non zero, otherwise static + bool isDynamic = (mass != 0.f); + + btVector3 localInertia(0,0,0); + if (isDynamic) + planeShape->calculateLocalInertia(mass,localInertia); + + //using motionstate is recommended, it provides interpolation capabilities, and only synchronizes 'active' objects + btDefaultMotionStatePtr myMotionState = btDefaultMotionStatePtr( SENewObject(groundTransform) ); + + SEPhysicObjectPtr physicObject = SEPhysicObjectPtr(SENewObject()); + physicObject->Init( mass, planeMesh, myMotionState, planeShape,localInertia ); + + SEPhysicWorld::sharedInstance()->AddObject( physicObject ); + } + + groundTransform.setOrigin(btVector3(0,0,10)); + + { + btScalar mass(0.0); + + //rigidbody is dynamic if and only if mass is non zero, otherwise static + bool isDynamic = (mass != 0.f); + + btVector3 localInertia(0,0,0); + if (isDynamic) + wallShape->calculateLocalInertia(mass,localInertia); + + //using motionstate is recommended, it provides interpolation capabilities, and only synchronizes 'active' objects + btDefaultMotionStatePtr myMotionState = btDefaultMotionStatePtr( SENewObject(groundTransform) ); + + SEPhysicObjectPtr physicObject = SEPhysicObjectPtr(SENewObject()); + physicObject->Init( mass, wallMesh, myMotionState, wallShape,localInertia ); + + SEPhysicWorld::sharedInstance()->AddObject( physicObject ); + } + + //groundTransform.setOrigin(btVector3(0.0,10,-30.0)); + groundTransform.setRotation( btQuaternion( btVector3(1,1,1),1 ) ); + //groundTransform.setIdentity(); + + int z=-5; + int y=5; + int i=-2; + { + groundTransform.setOrigin(btVector3(i,y,z)); + + btScalar mass(0.1); + + bool isDynamic = (mass != 0.f); + + btVector3 localInertia(0,0,0); + if (isDynamic) + washerShape->calculateLocalInertia(mass,localInertia); + + btDefaultMotionStatePtr myMotionState = btDefaultMotionStatePtr( SENewObject(groundTransform) ); + + SEPhysicObjectPtr physicObject = SEPhysicObjectPtr(SENewObject()); + physicObject->Init( mass, washerMesh, myMotionState, washerShape, localInertia ); + + // Only do CCD if motion in one timestep (1.f/60.f) exceeds CUBE_HALF_EXTENTS + physicObject->rigidBody()->setCcdMotionThreshold( 0.1 ); + + //Experimental: better estimation of CCD Time of Impact: + physicObject->rigidBody()->setCcdSweptSphereRadius( 0.2*0.2 ); + + SEPhysicWorld::sharedInstance()->AddObject( physicObject ); + } +} + +void LoadScene() +{ + LoadScene2(); +} + LRESULT CALLBACK WndProc( HWND hWnd, // Handle For This Window UINT uMsg, // Message For This Window WPARAM wParam, // Additional Message Information diff --git a/vs/objects/meshes/Plane b/vs/objects/meshes/Plane deleted file mode 100644 index d4685b8..0000000 --- a/vs/objects/meshes/Plane +++ /dev/null @@ -1,910 +0,0 @@ -type Mesh -name Plane -vertexCount 236 -vert 0.500000 1.000000 0.000000 -vert 0.000000 1.000000 0.000000 -vert 0.500000 1.000000 0.500000 -vert 1.000000 1.000000 0.500000 -vert 1.000000 1.000000 0.000000 -vert 1.000000 0.999999 1.000000 -vert 0.500000 1.000000 -0.500000 -vert 0.000000 1.000000 -0.500000 -vert 0.000000 1.000000 -1.000000 -vert -0.500000 1.000000 -1.000000 -vert -1.000000 1.000000 -1.000000 -vert -0.500000 1.000000 -0.500000 -vert 0.500000 1.000000 -1.000000 -vert 1.000000 1.000000 -0.500000 -vert 1.000000 1.000000 -1.000000 -vert 0.000000 1.000000 0.500000 -vert 0.000000 1.000000 1.000000 -vert 0.500000 1.000000 1.000000 -vert -0.500000 1.000000 0.000000 -vert -0.500000 1.000000 0.500000 -vert -1.000000 1.000000 0.000000 -vert -1.000000 1.000000 0.500000 -vert -1.000000 1.000000 1.000000 -vert -0.500000 1.000000 1.000000 -vert -1.000000 1.000000 -0.500000 -vert -1.000000 -0.500000 0.000000 -vert -1.000000 0.000000 0.000000 -vert -1.000000 -0.500000 -0.500000 -vert -1.000000 -1.000000 -0.500000 -vert -1.000000 -1.000000 0.000000 -vert -1.000000 -1.000000 -1.000000 -vert -1.000000 -0.500000 0.500000 -vert -1.000000 0.000000 0.500000 -vert -1.000000 0.000000 1.000000 -vert -1.000000 0.500000 1.000000 -vert -1.000000 0.500000 0.500000 -vert -1.000000 -0.500000 1.000000 -vert -1.000000 -1.000000 0.500000 -vert -1.000000 -1.000000 1.000000 -vert -1.000000 0.000000 -0.500000 -vert -1.000000 0.000000 -1.000000 -vert -1.000000 -0.500000 -1.000000 -vert -1.000000 0.500000 0.000000 -vert -1.000000 0.500000 -0.500000 -vert -1.000000 0.500000 -1.000000 -vert 0.500000 -1.000000 -0.500000 -vert -0.000000 -1.000000 -1.000000 -vert 0.500000 -1.000000 -1.000000 -vert 1.000000 -1.000000 -0.500000 -vert 1.000000 -1.000000 0.000000 -vert 1.000000 -1.000000 -1.000000 -vert 0.500000 -1.000000 0.000000 -vert -0.000000 -1.000000 -0.500000 -vert -0.000000 -1.000000 0.000000 -vert -0.500000 -1.000000 -0.500000 -vert -0.500000 -1.000000 -1.000000 -vert 0.499999 -1.000000 0.500000 -vert 1.000000 -1.000000 0.500000 -vert 0.999999 -1.000001 1.000000 -vert -0.000000 -1.000000 0.500000 -vert 0.499999 -1.000000 1.000000 -vert -0.000001 -1.000000 1.000000 -vert -0.500000 -1.000000 0.500000 -vert -0.500000 -1.000000 0.000000 -vert -0.500000 -1.000000 1.000000 -vert 1.000000 0.500000 -0.500000 -vert 1.000000 -0.000000 -1.000000 -vert 1.000000 0.500000 -1.000000 -vert 1.000000 0.500000 0.000000 -vert 1.000000 -0.000000 -0.500000 -vert 1.000000 -0.000000 0.000000 -vert 1.000000 -0.500000 -0.500000 -vert 1.000000 -0.500000 -1.000000 -vert 1.000000 0.500000 0.500000 -vert 1.000000 -0.000000 0.500000 -vert 1.000000 0.499999 1.000000 -vert 1.000000 -0.000001 1.000000 -vert 1.000000 -0.500000 0.500000 -vert 1.000000 -0.500000 0.000000 -vert 1.000000 -0.500001 1.000000 -vert 0.500000 0.500000 1.000000 -vert -0.000000 0.500000 1.000000 -vert 0.500000 -0.000000 1.000000 -vert -0.000000 -0.000000 1.000000 -vert 0.500000 -0.500000 1.000000 -vert -0.500000 0.500000 1.000000 -vert -0.500000 -0.000000 1.000000 -vert -0.500000 -0.500000 1.000000 -vert -0.000000 -0.500000 1.000000 -vert 0.500000 0.000000 -1.000000 -vert -0.000000 0.000000 -1.000000 -vert 0.500000 0.500000 -1.000000 -vert 0.500000 -0.500000 -1.000000 -vert -0.000000 -0.500000 -1.000000 -vert -0.500000 -0.500000 -1.000000 -vert 0.000000 0.500000 -1.000000 -vert -0.500000 0.000000 -1.000000 -vert -0.500000 0.500000 -1.000000 -vert 0.500000 1.000000 0.000000 -vert 0.500000 1.000000 0.000000 -vert 0.500000 1.000000 0.000000 -vert 0.500000 1.000000 -0.500000 -vert 0.500000 1.000000 -0.500000 -vert 0.500000 1.000000 -0.500000 -vert 0.500000 1.000000 0.500000 -vert 0.500000 1.000000 0.500000 -vert 0.500000 1.000000 0.500000 -vert -1.000000 1.000000 1.000000 -vert -1.000000 1.000000 0.000000 -vert -1.000000 1.000000 -0.500000 -vert -1.000000 1.000000 -1.000000 -vert -1.000000 0.500000 -0.500000 -vert -1.000000 1.000000 -0.500000 -vert -1.000000 1.000000 0.000000 -vert -1.000000 1.000000 -0.500000 -vert -1.000000 0.500000 -0.500000 -vert -1.000000 0.500000 -0.500000 -vert -1.000000 1.000000 0.500000 -vert -1.000000 1.000000 0.000000 -vert -1.000000 0.500000 0.500000 -vert -1.000000 1.000000 0.500000 -vert -1.000000 1.000000 1.000000 -vert -1.000000 1.000000 0.500000 -vert -1.000000 0.500000 0.500000 -vert -1.000000 0.500000 0.500000 -vert -1.000000 -1.000000 0.000000 -vert -1.000000 -1.000000 -0.500000 -vert -1.000000 -1.000000 -0.500000 -vert -1.000000 -1.000000 0.000000 -vert -1.000000 -1.000000 -0.500000 -vert -1.000000 -1.000000 0.500000 -vert -1.000000 -1.000000 0.000000 -vert -0.500000 -1.000000 0.500000 -vert -0.500000 -1.000000 0.500000 -vert -1.000000 -1.000000 0.500000 -vert -1.000000 -1.000000 0.500000 -vert -0.500000 -1.000000 0.500000 -vert 1.000000 1.000000 -0.500000 -vert 1.000000 1.000000 0.000000 -vert 1.000000 1.000000 -0.500000 -vert 1.000000 1.000000 -1.000000 -vert 1.000000 1.000000 -0.500000 -vert 1.000000 0.500000 -0.500000 -vert 1.000000 1.000000 0.000000 -vert 1.000000 0.500000 -0.500000 -vert 1.000000 0.500000 -0.500000 -vert 1.000000 1.000000 0.500000 -vert 1.000000 0.999999 1.000000 -vert 1.000000 1.000000 0.500000 -vert 1.000000 1.000000 0.500000 -vert 1.000000 1.000000 0.000000 -vert 1.000000 0.999999 1.000000 -vert 1.000000 -1.000000 0.000000 -vert 1.000000 -1.000000 -0.500000 -vert 1.000000 -1.000000 -0.500000 -vert 1.000000 -1.000000 0.000000 -vert 1.000000 -1.000000 -0.500000 -vert 1.000000 -1.000000 0.500000 -vert 1.000000 -1.000000 0.000000 -vert 1.000000 -1.000000 0.500000 -vert 1.000000 -1.000000 0.500000 -vert 1.000000 -0.000001 1.000000 -vert 1.000000 0.499999 1.000000 -vert 1.000000 0.499999 1.000000 -vert 0.500000 1.000000 1.000000 -vert 0.500000 1.000000 1.000000 -vert 0.500000 1.000000 1.000000 -vert 1.000000 0.499999 1.000000 -vert 0.500000 0.500000 1.000000 -vert 0.500000 0.500000 1.000000 -vert 1.000000 -0.000001 1.000000 -vert 0.500000 0.500000 1.000000 -vert 1.000000 -0.500001 1.000000 -vert 1.000000 -0.500001 1.000000 -vert 1.000000 -0.500001 1.000000 -vert 1.000000 -0.000001 1.000000 -vert -0.500000 1.000000 1.000000 -vert -0.500000 1.000000 1.000000 -vert -0.500000 1.000000 1.000000 -vert -1.000000 0.500000 1.000000 -vert -1.000000 0.000000 1.000000 -vert -1.000000 0.500000 1.000000 -vert -1.000000 0.500000 1.000000 -vert -1.000000 0.000000 1.000000 -vert 0.499999 -1.000000 1.000000 -vert -0.000000 -0.500000 1.000000 -vert 0.499999 -1.000000 1.000000 -vert 0.499999 -1.000000 1.000000 -vert -0.000000 -0.500000 1.000000 -vert -0.000000 -0.500000 1.000000 -vert -1.000000 -0.500000 1.000000 -vert -1.000000 -0.500000 1.000000 -vert -1.000000 -0.500000 1.000000 -vert -1.000000 0.000000 1.000000 -vert 1.000000 0.500000 -1.000000 -vert 1.000000 -0.000000 -1.000000 -vert 1.000000 0.500000 -1.000000 -vert 1.000000 0.500000 -1.000000 -vert 1.000000 -0.000000 -1.000000 -vert -0.000000 -1.000000 -1.000000 -vert -0.500000 -1.000000 -1.000000 -vert -1.000000 -1.000000 -1.000000 -vert -0.500000 -1.000000 -1.000000 -vert -0.000000 -1.000000 -1.000000 -vert -0.500000 -1.000000 -1.000000 -vert 0.500000 -1.000000 -1.000000 -vert -0.000000 -1.000000 -1.000000 -vert 0.500000 -0.500000 -1.000000 -vert 0.500000 -0.500000 -1.000000 -vert 1.000000 -0.500000 -1.000000 -vert 0.500000 -1.000000 -1.000000 -vert 1.000000 -1.000000 -1.000000 -vert 0.500000 -1.000000 -1.000000 -vert 1.000000 -0.500000 -1.000000 -vert 1.000000 -0.500000 -1.000000 -vert 0.500000 -0.500000 -1.000000 -vert 1.000000 -0.000000 -1.000000 -vert 0.500000 1.000000 -1.000000 -vert 0.500000 1.000000 -1.000000 -vert 0.500000 1.000000 -1.000000 -vert -1.000000 0.000000 -1.000000 -vert -1.000000 0.500000 -1.000000 -vert -0.500000 0.500000 -1.000000 -vert -1.000000 0.500000 -1.000000 -vert -1.000000 0.000000 -1.000000 -vert -1.000000 0.500000 -1.000000 -vert -0.500000 0.500000 -1.000000 -vert -0.500000 0.500000 -1.000000 -vert -1.000000 -0.500000 -1.000000 -vert -1.000000 0.000000 -1.000000 -vert -0.500000 -0.500000 -1.000000 -vert -1.000000 -0.500000 -1.000000 -vert -1.000000 -1.000000 -1.000000 -vert -1.000000 -0.500000 -1.000000 -vert -0.500000 -0.500000 -1.000000 -vert -0.500000 -0.500000 -1.000000 - -norm 0.000000 1.000000 0.000000 -norm 0.000000 1.000000 0.000000 -norm 0.000000 1.000000 0.000000 -norm 0.707083 0.707083 0.000000 -norm 0.707083 0.707083 0.000000 -norm 0.666646 0.666646 0.333323 -norm 0.000000 1.000000 0.000000 -norm 0.000000 1.000000 0.000000 -norm 0.000000 0.707083 -0.707083 -norm 0.000000 0.707083 -0.707083 -norm -0.408246 0.816492 -0.408246 -norm 0.000000 1.000000 0.000000 -norm 0.000000 0.707083 -0.707083 -norm 0.707083 0.707083 0.000000 -norm 0.408246 0.408246 -0.816492 -norm 0.000000 1.000000 0.000000 -norm 0.000000 0.707083 0.707083 -norm 0.000000 0.707083 0.707083 -norm 0.000000 1.000000 0.000000 -norm 0.000000 1.000000 0.000000 -norm -0.707083 0.707083 0.000000 -norm -0.707083 0.707083 0.000000 -norm -0.666646 0.333323 0.666646 -norm 0.000000 0.707083 0.707083 -norm -0.707083 0.707083 0.000000 -norm -1.000000 0.000000 0.000000 -norm -1.000000 0.000000 0.000000 -norm -1.000000 0.000000 0.000000 -norm -0.707083 -0.707083 0.000000 -norm -0.707083 -0.707083 0.000000 -norm -0.577349 -0.577349 -0.577349 -norm -1.000000 0.000000 0.000000 -norm -1.000000 0.000000 0.000000 -norm -0.707083 0.000000 0.707083 -norm -0.707083 0.000000 0.707083 -norm -1.000000 0.000000 0.000000 -norm -0.707083 0.000000 0.707083 -norm -0.707083 -0.707083 0.000000 -norm -0.577349 -0.577349 0.577349 -norm -1.000000 0.000000 0.000000 -norm -0.707083 0.000000 -0.707083 -norm -0.707083 0.000000 -0.707083 -norm -1.000000 0.000000 0.000000 -norm -1.000000 0.000000 0.000000 -norm -0.707083 0.000000 -0.707083 -norm 0.000000 -1.000000 0.000000 -norm 0.000000 -0.707083 -0.707083 -norm 0.000000 -0.707083 -0.707083 -norm 0.707083 -0.707083 0.000000 -norm 0.707083 -0.707083 0.000000 -norm 0.816492 -0.408246 -0.408246 -norm 0.000000 -1.000000 0.000000 -norm 0.000000 -1.000000 0.000000 -norm 0.000000 -1.000000 0.000000 -norm 0.000000 -1.000000 0.000000 -norm 0.000000 -0.707083 -0.707083 -norm 0.000000 -1.000000 0.000000 -norm 0.707083 -0.707083 0.000000 -norm 0.333323 -0.666646 0.666646 -norm 0.000000 -1.000000 0.000000 -norm 0.000000 -0.707083 0.707083 -norm 0.000000 -0.707083 0.707083 -norm 0.000000 -1.000000 0.000000 -norm 0.000000 -1.000000 0.000000 -norm 0.000000 -0.707083 0.707083 -norm 1.000000 0.000000 0.000000 -norm 0.707083 0.000000 -0.707083 -norm 0.707083 0.000000 -0.707083 -norm 1.000000 0.000000 0.000000 -norm 1.000000 0.000000 0.000000 -norm 1.000000 0.000000 0.000000 -norm 1.000000 0.000000 0.000000 -norm 0.707083 0.000000 -0.707083 -norm 1.000000 0.000000 0.000000 -norm 1.000000 0.000000 0.000000 -norm 0.707083 0.000000 0.707083 -norm 0.707083 0.000000 0.707083 -norm 1.000000 0.000000 0.000000 -norm 1.000000 0.000000 0.000000 -norm 0.707083 0.000000 0.707083 -norm 0.000000 0.000000 1.000000 -norm 0.000000 0.000000 1.000000 -norm 0.000000 0.000000 1.000000 -norm 0.000000 0.000000 1.000000 -norm 0.000000 0.000000 1.000000 -norm 0.000000 0.000000 1.000000 -norm 0.000000 0.000000 1.000000 -norm 0.000000 0.000000 1.000000 -norm 0.000000 0.000000 1.000000 -norm 0.000000 0.000000 -1.000000 -norm 0.000000 0.000000 -1.000000 -norm 0.000000 0.000000 -1.000000 -norm 0.000000 0.000000 -1.000000 -norm 0.000000 0.000000 -1.000000 -norm 0.000000 0.000000 -1.000000 -norm 0.000000 0.000000 -1.000000 -norm 0.000000 0.000000 -1.000000 -norm 0.000000 0.000000 -1.000000 -norm 0.000000 1.000000 0.000000 -norm 0.000000 1.000000 0.000000 -norm 0.000000 1.000000 0.000000 -norm 0.000000 1.000000 0.000000 -norm 0.000000 1.000000 0.000000 -norm 0.000000 1.000000 0.000000 -norm 0.000000 1.000000 0.000000 -norm 0.000000 1.000000 0.000000 -norm 0.000000 1.000000 0.000000 -norm -0.666646 0.333323 0.666646 -norm -0.707083 0.707083 0.000000 -norm -0.707083 0.707083 0.000000 -norm -0.408246 0.816492 -0.408246 -norm -1.000000 0.000000 0.000000 -norm -0.707083 0.707083 0.000000 -norm -0.707083 0.707083 0.000000 -norm -0.707083 0.707083 0.000000 -norm -1.000000 0.000000 0.000000 -norm -1.000000 0.000000 0.000000 -norm -0.707083 0.707083 0.000000 -norm -0.707083 0.707083 0.000000 -norm -1.000000 0.000000 0.000000 -norm -0.707083 0.707083 0.000000 -norm -0.666646 0.333323 0.666646 -norm -0.707083 0.707083 0.000000 -norm -1.000000 0.000000 0.000000 -norm -1.000000 0.000000 0.000000 -norm -0.707083 -0.707083 0.000000 -norm -0.707083 -0.707083 0.000000 -norm -0.707083 -0.707083 0.000000 -norm -0.707083 -0.707083 0.000000 -norm -0.707083 -0.707083 0.000000 -norm -0.707083 -0.707083 0.000000 -norm -0.707083 -0.707083 0.000000 -norm 0.000000 -1.000000 0.000000 -norm 0.000000 -1.000000 0.000000 -norm -0.707083 -0.707083 0.000000 -norm -0.707083 -0.707083 0.000000 -norm 0.000000 -1.000000 0.000000 -norm 0.707083 0.707083 0.000000 -norm 0.707083 0.707083 0.000000 -norm 0.707083 0.707083 0.000000 -norm 0.408246 0.408246 -0.816492 -norm 0.707083 0.707083 0.000000 -norm 1.000000 0.000000 0.000000 -norm 0.707083 0.707083 0.000000 -norm 1.000000 0.000000 0.000000 -norm 1.000000 0.000000 0.000000 -norm 0.707083 0.707083 0.000000 -norm 0.666646 0.666646 0.333323 -norm 0.707083 0.707083 0.000000 -norm 0.707083 0.707083 0.000000 -norm 0.707083 0.707083 0.000000 -norm 0.666646 0.666646 0.333323 -norm 0.707083 -0.707083 0.000000 -norm 0.707083 -0.707083 0.000000 -norm 0.707083 -0.707083 0.000000 -norm 0.707083 -0.707083 0.000000 -norm 0.707083 -0.707083 0.000000 -norm 0.707083 -0.707083 0.000000 -norm 0.707083 -0.707083 0.000000 -norm 0.707083 -0.707083 0.000000 -norm 0.707083 -0.707083 0.000000 -norm 0.707083 0.000000 0.707083 -norm 0.707083 0.000000 0.707083 -norm 0.707083 0.000000 0.707083 -norm 0.000000 0.707083 0.707083 -norm 0.000000 0.707083 0.707083 -norm 0.000000 0.707083 0.707083 -norm 0.707083 0.000000 0.707083 -norm 0.000000 0.000000 1.000000 -norm 0.000000 0.000000 1.000000 -norm 0.707083 0.000000 0.707083 -norm 0.000000 0.000000 1.000000 -norm 0.707083 0.000000 0.707083 -norm 0.707083 0.000000 0.707083 -norm 0.707083 0.000000 0.707083 -norm 0.707083 0.000000 0.707083 -norm 0.000000 0.707083 0.707083 -norm 0.000000 0.707083 0.707083 -norm 0.000000 0.707083 0.707083 -norm -0.707083 0.000000 0.707083 -norm -0.707083 0.000000 0.707083 -norm -0.707083 0.000000 0.707083 -norm -0.707083 0.000000 0.707083 -norm -0.707083 0.000000 0.707083 -norm 0.000000 -0.707083 0.707083 -norm 0.000000 0.000000 1.000000 -norm 0.000000 -0.707083 0.707083 -norm 0.000000 -0.707083 0.707083 -norm 0.000000 0.000000 1.000000 -norm 0.000000 0.000000 1.000000 -norm -0.707083 0.000000 0.707083 -norm -0.707083 0.000000 0.707083 -norm -0.707083 0.000000 0.707083 -norm -0.707083 0.000000 0.707083 -norm 0.707083 0.000000 -0.707083 -norm 0.707083 0.000000 -0.707083 -norm 0.707083 0.000000 -0.707083 -norm 0.707083 0.000000 -0.707083 -norm 0.707083 0.000000 -0.707083 -norm 0.000000 -0.707083 -0.707083 -norm 0.000000 -0.707083 -0.707083 -norm -0.577349 -0.577349 -0.577349 -norm 0.000000 -0.707083 -0.707083 -norm 0.000000 -0.707083 -0.707083 -norm 0.000000 -0.707083 -0.707083 -norm 0.000000 -0.707083 -0.707083 -norm 0.000000 -0.707083 -0.707083 -norm 0.000000 0.000000 -1.000000 -norm 0.000000 0.000000 -1.000000 -norm 0.707083 0.000000 -0.707083 -norm 0.000000 -0.707083 -0.707083 -norm 0.816492 -0.408246 -0.408246 -norm 0.000000 -0.707083 -0.707083 -norm 0.707083 0.000000 -0.707083 -norm 0.707083 0.000000 -0.707083 -norm 0.000000 0.000000 -1.000000 -norm 0.707083 0.000000 -0.707083 -norm 0.000000 0.707083 -0.707083 -norm 0.000000 0.707083 -0.707083 -norm 0.000000 0.707083 -0.707083 -norm -0.707083 0.000000 -0.707083 -norm -0.707083 0.000000 -0.707083 -norm 0.000000 0.000000 -1.000000 -norm -0.707083 0.000000 -0.707083 -norm -0.707083 0.000000 -0.707083 -norm -0.707083 0.000000 -0.707083 -norm 0.000000 0.000000 -1.000000 -norm 0.000000 0.000000 -1.000000 -norm -0.707083 0.000000 -0.707083 -norm -0.707083 0.000000 -0.707083 -norm 0.000000 0.000000 -1.000000 -norm -0.707083 0.000000 -0.707083 -norm -0.577349 -0.577349 -0.577349 -norm -0.707083 0.000000 -0.707083 -norm 0.000000 0.000000 -1.000000 -norm 0.000000 0.000000 -1.000000 - -uv 0.437500 0.625000 -uv 0.375000 0.625000 -uv 0.437500 0.562500 -uv 0.500000 0.562500 -uv 0.500000 0.625000 -uv 0.500000 0.500000 -uv 0.437500 0.687500 -uv 0.375000 0.687500 -uv 0.375000 0.750000 -uv 0.312500 0.750000 -uv 0.250000 0.750000 -uv 0.312500 0.687500 -uv 0.437500 0.750000 -uv 0.500000 0.687500 -uv 0.500000 0.750000 -uv 0.375000 0.562500 -uv 0.375000 0.500000 -uv 0.437500 0.500000 -uv 0.312500 0.625000 -uv 0.312500 0.562500 -uv 0.250000 0.625000 -uv 0.249999 0.562500 -uv 0.249999 0.500000 -uv 0.312499 0.500000 -uv 0.250000 0.687500 -uv 0.187500 0.125000 -uv 0.125000 0.125000 -uv 0.187500 0.062500 -uv 0.250000 0.062500 -uv 0.250000 0.125000 -uv 0.250000 0.000000 -uv 0.187500 0.187500 -uv 0.125000 0.187500 -uv 0.125000 0.250000 -uv 0.062500 0.250000 -uv 0.062500 0.187500 -uv 0.187500 0.250000 -uv 0.249999 0.187500 -uv 0.249999 0.250000 -uv 0.125000 0.062500 -uv 0.125000 0.000000 -uv 0.187500 0.000000 -uv 0.062500 0.125000 -uv 0.062500 0.062500 -uv 0.062500 0.000000 -uv 0.437499 0.062500 -uv 0.374999 0.000000 -uv 0.437499 0.000000 -uv 0.499999 0.062500 -uv 0.499999 0.125000 -uv 0.499999 0.000000 -uv 0.437499 0.125000 -uv 0.374999 0.062500 -uv 0.374999 0.125000 -uv 0.312499 0.062500 -uv 0.312499 0.000000 -uv 0.437499 0.187500 -uv 0.499999 0.187500 -uv 0.499999 0.250000 -uv 0.374999 0.187500 -uv 0.437499 0.250000 -uv 0.374999 0.250000 -uv 0.312499 0.187500 -uv 0.312499 0.125000 -uv 0.312499 0.250000 -uv 0.687499 0.062500 -uv 0.624999 0.000000 -uv 0.687499 0.000000 -uv 0.687499 0.125000 -uv 0.624999 0.062500 -uv 0.624999 0.125000 -uv 0.562499 0.062500 -uv 0.562499 0.000000 -uv 0.687499 0.187500 -uv 0.624999 0.187500 -uv 0.687499 0.250000 -uv 0.624999 0.250000 -uv 0.562499 0.187500 -uv 0.562499 0.125000 -uv 0.562499 0.250000 -uv 0.437499 0.437500 -uv 0.374999 0.437500 -uv 0.437499 0.375000 -uv 0.374999 0.375000 -uv 0.437499 0.312500 -uv 0.312499 0.437500 -uv 0.312499 0.375000 -uv 0.312499 0.312500 -uv 0.374999 0.312500 -uv 0.437500 0.875000 -uv 0.375000 0.875000 -uv 0.437500 0.812500 -uv 0.437500 0.937500 -uv 0.375000 0.937500 -uv 0.312500 0.937500 -uv 0.375000 0.812500 -uv 0.312500 0.875000 -uv 0.312500 0.812500 -uv 0.437500 0.625000 -uv 0.437500 0.625000 -uv 0.437500 0.625000 -uv 0.437500 0.687500 -uv 0.437500 0.687500 -uv 0.437500 0.687500 -uv 0.437500 0.562500 -uv 0.437500 0.562500 -uv 0.437500 0.562500 -uv 0.000000 0.250000 -uv -0.000000 0.125000 -uv 0.000000 0.062500 -uv 0.000000 0.000000 -uv 0.062500 0.062500 -uv 0.000000 0.062500 -uv -0.000000 0.125000 -uv 0.000000 0.062500 -uv 0.062500 0.062500 -uv 0.062500 0.062500 -uv -0.000000 0.187500 -uv -0.000000 0.125000 -uv 0.062500 0.187500 -uv -0.000000 0.187500 -uv 0.000000 0.250000 -uv -0.000000 0.187500 -uv 0.062500 0.187500 -uv 0.062500 0.187500 -uv 0.249999 0.125000 -uv 0.249999 0.062500 -uv 0.249999 0.062500 -uv 0.249999 0.125000 -uv 0.249999 0.062500 -uv 0.249999 0.187500 -uv 0.249999 0.125000 -uv 0.312499 0.187500 -uv 0.312499 0.187500 -uv 0.249999 0.187500 -uv 0.249999 0.187500 -uv 0.312499 0.187500 -uv 0.749999 0.062500 -uv 0.749999 0.125000 -uv 0.749999 0.062500 -uv 0.749999 0.000000 -uv 0.749999 0.062500 -uv 0.687499 0.062500 -uv 0.749999 0.125000 -uv 0.687499 0.062500 -uv 0.687499 0.062500 -uv 0.749999 0.187500 -uv 0.749999 0.250000 -uv 0.749999 0.187500 -uv 0.749999 0.187500 -uv 0.749999 0.125000 -uv 0.749999 0.250000 -uv 0.499999 0.125000 -uv 0.499999 0.062500 -uv 0.499999 0.062500 -uv 0.499999 0.125000 -uv 0.499999 0.062500 -uv 0.499999 0.187500 -uv 0.499999 0.125000 -uv 0.499999 0.187500 -uv 0.499999 0.187500 -uv 0.499999 0.375000 -uv 0.500000 0.437500 -uv 0.500000 0.437500 -uv 0.437500 0.500000 -uv 0.437500 0.500000 -uv 0.437500 0.500000 -uv 0.500000 0.437500 -uv 0.437500 0.437500 -uv 0.437500 0.437500 -uv 0.499999 0.375000 -uv 0.437500 0.437500 -uv 0.499999 0.312500 -uv 0.499999 0.312500 -uv 0.499999 0.312500 -uv 0.499999 0.375000 -uv 0.312499 0.500000 -uv 0.312499 0.500000 -uv 0.312499 0.500000 -uv 0.249999 0.437500 -uv 0.249999 0.375000 -uv 0.249999 0.437500 -uv 0.249999 0.437500 -uv 0.249999 0.375000 -uv 0.437499 0.250000 -uv 0.374999 0.312500 -uv 0.437499 0.250000 -uv 0.437499 0.250000 -uv 0.374999 0.312500 -uv 0.374999 0.312500 -uv 0.249999 0.312500 -uv 0.249999 0.312500 -uv 0.249999 0.312500 -uv 0.249999 0.375000 -uv 0.500000 0.812500 -uv 0.500000 0.875000 -uv 0.500000 0.812500 -uv 0.500000 0.812500 -uv 0.500000 0.875000 -uv 0.375000 1.000000 -uv 0.312500 1.000000 -uv 0.250000 1.000000 -uv 0.312500 1.000000 -uv 0.375000 1.000000 -uv 0.312500 1.000000 -uv 0.437500 1.000000 -uv 0.375000 1.000000 -uv 0.437500 0.937500 -uv 0.437500 0.937500 -uv 0.500000 0.937500 -uv 0.437500 1.000000 -uv 0.500000 1.000000 -uv 0.437500 1.000000 -uv 0.500000 0.937500 -uv 0.500000 0.937500 -uv 0.437500 0.937500 -uv 0.500000 0.875000 -uv 0.437500 0.750000 -uv 0.437500 0.750000 -uv 0.437500 0.750000 -uv 0.250000 0.875000 -uv 0.250000 0.812500 -uv 0.312500 0.812500 -uv 0.250000 0.812500 -uv 0.250000 0.875000 -uv 0.250000 0.812500 -uv 0.312500 0.812500 -uv 0.312500 0.812500 -uv 0.250000 0.937500 -uv 0.250000 0.875000 -uv 0.312500 0.937500 -uv 0.250000 0.937500 -uv 0.250000 1.000000 -uv 0.250000 0.937500 -uv 0.312500 0.937500 -uv 0.312500 0.937500 -vertexGroup Group -vertexIndexCount 192 -face 0 1 2 -face 2 3 0 -face 4 0 3 -face 3 2 5 -face 98 4 6 -face 6 7 99 -face 1 100 7 -face 7 6 8 -face 9 10 11 -face 11 7 9 -face 8 9 7 -face 7 11 1 -face 12 8 101 -face 102 13 12 -face 14 12 13 -face 13 103 4 -face 15 16 17 -face 17 104 15 -face 1 15 105 -face 106 17 5 -face 15 1 18 -face 18 19 15 -face 16 15 19 -face 19 18 20 -face 21 22 23 -face 23 19 21 -face 20 21 19 -face 19 23 16 -face 24 20 18 -face 18 11 24 -face 10 24 11 -face 11 18 1 -face 25 26 27 -face 27 28 25 -face 29 25 28 -face 28 27 30 -face 25 29 31 -face 31 32 25 -face 26 25 32 -face 32 31 33 -face 34 107 35 -face 35 32 34 -face 33 34 32 -face 32 35 26 -face 36 33 31 -face 31 37 36 -face 38 36 37 -face 37 31 29 -face 39 40 41 -face 41 27 39 -face 26 39 27 -face 27 41 30 -face 39 26 42 -face 42 43 39 -face 40 39 43 -face 43 42 108 -face 109 110 44 -face 44 111 112 -face 113 114 115 -face 116 44 40 -face 117 118 42 -face 42 119 120 -face 121 122 123 -face 124 42 26 -face 45 46 47 -face 47 48 45 -face 49 45 48 -face 48 47 50 -face 45 49 51 -face 51 52 45 -face 46 45 52 -face 52 51 53 -face 54 30 55 -face 55 52 54 -face 53 54 52 -face 52 55 46 -face 56 53 51 -face 51 57 56 -face 58 56 57 -face 57 51 49 -face 59 53 56 -face 56 60 59 -face 61 59 60 -face 60 56 58 -face 59 61 62 -face 62 63 59 -face 53 59 63 -face 63 62 125 -face 126 30 54 -face 54 63 127 -face 128 129 63 -face 63 54 53 -face 130 131 132 -face 133 64 134 -face 38 135 64 -face 64 136 61 -face 65 66 67 -face 67 137 65 -face 138 65 139 -face 67 140 141 -face 142 143 68 -face 68 69 144 -face 66 145 69 -face 69 68 70 -face 71 50 72 -face 72 69 71 -face 70 71 69 -face 69 72 66 -face 73 70 68 -face 68 146 73 -face 147 73 148 -face 149 68 150 -face 74 70 73 -face 73 75 74 -face 76 74 75 -face 75 73 151 -face 74 76 77 -face 77 78 74 -face 70 74 78 -face 78 77 152 -face 153 50 71 -face 71 78 154 -face 155 156 78 -face 78 71 70 -face 157 158 77 -face 77 79 159 -face 58 160 79 -face 79 77 76 -face 80 161 162 -face 163 164 80 -face 16 80 165 -face 166 167 5 -face 168 16 81 -face 81 82 169 -face 170 171 82 -face 82 81 83 -face 84 58 172 -face 173 82 84 -face 83 84 82 -face 82 174 175 -face 85 83 81 -face 81 176 85 -face 22 85 177 -face 178 81 16 -face 86 83 85 -face 85 179 86 -face 180 86 181 -face 182 85 22 -face 86 183 87 -face 87 88 86 -face 83 86 88 -face 88 87 61 -face 184 58 84 -face 84 185 186 -face 61 187 188 -face 189 84 83 -face 64 61 87 -face 87 190 64 -face 38 64 191 -face 192 87 193 -face 89 90 91 -face 91 194 89 -face 195 89 196 -face 91 14 197 -face 89 198 92 -face 92 93 89 -face 90 89 93 -face 93 92 199 -face 200 201 94 -face 94 93 202 -face 203 204 93 -face 93 94 90 -face 205 206 207 -face 208 209 210 -face 211 212 213 -face 214 215 216 -face 95 8 217 -face 218 91 95 -face 90 95 91 -face 219 14 91 -face 95 90 96 -face 96 97 95 -face 8 95 97 -face 97 96 220 -face 221 10 9 -face 9 222 223 -face 224 225 226 -face 227 9 8 -face 228 229 96 -face 96 230 231 -face 232 233 234 -face 235 96 90 -material Material.002 -end -end diff --git a/vs/objects/cameras/Camera b/vs/sample1/cameras/Camera similarity index 100% rename from vs/objects/cameras/Camera rename to vs/sample1/cameras/Camera diff --git a/vs/objects/images/ground1.jpg b/vs/sample1/images/ground1.jpg similarity index 100% rename from vs/objects/images/ground1.jpg rename to vs/sample1/images/ground1.jpg diff --git a/vs/objects/images/ground2.jpg b/vs/sample1/images/ground2.jpg similarity index 100% rename from vs/objects/images/ground2.jpg rename to vs/sample1/images/ground2.jpg diff --git a/vs/boxObject/images/test.jpg b/vs/sample1/images/test.jpg similarity index 100% rename from vs/boxObject/images/test.jpg rename to vs/sample1/images/test.jpg diff --git a/vs/boxObject/materials/Material.002 b/vs/sample1/materials/Material.002 similarity index 100% rename from vs/boxObject/materials/Material.002 rename to vs/sample1/materials/Material.002 diff --git a/vs/objects/materials/highGround b/vs/sample1/materials/highGround similarity index 100% rename from vs/objects/materials/highGround rename to vs/sample1/materials/highGround diff --git a/vs/objects/materials/lowGround b/vs/sample1/materials/lowGround similarity index 100% rename from vs/objects/materials/lowGround rename to vs/sample1/materials/lowGround diff --git a/vs/boxObject/meshes/Plane b/vs/sample1/meshes/Plane similarity index 100% rename from vs/boxObject/meshes/Plane rename to vs/sample1/meshes/Plane diff --git a/vs/objects/meshes/Plane.001 b/vs/sample1/meshes/Plane.001 old mode 100755 new mode 100644 similarity index 100% rename from vs/objects/meshes/Plane.001 rename to vs/sample1/meshes/Plane.001 diff --git a/vs/sample2/cameras/Camera b/vs/sample2/cameras/Camera new file mode 100644 index 0000000..2990723 --- /dev/null +++ b/vs/sample2/cameras/Camera @@ -0,0 +1,5 @@ +type Camera +name Camera +pos -12.485068 4.323415 -24.932487 +see -11.830207 3.878170 -24.321821 +end diff --git a/vs/sample2/images/ground1.jpg b/vs/sample2/images/ground1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0adc1be3e3f1126ba822772a928579f252148a28 GIT binary patch literal 36321 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