diff --git a/Models/Jeep/Chassi/Asphalt.png b/Models/Jeep/Chassi/Asphalt.png new file mode 100644 index 0000000..da81b4c Binary files /dev/null and b/Models/Jeep/Chassi/Asphalt.png differ diff --git a/Models/Jeep/Chassi/chassi.mtl b/Models/Jeep/Chassi/chassi.mtl index 3a8cf53..45920d5 100644 --- a/Models/Jeep/Chassi/chassi.mtl +++ b/Models/Jeep/Chassi/chassi.mtl @@ -46,3 +46,4 @@ map_Kd diffuseMap.png Ni 1.00 Ks 0.00 0.00 0.00 map_Ks specularMap.png +bump normalMap.png -bm 1 \ No newline at end of file diff --git a/Models/Placeholders/PhysicsTest/Asphalt.png b/Models/Placeholders/PhysicsTest/Asphalt.png new file mode 100644 index 0000000..da81b4c Binary files /dev/null and b/Models/Placeholders/PhysicsTest/Asphalt.png differ diff --git a/Models/Placeholders/PhysicsTest/Cube2.mtl b/Models/Placeholders/PhysicsTest/Cube2.mtl index e0b5ecf..fbd59a5 100644 --- a/Models/Placeholders/PhysicsTest/Cube2.mtl +++ b/Models/Placeholders/PhysicsTest/Cube2.mtl @@ -9,4 +9,4 @@ Ks 0.500000 0.500000 0.500000 Ni 1.000000 d 1.000000 illum 2 -map_Kd planetexture.png +map_Kd Asphalt.png diff --git a/Models/Tree/Collision/Collision.obj b/Models/Tree/Collision/Collision.obj index 7c436ee..bfc2352 100644 --- a/Models/Tree/Collision/Collision.obj +++ b/Models/Tree/Collision/Collision.obj @@ -1,198 +1,93 @@ -# This file uses centimeters as units for non-parametric coordinates. - -mtllib Collision.mtl -g default -v 0.072548 -0.045474 -0.239626 -v -0.215506 -0.045474 -0.148097 -v -0.215506 -0.045474 0.148097 -v 0.072548 -0.045474 0.239626 -v 0.250576 -0.045474 0.000000 -v 0.115231 1.451497 -0.305457 -v -0.081231 1.451497 -0.241622 -v -0.081231 1.451497 -0.035051 -v 0.115231 1.451497 0.028783 -v 0.236651 1.451497 -0.138337 -v 0.246673 2.626240 -1.049801 -v -0.936363 2.626240 -0.665410 -v -0.936363 2.626240 0.578508 -v 0.246673 2.626240 0.962900 -v 0.977828 2.626240 -0.043451 -v 0.389910 4.821355 -1.687790 -v -1.543125 4.821355 -1.059708 -v -1.543125 4.821355 0.972806 -v 0.389910 4.821355 1.600888 -v 1.584591 4.821355 -0.043451 -v -0.144368 6.339040 -0.043451 -vt 0.425000 0.312500 -vt 0.425000 0.437813 -vt 0.375000 0.312500 -vt 0.375000 0.437813 -vt 0.475000 0.312500 -vt 0.475000 0.437813 -vt 0.525000 0.312500 -vt 0.525000 0.437813 -vt 0.575000 0.312500 -vt 0.575000 0.437813 -vt 0.625000 0.312500 -vt 0.625000 0.437813 -vt 0.375000 0.563127 -vt 0.425000 0.563127 -vt 0.475000 0.563127 -vt 0.525000 0.563127 -vt 0.575000 0.563127 -vt 0.625000 0.563127 -vt 0.375000 0.688440 -vt 0.425000 0.688440 -vt 0.475000 0.688440 -vt 0.525000 0.688440 -vt 0.575000 0.688440 -vt 0.625000 0.688440 -vt 0.548284 0.992353 -vt 0.373591 0.935591 -vt 0.500000 0.837500 -vt 0.373591 0.751909 -vt 0.548284 0.695147 -vt 0.656250 0.843750 -vn -0.302671 -0.032363 -0.952545 -vn -0.283829 -0.393581 -0.874377 -vn -0.303042 -0.032401 -0.952426 -vn -0.303042 -0.032401 -0.952426 -vn -0.283829 -0.393581 -0.874377 -vn -0.296640 -0.280188 -0.912962 -vn -0.996001 0.089339 -0.000002 -vn -0.892723 -0.450605 0.000000 -vn -0.996001 0.089339 -0.000001 -vn -0.996001 0.089339 -0.000001 -vn -0.892723 -0.450605 0.000000 -vn -0.954678 -0.297639 0.000000 -vn -0.299747 0.142301 0.943346 -vn -0.300125 0.142242 0.943235 -vn -0.276943 -0.442004 0.853191 -vn -0.276943 -0.442004 0.853191 -vn -0.300125 0.142242 0.943235 -vn -0.298327 -0.260749 0.918156 -vn 0.801218 0.060995 0.595255 -vn 0.801594 0.061039 0.594745 -vn 0.752240 -0.367249 0.547050 -vn 0.752240 -0.367249 0.547050 -vn 0.801594 0.061039 0.594745 -vn 0.786457 -0.234508 0.571395 -vn 0.801803 -0.047590 -0.595690 -vn 0.802190 -0.047668 -0.595164 -vn 0.785699 -0.235649 -0.571967 -vn 0.785699 -0.235649 -0.571967 -vn 0.802190 -0.047668 -0.595164 -vn 0.759819 -0.343403 -0.552041 -vn -0.296640 -0.280188 -0.912962 -vn -0.283829 -0.393581 -0.874377 -vn -0.292470 -0.322841 -0.900131 -vn -0.292470 -0.322841 -0.900131 -vn -0.283829 -0.393581 -0.874377 -vn -0.294284 -0.305097 -0.905711 -vn -0.954678 -0.297639 0.000000 -vn -0.892723 -0.450605 0.000000 -vn -0.929528 -0.368751 0.000000 -vn -0.929528 -0.368751 0.000000 -vn -0.892723 -0.450605 0.000000 -vn -0.936353 -0.351059 0.000000 -vn -0.298327 -0.260749 0.918156 -vn -0.288675 -0.356824 0.888450 -vn -0.276943 -0.442004 0.853191 -vn -0.276943 -0.442004 0.853191 -vn -0.288675 -0.356824 0.888450 -vn -0.291107 -0.335494 0.895936 -vn 0.786457 -0.234508 0.571395 -vn 0.771870 -0.299540 0.560796 -vn 0.752240 -0.367249 0.547050 -vn 0.752240 -0.367249 0.547050 -vn 0.771870 -0.299540 0.560796 -vn 0.776466 -0.280804 0.564136 -vn 0.785699 -0.235649 -0.571967 -vn 0.759819 -0.343403 -0.552041 -vn 0.778275 -0.273049 -0.565449 -vn 0.778275 -0.273049 -0.565449 -vn 0.759819 -0.343403 -0.552041 -vn 0.779888 -0.265921 -0.566622 -vn -0.292470 -0.322841 -0.900131 -vn -0.294284 -0.305097 -0.905711 -vn -0.299345 -0.248231 -0.921289 -vn -0.299345 -0.248231 -0.921289 -vn -0.294284 -0.305097 -0.905711 -vn -0.299345 -0.248231 -0.921289 -vn -0.929528 -0.368751 0.000000 -vn -0.936353 -0.351059 0.000000 +# Blender v2.69 (sub 0) OBJ File: '' +# www.blender.org +o Collision_pCylinder1.001 +v -0.215506 -2.500579 -0.148097 +v -0.081231 -1.003608 -0.241622 +v 0.072548 -2.500579 -0.239626 +v 0.115231 -1.003608 -0.305457 +v -0.081231 -1.003608 -0.035051 +v -0.215506 -2.500579 0.148097 +v 0.072548 -2.500579 0.239626 +v 0.115231 -1.003608 0.028783 +v 0.250576 -2.500579 -0.000000 +v 0.236651 -1.003608 -0.138337 +v 0.246673 0.171135 -1.049801 +v -0.936363 0.171135 -0.665410 +v -0.936363 0.171135 0.578508 +v 0.246673 0.171135 0.962900 +v 0.977828 0.171135 -0.043451 +v 0.389910 2.366250 -1.687788 +v -1.543125 2.366250 -1.059706 +v -1.543125 2.366250 0.972808 +v 0.389910 2.366248 1.600890 +v 1.584591 2.366250 -0.043449 +v -0.144368 3.883935 -0.043449 +vn -0.302671 -0.032362 -0.952546 +vn -0.308851 -0.032995 -0.950538 +vn -0.996001 0.089339 0.000000 +vn -0.299748 0.142301 0.943346 +vn -0.305914 0.141331 0.941511 +vn 0.801217 0.060995 0.595257 +vn 0.807474 0.061726 0.586665 +vn 0.801802 -0.047590 -0.595692 +vn 0.808050 -0.048857 -0.587084 +vn -0.268696 -0.493912 -0.826954 +vn -0.268693 -0.493913 -0.826954 +vn -0.808483 -0.588520 0.000000 +vn -0.250578 -0.585198 0.771203 +vn -0.250579 -0.585198 0.771203 +vn 0.706501 -0.487211 0.513304 +vn 0.706502 -0.487212 0.513302 +vn 0.734158 -0.420117 -0.533398 +vn 0.734159 -0.420117 -0.533397 +vn -0.299345 -0.248230 -0.921290 vn -0.963856 -0.266424 0.000000 -vn -0.963856 -0.266424 0.000000 -vn -0.936353 -0.351059 0.000000 -vn -0.963856 -0.266424 0.000000 -vn -0.288675 -0.356824 0.888450 vn -0.299345 -0.248231 0.921289 -vn -0.291107 -0.335494 0.895936 -vn -0.291107 -0.335494 0.895936 -vn -0.299345 -0.248231 0.921289 -vn -0.299345 -0.248231 0.921289 -vn 0.771870 -0.299540 0.560796 -vn 0.789517 -0.218234 0.573617 -vn 0.776466 -0.280804 0.564136 -vn 0.776466 -0.280804 0.564136 -vn 0.789517 -0.218234 0.573617 -vn 0.789517 -0.218234 0.573617 -vn 0.778275 -0.273049 -0.565449 -vn 0.779888 -0.265921 -0.566622 +vn -0.299346 -0.248231 0.921289 +vn 0.789517 -0.218235 0.573617 vn 0.789517 -0.218234 -0.573617 -vn 0.789517 -0.218234 -0.573617 -vn 0.779888 -0.265921 -0.566622 -vn 0.789517 -0.218234 -0.573617 -vn 0.203857 0.751532 -0.627409 -vn -0.533706 0.751532 -0.387760 -vn 0.000000 1.000000 0.000000 -vn -0.533706 0.751532 -0.387760 -vn -0.533706 0.751532 0.387760 -vn 0.000000 1.000000 0.000000 -vn -0.533706 0.751532 0.387760 -vn 0.203857 0.751532 0.627409 -vn 0.000000 1.000000 0.000000 -vn 0.203857 0.751532 0.627409 -vn 0.659697 0.751532 0.000000 -vn 0.000000 1.000000 0.000000 -vn 0.659697 0.751532 0.000000 -vn 0.203857 0.751532 -0.627409 -vn 0.000000 1.000000 0.000000 +vn -0.227230 0.677709 -0.699340 +vn -0.735330 0.677709 0.000000 +vn -0.227229 0.677709 0.699341 +vn 0.594895 0.677709 0.432217 +vn 0.594895 0.677709 -0.432216 +vn 0.000000 -1.000000 0.000000 s off -g Collision_pCylinder1 -usemtl Collision_initialShadingGroup4 -f 2/1/1 7/2/2 1/3/3 -f 1/3/4 7/2/5 6/4/6 -f 3/5/7 8/6/8 2/1/9 -f 2/1/10 8/6/11 7/2/12 -f 3/5/13 4/7/14 8/6/15 -f 8/6/16 4/7/17 9/8/18 -f 4/7/19 5/9/20 9/8/21 -f 9/8/22 5/9/23 10/10/24 -f 5/9/25 1/11/26 10/10/27 -f 10/10/28 1/11/29 6/12/30 -f 6/4/31 7/2/32 11/13/33 -f 11/13/34 7/2/35 12/14/36 -f 7/2/37 8/6/38 12/14/39 -f 12/14/40 8/6/41 13/15/42 -f 9/8/43 14/16/44 8/6/45 -f 8/6/46 14/16/47 13/15/48 -f 10/10/49 15/17/50 9/8/51 -f 9/8/52 15/17/53 14/16/54 -f 10/10/55 6/12/56 15/17/57 -f 15/17/58 6/12/59 11/18/60 -f 11/13/61 12/14/62 16/19/63 -f 16/19/64 12/14/65 17/20/66 -f 12/14/67 13/15/68 17/20/69 -f 17/20/70 13/15/71 18/21/72 -f 14/16/73 19/22/74 13/15/75 -f 13/15/76 19/22/77 18/21/78 -f 15/17/79 20/23/80 14/16/81 -f 14/16/82 20/23/83 19/22/84 -f 15/17/85 11/18/86 20/23/87 -f 20/23/88 11/18/89 16/24/90 -f 16/25/91 17/26/92 21/27/93 -f 17/26/94 18/28/95 21/27/96 -f 18/28/97 19/29/98 21/27/99 -f 19/29/100 20/30/101 21/27/102 -f 20/30/103 16/25/104 21/27/105 +f 1//1 2//1 3//1 +f 3//2 2//2 4//2 +f 5//3 1//3 6//3 +f 1//3 5//3 2//3 +f 6//4 7//4 5//4 +f 5//5 7//5 8//5 +f 7//6 9//6 8//6 +f 8//7 9//7 10//7 +f 9//8 3//8 10//8 +f 10//9 3//9 4//9 +f 4//10 2//10 11//10 +f 11//11 2//11 12//11 +f 2//12 5//12 12//12 +f 12//12 5//12 13//12 +f 8//13 14//13 5//13 +f 5//14 14//14 13//14 +f 10//15 15//15 8//15 +f 8//16 15//16 14//16 +f 10//17 4//17 15//17 +f 15//18 4//18 11//18 +f 11//19 12//19 16//19 +f 16//19 12//19 17//19 +f 12//20 13//20 17//20 +f 17//20 13//20 18//20 +f 14//21 19//21 13//21 +f 13//22 19//22 18//22 +f 15//23 20//23 14//23 +f 14//23 20//23 19//23 +f 15//24 11//24 20//24 +f 20//24 11//24 16//24 +f 16//25 17//25 21//25 +f 17//26 18//26 21//26 +f 18//27 19//27 21//27 +f 19//28 20//28 21//28 +f 20//29 16//29 21//29 +f 6//30 1//30 3//30 +f 7//30 6//30 3//30 +f 9//30 7//30 3//30 diff --git a/Textures/ErrorTexture.png b/Textures/ErrorTexture.png new file mode 100644 index 0000000..09dc85b Binary files /dev/null and b/Textures/ErrorTexture.png differ diff --git a/Textures/ErrorTextureBlue.png b/Textures/ErrorTextureBlue.png new file mode 100644 index 0000000..0101f79 Binary files /dev/null and b/Textures/ErrorTextureBlue.png differ diff --git a/Textures/ErrorTextureGreen.png b/Textures/ErrorTextureGreen.png new file mode 100644 index 0000000..04ee848 Binary files /dev/null and b/Textures/ErrorTextureGreen.png differ diff --git a/Textures/ErrorTextureRed.png b/Textures/ErrorTextureRed.png new file mode 100644 index 0000000..1bfeced Binary files /dev/null and b/Textures/ErrorTextureRed.png differ diff --git a/Textures/Ground/Rock.png b/Textures/Ground/Rock.png new file mode 100644 index 0000000..bcf61bd Binary files /dev/null and b/Textures/Ground/Rock.png differ diff --git a/Textures/Ground/WaterPlain0017_6_S.png b/Textures/Ground/WaterPlain0017_6_S.png new file mode 100644 index 0000000..656d66c Binary files /dev/null and b/Textures/Ground/WaterPlain0017_6_S.png differ diff --git a/Textures/NeutralNormalMap.png b/Textures/NeutralNormalMap.png index 7ae33e8..1bbc12d 100644 Binary files a/Textures/NeutralNormalMap.png and b/Textures/NeutralNormalMap.png differ diff --git a/Textures/Skybox/Sky34/back.jpg b/Textures/Skybox/Sky34/back.jpg new file mode 100644 index 0000000..a0a72e3 Binary files /dev/null and b/Textures/Skybox/Sky34/back.jpg differ diff --git a/Textures/Skybox/Sky34/bottom.jpg b/Textures/Skybox/Sky34/bottom.jpg new file mode 100644 index 0000000..1b8eecd Binary files /dev/null and b/Textures/Skybox/Sky34/bottom.jpg differ diff --git a/Textures/Skybox/Sky34/front.jpg b/Textures/Skybox/Sky34/front.jpg new file mode 100644 index 0000000..2c94c31 Binary files /dev/null and b/Textures/Skybox/Sky34/front.jpg differ diff --git a/Textures/Skybox/Sky34/left.jpg b/Textures/Skybox/Sky34/left.jpg new file mode 100644 index 0000000..ff9c7fd Binary files /dev/null and b/Textures/Skybox/Sky34/left.jpg differ diff --git a/Textures/Skybox/Sky34/right.jpg b/Textures/Skybox/Sky34/right.jpg new file mode 100644 index 0000000..c5cd74d Binary files /dev/null and b/Textures/Skybox/Sky34/right.jpg differ diff --git a/Textures/Skybox/Sky34/top.jpg b/Textures/Skybox/Sky34/top.jpg new file mode 100644 index 0000000..eb42adc Binary files /dev/null and b/Textures/Skybox/Sky34/top.jpg differ diff --git a/Textures/Skybox/Sky36/back.jpg b/Textures/Skybox/Sky36/back.jpg new file mode 100644 index 0000000..203ec6d Binary files /dev/null and b/Textures/Skybox/Sky36/back.jpg differ diff --git a/Textures/Skybox/Sky36/bottom.jpg b/Textures/Skybox/Sky36/bottom.jpg new file mode 100644 index 0000000..d73fae6 Binary files /dev/null and b/Textures/Skybox/Sky36/bottom.jpg differ diff --git a/Textures/Skybox/Sky36/front.jpg b/Textures/Skybox/Sky36/front.jpg new file mode 100644 index 0000000..f0fd50b Binary files /dev/null and b/Textures/Skybox/Sky36/front.jpg differ diff --git a/Textures/Skybox/Sky36/left.jpg b/Textures/Skybox/Sky36/left.jpg new file mode 100644 index 0000000..36fd7f1 Binary files /dev/null and b/Textures/Skybox/Sky36/left.jpg differ diff --git a/Textures/Skybox/Sky36/right.jpg b/Textures/Skybox/Sky36/right.jpg new file mode 100644 index 0000000..7cdd73b Binary files /dev/null and b/Textures/Skybox/Sky36/right.jpg differ diff --git a/Textures/Skybox/Sky36/top.jpg b/Textures/Skybox/Sky36/top.jpg new file mode 100644 index 0000000..e2b3622 Binary files /dev/null and b/Textures/Skybox/Sky36/top.jpg differ diff --git a/Textures/Skybox/Test1/Back.jpg b/Textures/Skybox/Test1/Back.jpg new file mode 100644 index 0000000..c546fdf Binary files /dev/null and b/Textures/Skybox/Test1/Back.jpg differ diff --git a/Textures/Skybox/Test1/Bottom.jpg b/Textures/Skybox/Test1/Bottom.jpg new file mode 100644 index 0000000..d5048bc Binary files /dev/null and b/Textures/Skybox/Test1/Bottom.jpg differ diff --git a/Textures/Skybox/Test1/Front.jpg b/Textures/Skybox/Test1/Front.jpg new file mode 100644 index 0000000..31c7be6 Binary files /dev/null and b/Textures/Skybox/Test1/Front.jpg differ diff --git a/Textures/Skybox/Test1/Left.jpg b/Textures/Skybox/Test1/Left.jpg new file mode 100644 index 0000000..80ec9a2 Binary files /dev/null and b/Textures/Skybox/Test1/Left.jpg differ diff --git a/Textures/Skybox/Test1/Right.jpg b/Textures/Skybox/Test1/Right.jpg new file mode 100644 index 0000000..2eb1d0a Binary files /dev/null and b/Textures/Skybox/Test1/Right.jpg differ diff --git a/Textures/Skybox/Test1/Top.jpg b/Textures/Skybox/Test1/Top.jpg new file mode 100644 index 0000000..7d73398 Binary files /dev/null and b/Textures/Skybox/Test1/Top.jpg differ diff --git a/Textures/Skybox/Test1/back.png b/Textures/Skybox/Test1/back.png new file mode 100644 index 0000000..5028def Binary files /dev/null and b/Textures/Skybox/Test1/back.png differ diff --git a/Textures/Skybox/Test1/bottom.png b/Textures/Skybox/Test1/bottom.png new file mode 100644 index 0000000..f301c5f Binary files /dev/null and b/Textures/Skybox/Test1/bottom.png differ diff --git a/Textures/Skybox/Test1/front.png b/Textures/Skybox/Test1/front.png new file mode 100644 index 0000000..de08998 Binary files /dev/null and b/Textures/Skybox/Test1/front.png differ diff --git a/Textures/Skybox/Test1/images/Back.jpg b/Textures/Skybox/Test1/images/Back.jpg new file mode 100644 index 0000000..56d48d8 Binary files /dev/null and b/Textures/Skybox/Test1/images/Back.jpg differ diff --git a/Textures/Skybox/Test1/images/Back.png b/Textures/Skybox/Test1/images/Back.png new file mode 100644 index 0000000..4253109 Binary files /dev/null and b/Textures/Skybox/Test1/images/Back.png differ diff --git a/Textures/Skybox/Test1/images/Bottom.jpg b/Textures/Skybox/Test1/images/Bottom.jpg new file mode 100644 index 0000000..ccdc09d Binary files /dev/null and b/Textures/Skybox/Test1/images/Bottom.jpg differ diff --git a/Textures/Skybox/Test1/images/Bottom.png b/Textures/Skybox/Test1/images/Bottom.png new file mode 100644 index 0000000..9db9218 Binary files /dev/null and b/Textures/Skybox/Test1/images/Bottom.png differ diff --git a/Textures/Skybox/Test1/images/Front.jpg b/Textures/Skybox/Test1/images/Front.jpg new file mode 100644 index 0000000..d31f483 Binary files /dev/null and b/Textures/Skybox/Test1/images/Front.jpg differ diff --git a/Textures/Skybox/Test1/images/Front.png b/Textures/Skybox/Test1/images/Front.png new file mode 100644 index 0000000..da74769 Binary files /dev/null and b/Textures/Skybox/Test1/images/Front.png differ diff --git a/Textures/Skybox/Test1/images/Left.jpg b/Textures/Skybox/Test1/images/Left.jpg new file mode 100644 index 0000000..84bdd64 Binary files /dev/null and b/Textures/Skybox/Test1/images/Left.jpg differ diff --git a/Textures/Skybox/Test1/images/Left.png b/Textures/Skybox/Test1/images/Left.png new file mode 100644 index 0000000..8aa7372 Binary files /dev/null and b/Textures/Skybox/Test1/images/Left.png differ diff --git a/Textures/Skybox/Test1/images/Right.jpg b/Textures/Skybox/Test1/images/Right.jpg new file mode 100644 index 0000000..f6ccb37 Binary files /dev/null and b/Textures/Skybox/Test1/images/Right.jpg differ diff --git a/Textures/Skybox/Test1/images/Right.png b/Textures/Skybox/Test1/images/Right.png new file mode 100644 index 0000000..862a419 Binary files /dev/null and b/Textures/Skybox/Test1/images/Right.png differ diff --git a/Textures/Skybox/Test1/images/Top.jpg b/Textures/Skybox/Test1/images/Top.jpg new file mode 100644 index 0000000..71f190f Binary files /dev/null and b/Textures/Skybox/Test1/images/Top.jpg differ diff --git a/Textures/Skybox/Test1/images/Top.png b/Textures/Skybox/Test1/images/Top.png new file mode 100644 index 0000000..140222b Binary files /dev/null and b/Textures/Skybox/Test1/images/Top.png differ diff --git a/Textures/Skybox/Test1/left.png b/Textures/Skybox/Test1/left.png new file mode 100644 index 0000000..fa5e248 Binary files /dev/null and b/Textures/Skybox/Test1/left.png differ diff --git a/Textures/Skybox/Test1/right.png b/Textures/Skybox/Test1/right.png new file mode 100644 index 0000000..9fe26df Binary files /dev/null and b/Textures/Skybox/Test1/right.png differ diff --git a/Textures/Skybox/Test1/top.png b/Textures/Skybox/Test1/top.png new file mode 100644 index 0000000..fc905bb Binary files /dev/null and b/Textures/Skybox/Test1/top.png differ