Compare commits

...

329 Commits

Author SHA1 Message Date
Faerbit
955eee5a60 Linearization of depth buffer. Didn't change graphics in any way. 2015-01-19 00:40:28 +01:00
Steffen
d26722595e Added the option to define initial position constraints in the Level.xml file. 2015-01-17 14:07:12 +01:00
Steffen
10017bb855 Updated scripts and added scripts for opening the door in Level1 2015-01-17 13:37:09 +01:00
Steffen
04df8bd22f Created a moveObject function in the Level class. 2015-01-17 13:30:33 +01:00
Steffen
f496532126 Removed the lua state from the physics. 2015-01-17 13:11:43 +01:00
Steffen
b897dc5457 Added new composition 2015-01-17 12:38:27 +01:00
Steffen
147ae17789 Added ignoreHeightmap option to compositions in Compositions.xml. 2015-01-17 12:24:54 +01:00
Steffen
02a9cd7559 Added to TARGET_LINK_LIBRARIES, now compiles on my home pc. 2015-01-17 12:12:27 +01:00
Steffen Fündgens
cba7d170da Merge branch 'master' of github.com:Faerbit/swp 2015-01-16 16:52:11 +01:00
Steffen Fündgens
66f892bc15 started working on an actual trigger for Level1 2015-01-16 16:52:04 +01:00
Steffen Fündgens
ed6e257b69 moved the triggered/not triggered information to lua 2015-01-16 16:51:36 +01:00
sfroitzheim
ec29499416 Fixed a few bugs like duplicate marble(bridge will be fixed at monday) 2015-01-16 16:47:55 +01:00
sfroitzheim
f39fd522ce Merge branch 'master' of https://github.com/Faerbit/swp 2015-01-16 16:38:24 +01:00
sfroitzheim
a83e6155b3 Additional changes with the heightmap 2015-01-16 16:37:00 +01:00
Jasper
c7cc43a399 Merge branch 'master' of github.com:Faerbit/swp 2015-01-16 16:19:53 +01:00
Jasper
a0c73056c6 Added position Constraint structure, an add/remove function for them, and added their handeling to the update function 2015-01-16 16:17:26 +01:00
Jasper
ed16b4aab7 Fixed block so that it doesnt BLOW EVERYTHING UP! 2015-01-16 15:40:07 +01:00
Steffen Fündgens
2c0d4424a2 changed heightmap scaling 2015-01-16 14:02:36 +01:00
Faerbit
5df5d5b974 Removing the rest of the binary files from lua. 2015-01-15 17:39:20 +01:00
Faerbit
e80a22ebb6 Adding libreadline for lua to ubuntu docker image. 2015-01-15 17:34:41 +01:00
Faerbit
eec5ce85c1 Now also compiling lua from source before everything else. 2015-01-15 17:26:37 +01:00
Faerbit
f1b54a258f Removing lua binaries because they shouldn't be tracked. 2015-01-15 17:17:14 +01:00
Faerbit
e54e59e495 Adding lua Makefiles. 2015-01-15 17:15:53 +01:00
sfroitzheim
4e29a44505 Improved level heightmap (still not finished though) 2015-01-15 15:09:42 +01:00
Steffen Fündgens
1288c62ce9 Triggers now adapt if the object they want to do something with gets deleted or changes its index. 2015-01-13 18:18:13 +01:00
Steffen Fündgens
c6d4e1d916 Added and used a new trigger without recompiling, scripting really works. :) 2015-01-13 17:52:31 +01:00
Steffen Fündgens
b483cb2eb9 Now passing the Lua State to the physics, so that Lua can directly access physics functions. 2015-01-13 17:50:15 +01:00
Steffen Fündgens
4df1b8e3cb Lua script works now, worked around the bug by saving the name as a std::string. 2015-01-13 17:21:15 +01:00
Steffen Fündgens
46f163d748 Moved triggering to lua, got a strange bug with the const char* holding the name of the lua script. 2015-01-13 13:52:22 +01:00
Steffen Fündgens
e35899523f Integrated Lua into our project. Triggers are now able to call a Lua Script. Havent figured out how to let the Script do anything usefull yet. 2015-01-09 16:51:28 +01:00
Steffen Fündgens
aee4d4a8ff Moved all dampning parameters (except for the camera) to Compositions.xml. 2015-01-06 13:31:53 +01:00
Steffen Fündgens
cc4842a628 Moved friction and player strength to Level.xml. 2015-01-06 13:14:30 +01:00
Steffen Fündgens
a5de8e733e Added the option to give a trigger a target composition. The position the trigger activates at is the old manually set position + the position of the target composition. 2014-12-19 16:15:29 +01:00
Steffen Fündgens
55ba919f7e Ignoring blender backup files. 2014-12-19 15:22:34 +01:00
Steffen Fündgens
bbdc6be85d Also increased strength of the player ball. 2014-12-19 15:21:38 +01:00
Steffen Fündgens
831b0ebbb6 Tweaked ball physics. 2014-12-19 15:20:49 +01:00
Steffen Fündgens
2d4e590308 Fixed bug with created too many faces. 2014-12-19 15:20:05 +01:00
Steffen Fündgens
9deaf22bca Triangulated block. 2014-12-19 15:14:33 +01:00
Steffen Fündgens
1998e2abc9 Triangulated faces of the torch and added it to the Level again. 2014-12-19 15:09:00 +01:00
Steffen Fündgens
965e865d92 Removing useless mtl file. 2014-12-19 15:07:43 +01:00
Steffen Fündgens
4f677b427c Merge branch 'master' of github.com:Faerbit/swp 2014-12-19 13:36:05 +01:00
Steffen Fündgens
9f3b11c274 Changed the default objectNum for triggers from 1 to 0. Moved blocks up so they dont spawn in the heightmap. 2014-12-19 13:35:17 +01:00
Steffen Fündgens
749f8cb2dc added comments to Compositions.xml and adjusted marble size. 2014-12-19 13:33:59 +01:00
Faerbit
46a32b8617 Calulating fogEnd by farPlane. 2014-12-19 13:27:05 +01:00
Faerbit
5f87600bfb Fixed crashing if no lights are present. 2014-12-19 13:09:25 +01:00
Steffen Fündgens
cb3ccb3668 Moved triggers into compositions. 2014-12-16 13:46:49 +01:00
Fabian Klemp
d91d5e2028 Moved trigger functions to trigger class. 2014-12-16 12:40:30 +01:00
Fabian Klemp
bab84f01c1 Fixed triggers. Now deletes a truly random object. 2014-12-16 12:19:48 +01:00
Fabian Klemp
9497e99b58 Initialized pseudo random generator. 2014-12-16 12:17:30 +01:00
Faerbit
8a40b1705f Added slides. 2014-12-16 00:23:35 +01:00
Faerbit
70aab2a58f Made trigger more presentation friendly. 2014-12-15 23:36:22 +01:00
Faerbit
13c9893a47 Disabled point light shadows, because they look very wrong. 2014-12-15 22:59:13 +01:00
Faerbit
4fe9cc2bf8 Made level more presentation friendly. 2014-12-15 22:58:48 +01:00
Faerbit
8da25e5beb Removing debug output. 2014-12-15 22:03:04 +01:00
Faerbit
5ad46dd5e9 Revert "Not using pointlight shadows."
This reverts commit e00cb787c8.
2014-12-15 22:00:23 +01:00
Jasper
ebb7045753 Merge branch 'master' of github.com:Faerbit/swp
Conflicts:
	level.cc
2014-12-15 19:13:25 +01:00
Jasper
c993bd8f77 Tried to adjust box. 2014-12-15 19:11:28 +01:00
Steffen Fündgens
689a5f3d1c Adding *.db files to gitignore. 2014-12-15 19:00:40 +01:00
Steffen Fündgens
124ae53f59 Fixing texture file name of marble. 2014-12-15 19:00:07 +01:00
Steffen Fündgens
6d6f798d12 Changed to Lvl1. 2014-12-15 18:58:32 +01:00
Steffen Fündgens
2a1119da79 Implemented simple triggers. 2014-12-15 18:43:10 +01:00
Steffen Fündgens
e00cb787c8 Not using pointlight shadows. 2014-12-15 16:48:42 +01:00
Steffen Fündgens
23abffb3ee Merge branch 'master' of github.com:Faerbit/swp 2014-12-15 16:34:54 +01:00
Steffen Fündgens
b43f37f0a0 Doubled heightmap scale. 2014-12-15 16:34:44 +01:00
Fabian Klemp
2e75aff5af Adding torch blenderfile. 2014-12-15 16:27:04 +01:00
Jasper
9964b9be34 Merge branch 'master' of github.com:Faerbit/swp 2014-12-15 16:04:36 +01:00
Jasper
e49e4c2177 Composition scales addapted
Physics added trimeshshapes
2014-12-15 16:02:04 +01:00
Faerbit
15f91a19b9 Merge branch 'master' of github.com:Faerbit/swp 2014-12-15 15:59:12 +01:00
Faerbit
05cac9c520 Point light shadows for the first point light does something. Seems pretty broken. 2014-12-15 15:58:55 +01:00
sfroitzheim
0eacb96e81 Version 1.1 of the heightmap 2014-12-15 15:45:56 +01:00
sfroitzheim
6b3db436dc Added Heightmap prototype(could be garbage) 2014-12-15 15:13:29 +01:00
Faerbit
df182abd06 Reducing OpenGL version number to 3.2 again. 2014-12-15 15:10:19 +01:00
Steffen Fündgens
db1de34bce Merge branch 'master' of github.com:Faerbit/swp 2014-12-15 14:59:09 +01:00
Steffen Fündgens
66cf9ef8d6 Implemented half the loading of triggers. 2014-12-15 14:59:03 +01:00
Faerbit
91567fca78 Merge branch 'master' of github.com:Faerbit/swp 2014-12-15 14:57:50 +01:00
sfroitzheim
fdeb783055 Merge branch 'master' of https://github.com/Faerbit/swp 2014-12-15 14:25:33 +01:00
sfroitzheim
121f357d23 Added a simple wall to models/textures 2014-12-15 14:24:11 +01:00
Steffen Fündgens
81bead5a97 Fixed the trigger skeleton 2014-12-15 13:39:24 +01:00
Steffen Fündgens
2e472f8921 Merge branch 'master' of github.com:Faerbit/swp 2014-12-15 13:36:13 +01:00
Steffen Fündgens
b744d5b440 Startet implementing a trigger skeleton. 2014-12-15 13:36:04 +01:00
Faerbit
ca5618bce2 Now using OpenGL 4.0. 2014-12-15 13:31:31 +01:00
sfroitzheim
9c92954bc0 Fixed Poles of Marble 2014-12-15 13:28:05 +01:00
Faerbit
acf7325553 MVPs are only needed for directional shadows and not for point light shadows (forgot one thing. 2014-12-15 13:23:35 +01:00
Faerbit
7dae5a5e8c Merge branch 'master' of github.com:Faerbit/swp 2014-12-15 13:16:36 +01:00
Faerbit
f306730920 MVPs are only needed for directional shadows and not for point light shadows. 2014-12-15 13:16:27 +01:00
Steffen Fündgens
ad24191000 Merge branch 'master' of github.com:Faerbit/swp 2014-12-15 13:08:47 +01:00
Steffen Fündgens
56be22a460 Moved mass from objectType to singular objects. Now loading physics from xml, but with a dummy-box instead of meshes. 2014-12-15 13:08:35 +01:00
Faerbit
7a95ddf6bb Removing commented code. 2014-12-15 12:55:48 +01:00
Faerbit
4d36c9fb97 Moved calculation of shadowMVP to the CPU side. 2014-12-15 12:41:30 +01:00
Faerbit
6ff8f33017 Fixed a parenthesis. 2014-12-15 11:53:31 +01:00
Faerbit
55cc68a333 Moving MVP calculation to the CPU side. 2014-12-15 11:45:31 +01:00
Faerbit
c2cf71e0e6 Replacing buildFrustum with standard glm call. 2014-12-15 11:22:32 +01:00
Faerbit
cec0043caf Implemented cube map depth rendering from lighting positions. 2014-12-15 02:09:33 +01:00
Faerbit
ed347725e6 Limited light sources to 32 instead of 128. 2014-12-15 01:16:43 +01:00
Faerbit
b2241a671e Made tinyxml source files not executable. 2014-12-15 01:15:08 +01:00
Faerbit
d45ed9060f Made getLights return a pointer to avoid copying around large amounts of light data every frame. 2014-12-15 01:12:51 +01:00
Faerbit
01212ba007 Init graphics with the level instead of passing it to the render function everytime. 2014-12-15 01:05:46 +01:00
Faerbit
b5f7e73c4c Removing torches for better testing. 2014-12-15 01:03:48 +01:00
Steffen Fündgens
4ddc21d3c9 Debugging. Had to comment out the loading of physics because it crashed the programm. 2014-12-12 18:38:12 +01:00
Steffen Fündgens
3504a2d209 Added skeleton for trigger loading. Added comments to identify closing brackets. 2014-12-12 18:02:31 +01:00
Steffen Fündgens
85c6132c3e Added indexing of the created objects for use in triggers. Added some comments to the loading. 2014-12-12 17:47:33 +01:00
Steffen Fündgens
c406bd4b62 Converter now adds a Dummy-Trigger to the xml. Copy and customize it in the Levelx.xml to create actual triggers. 2014-12-12 17:18:31 +01:00
Steffen Fündgens
caea9b7181 Implemented loading of physical objects. Compositions.xml holds mostly Dummy-Values for those. 2014-12-12 16:52:05 +01:00
Steffen Fündgens
f8d9ff0919 Adjusted the name of the marbles texture in Compositions.xml... 2014-12-12 16:28:34 +01:00
Steffen Fündgens
71a05e5b1e Merge branch 'master' of github.com:Faerbit/swp 2014-12-12 16:25:18 +01:00
Steffen Fündgens
d67b7b5b23 Implemented loading of gloabal lighting. Added physics parameters to Compositions.xml. 2014-12-12 16:24:47 +01:00
Steffen Fündgens
a1981ecbca Changed fogColor to fogColour. Moved some global Parameters to the xml. 2014-12-12 15:41:17 +01:00
sfroitzheim
a05095c9dd Triangulated Faces 2014-12-12 15:16:56 +01:00
sfroitzheim
20f66d996f Fixed wrong texture name 2014-12-12 15:09:51 +01:00
sfroitzheim
cc64a524fc Additional Marbletexture optimizing 2014-12-12 15:05:53 +01:00
sfroitzheim
b5e5289511 Improved marbletexture and added Blenderfile 2014-12-12 14:58:12 +01:00
Steffen Fündgens
7cb146dbbb Changed errorChecking in the converter. 2014-12-12 12:31:24 +01:00
Faerbit
bd1cedcc23 Removing stencil buffer from depthTextures. 2014-12-12 02:19:41 +01:00
Steffen Fündgens
28839b4d3a changed error checking syntax to make code more compact 2014-12-08 15:48:46 +01:00
Steffen Fündgens
2790bddd11 Added loading of lights, adjusted Compositions.xml and Level0.png to test it. 2014-12-08 15:19:50 +01:00
Steffen Fündgens
030f2f3bdd Finished loading of graphical objects, please check if my interpretation of the rotation is corect(copied from entity.cc). No physics loaded yet. 2014-12-08 14:54:27 +01:00
Steffen Fündgens
cf4cbd92fa Converting unsigned ints to regular ints again, undid that while merging. 2014-12-08 14:24:26 +01:00
Steffen Fündgens
68202bdef2 merging 2014-12-08 14:19:23 +01:00
Steffen Fündgens
b0b43cc2ee Added error checking for all XML Queries, fixed bugs and continued to implement loading from xml. 2014-12-08 14:10:08 +01:00
Faerbit
b51cc256bd Reexporting column, because it had no normals. 2014-12-08 13:43:47 +01:00
Faerbit
3f90032bf0 Converting unsinged ints to regular ints, because tinyxml cannot query for unsigned ones and thus negates the purpose of using unsigned ones. This also causes compiler errors. 2014-12-08 13:33:38 +01:00
Faerbit
1d82412576 One exclamation mark is enough. 2014-12-08 13:28:50 +01:00
Steffen Fündgens
4ab04faf68 Implemented more of the loading from xml 2014-12-05 17:14:43 +01:00
Steffen Fündgens
f4529d1430 Added objectData to Compositions.xml. It contains texture data as of now. 2014-12-05 16:55:17 +01:00
Steffen Fündgens
a6c65efcee Changed model and texture names to not start with capital letters. 2014-12-05 16:36:31 +01:00
Steffen Fündgens
b5deb6b9e7 Merge branch 'master' of github.com:Faerbit/swp 2014-12-05 16:19:06 +01:00
Steffen Fündgens
da197f063f Fixed the filesytem for the converter. 2014-12-05 16:18:48 +01:00
sfroitzheim
4805a4a3ce Merge branch 'master' of https://github.com/Faerbit/swp 2014-12-05 15:01:16 +01:00
Steffen Fündgens
e79128a1a5 Added Level0.png. 2014-12-05 15:00:46 +01:00
sfroitzheim
3268881a13 Merge branch 'master' of https://github.com/Faerbit/swp 2014-12-05 14:51:23 +01:00
sfroitzheim
c899c4e67e Fixed some display bugs with the column. 2014-12-05 14:49:23 +01:00
Steffen Fündgens
41584ef993 Merge branch 'master' of github.com:Faerbit/swp 2014-12-05 14:45:57 +01:00
Steffen Fündgens
24edf1aca9 Implemented error checking for XML. Fixed loading of OBJ-Files. 2014-12-05 14:45:44 +01:00
sfroitzheim
73d5e5fd52 Added a movable Block that will be used to be pushed on switches. 2014-12-05 14:39:51 +01:00
sfroitzheim
d4168fb002 Changed Columntexture to something better. 2014-12-05 14:39:08 +01:00
Steffen Fündgens
5e44f9680e integrating tinyxml into level, adding lights to compositions 2014-12-05 12:47:02 +01:00
Steffen Fündgens
7e7754ca64 Merge branch 'master' of github.com:Faerbit/swp 2014-12-05 12:13:45 +01:00
Faerbit
b9b7a6e7b4 Put some code in a function. 2014-12-05 00:57:17 +01:00
Faerbit
8eb0f6719a Now generating Mipmaps for textures. 2014-12-04 18:58:16 +01:00
Faerbit
9e4cc5e4f7 Setting wrap mode of depthTextures to CLAMP_TO_EDGE to remove seams. 2014-12-04 17:39:35 +01:00
Faerbit
1c687f5759 Implemented cascaded shadow mapping. 2014-12-04 17:19:58 +01:00
Faerbit
0cb741dbc3 Implemented early bailing. 2014-12-04 15:08:08 +01:00
Steffen Fündgens
0e06ae9fd3 changed filePath to levelNum 2014-12-04 15:07:31 +01:00
Faerbit
e005c97439 Implemented poisson sampling. 2014-12-04 14:53:07 +01:00
Faerbit
b38e24c3db Disable culling because it seems to give slightly worse FPS. 2014-12-04 14:46:39 +01:00
Faerbit
a8ac3c064a Improving bias on slopes. 2014-12-04 13:26:06 +01:00
Faerbit
3b0881f9c1 Adding culling. 2014-12-04 13:23:25 +01:00
Faerbit
049819c47a Changing shadow map sampler from sampler2D to sampler2Dshadow and removing now useless colour texture. 2014-12-04 13:21:20 +01:00
Faerbit
fe0535036f Changing directional light vector to match origin of the sun on the skysphere texture. 2014-12-04 12:19:39 +01:00
Faerbit
588b499f93 Making framebuffer private again. (Was public for debugging. 2014-12-04 01:22:23 +01:00
Faerbit
f559eced68 Implemented basic shadows for sun light. Also fixed bug with far plane always staying the same. 2014-12-04 01:13:59 +01:00
Faerbit
08716abfe8 Always automatically update docker container. 2014-12-03 11:17:24 +01:00
Faerbit
7a76519edb Exiting converter if no input file is given. 2014-12-03 11:09:37 +01:00
Steffen Fündgens
581e1cd111 adjusting converter to work with black and white image backgrounds 2014-12-02 13:37:31 +01:00
Steffen Fündgens
965c3f96f9 still merging... 2014-12-02 13:19:19 +01:00
Steffen Fündgens
4adc1198b8 Merged master and converter 2014-12-02 13:17:33 +01:00
Steffen Fündgens
b6c694b350 Compositions.xml makes sense now 2014-12-02 13:13:20 +01:00
Faerbit
f38ced6603 Moving shader management completely into graphics. 2014-12-01 17:49:59 +01:00
Faerbit
64aeae8143 Removing spammy comments. 2014-12-01 17:44:58 +01:00
Faerbit
8b21495faa Adding namespacing. 2014-12-01 17:40:39 +01:00
Faerbit
be1abf584f Removing useless includes. 2014-12-01 17:40:06 +01:00
Steffen Fündgens
315d5aec04 implemented all methods of the converter class, needs testing 2014-12-01 14:09:55 +01:00
Faerbit
ed889ebd76 Reexporting Block.obj, because normals were missing. 2014-12-01 13:55:47 +01:00
Faerbit
777d33699e Removing backup blender files. 2014-12-01 13:54:10 +01:00
Faerbit
02641d7f1c Adding OBJ-file load messages for easier debugging. 2014-12-01 13:53:01 +01:00
Faerbit
c96d081e3d Do not build GLFW examples and tests. 2014-12-01 13:16:04 +01:00
Faerbit
e1d14c1884 Removing useless includes. 2014-12-01 12:58:04 +01:00
Faerbit
117e3715b4 Updating glfw to version 3.0.4. 2014-12-01 12:53:19 +01:00
Faerbit
27080179e4 Revert "Updating glfw." Code was not ready for release.
This reverts commit 81234ca22a.
2014-12-01 12:44:08 +01:00
Faerbit
043205455f Moving application class to it's own file. 2014-12-01 12:41:19 +01:00
Faerbit
4daf4c8ccf Let member function use it own class and not the global variable. 2014-12-01 12:33:00 +01:00
Faerbit
81234ca22a Updating glfw. 2014-12-01 12:32:04 +01:00
Faerbit
8317188314 Removing big textures as they are not needed. 2014-11-29 02:06:46 +01:00
Faerbit
139945614b Merge branch 'master' of github.com:Faerbit/swp 2014-11-29 01:37:38 +01:00
Faerbit
f3f870c2d1 Removing useless files. 2014-11-29 01:36:59 +01:00
Jasper
edb17a9e67 Merge branch 'master' of github.com:Faerbit/swp 2014-11-28 17:07:54 +01:00
Steffen Fündgens
9f1a931b0b added example Compositions.xml, implemented most of newComposition() method 2014-11-28 17:05:49 +01:00
Jasper
91de258030 Reduced memory usage of trianglemesh 2014-11-28 17:01:56 +01:00
Faerbit
c5abdba83e Added skydome blender file. 2014-11-28 16:49:28 +01:00
Faerbit
869e1ed415 Moved Blenderfiles out of Levels because of packaging. 2014-11-28 16:47:35 +01:00
Jasper
59bb4a91a7 Merge branch 'master' of github.com:Faerbit/swp 2014-11-28 16:46:44 +01:00
Jasper
ad61969176 Added basic Triangle Mesh, pending reading out of .obj and then testing. 2014-11-28 16:46:35 +01:00
sfroitzheim
414da9ba7e Added switch models and textures in 2 seperate parts (switchInner is the movable object - size may needs to be changed in the future) 2014-11-28 16:38:55 +01:00
sfroitzheim
150a556c22 Added all blender files (except marble, as I don't have the newest and smoothed version) 2014-11-28 16:31:50 +01:00
sfroitzheim
00cdbe4c5e Fixed origin of block. 2014-11-28 15:28:03 +01:00
Jasper
594f336204 Added a constraint for distances, as such a constraint did not exist in bullet.Why, IDK. 2014-11-28 13:52:03 +01:00
Jasper
9d39bec46f Multiple objects now working, for exact implimentation check level.cc and comment in physics.hh. Additionally multiple comments have been added to physics.hh to support the use of these functions 2014-11-28 12:06:17 +01:00
Faerbit
d58147a935 You can render objects with multiple shaders now. 2014-11-28 00:17:56 +01:00
Faerbit
4881367004 Adding run.sh script 2014-11-27 23:58:33 +01:00
Faerbit
6a05ec47dd Changing paramter order. 2014-11-27 22:02:25 +01:00
Faerbit
6bb0974c67 Specifying upload path. 2014-11-27 21:53:22 +01:00
Faerbit
6a82bf122c Fixing script not in PATH. 2014-11-27 21:45:19 +01:00
Faerbit
c63382ba29 Fixing stupid mistake. 2014-11-27 21:38:10 +01:00
Faerbit
215b37f15e Changing file hoster once again to dropbox. 2014-11-27 21:37:09 +01:00
Faerbit
fab8665424 Adding module to plowshare. 2014-11-27 13:32:51 +01:00
Faerbit
b9b2f5769e Fixing yaml formatting. 2014-11-27 13:25:18 +01:00
Faerbit
50c08d79ec Changing how plowshare is installed. 2014-11-27 13:24:39 +01:00
Faerbit
60ff3452ca Adding -y to apt-get. 2014-11-27 13:20:18 +01:00
Faerbit
65eba6a97a Changing upload target to mediafire and upload tool to plowshare because megacmd sucks. 2014-11-27 13:19:02 +01:00
Faerbit
b57b559748 Reverting to upload instead of sync, because sync looks really broken. 2014-11-27 12:55:41 +01:00
Faerbit
ca4ccaef10 Syncing files instead of forcing them to mega. 2014-11-27 12:36:30 +01:00
Faerbit
6f44ea1416 Always uploading Windows build. 2014-11-27 12:09:45 +01:00
Faerbit
cc6818cd65 Adding zip. 2014-11-27 05:40:53 +01:00
Faerbit
2a99eb16d5 Should fix weird bug with CMake. 2014-11-27 05:35:45 +01:00
Faerbit
6af0dcc427 Adding missing paramter. 2014-11-27 05:31:54 +01:00
Faerbit
1dc99cdf39 Upgrading docker image to newest version. 2014-11-27 05:31:17 +01:00
Faerbit
79e8f777b3 Trying compilation on circle with docker. 2014-11-27 05:27:19 +01:00
Faerbit
76745a1da8 Adding dockerfile. 2014-11-27 05:18:40 +01:00
Faerbit
90630c7ab6 Fixing another syntax error. 2014-11-27 00:41:21 +01:00
Faerbit
afdaa05d27 Fixing syntax. 2014-11-27 00:40:46 +01:00
Faerbit
3621592e4c Added spaces. 2014-11-27 00:32:44 +01:00
Faerbit
a49c023305 Check if windows build exists before trying to do anything with it. 2014-11-27 00:23:51 +01:00
Faerbit
c6a330f35a Do not suppress output of apt-get anymore. 2014-11-27 00:16:17 +01:00
Faerbit
bdee3a0740 Only copy linux builds to artifacts. 2014-11-27 00:14:56 +01:00
Faerbit
6ef713107e Changing root path. 2014-11-26 23:57:33 +01:00
Faerbit
98d0e955e8 Try building linux first. 2014-11-26 23:49:40 +01:00
Faerbit
6b80e179f4 Another try at cross compilation on circle. 2014-11-26 23:46:21 +01:00
Faerbit
b3c285b4c2 Another try at cross compilation on circle. 2014-11-26 23:44:09 +01:00
Faerbit
e2dd7724ac Trying without C++ 11. 2014-11-26 23:29:41 +01:00
Faerbit
4335eeb00e Adding binutils. 2014-11-26 23:09:04 +01:00
Faerbit
8d6483877b Changing dependencies. 2014-11-26 23:06:51 +01:00
Faerbit
99280607e1 Adding 64 bit compiler. 2014-11-26 23:05:01 +01:00
Faerbit
d31e50cfa8 Enabling error message. 2014-11-26 23:02:55 +01:00
Faerbit
24c149b656 Another try at cross compilation on circle. 2014-11-26 23:02:01 +01:00
Faerbit
fe4563e1d0 Forgot one windows thing. 2014-11-26 01:58:58 +01:00
Faerbit
ae18362112 Removing travis.yml because it is useless. 2014-11-26 01:54:00 +01:00
Faerbit
45ccc55786 Deactivating Windows build for now. 2014-11-26 01:53:37 +01:00
Faerbit
35012faeec Another try at cross compilation on circle. 2014-11-26 01:45:24 +01:00
Faerbit
f17a9d4374 Another try at cross compilation on circle. 2014-11-26 01:39:45 +01:00
Faerbit
cdfc6fa94a Another try at cross compilation on circle. 2014-11-26 00:56:16 +01:00
Faerbit
c6c9c83eb7 Testing out cross compilation on circle. 2014-11-26 00:43:52 +01:00
Faerbit
1af78cb6e5 Replaced cmake wrapper with own options. 2014-11-26 00:39:54 +01:00
Faerbit
3504e10102 Made Mega upload optional. 2014-11-26 00:39:26 +01:00
Faerbit
28c2347594 Do not recreate zip file everytime. 2014-11-26 00:39:03 +01:00
Faerbit
e4734ae34a Another try at Mega deployment. 2014-11-25 22:08:51 +01:00
Faerbit
ef80d0124a Another try at Mega deployment. 2014-11-25 22:07:28 +01:00
Faerbit
79440e2edd Limiting circle builds to master branch. 2014-11-25 22:06:55 +01:00
Faerbit
96c3ea4aac Another try at Mega deployment. 2014-11-25 22:03:32 +01:00
Faerbit
3c2ce439e5 Another try at Circle Artifacts. 2014-11-25 21:54:53 +01:00
Faerbit
bed712f669 Trying Circle Artifacts. 2014-11-25 21:53:00 +01:00
Faerbit
b6c8c7ed57 Configuring mega upload. 2014-11-25 21:46:37 +01:00
Faerbit
dd1705b023 Another try at mega deployment. 2014-11-25 21:33:28 +01:00
Faerbit
d524787cb7 Trying out deployment to Mega. 2014-11-25 21:30:57 +01:00
Faerbit
e5c30e464f Speeding up build on circle. 2014-11-25 21:21:13 +01:00
Faerbit
6b00de67f5 Fixing typo. 2014-11-25 21:11:05 +01:00
Faerbit
6a593eb319 Adding a few dependencies to circle.yml. 2014-11-25 21:10:18 +01:00
Faerbit
a5694e0e8c Adding circle.yml to test Circle CI. 2014-11-25 21:01:11 +01:00
Faerbit
2de9c38ce7 Changed how windows focus is handled. 2014-11-25 16:01:13 +01:00
Faerbit
7431d0d63e Changed fog functions a little bit more. Looks nice enough. 2014-11-25 13:54:00 +01:00
Steffen Fündgens
6b904894c6 skeleton runs now, only xml read/write missing 2014-11-25 13:51:25 +01:00
Faerbit
7736e7850f Removing global variables from physics, because they are not needed. 2014-11-25 13:38:28 +01:00
Faerbit
4161ae0ec4 Changed fog function from exp to linear. 2014-11-25 13:24:02 +01:00
Faerbit
b0ed3c467f Ignoring another error in bullet. 2014-11-24 20:51:17 +01:00
Faerbit
78de14907a More convenience. 2014-11-24 19:54:13 +01:00
Faerbit
2bf6eb667c Added support for ninja build system and fixed uploading to Mega. 2014-11-24 15:59:59 +01:00
Faerbit
8245e0782e Added package script. 2014-11-24 15:12:18 +01:00
Steffen Fündgens
7bf1d8eed4 converter now takes the Level to convert as input 2014-11-24 13:21:52 +01:00
Steffen Fündgens
9b5426a6af added tinyxml2 for xml conversion 2014-11-24 13:03:55 +01:00
Faerbit
823da599f3 Starting another travis try. 2014-11-24 02:29:40 +01:00
Faerbit
71cb8300bd Enabling cross compiling if supported by the current system. 2014-11-24 02:10:25 +01:00
Faerbit
1cc47fa4ab Changed build script a bit. 2014-11-24 01:53:29 +01:00
Faerbit
97aeb6c965 Changing vector of objects to vector of pointer of objects for clearer construnction. 2014-11-23 00:59:54 +01:00
Faerbit
ed44f71b8c Replacing skybox attribute with skydome. 2014-11-23 00:57:16 +01:00
Faerbit
3a9a04d4d6 Changed skybox to skydome. 2014-11-22 00:39:58 +01:00
Jasper
59796882e4 Merge branch 'master' of https://github.com/Faerbit/swp 2014-11-21 16:22:50 +01:00
Jasper
3d936df227 Put Box In Level 2014-11-21 16:22:36 +01:00
Steffen Fündgens
3be8d78e1a now ignoring files with ~ 2014-11-21 16:09:45 +01:00
Steffen Fündgens
0105a74b5a Now ignoreing files with ~. 2014-11-21 16:08:03 +01:00
Steffen Fündgens
c65a745603 Modifying CMakes files to get convert to compile. 2014-11-21 16:07:13 +01:00
Steffen Fündgens
86c11e339e created skeletal implementation of png to xml converter 2014-11-21 15:43:27 +01:00
Jasper
fa60d52676 Modified adders in physics to no longer accept float x,y,z but entity/object instead. 2014-11-21 12:56:30 +01:00
Jasper
3c0deb232f added box in physics 2014-11-21 12:50:11 +01:00
Jasper
263f59f000 Normalized body movement (still has float strength to change magnitude) 2014-11-21 12:31:29 +01:00
Faerbit
1006f1cbc9 Improved fog a little bit. 2014-11-21 02:46:02 +01:00
Faerbit
c47ed4646d Added skybox and refined fog a bit. Fog still needs a lot of work. 2014-11-21 02:38:03 +01:00
Faerbit
b74e56fe7d Fixing typo to allow cross compilation. 2014-11-20 23:25:52 +01:00
Faerbit
3a677c31da Removing travis.yml again because it doesn't work. 2014-11-20 21:19:07 +01:00
Faerbit
788110aaf1 Fixing sed command. 2014-11-20 21:16:51 +01:00
Faerbit
6f59b1fb59 Now using standard Makefiles instead of Ninja. 2014-11-20 21:15:02 +01:00
Faerbit
7bda59920b Fixing installation of ninja again. 2014-11-20 21:08:29 +01:00
Faerbit
4af197d74b Fixing installation of ninja. 2014-11-20 21:05:15 +01:00
Faerbit
15a540e3c9 Adding .travis.yml for CI. 2014-11-20 21:02:58 +01:00
Faerbit
eadc819f80 Removing useless files. 2014-11-20 20:42:40 +01:00
Faerbit
b12b917a44 Implemented simple fog. 2014-11-19 01:58:48 +01:00
Faerbit
faf548d3ee Now using built-in exp function. 2014-11-19 01:58:25 +01:00
Faerbit
7d0cf9fca2 Added getCameraPosition to Level because it is used very often. 2014-11-19 01:57:38 +01:00
Faerbit
49dfdff413 Changing a few lighting paramters for testing. 2014-11-19 00:59:48 +01:00
Faerbit
a8b6463674 Changing how the intensity is calculated. 2014-11-19 00:59:33 +01:00
Faerbit
9576a40af6 Moving far plane a bit further. 2014-11-19 00:59:02 +01:00
Faerbit
8968750015 Clamping diffuse color for more realistic lighting. 2014-11-19 00:46:51 +01:00
Faerbit
715301552a Removing angular(Velocity) from object class as it is not needed there. 2014-11-18 19:57:58 +01:00
Faerbit
2638b43b44 Resized large textures to one third of their size. 2014-11-18 19:39:44 +01:00
Steffen Fündgens
5a92765518 changed terrain normals to consider 8 vertices, looks the same 2014-11-18 13:09:55 +01:00
Faerbit
6a8182ab8d Reexported objects and enabled smooth shading. 2014-11-17 22:03:28 +01:00
Jasper
c54d6cf874 Merge branch 'master' of renault.informatik.rwth-aachen.de:/data/git-repository/students/swpp-ws-14-15/swpp-ws-14-15-c
Conflicts:
	terrain.cc
	terrain.hh
2014-11-17 18:59:00 +01:00
Jasper
95627d31ae Merge branch 'master' of https://github.com/Faerbit/swp 2014-11-17 18:54:44 +01:00
Jasper
10f51db60f fixed terrain offset 2014-11-17 18:54:19 +01:00
Fabian Klemp
8a9d026aa5 Removing useless stuff. 2014-11-17 18:40:54 +01:00
sfroitzheim
c403814cd6 Merge branch 'master' of https://github.com/Faerbit/swp 2014-11-17 18:31:48 +01:00
sfroitzheim
c58e4d01b1 Changing marble model. 2014-11-17 18:31:22 +01:00
Fabian Klemp
9611c9ef08 Changing sand texture to a seamless sand texture. 2014-11-17 18:18:57 +01:00
Fabian Klemp
5533d4e4ba Removing update of the light at the center of the marble. 2014-11-17 18:18:15 +01:00
Fabian Klemp
9fc515ec24 Removing light at the center of the marble. 2014-11-17 18:16:27 +01:00
Fabian Klemp
ca3928e232 Added directional lighting. 2014-11-17 17:51:15 +01:00
Fabian Klemp
39b1ee85b0 Added emtpy constructor. 2014-11-17 17:50:06 +01:00
Fabian Klemp
94b12ae614 Removed rotation paramter from Light constructor as it is not used. 2014-11-17 16:54:17 +01:00
Fabian Klemp
6f89c406f1 Merge branch 'master' of github.com:Faerbit/swp 2014-11-17 16:31:04 +01:00
Fabian Klemp
d11a2820d6 Changing a few spawning values. 2014-11-17 16:31:01 +01:00
Jasper
d4e38b7a41 Merge branch 'master' of https://github.com/Faerbit/swp 2014-11-17 16:29:10 +01:00
Jasper
dbce8c229f getting the sizes juuuuuuuust right 2014-11-17 16:28:31 +01:00
Fabian Klemp
c22ae2c244 Merge branch 'master' of github.com:Faerbit/swp 2014-11-17 16:16:13 +01:00
Fabian Klemp
3086f98ecd Added alpha shading. 2014-11-17 16:15:56 +01:00
Jasper
bcb594c4cf ich bin dumb 2014-11-17 16:14:01 +01:00
Jasper
429223a08e merged level.cc 2014-11-17 16:11:39 +01:00
Jasper
abe9513aa3 further improving physics and interaction 2014-11-17 16:07:40 +01:00
sfroitzheim
8f64f75b67 Merge branch 'master' of https://github.com/Faerbit/swp 2014-11-17 15:44:31 +01:00
Fabian Klemp
29f24d6f05 Adding column and block ruins. 2014-11-17 15:29:38 +01:00
Fabian Klemp
f6b2bd776a Added light in the middle of the marble. 2014-11-17 15:19:36 +01:00
Fabian Klemp
6f7486b3f8 Fixed normals. 2014-11-17 15:19:19 +01:00
Fabian Klemp
4dc7897f8c Removed middle Ring. 2014-11-17 15:04:59 +01:00
Fabian Klemp
48691338ba Basic Marble Model with Textures added. 2014-11-17 14:38:35 +01:00
Fabian Klemp
0b7f8e95d3 Adding torch. 2014-11-17 14:23:23 +01:00
Jasper
a77ed38625 Merge branch 'master' of https://github.com/Faerbit/swp 2014-11-17 13:36:35 +01:00
Steffen Fündgens
0c4184477b Merge branch 'master' of github.com:Faerbit/swp 2014-11-17 13:36:09 +01:00
Steffen Fündgens
29f4cf6279 Reorganizing file structure. 2014-11-17 13:36:05 +01:00
Jasper
288d509316 Changed rollForward to accept vector going from camera to bball 2014-11-17 13:21:27 +01:00
sfroitzheim
5c776e56f0 basic marble model with (imperfect) texture 2014-11-14 15:12:13 +01:00
Steffen Fündgens
5d2acc0e53 Fixed a bug in loading the heightmap and added comments 2014-11-04 12:08:47 +01:00
Steffen Fündgens
925eb62831 implemented loading of the heightmap from a png to unsigned int** 2014-11-03 17:19:22 +01:00
286 changed files with 75951 additions and 3461876 deletions

6
.gitignore vendored
View File

@ -1,5 +1,9 @@
binaries
build
Makefile
/Makefile
CMakeLists.txt.user
*.cbp
*~
*.zip
*.db
*.blend1

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
Blenderfiles/skydome.blend Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
Blenderfiles/torch.blend Normal file

Binary file not shown.

View File

@ -1,5 +1,7 @@
CMAKE_MINIMUM_REQUIRED (VERSION 2.6)
add_subdirectory(converter)
# project/binary name:
PROJECT(MarbleRaceGroupC)
@ -55,19 +57,17 @@ set(dir ${CMAKE_CURRENT_SOURCE_DIR}/binaries)
set(EXECUTABLE_OUTPUT_PATH ${dir} CACHE PATH "Build directory" FORCE)
# source and header files
FILE(GLOB_RECURSE SOURCE_FILES_SHARED "../shared/*.cc")
FILE(GLOB_RECURSE SOURCE_FILES "${CMAKE_SOURCE_DIR}/*.cc")
FILE(GLOB SOURCE_FILES "${CMAKE_SOURCE_DIR}/*.cc")
SET(SOURCE_FILES ${SOURCE_FILES} ${SOURCE_FILES_SHARED})
FILE(GLOB_RECURSE HEADER_FILES_SHARED "../shared/*.hh")
FILE(GLOB_RECURSE HEADER_FILES "${CMAKE_SOURCE_DIR}/*.hh")
FILE(GLOB HEADER_FILES "${CMAKE_SOURCE_DIR}/*.hh")
SET(HEADER_FILES ${HEADER_FILES} ${HEADER_FILES_SHARED})
# shader files
FILE(GLOB_RECURSE SHADER_FILES "${CMAKE_SOURCE_DIR}/Shader/*.*")
# Readme
FILE(GLOB_RECURSE README_FILES "${CMAKE_SOURCE_DIR}/../README.TXT")
FILE(GLOB_RECURSE README_FILES "${CMAKE_SOURCE_DIR}/../Readme.md")
#
#
###############################################################################
@ -106,7 +106,7 @@ ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
# Linux:
#
IF(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
SET(LIBRARIES ${LIBRARIES} -lXrandr -lGL -lXi -pthread -lm -lX11 -lXxf86vm)
SET(LIBRARIES ${LIBRARIES} -lXrandr -lGL -lXi -pthread -lm -lX11 -lXxf86vm -ldl)
ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
#
#
@ -118,12 +118,33 @@ FILE(GLOB_RECURSE HEADER_FILES_BULLET ${CMAKE_SOURCE_DIR}/extern/bullet/src/*.h)
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/extern/bullet/src)
SET(HEADER_FILES ${HEADER_FILES} ${HEADER_FILES_BULLET})
if(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
SET (LIBRARIES ${LIBRARIES} ${CMAKE_SOURCE_DIR}/extern/bullet/build/lib/libBulletDynamics.a)
SET (LIBRARIES ${LIBRARIES} ${CMAKE_SOURCE_DIR}/extern/bullet/build/lib/libBulletCollision.a)
SET (LIBRARIES ${LIBRARIES} ${CMAKE_SOURCE_DIR}/extern/bullet/build/lib/libLinearMath.a)
SET (LIBRARIES ${LIBRARIES} ${CMAKE_SOURCE_DIR}/extern/bullet/build/lib/libBulletSoftBody.a)
SET (LIBRARIES -static ${LIBRARIES} -static-libgcc -static-libstdc++)
else()
SET (LIBRARIES ${LIBRARIES} ${CMAKE_SOURCE_DIR}/extern/bullet/build/src/BulletDynamics/libBulletDynamics.a)
SET (LIBRARIES ${LIBRARIES} ${CMAKE_SOURCE_DIR}/extern/bullet/build/src/BulletCollision/libBulletCollision.a)
SET (LIBRARIES ${LIBRARIES} ${CMAKE_SOURCE_DIR}/extern/bullet/build/src/LinearMath/libLinearMath.a)
SET (LIBRARIES ${LIBRARIES} ${CMAKE_SOURCE_DIR}/extern/bullet/build/src/BulletSoftBody/libBulletSoftBody.a)
endif()
SET (LIBRARIES ${LIBRARIES} ${CMAKE_SOURCE_DIR}/extern/bullet/build/src/BulletDynamics/libBulletDynamics.a)
SET (LIBRARIES ${LIBRARIES} ${CMAKE_SOURCE_DIR}/extern/bullet/build/src/BulletCollision/libBulletCollision.a)
SET (LIBRARIES ${LIBRARIES} ${CMAKE_SOURCE_DIR}/extern/bullet/build/src/LinearMath/libLinearMath.a)
SET (LIBRARIES ${LIBRARIES} ${CMAKE_SOURCE_DIR}/extern/bullet/build/src/BulletSoftBody/libBulletSoftBody.a)
# Include Lua
FILE(GLOB_RECURSE HEADER_FILES_LUA ${CMAKE_SOURCE_DIR}/extern/lua/src/*.h)
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/extern/lua/src)
SET(HEADER_FILES ${HEADER_FILES} ${HEADER_FILES_LUA})
FILE(GLOB_RECURSE HEADER_FILES_LUA_BRIDGE ${CMAKE_SOURCE_DIR}/extern/luabridge/*.h)
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/extern/luabridge)
SET(HEADER_FILES ${HEADER_FILES} ${HEADER_FILES_LUA_BRIDGE})
SET (LIBRARIES ${LIBRARIES} ${CMAKE_SOURCE_DIR}/extern/lua/src/liblua.a)
ADD_EXECUTABLE(${CMAKE_PROJECT_NAME} ${SOURCE_FILES} ${HEADER_FILES} ${SHADER_FILES} ${README_FILES})
TARGET_LINK_LIBRARIES(${CMAKE_PROJECT_NAME} ${LIBRARIES})
ADD_EXECUTABLE(MarbleRaceGroupC ${SOURCE_FILES} ${HEADER_FILES} ${SHADER_FILES} ${README_FILES})
TARGET_LINK_LIBRARIES(MarbleRaceGroupC ${LIBRARIES} ${CMAKE_DL_LIBS})

13
Dockerfile Normal file
View File

@ -0,0 +1,13 @@
from ubuntu:trusty
run apt-get update -y
run apt-get upgrade -y
run apt-get install -y build-essential
run apt-get install -y gcc-mingw-w64
run apt-get install -y cmake
run apt-get install -y ninja-build
run apt-get install -y xorg-dev
run apt-get install -y freeglut3-dev
run apt-get install -y zip
run apt-get install -y libreadline6-dev

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,8 +0,0 @@
6
-1.0 -1.0 0.0 0.0 0.0 1.0 0.0 0.0
1.0 -1.0 0.0 0.0 0.0 1.0 1.0 0.0
1.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0
-1.0 -1.0 0.0 0.0 0.0 1.0 0.0 0.0
1.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0
-1.0 1.0 0.0 0.0 0.0 1.0 0.0 1.0

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 166 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 344 KiB

View File

@ -0,0 +1,54 @@
# Blender v2.72 (sub 0) OBJ File: 'SimpleWall.blend'
# www.blender.org
o Wall_Cube.001
v 0.537791 -3.045326 3.045326
v 0.537791 -3.045326 -3.045326
v -0.537791 -3.045326 -3.045326
v -0.537791 -3.045326 3.045326
v 0.537791 3.045326 3.045326
v 0.537791 3.045326 -3.045326
v -0.537791 3.045326 -3.045326
v -0.537791 3.045326 3.045326
vt 1.002363 0.998329
vt 1.002363 -0.001671
vt 0.005637 -0.001671
vt 0.394169 0.995358
vt 0.394169 -0.004642
vt 0.605831 -0.004642
vt -0.003002 0.995358
vt -0.003002 -0.004642
vt 0.996752 -0.004642
vt 0.605361 0.992386
vt 0.605361 -0.007614
vt 0.392389 -0.007614
vt 0.001396 0.906027
vt 0.001923 0.094175
vt 0.998604 0.093973
vt 1.000000 0.097080
vt 1.000000 0.902920
vt 0.000000 0.902920
vt 0.005637 0.998329
vt 0.605831 0.995358
vt 0.996752 0.995358
vt 0.392389 0.992386
vt 0.998077 0.905824
vt 0.000000 0.097080
vn -1.000000 0.000000 0.000000
vn 0.000000 0.000000 1.000000
vn 1.000000 0.000000 0.000000
vn 0.000000 0.000000 -1.000000
vn 0.000000 1.000000 0.000000
vn 0.000000 -1.000000 0.000000
s off
f 6/1/1 2/2/1 1/3/1
f 7/4/2 3/5/2 2/6/2
f 8/7/3 4/8/3 3/9/3
f 5/10/4 1/11/4 4/12/4
f 2/13/5 3/14/5 4/15/5
f 7/16/6 6/17/6 5/18/6
f 5/19/1 6/1/1 1/3/1
f 6/20/2 7/4/2 2/6/2
f 7/21/3 8/7/3 3/9/3
f 8/22/4 5/10/4 4/12/4
f 1/23/5 2/13/5 4/15/5
f 8/24/6 7/16/6 5/18/6

739
Levels/Geometry/block.obj Normal file
View File

@ -0,0 +1,739 @@
# Blender v2.72 (sub 0) OBJ File: ''
# www.blender.org
mtllib block.mtl
o Block_Cube
v 1.977493 -0.678752 -1.000000
v 1.977493 -0.678752 -1.000000
v -1.970033 -0.678752 -1.000001
v 2.003582 -0.652663 -0.973911
v 2.003582 1.295159 -0.973911
v 2.003581 1.295159 0.973912
v 0.003582 -0.678752 1.000000
v -1.970034 -0.678752 0.999999
v -1.970034 -0.678752 0.999999
v 1.977494 1.321248 -0.999999
v -1.970034 1.321248 -1.000000
v -1.970034 1.321248 0.999999
v -1.996123 1.295159 0.973910
v -1.996123 1.295159 -0.973912
v -1.996122 -0.652663 -0.973912
v 1.977492 1.321248 1.000001
v 1.977492 1.321248 1.000001
v 0.003582 1.321248 -1.000000
v 1.977494 1.321248 -0.999999
v 1.977493 -0.678752 1.000000
v 0.003582 -0.678752 -1.000000
v -1.970033 -0.678752 -1.000001
v -1.970034 1.321248 -1.000000
v 1.977493 -0.678752 1.000000
v -1.970034 1.321248 0.999999
v 1.981206 -0.678487 -0.998011
v 1.984843 -0.674549 -0.998943
v 1.984843 -0.677695 -0.995797
v 1.988331 -0.672154 -0.997642
v 1.988331 -0.676394 -0.993402
v 1.991598 -0.669629 -0.995858
v 1.991598 -0.674611 -0.990877
v 1.994578 -0.667024 -0.993628
v 1.994578 -0.672380 -0.988272
v 1.997210 -0.664392 -0.990996
v 1.997210 -0.669748 -0.985640
v 1.999440 -0.661786 -0.988016
v 1.999440 -0.666768 -0.983034
v 2.001224 -0.659261 -0.984749
v 2.001224 -0.663501 -0.980509
v 2.002525 -0.656867 -0.981261
v 2.002525 -0.660013 -0.978115
v 2.003316 -0.654652 -0.977624
v 2.003316 -0.656376 -0.975900
v 2.003316 -0.654652 0.977624
v 2.003316 -0.656376 0.975900
v 2.003582 -0.652663 0.973911
v 2.002525 -0.656867 0.981261
v 2.002525 -0.660013 0.978115
v 2.001224 -0.659261 0.984749
v 2.001224 -0.663501 0.980509
v 1.999440 -0.661786 0.988016
v 1.999440 -0.666768 0.983034
v 1.997210 -0.669748 0.985640
v 1.994578 -0.672380 0.988272
v 1.997210 -0.664392 0.990996
v 1.991598 -0.669629 0.995859
v 1.991598 -0.674611 0.990877
v 1.988331 -0.672154 0.997642
v 1.988331 -0.676394 0.993402
v 1.984843 -0.674549 0.998943
v 1.984843 -0.677695 0.995797
v 1.981206 -0.676763 0.999735
v 1.981206 -0.678487 0.998011
v 1.981206 1.319259 -0.999734
v 1.984844 1.320191 -0.995796
v 1.984843 1.317045 -0.998943
v 1.988331 1.318890 -0.993402
v 1.988331 1.314650 -0.997642
v 1.991598 1.312125 -0.995858
v 1.994578 1.314876 -0.988271
v 1.994578 1.309520 -0.993627
v 1.997210 1.306888 -0.990995
v 1.999441 1.304282 -0.988015
v 1.997210 1.312244 -0.985639
v 2.001225 1.301757 -0.984748
v 1.999441 1.309264 -0.983034
v 2.002526 1.299363 -0.981261
v 2.001225 1.305997 -0.980508
v 2.003317 1.297148 -0.977623
v 2.002526 1.302509 -0.978114
v 2.003317 1.298872 -0.975900
v 2.003315 1.298872 0.975901
v 2.003315 1.297148 0.977625
v 2.002524 1.302509 0.978115
v 2.002524 1.299363 0.981262
v 2.001224 1.305997 0.980510
v 2.001224 1.301757 0.984750
v 1.999439 1.304282 0.988017
v 1.997209 1.312244 0.985640
v 1.997209 1.306888 0.990996
v 1.994577 1.314876 0.988272
v 1.994577 1.309520 0.993628
v 1.991597 1.312125 0.995859
v 1.988330 1.318890 0.993403
v 1.988330 1.314650 0.997643
v 1.984842 1.317045 0.998944
v 1.984842 1.320191 0.995797
v 1.981205 1.320983 0.998011
v 1.981205 1.319259 0.999735
v -1.973747 -0.678487 0.998010
v -1.977384 -0.674549 0.998943
v -1.977384 -0.677696 0.995796
v -1.980871 -0.676395 0.993402
v -1.984138 -0.669629 0.995858
v -1.984138 -0.674611 0.990876
v -1.987118 -0.667024 0.993627
v -1.987118 -0.672380 0.988271
v -1.989750 -0.664392 0.990995
v -1.989750 -0.669748 0.985639
v -1.991981 -0.666768 0.983034
v -1.993765 -0.659261 0.984748
v -1.993765 -0.663501 0.980508
v -1.995066 -0.656867 0.981261
v -1.995066 -0.660014 0.978114
v -1.995857 -0.654653 0.977624
v -1.996123 -0.652663 0.973911
v -1.995857 -0.656376 0.975900
v -1.995857 -0.654653 -0.977625
v -1.995857 -0.656376 -0.975901
v -1.995065 -0.660014 -0.978115
v -1.993765 -0.659261 -0.984750
v -1.993765 -0.663501 -0.980510
v -1.991981 -0.661787 -0.988017
v -1.991981 -0.666768 -0.983035
v -1.989750 -0.669748 -0.985640
v -1.987118 -0.672380 -0.988273
v -1.989750 -0.664392 -0.990997
v -1.984138 -0.674611 -0.990878
v -1.987118 -0.667024 -0.993629
v -1.980871 -0.672155 -0.997643
v -1.980871 -0.676395 -0.993403
v -1.977383 -0.677696 -0.995798
v -1.977383 -0.674549 -0.998944
v -1.973746 -0.676763 -0.999735
v -1.973746 -0.678487 -0.998012
v -1.973747 1.319259 0.999734
v -1.977384 1.317044 0.998942
v -1.973747 1.320982 0.998010
v -1.980872 1.314650 0.997642
v -1.977384 1.320191 0.995796
v -1.984139 1.312125 0.995858
v -1.980872 1.318890 0.993402
v -1.987119 1.309519 0.993627
v -1.984139 1.317106 0.990876
v -1.989751 1.306887 0.990995
v -1.987119 1.314876 0.988271
v -1.991982 1.309264 0.983034
v -1.991982 1.304282 0.988015
v -1.993766 1.301757 0.984748
v -1.995066 1.299362 0.981260
v -1.993766 1.305997 0.980508
v -1.995857 1.297148 0.977623
v -1.995066 1.302509 0.978114
v -1.995857 1.298872 0.975900
v -1.995857 1.298872 -0.975901
v -1.995857 1.297148 -0.977625
v -1.995066 1.302509 -0.978115
v -1.995066 1.299362 -0.981262
v -1.993765 1.305997 -0.980509
v -1.993765 1.301757 -0.984749
v -1.991981 1.304282 -0.988016
v -1.989750 1.312244 -0.985640
v -1.989750 1.306887 -0.990996
v -1.987118 1.314876 -0.988272
v -1.987118 1.309519 -0.993628
v -1.984138 1.312125 -0.995859
v -1.980871 1.318890 -0.993403
v -1.980871 1.314650 -0.997643
v -1.977384 1.317044 -0.998944
v -1.977384 1.320191 -0.995797
v -1.973747 1.320982 -0.998011
v -1.973747 1.319259 -0.999735
v 1.994578 -0.667024 0.993628
v 1.991597 1.317107 0.990878
v 1.991598 1.317107 -0.990876
v 1.999439 1.309264 0.983035
v -1.973747 -0.676763 0.999734
v -1.980871 -0.672155 0.997642
v -1.991981 -0.661787 0.988015
v -1.995065 -0.656867 -0.981262
v -1.984138 -0.669629 -0.995859
v -1.984138 1.317106 -0.990877
v -1.989751 1.312244 0.985639
v -1.991981 1.309264 -0.983035
v 0.003582 -0.678752 -1.000000
v 0.003582 -0.678752 1.000000
v 0.003581 1.321248 1.000000
v 0.003581 1.321248 1.000000
v 0.003582 1.321248 -1.000000
v 1.981206 -0.676763 -0.999734
v 1.981206 1.320983 -0.998010
vt 0.839733 0.000000
vt -0.537296 -0.000000
vt 0.839733 0.013044
vt 0.839733 0.986956
vt 0.160267 0.986956
vt 0.848833 0.000000
vt 0.160370 0.000000
vt 0.974265 0.996942
vt -0.001961 0.996942
vt -0.001961 -0.003057
vt 1.537399 -0.000000
vt 0.151167 0.000000
vt 0.839733 -1.000000
vt 0.947629 -0.000000
vt 0.003341 -0.000000
vt 0.003341 1.000000
vt 0.839732 1.000000
vt -0.537296 1.000000
vt 0.841028 0.000133
vt 0.842297 0.002102
vt 0.842297 0.000528
vt 0.848011 0.003299
vt 0.846532 0.001179
vt 0.847367 0.000528
vt 0.847389 0.004562
vt 0.845651 0.002071
vt 0.846610 0.005864
vt 0.844742 0.003186
vt 0.845692 0.007180
vt 0.843824 0.004502
vt 0.844653 0.008483
vt 0.842915 0.005992
vt 0.843513 0.009746
vt 0.842034 0.007626
vt 0.842297 0.010943
vt 0.841199 0.009369
vt 0.841028 0.012050
vt 0.840427 0.011188
vt 0.158972 0.012050
vt 0.159573 0.011188
vt 0.160267 0.013044
vt 0.157703 0.010943
vt 0.158801 0.009369
vt 0.156487 0.009746
vt 0.157966 0.007626
vt 0.155347 0.008483
vt 0.157085 0.005992
vt 0.156176 0.004502
vt 0.155258 0.003186
vt 0.154308 0.007180
vt 0.152611 0.004562
vt 0.154349 0.002071
vt 0.151989 0.003299
vt 0.153468 0.001179
vt 0.151535 0.002102
vt 0.152633 0.000528
vt 0.841028 0.000995
vt 0.841028 0.999005
vt 0.842297 0.999472
vt 0.842297 0.997898
vt 0.846532 0.998821
vt 0.848011 0.996701
vt 0.848464 0.997898
vt 0.847388 0.995438
vt 0.844742 0.996814
vt 0.846610 0.994136
vt 0.845692 0.992820
vt 0.844653 0.991517
vt 0.843824 0.995498
vt 0.843513 0.990254
vt 0.842915 0.994008
vt 0.842296 0.989057
vt 0.842034 0.992374
vt 0.841028 0.987950
vt 0.841199 0.990631
vt 0.840426 0.988812
vt 0.159573 0.988812
vt 0.158972 0.987950
vt 0.158801 0.990631
vt 0.157703 0.989057
vt 0.157966 0.992374
vt 0.156487 0.990254
vt 0.155347 0.991517
vt 0.156176 0.995498
vt 0.154307 0.992820
vt 0.155258 0.996814
vt 0.153389 0.994136
vt 0.152611 0.995438
vt 0.153468 0.998821
vt 0.151989 0.996701
vt 0.151535 0.997898
vt 0.841028 0.999867
vt 0.841028 1.000132
vt 0.841028 1.000994
vt 0.159075 0.000995
vt 0.157807 0.000529
vt 0.157807 0.002102
vt 0.153390 0.005864
vt 0.157807 0.997899
vt 0.157807 0.999472
vt 0.159075 0.999868
vt 0.159075 -0.000994
vt 0.159075 -0.000132
vt 0.159075 0.999005
vt 0.160370 1.000000
vt 0.152633 0.999472
vt 0.154349 0.997929
vt 0.157085 0.994008
vt 0.846610 0.007180
vt 0.845692 0.005864
vt 0.845692 0.994136
vt 0.844653 0.004562
vt 0.844653 0.995438
vt 0.843513 0.003299
vt 0.843513 0.996701
vt 0.846611 0.992820
vt 0.153493 0.992820
vt 0.154411 0.994136
vt 0.154411 0.005864
vt 0.155450 0.995439
vt 0.155450 0.004562
vt 0.156590 0.996702
vt 0.156590 0.003299
vt 0.160370 2.000000
vt 0.159075 1.999005
vt 0.159075 1.000994
vt 0.153493 0.007180
vt 0.003734 0.000000
vt 0.003734 1.000000
vt -0.546397 0.013044
vt 0.848833 0.013044
vt 1.546500 0.013044
vt 0.151270 0.013045
vt 0.974264 -0.003058
vt -0.546397 -0.013044
vt 0.848834 -0.013044
vt -0.537296 -1.000000
vt 0.947629 1.000000
vt 0.151167 1.000000
vt 0.848465 0.002102
vt 0.847367 0.999472
vt 0.845651 0.997929
vt 0.159075 0.000133
vt 0.927508 1.000000
vt 0.927508 0.000000
usemtl None
s off
f 1/1 2/1 3/2
f 4/3 5/4 6/5
f 7/6 8/7 9/7
f 10/8 11/9 12/10
f 13/5 14/4 15/3
f 12/7 16/11 17/11
f 18/12 19/1 10/1
f 20/13 17/1 16/1
f 21/12 22/2 3/2
f 2/14 3/15 23/16
f 11/2 10/1 19/1
f 24/1 9/2 7/12
f 16/17 12/18 25/18
f 26/19 1/1 2/1
f 27/20 28/21 26/19
f 29/22 30/23 28/24
f 31/25 32/26 30/23
f 33/27 34/28 32/26
f 35/29 36/30 34/28
f 37/31 38/32 36/30
f 39/33 40/34 38/32
f 41/35 42/36 40/34
f 42/36 41/35 43/37
f 4/3 44/38 43/37
f 45/39 46/40 47/41
f 48/42 49/43 46/40
f 50/44 51/45 49/43
f 52/46 53/47 51/45
f 54/48 53/47 52/46
f 55/49 54/48 56/50
f 57/51 58/52 55/49
f 59/53 60/54 58/52
f 61/55 62/56 60/54
f 62/20 61/21 63/19
f 64/57 63/19 20/1
f 65/58 19/17 10/17
f 66/59 67/60 65/58
f 68/61 69/62 67/63
f 70/64 69/62 68/61
f 71/65 72/66 70/64
f 73/67 72/66 71/65
f 74/68 73/67 75/69
f 76/70 74/68 77/71
f 78/72 76/70 79/73
f 80/74 78/72 81/75
f 5/4 80/74 82/76
f 83/77 84/78 6/5
f 85/79 86/80 84/78
f 87/81 88/82 86/80
f 89/83 88/82 87/81
f 90/84 91/85 89/83
f 92/86 93/87 91/85
f 94/88 93/87 92/86
f 95/89 96/90 94/88
f 97/91 96/90 95/89
f 97/60 98/59 99/92
f 100/93 99/94 16/17
f 101/95 8/7 9/7
f 102/96 103/97 101/95
f 104/54 103/56 102/55
f 105/51 106/52 104/54
f 107/98 108/49 106/52
f 109/50 110/48 108/49
f 111/47 110/48 109/50
f 112/44 113/45 111/47
f 114/42 115/43 113/45
f 115/43 114/42 116/39
f 117/41 118/40 116/39
f 119/37 120/38 15/3
f 121/36 120/38 119/37
f 122/33 123/34 121/36
f 124/31 125/32 123/34
f 126/30 125/32 124/31
f 127/28 126/30 128/29
f 129/26 127/28 130/27
f 131/22 132/23 129/26
f 133/24 132/23 131/22
f 133/99 134/100 135/101
f 136/102 135/103 3/7
f 137/104 25/105 12/105
f 138/99 137/104 139/101
f 140/90 138/91 141/106
f 142/88 140/90 143/89
f 144/87 142/88 145/107
f 146/85 144/87 147/86
f 148/108 149/83 146/85
f 150/82 149/83 148/108
f 151/80 150/82 152/81
f 153/78 151/80 154/79
f 13/5 153/78 155/77
f 156/76 157/74 14/4
f 158/75 159/72 157/74
f 160/73 161/70 159/72
f 162/68 161/70 160/73
f 163/69 164/67 162/68
f 165/65 166/66 164/67
f 167/64 166/66 165/65
f 168/61 169/62 167/64
f 170/63 169/62 168/61
f 170/99 171/100 172/101
f 173/103 172/102 11/7
f 47/41 46/40 44/38
f 46/40 49/43 42/36
f 49/43 51/45 40/34
f 40/34 51/45 53/47
f 53/47 54/48 36/30
f 54/109 55/110 34/111
f 55/110 58/112 32/113
f 58/112 60/114 30/115
f 30/115 60/114 62/20
f 28/60 62/20 64/57
f 24/1 1/17 64/57
f 2/1 19/17 65/58
f 65/58 67/60 27/20
f 67/60 69/115 29/114
f 69/115 70/113 31/112
f 31/112 70/113 72/111
f 33/110 72/111 73/116
f 35/29 73/67 74/68
f 37/31 74/68 76/70
f 76/70 78/72 41/35
f 78/72 80/74 43/37
f 80/74 5/4 4/3
f 6/5 84/78 45/39
f 45/39 84/78 86/80
f 86/80 88/82 50/44
f 88/82 89/83 52/46
f 89/83 91/85 56/50
f 91/116 93/111 174/110
f 93/111 94/113 57/112
f 57/112 94/113 96/115
f 96/115 97/60 61/20
f 97/60 100/58 63/57
f 63/57 100/58 17/17
f 10/17 16/1 99/57
f 99/57 98/20 66/60
f 98/20 95/114 68/115
f 95/114 175/112 176/113
f 175/112 92/110 71/111
f 71/111 92/110 90/109
f 90/84 177/108 77/71
f 177/108 87/81 79/73
f 87/81 85/79 81/75
f 85/79 83/77 82/76
f 83/77 6/5 5/4
f 15/3 120/38 118/40
f 120/38 121/36 115/43
f 121/36 123/34 113/45
f 123/34 125/32 111/47
f 125/32 126/30 110/48
f 126/117 127/118 108/119
f 127/118 129/120 106/121
f 129/120 132/122 104/123
f 104/123 132/122 133/99
f 133/99 136/104 101/95
f 136/104 22/105 8/7
f 25/124 137/125 178/126
f 137/104 138/99 102/97
f 138/99 140/122 179/123
f 179/123 140/122 142/120
f 142/120 144/118 107/119
f 144/118 146/117 109/127
f 109/50 146/85 149/83
f 180/46 149/83 150/82
f 112/44 150/82 151/80
f 151/80 153/78 116/39
f 153/78 13/5 117/41
f 15/3 14/4 157/74
f 157/74 159/72 181/35
f 181/35 159/72 161/70
f 161/70 162/68 124/31
f 162/68 164/67 128/29
f 164/117 166/118 130/119
f 166/118 167/120 182/121
f 167/120 169/122 131/123
f 131/123 169/122 170/99
f 170/99 173/104 135/95
f 173/104 23/105 3/7
f 11/105 172/104 139/95
f 172/104 171/99 141/97
f 141/97 171/99 168/122
f 143/123 168/122 183/120
f 183/120 165/118 147/119
f 165/118 163/117 184/127
f 163/69 185/71 148/108
f 185/71 160/73 152/81
f 152/81 160/73 158/75
f 158/75 156/76 155/77
f 156/76 14/4 13/5
f 8/128 22/129 3/129
f 186/12 1/1 21/12
f 3/2 15/130 22/2
f 21/12 1/1 22/2
f 1/1 4/131 2/1
f 22/2 1/1 3/2
f 47/41 4/3 6/5
f 20/11 47/132 24/11
f 8/7 117/133 9/7
f 9/7 20/11 24/11
f 24/11 187/6 7/6
f 16/134 10/8 12/10
f 117/41 13/5 15/3
f 16/11 6/132 17/11
f 17/11 188/6 189/6
f 25/7 13/133 12/7
f 17/11 189/6 25/7
f 17/11 25/7 12/7
f 11/2 14/135 23/2
f 19/1 5/136 10/1
f 10/1 11/2 23/2
f 23/2 190/12 18/12
f 12/2 25/2 9/137
f 10/1 23/2 18/12
f 20/13 16/1 9/137
f 10/138 19/138 2/14
f 16/1 12/2 9/137
f 3/2 1/1 21/12
f 19/1 18/12 190/12
f 2/14 23/16 10/138
f 190/12 23/2 11/2
f 190/12 11/2 19/1
f 25/18 189/139 188/139
f 188/139 17/17 16/17
f 191/57 26/19 2/1
f 16/17 25/18 188/139
f 191/57 27/20 26/19
f 27/140 29/22 28/24
f 29/22 31/25 30/23
f 31/25 33/27 32/26
f 33/27 35/29 34/28
f 35/29 37/31 36/30
f 37/31 39/33 38/32
f 39/33 41/35 40/34
f 44/38 42/36 43/37
f 45/39 48/42 46/40
f 48/42 50/44 49/43
f 50/44 52/46 51/45
f 56/50 54/48 52/46
f 174/98 55/49 56/50
f 174/98 57/51 55/49
f 57/51 59/53 58/52
f 59/53 61/55 60/54
f 64/57 62/20 63/19
f 24/1 64/57 20/1
f 192/92 65/58 10/17
f 192/92 66/59 65/58
f 66/141 68/61 67/63
f 176/142 70/64 68/61
f 176/142 71/65 70/64
f 75/69 73/67 71/65
f 77/71 74/68 75/69
f 79/73 76/70 77/71
f 81/75 78/72 79/73
f 82/76 80/74 81/75
f 83/77 85/79 84/78
f 85/79 87/81 86/80
f 177/108 89/83 87/81
f 177/108 90/84 89/83
f 90/84 92/86 91/85
f 175/107 94/88 92/86
f 175/107 95/89 94/88
f 98/106 97/91 95/89
f 100/58 97/60 99/92
f 17/17 100/93 16/17
f 178/143 101/95 9/7
f 178/143 102/96 101/95
f 179/53 104/54 102/55
f 179/53 105/51 104/54
f 105/51 107/98 106/52
f 107/98 109/50 108/49
f 180/46 111/47 109/50
f 180/46 112/44 111/47
f 112/44 114/42 113/45
f 118/40 115/43 116/39
f 181/35 121/36 119/37
f 181/35 122/33 121/36
f 122/33 124/31 123/34
f 128/29 126/30 124/31
f 130/27 127/28 128/29
f 182/25 129/26 130/27
f 182/25 131/22 129/26
f 134/140 133/24 131/22
f 136/104 133/99 135/101
f 22/7 136/102 3/7
f 139/101 137/104 12/105
f 141/100 138/99 139/101
f 143/89 140/90 141/106
f 145/107 142/88 143/89
f 147/86 144/87 145/107
f 184/84 146/85 147/86
f 184/84 148/108 146/85
f 152/81 150/82 148/108
f 154/79 151/80 152/81
f 155/77 153/78 154/79
f 156/76 158/75 157/74
f 158/75 160/73 159/72
f 185/71 162/68 160/73
f 185/71 163/69 162/68
f 163/69 165/65 164/67
f 183/142 167/64 165/65
f 183/142 168/61 167/64
f 171/141 170/63 168/61
f 173/104 170/99 172/101
f 23/7 173/103 11/7
f 4/3 47/41 44/38
f 44/38 46/40 42/36
f 42/36 49/43 40/34
f 38/32 40/34 53/47
f 38/32 53/47 36/30
f 36/116 54/109 34/111
f 34/111 55/110 32/113
f 32/113 58/112 30/115
f 28/60 30/115 62/20
f 26/58 28/60 64/57
f 64/57 1/17 26/58
f 191/57 2/1 65/58
f 191/57 65/58 27/20
f 27/20 67/60 29/114
f 29/114 69/115 31/112
f 33/110 31/112 72/111
f 35/109 33/110 73/116
f 37/31 35/29 74/68
f 39/33 37/31 76/70
f 39/33 76/70 41/35
f 41/35 78/72 43/37
f 43/37 80/74 4/3
f 47/41 6/5 45/39
f 48/42 45/39 86/80
f 48/42 86/80 50/44
f 50/44 88/82 52/46
f 52/46 89/83 56/50
f 56/109 91/116 174/110
f 174/110 93/111 57/112
f 59/114 57/112 96/115
f 59/114 96/115 61/20
f 61/20 97/60 63/57
f 20/1 63/57 17/17
f 192/58 10/17 99/57
f 192/58 99/57 66/60
f 66/60 98/20 68/115
f 68/115 95/114 176/113
f 176/113 175/112 71/111
f 75/116 71/111 90/109
f 75/69 90/84 77/71
f 77/71 177/108 79/73
f 79/73 87/81 81/75
f 81/75 85/79 82/76
f 82/76 83/77 5/4
f 117/41 15/3 118/40
f 118/40 120/38 115/43
f 115/43 121/36 113/45
f 113/45 123/34 111/47
f 111/47 125/32 110/48
f 110/127 126/117 108/119
f 108/119 127/118 106/121
f 106/121 129/120 104/123
f 103/97 104/123 133/99
f 103/97 133/99 101/95
f 101/95 136/104 8/7
f 9/105 25/124 178/126
f 178/95 137/104 102/97
f 102/97 138/99 179/123
f 105/121 179/123 142/120
f 105/121 142/120 107/119
f 107/119 144/118 109/127
f 180/46 109/50 149/83
f 112/44 180/46 150/82
f 114/42 112/44 151/80
f 114/42 151/80 116/39
f 116/39 153/78 117/41
f 119/37 15/3 157/74
f 119/37 157/74 181/35
f 122/33 181/35 161/70
f 122/33 161/70 124/31
f 124/31 162/68 128/29
f 128/127 164/117 130/119
f 130/119 166/118 182/121
f 182/121 167/120 131/123
f 134/97 131/123 170/99
f 134/97 170/99 135/95
f 135/95 173/104 3/7
f 12/7 11/105 139/95
f 139/95 172/104 141/97
f 143/123 141/97 168/122
f 145/121 143/123 183/120
f 145/121 183/120 147/119
f 147/119 165/118 184/127
f 184/84 163/69 148/108
f 148/108 185/71 152/81
f 154/79 152/81 158/75
f 154/79 158/75 155/77
f 155/77 156/76 13/5
f 1/144 24/145 20/145
f 20/145 9/128 8/128
f 3/129 1/144 20/145
f 20/145 8/128 3/129

298
Levels/Geometry/column.obj Normal file
View File

@ -0,0 +1,298 @@
# Blender v2.72 (sub 0) OBJ File: 'ruins_column.blend'
# www.blender.org
o Cylinder
v 0.000000 -1.000000 -1.000000
v 0.000000 1.000000 -1.000000
v 0.195090 -1.000000 -0.980785
v 0.195090 1.000000 -0.980785
v 0.382683 -1.000000 -0.923880
v 0.382683 1.000000 -0.923880
v 0.555570 -1.000000 -0.831470
v 0.555570 1.000000 -0.831470
v 0.707107 -1.000000 -0.707107
v 0.707107 1.000000 -0.707107
v 0.831470 -1.000000 -0.555570
v 0.831470 1.000000 -0.555570
v 0.923880 -1.000000 -0.382683
v 0.923880 1.000000 -0.382683
v 0.980785 -1.000000 -0.195090
v 0.980785 1.000000 -0.195090
v 1.000000 -1.000000 -0.000000
v 1.000000 1.000000 -0.000000
v 0.980785 -1.000000 0.195090
v 0.980785 1.000000 0.195090
v 0.923880 -1.000000 0.382683
v 0.923880 1.000000 0.382683
v 0.831470 -1.000000 0.555570
v 0.831470 1.000000 0.555570
v 0.707107 -1.000000 0.707107
v 0.707107 1.000000 0.707107
v 0.555570 -1.000000 0.831470
v 0.555570 1.000000 0.831470
v 0.382683 -1.000000 0.923880
v 0.382683 1.000000 0.923880
v 0.195090 -1.000000 0.980785
v 0.195090 1.000000 0.980785
v -0.000000 -1.000000 1.000000
v -0.000000 1.000000 1.000000
v -0.195091 -1.000000 0.980785
v -0.195091 1.000000 0.980785
v -0.382684 -1.000000 0.923879
v -0.382684 1.000000 0.923879
v -0.555571 -1.000000 0.831469
v -0.555571 1.000000 0.831469
v -0.707107 -1.000000 0.707106
v -0.707107 1.000000 0.707106
v -0.831470 -1.000000 0.555570
v -0.831470 1.000000 0.555570
v -0.923880 -1.000000 0.382683
v -0.923880 1.000000 0.382683
v -0.980785 -1.000000 0.195089
v -0.980785 1.000000 0.195089
v -1.000000 -1.000000 -0.000001
v -1.000000 1.000000 -0.000001
v -0.980785 -1.000000 -0.195091
v -0.980785 1.000000 -0.195091
v -0.923879 -1.000000 -0.382684
v -0.923879 1.000000 -0.382684
v -0.831469 -1.000000 -0.555571
v -0.831469 1.000000 -0.555571
v -0.707106 -1.000000 -0.707108
v -0.707106 1.000000 -0.707108
v -0.555569 -1.000000 -0.831470
v -0.555569 1.000000 -0.831470
v -0.382682 -1.000000 -0.923880
v -0.382682 1.000000 -0.923880
v -0.195089 -1.000000 -0.980786
v -0.195089 1.000000 -0.980786
vt 0.445551 0.665886
vt 0.445551 1.000293
vt 0.404755 1.000293
vt 0.404755 0.665886
vt 0.364742 1.000293
vt 0.364742 0.665886
vt 0.327051 1.000293
vt 0.327051 0.665886
vt 0.293130 1.000293
vt 0.293130 0.665886
vt 0.264283 1.000293
vt 0.264283 0.665886
vt 0.264046 0.665593
vt 0.264046 1.000000
vt 0.230125 1.000000
vt 0.230125 0.665593
vt 0.192434 1.000000
vt 0.192434 0.665593
vt 0.152421 1.000000
vt 0.152421 0.665593
vt 0.111625 1.000000
vt 0.111625 0.665593
vt 0.071612 1.000000
vt 0.071612 0.665593
vt 0.033921 1.000000
vt 0.033921 0.665593
vt 0.000000 1.000000
vt 0.000000 0.665593
vt 1.172897 0.665327
vt 1.173156 0.999734
vt 1.139235 0.999801
vt 1.138976 0.665395
vt 1.101544 0.999877
vt 1.101285 0.665470
vt 1.061532 0.999957
vt 1.061273 0.665550
vt 1.020735 1.000038
vt 1.020476 0.665632
vt 0.980723 1.000118
vt 0.980464 0.665712
vt 0.943032 1.000193
vt 0.942772 0.665787
vt 0.909111 1.000261
vt 0.908852 0.665855
vt 0.880263 1.000319
vt 0.880004 0.665913
vt 0.846342 1.000387
vt 0.846083 0.665980
vt 0.808651 1.000462
vt 0.808392 0.666056
vt 0.768638 1.000542
vt 0.768379 0.666136
vt 0.727842 1.000624
vt 0.727583 0.666217
vt 0.687830 1.000704
vt 0.687570 0.666297
vt 0.650139 1.000779
vt 0.649879 0.666372
vt 0.616217 1.000847
vt 0.615958 0.666440
vt 0.587370 1.000904
vt 0.587111 0.666498
vt 0.586023 0.665886
vt 0.586023 1.000293
vt 0.557176 1.000293
vt 0.557176 0.665886
vt 0.523255 1.000293
vt 0.523255 0.665886
vt 0.186708 0.665593
vt 0.146696 0.659199
vt 0.109005 0.646655
vt 0.075084 0.628445
vt 0.046237 0.605268
vt 0.023571 0.578014
vt 0.007959 0.547732
vt 0.000000 0.515584
vt 0.000000 0.482806
vt 0.007959 0.450658
vt 0.023571 0.420376
vt 0.046236 0.393122
vt 0.075084 0.369945
vt 0.109005 0.351735
vt 0.146696 0.339191
vt 0.186708 0.332797
vt 0.227505 0.332797
vt 0.267517 0.339191
vt 0.305209 0.351735
vt 0.339130 0.369945
vt 0.367977 0.393122
vt 0.390642 0.420376
vt 0.406254 0.450658
vt 0.414213 0.482806
vt 0.414213 0.515584
vt 0.406254 0.547731
vt 0.390642 0.578014
vt 0.367977 0.605268
vt 0.339130 0.628445
vt 0.305209 0.646655
vt 0.267518 0.659199
vt 0.227505 0.665593
vt 0.485564 0.665886
vt 0.485564 1.000293
vt 0.000000 0.182787
vt 0.000000 0.150010
vt 0.007959 0.117862
vt 0.023571 0.087579
vt 0.046236 0.060326
vt 0.075084 0.037148
vt 0.109005 0.018938
vt 0.146696 0.006395
vt 0.186708 0.000000
vt 0.227505 0.000000
vt 0.267517 0.006395
vt 0.305208 0.018938
vt 0.339129 0.037148
vt 0.367977 0.060326
vt 0.390642 0.087579
vt 0.406254 0.117862
vt 0.414213 0.150009
vt 0.414213 0.182787
vt 0.406254 0.214935
vt 0.390642 0.245217
vt 0.367977 0.272471
vt 0.339129 0.295648
vt 0.305208 0.313859
vt 0.267517 0.326402
vt 0.146696 0.326402
vt 0.109005 0.313858
vt 0.075084 0.295648
vt 0.046236 0.272471
vt 0.023571 0.245217
vt 0.007959 0.214935
vn 0.000000 -0.685700 -0.727900
vn 0.000000 0.685700 -0.727900
vn 0.142000 0.685700 -0.713900
vn 0.142000 -0.685700 -0.713900
vn 0.278500 0.685700 -0.672500
vn 0.278500 -0.685700 -0.672500
vn 0.404400 0.685700 -0.605200
vn 0.404400 -0.685700 -0.605200
vn 0.514700 0.685700 -0.514700
vn 0.514700 -0.685700 -0.514700
vn 0.605200 0.685700 -0.404400
vn 0.605200 -0.685700 -0.404400
vn 0.672500 0.685700 -0.278500
vn 0.672500 -0.685700 -0.278500
vn 0.713900 0.685700 -0.142000
vn 0.713900 -0.685700 -0.142000
vn 0.727900 0.685700 0.000000
vn 0.727900 -0.685700 0.000000
vn 0.713900 0.685700 0.142000
vn 0.713900 -0.685700 0.142000
vn 0.672500 0.685700 0.278500
vn 0.672500 -0.685700 0.278500
vn 0.605200 0.685700 0.404400
vn 0.605200 -0.685700 0.404400
vn 0.514700 0.685700 0.514700
vn 0.514700 -0.685700 0.514700
vn 0.404400 0.685700 0.605200
vn 0.404400 -0.685700 0.605200
vn 0.278500 0.685700 0.672500
vn 0.278500 -0.685700 0.672500
vn 0.142000 0.685700 0.713900
vn 0.142000 -0.685700 0.713900
vn 0.000000 0.685700 0.727900
vn 0.000000 -0.685700 0.727900
vn -0.142000 0.685700 0.713900
vn -0.142000 -0.685700 0.713900
vn -0.278500 0.685700 0.672500
vn -0.278500 -0.685700 0.672500
vn -0.404400 0.685700 0.605200
vn -0.404400 -0.685700 0.605200
vn -0.514700 0.685700 0.514700
vn -0.514700 -0.685700 0.514700
vn -0.605200 0.685700 0.404400
vn -0.605200 -0.685700 0.404400
vn -0.672500 0.685700 0.278500
vn -0.672500 -0.685700 0.278500
vn -0.713900 0.685700 0.142000
vn -0.713900 -0.685700 0.142000
vn -0.727900 0.685700 0.000000
vn -0.727900 -0.685700 0.000000
vn -0.713900 0.685700 -0.142000
vn -0.713900 -0.685700 -0.142000
vn -0.672500 0.685700 -0.278500
vn -0.672500 -0.685700 -0.278500
vn -0.605200 0.685700 -0.404400
vn -0.605200 -0.685700 -0.404400
vn -0.514700 0.685700 -0.514700
vn -0.514700 -0.685700 -0.514700
vn -0.404400 0.685700 -0.605200
vn -0.404400 -0.685700 -0.605200
vn -0.278500 0.685700 -0.672500
vn -0.278500 -0.685700 -0.672500
vn -0.142000 0.685700 -0.713900
vn -0.142000 -0.685700 -0.713900
s 1
f 1/1/1 2/2/2 4/3/3 3/4/4
f 3/4/4 4/3/3 6/5/5 5/6/6
f 5/6/6 6/5/5 8/7/7 7/8/8
f 7/8/8 8/7/7 10/9/9 9/10/10
f 9/10/10 10/9/9 12/11/11 11/12/12
f 11/13/12 12/14/11 14/15/13 13/16/14
f 13/16/14 14/15/13 16/17/15 15/18/16
f 15/18/16 16/17/15 18/19/17 17/20/18
f 17/20/18 18/19/17 20/21/19 19/22/20
f 19/22/20 20/21/19 22/23/21 21/24/22
f 21/24/22 22/23/21 24/25/23 23/26/24
f 23/26/24 24/25/23 26/27/25 25/28/26
f 25/29/26 26/30/25 28/31/27 27/32/28
f 27/32/28 28/31/27 30/33/29 29/34/30
f 29/34/30 30/33/29 32/35/31 31/36/32
f 31/36/32 32/35/31 34/37/33 33/38/34
f 33/38/34 34/37/33 36/39/35 35/40/36
f 35/40/36 36/39/35 38/41/37 37/42/38
f 37/42/38 38/41/37 40/43/39 39/44/40
f 39/44/40 40/43/39 42/45/41 41/46/42
f 41/46/42 42/45/41 44/47/43 43/48/44
f 43/48/44 44/47/43 46/49/45 45/50/46
f 45/50/46 46/49/45 48/51/47 47/52/48
f 47/52/48 48/51/47 50/53/49 49/54/50
f 49/54/50 50/53/49 52/55/51 51/56/52
f 51/56/52 52/55/51 54/57/53 53/58/54
f 53/58/54 54/57/53 56/59/55 55/60/56
f 55/60/56 56/59/55 58/61/57 57/62/58
f 57/63/58 58/64/57 60/65/59 59/66/60
f 59/66/60 60/65/59 62/67/61 61/68/62
f 4/69/3 2/70/2 64/71/63 62/72/61 60/73/59 58/74/57 56/75/55 54/76/53 52/77/51 50/78/49 48/79/47 46/80/45 44/81/43 42/82/41 40/83/39 38/84/37 36/85/35 34/86/33 32/87/31 30/88/29 28/89/27 26/90/25 24/91/23 22/92/21 20/93/19 18/94/17 16/95/15 14/96/13 12/97/11 10/98/9 8/99/7 6/100/5
f 63/101/64 64/102/63 2/2/2 1/1/1
f 61/68/62 62/67/61 64/102/63 63/101/64
f 1/103/1 3/104/4 5/105/6 7/106/8 9/107/10 11/108/12 13/109/14 15/110/16 17/111/18 19/112/20 21/113/22 23/114/24 25/115/26 27/116/28 29/117/30 31/118/32 33/119/34 35/120/36 37/121/38 39/122/40 41/123/42 43/124/44 45/125/46 47/126/48 49/85/50 51/84/52 53/127/54 55/128/56 57/129/58 59/130/60 61/131/62 63/132/64

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,54 @@
# Blender v2.72 (sub 0) OBJ File: 'movableBlock.blend'
# www.blender.org
o Cube_Cube.001
v -0.781204 -0.781204 0.781204
v -0.781204 -0.781204 -0.781204
v 0.781204 -0.781204 -0.781204
v 0.781204 -0.781204 0.781204
v -0.781204 0.781204 0.781204
v -0.781204 0.781204 -0.781204
v 0.781204 0.781204 -0.781204
v 0.781204 0.781204 0.781204
vt 0.004724 0.007107
vt 0.995276 0.007107
vt 0.995276 0.997658
vt 0.008245 0.004505
vt 0.994929 0.004505
vt 0.994930 0.991189
vt 0.011069 0.007349
vt 0.992064 0.007349
vt 0.992064 0.988345
vt 0.001602 0.000731
vt 0.999816 0.001904
vt 1.000026 0.998811
vt 0.006324 0.995789
vt 0.006324 0.008395
vt 0.993718 0.008394
vt 0.005204 0.997859
vt 0.005204 0.005051
vt 0.998012 0.005050
vt 0.998012 0.997858
vt 0.004724 0.997658
vt 0.008245 0.991189
vt 0.011069 0.988345
vt 0.001813 0.999704
vt 0.993718 0.995789
vn -1.000000 0.000000 0.000000
vn 0.000000 0.000000 -1.000000
vn 1.000000 0.000000 0.000000
vn 0.000000 0.000000 1.000000
vn 0.000000 -1.000000 0.000000
vn 0.000000 1.000000 0.000000
s off
f 6/1/1 2/2/1 1/3/1
f 7/4/2 3/5/2 2/6/2
f 8/7/3 4/8/3 3/9/3
f 5/10/4 1/11/4 4/12/4
f 2/13/5 3/14/5 4/15/5
f 7/16/6 6/17/6 5/18/6
f 8/19/6 7/16/6 5/18/6
f 5/20/1 6/1/1 1/3/1
f 6/21/2 7/4/2 2/6/2
f 7/22/3 8/7/3 3/9/3
f 8/23/4 5/10/4 4/12/4
f 1/24/5 2/13/5 4/15/5

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,388 @@
# Blender v2.72 (sub 0) OBJ File: 'ruins_column.blend'
# www.blender.org
o Cylinder
v 0.000000 -1.000000 -1.000000
v 0.000000 1.000000 -1.000000
v 0.195090 -1.000000 -0.980785
v 0.195090 1.000000 -0.980785
v 0.382683 -1.000000 -0.923880
v 0.382683 1.000000 -0.923880
v 0.555570 -1.000000 -0.831470
v 0.555570 1.000000 -0.831470
v 0.707107 -1.000000 -0.707107
v 0.707107 1.000000 -0.707107
v 0.831470 -1.000000 -0.555570
v 0.831470 1.000000 -0.555570
v 0.923880 -1.000000 -0.382683
v 0.923880 1.000000 -0.382683
v 0.980785 -1.000000 -0.195090
v 0.980785 1.000000 -0.195090
v 1.000000 -1.000000 -0.000000
v 1.000000 1.000000 -0.000000
v 0.980785 -1.000000 0.195090
v 0.980785 1.000000 0.195090
v 0.923880 -1.000000 0.382683
v 0.923880 1.000000 0.382683
v 0.831470 -1.000000 0.555570
v 0.831470 1.000000 0.555570
v 0.707107 -1.000000 0.707107
v 0.707107 1.000000 0.707107
v 0.555570 -1.000000 0.831470
v 0.555570 1.000000 0.831470
v 0.382683 -1.000000 0.923880
v 0.382683 1.000000 0.923880
v 0.195090 -1.000000 0.980785
v 0.195090 1.000000 0.980785
v -0.000000 -1.000000 1.000000
v -0.000000 1.000000 1.000000
v -0.195091 -1.000000 0.980785
v -0.195091 1.000000 0.980785
v -0.382684 -1.000000 0.923879
v -0.382684 1.000000 0.923879
v -0.555571 -1.000000 0.831469
v -0.555571 1.000000 0.831469
v -0.707107 -1.000000 0.707106
v -0.707107 1.000000 0.707106
v -0.831470 -1.000000 0.555570
v -0.831470 1.000000 0.555570
v -0.923880 -1.000000 0.382683
v -0.923880 1.000000 0.382683
v -0.980785 -1.000000 0.195089
v -0.980785 1.000000 0.195089
v -1.000000 -1.000000 -0.000001
v -1.000000 1.000000 -0.000001
v -0.980785 -1.000000 -0.195091
v -0.980785 1.000000 -0.195091
v -0.923879 -1.000000 -0.382684
v -0.923879 1.000000 -0.382684
v -0.831469 -1.000000 -0.555571
v -0.831469 1.000000 -0.555571
v -0.707106 -1.000000 -0.707108
v -0.707106 1.000000 -0.707108
v -0.555569 -1.000000 -0.831470
v -0.555569 1.000000 -0.831470
v -0.382682 -1.000000 -0.923880
v -0.382682 1.000000 -0.923880
v -0.195089 -1.000000 -0.980786
v -0.195089 1.000000 -0.980786
vt 0.445551 1.000293
vt 0.404755 1.000293
vt 0.404755 0.665886
vt 0.364742 1.000293
vt 0.364742 0.665886
vt 0.327051 1.000293
vt 0.327051 0.665886
vt 0.293130 1.000293
vt 0.264283 1.000293
vt 0.264283 0.665886
vt 0.264046 1.000000
vt 0.230125 1.000000
vt 0.230125 0.665593
vt 0.192434 1.000000
vt 0.192434 0.665593
vt 0.152421 1.000000
vt 0.152421 0.665593
vt 0.111625 1.000000
vt 0.071612 1.000000
vt 0.071612 0.665593
vt 0.033921 1.000000
vt 0.033921 0.665593
vt 0.000000 1.000000
vt 0.000000 0.665593
vt 1.173156 0.999734
vt 1.139235 0.999801
vt 1.138976 0.665395
vt 1.101544 0.999877
vt 1.101285 0.665470
vt 1.061532 0.999957
vt 1.061273 0.665550
vt 1.020735 1.000038
vt 1.020476 0.665632
vt 0.980723 1.000118
vt 0.980464 0.665712
vt 0.943032 1.000193
vt 0.942772 0.665787
vt 0.909111 1.000261
vt 0.908852 0.665855
vt 0.880263 1.000319
vt 0.880004 0.665913
vt 0.846342 1.000387
vt 0.846083 0.665980
vt 0.808651 1.000462
vt 0.808392 0.666056
vt 0.768638 1.000542
vt 0.768379 0.666136
vt 0.727842 1.000624
vt 0.727583 0.666217
vt 0.687830 1.000704
vt 0.687570 0.666297
vt 0.650139 1.000779
vt 0.649879 0.666372
vt 0.616217 1.000847
vt 0.615958 0.666440
vt 0.587370 1.000904
vt 0.587111 0.666498
vt 0.586023 1.000293
vt 0.557176 1.000293
vt 0.557176 0.665886
vt 0.523255 1.000293
vt 0.523255 0.665886
vt 0.227505 0.665593
vt 0.186708 0.665593
vt 0.227505 0.332797
vt 0.485564 1.000293
vt 0.445551 0.665886
vt 0.485564 0.665886
vt 0.267517 0.006395
vt 0.007959 0.214935
vt 0.109005 0.018938
vt 0.293130 0.665886
vt 0.264046 0.665593
vt 0.111625 0.665593
vt 1.172897 0.665327
vt 0.586023 0.665886
vt 0.267518 0.659199
vt 0.305209 0.646655
vt 0.339130 0.628445
vt 0.367977 0.605268
vt 0.414213 0.515584
vt 0.406254 0.547731
vt 0.390642 0.578014
vt 0.367977 0.393122
vt 0.414213 0.482806
vt 0.406254 0.450658
vt 0.390642 0.420376
vt 0.305209 0.351735
vt 0.339130 0.369945
vt 0.267517 0.339191
vt 0.186708 0.332797
vt 0.023571 0.420376
vt 0.075084 0.369945
vt 0.146696 0.339191
vt 0.109005 0.351735
vt 0.046236 0.393122
vt 0.000000 0.482806
vt 0.007959 0.450658
vt 0.000000 0.515584
vt 0.007959 0.547732
vt 0.023571 0.578014
vt 0.109005 0.646655
vt 0.075084 0.628445
vt 0.046237 0.605268
vt 0.146696 0.659199
vt 0.075084 0.295648
vt 0.023571 0.245217
vt 0.046236 0.272471
vt 0.146696 0.326402
vt 0.109005 0.313858
vt 0.000000 0.182787
vt 0.000000 0.150010
vt 0.367977 0.272471
vt 0.339129 0.295648
vt 0.390642 0.245217
vt 0.414213 0.150009
vt 0.414213 0.182787
vt 0.406254 0.214935
vt 0.390642 0.087579
vt 0.406254 0.117862
vt 0.339129 0.037148
vt 0.367977 0.060326
vt 0.305208 0.018938
vt 0.186708 0.000000
vt 0.227505 0.000000
vt 0.146696 0.006395
vt 0.046236 0.060326
vt 0.075084 0.037148
vt 0.007959 0.117862
vt 0.267517 0.326402
vt 0.023571 0.087579
vt 0.305208 0.313859
vn 0.000000 0.685700 -0.727900
vn 0.142000 0.685700 -0.713900
vn 0.142000 -0.685700 -0.713900
vn 0.278500 0.685700 -0.672500
vn 0.278500 -0.685700 -0.672500
vn 0.404400 0.685700 -0.605200
vn 0.404400 -0.685700 -0.605200
vn 0.514700 0.685700 -0.514700
vn 0.605200 0.685700 -0.404400
vn 0.605200 -0.685700 -0.404400
vn 0.672500 0.685700 -0.278500
vn 0.672500 -0.685700 -0.278500
vn 0.713900 0.685700 -0.142000
vn 0.713900 -0.685700 -0.142000
vn 0.727900 0.685700 0.000000
vn 0.727900 -0.685700 0.000000
vn 0.713900 0.685700 0.142000
vn 0.672500 0.685700 0.278500
vn 0.672500 -0.685700 0.278500
vn 0.605200 0.685700 0.404400
vn 0.605200 -0.685700 0.404400
vn 0.514700 0.685700 0.514700
vn 0.514700 -0.685700 0.514700
vn 0.404400 0.685700 0.605200
vn 0.404400 -0.685700 0.605200
vn 0.278500 0.685700 0.672500
vn 0.278500 -0.685700 0.672500
vn 0.142000 0.685700 0.713900
vn 0.142000 -0.685700 0.713900
vn 0.000000 0.685700 0.727900
vn 0.000000 -0.685700 0.727900
vn -0.142000 0.685700 0.713900
vn -0.142000 -0.685700 0.713900
vn -0.278500 0.685700 0.672500
vn -0.278500 -0.685700 0.672500
vn -0.404400 0.685700 0.605200
vn -0.404400 -0.685700 0.605200
vn -0.514700 0.685700 0.514700
vn -0.514700 -0.685700 0.514700
vn -0.605200 0.685700 0.404400
vn -0.605200 -0.685700 0.404400
vn -0.672500 0.685700 0.278500
vn -0.672500 -0.685700 0.278500
vn -0.713900 0.685700 0.142000
vn -0.713900 -0.685700 0.142000
vn -0.727900 0.685700 0.000000
vn -0.727900 -0.685700 0.000000
vn -0.713900 0.685700 -0.142000
vn -0.713900 -0.685700 -0.142000
vn -0.672500 0.685700 -0.278500
vn -0.672500 -0.685700 -0.278500
vn -0.605200 0.685700 -0.404400
vn -0.605200 -0.685700 -0.404400
vn -0.514700 0.685700 -0.514700
vn -0.514700 -0.685700 -0.514700
vn -0.404400 0.685700 -0.605200
vn -0.404400 -0.685700 -0.605200
vn -0.278500 0.685700 -0.672500
vn -0.278500 -0.685700 -0.672500
vn -0.142000 0.685700 -0.713900
vn 0.000000 -0.685700 -0.727900
vn -0.142000 -0.685700 -0.713900
vn 0.514700 -0.685700 -0.514700
vn 0.713900 -0.685700 0.142000
s 1
f 2/1/1 4/2/2 3/3/3
f 4/2/2 6/4/4 5/5/5
f 6/4/4 8/6/6 7/7/7
f 7/7/7 8/6/6 10/8/8
f 10/8/8 12/9/9 11/10/10
f 12/11/9 14/12/11 13/13/12
f 14/12/11 16/14/13 15/15/14
f 16/14/13 18/16/15 17/17/16
f 17/17/16 18/16/15 20/18/17
f 20/18/17 22/19/18 21/20/19
f 22/19/18 24/21/20 23/22/21
f 24/21/20 26/23/22 25/24/23
f 26/25/22 28/26/24 27/27/25
f 28/26/24 30/28/26 29/29/27
f 30/28/26 32/30/28 31/31/29
f 32/30/28 34/32/30 33/33/31
f 34/32/30 36/34/32 35/35/33
f 36/34/32 38/36/34 37/37/35
f 38/36/34 40/38/36 39/39/37
f 40/38/36 42/40/38 41/41/39
f 42/40/38 44/42/40 43/43/41
f 44/42/40 46/44/42 45/45/43
f 46/44/42 48/46/44 47/47/45
f 48/46/44 50/48/46 49/49/47
f 50/48/46 52/50/48 51/51/49
f 52/50/48 54/52/50 53/53/51
f 54/52/50 56/54/52 55/55/53
f 56/54/52 58/56/54 57/57/55
f 58/58/54 60/59/56 59/60/57
f 60/59/56 62/61/58 61/62/59
f 6/63/4 4/64/2 36/65/32
f 64/66/60 2/1/1 1/67/61
f 62/61/58 64/66/60 63/68/62
f 21/69/19 63/70/62 13/71/12
f 1/67/61 2/1/1 3/3/3
f 3/3/3 4/2/2 5/5/5
f 5/5/5 6/4/4 7/7/7
f 9/72/63 7/7/7 10/8/8
f 9/72/63 10/8/8 11/10/10
f 11/73/10 12/11/9 13/13/12
f 13/13/12 14/12/11 15/15/14
f 15/15/14 16/14/13 17/17/16
f 19/74/64 17/17/16 20/18/17
f 19/74/64 20/18/17 21/20/19
f 21/20/19 22/19/18 23/22/21
f 23/22/21 24/21/20 25/24/23
f 25/75/23 26/25/22 27/27/25
f 27/27/25 28/26/24 29/29/27
f 29/29/27 30/28/26 31/31/29
f 31/31/29 32/30/28 33/33/31
f 33/33/31 34/32/30 35/35/33
f 35/35/33 36/34/32 37/37/35
f 37/37/35 38/36/34 39/39/37
f 39/39/37 40/38/36 41/41/39
f 41/41/39 42/40/38 43/43/41
f 43/43/41 44/42/40 45/45/43
f 45/45/43 46/44/42 47/47/45
f 47/47/45 48/46/44 49/49/47
f 49/49/47 50/48/46 51/51/49
f 51/51/49 52/50/48 53/53/51
f 53/53/51 54/52/50 55/55/53
f 55/55/53 56/54/52 57/57/55
f 57/76/55 58/58/54 59/60/57
f 59/60/57 60/59/56 61/62/59
f 63/68/62 64/66/60 1/67/61
f 8/77/6 6/63/4 10/78/8
f 12/79/9 10/78/8 14/80/11
f 20/81/17 18/82/15 16/83/13
f 20/81/17 28/84/24 22/85/18
f 24/86/20 22/85/18 26/87/22
f 32/88/28 30/89/26 28/84/24
f 36/65/32 34/90/30 32/88/28
f 38/91/34 48/92/44 44/93/40
f 40/94/36 38/91/34 42/95/38
f 48/92/44 46/96/42 44/93/40
f 52/97/48 50/98/46 48/92/44
f 52/97/48 36/65/32 54/99/50
f 56/100/52 54/99/50 58/101/54
f 64/102/60 62/103/58 60/104/56
f 4/64/2 2/105/1 64/102/60
f 10/78/8 6/63/4 36/65/32
f 38/91/34 44/93/40 42/95/38
f 58/101/54 54/99/50 60/104/56
f 36/65/32 32/88/28 28/84/24
f 38/91/34 36/65/32 52/97/48
f 22/85/18 28/84/24 26/87/22
f 48/92/44 38/91/34 52/97/48
f 4/64/2 64/102/60 60/104/56
f 10/78/8 16/83/13 14/80/11
f 36/65/32 28/84/24 20/81/17
f 61/62/59 62/61/58 63/68/62
f 10/78/8 20/81/17 16/83/13
f 20/81/17 10/78/8 36/65/32
f 54/99/50 36/65/32 60/104/56
f 36/65/32 4/64/2 60/104/56
f 21/69/19 49/65/47 57/106/55
f 61/107/59 63/70/62 59/108/57
f 53/109/51 55/110/53 57/106/55
f 49/65/47 51/91/49 53/109/51
f 63/70/62 1/111/61 3/112/3
f 63/70/62 57/106/55 59/108/57
f 41/113/39 43/114/41 39/115/37
f 33/116/31 35/117/33 37/118/35
f 29/119/27 31/120/29 33/116/31
f 25/121/23 27/122/25 29/119/27
f 21/69/19 23/123/21 25/121/23
f 17/124/16 19/125/64 21/69/19
f 17/124/16 21/69/19 15/126/14
f 9/127/63 11/128/10 13/71/12
f 13/71/12 5/129/5 9/127/63
f 3/112/3 5/129/5 63/70/62
f 49/65/47 53/109/51 57/106/55
f 47/130/45 49/65/47 21/69/19
f 5/129/5 7/131/7 9/127/63
f 33/116/31 47/130/45 29/119/27
f 5/129/5 13/71/12 63/70/62
f 43/114/41 37/118/35 39/115/37
f 37/118/35 43/114/41 47/130/45
f 21/69/19 13/71/12 15/126/14
f 33/116/31 37/118/35 47/130/45
f 29/119/27 47/130/45 25/121/23
f 43/114/41 45/132/43 47/130/45
f 63/70/62 21/69/19 57/106/55
f 25/121/23 47/130/45 21/69/19

1255
Levels/Geometry/skydome.obj Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,500 @@
# Blender v2.72 (sub 0) OBJ File: 'switch_inner.blend'
# www.blender.org
o switch_Cube
v 0.952094 -0.488588 -1.000000
v 1.000000 -0.488588 -0.952094
v 0.952094 -0.513173 -0.952094
v 0.976015 -0.488588 -0.993600
v 0.952094 -0.500864 -0.993600
v 0.975003 -0.500345 -0.987383
v 0.993600 -0.500864 -0.952093
v 0.993600 -0.488588 -0.976015
v 0.987383 -0.500345 -0.975003
v 0.952094 -0.509888 -0.976015
v 0.976015 -0.509888 -0.952093
v 0.975003 -0.506698 -0.975003
v 0.952094 -0.513173 0.952094
v 1.000000 -0.488588 0.952094
v 0.952094 -0.488588 1.000000
v 0.976015 -0.509888 0.952094
v 0.952094 -0.509888 0.976015
v 0.975003 -0.506698 0.975003
v 0.993600 -0.488588 0.976015
v 0.993600 -0.500864 0.952094
v 0.987383 -0.500345 0.975003
v 0.952094 -0.500864 0.993600
v 0.976015 -0.488588 0.993600
v 0.975003 -0.500345 0.987383
v -0.952094 -0.513173 0.952093
v -0.952094 -0.488588 1.000000
v -1.000000 -0.488588 0.952093
v -0.952094 -0.509888 0.976015
v -0.976016 -0.509888 0.952093
v -0.975003 -0.506698 0.975003
v -0.976016 -0.488588 0.993600
v -0.952094 -0.500864 0.993600
v -0.975003 -0.500345 0.987383
v -0.993600 -0.500864 0.952093
v -0.993600 -0.488588 0.976015
v -0.987383 -0.500345 0.975003
v -1.000000 -0.488588 -0.952094
v -0.952093 -0.488588 -1.000000
v -0.952093 -0.513173 -0.952094
v -0.993600 -0.488588 -0.976016
v -0.993600 -0.500864 -0.952094
v -0.987383 -0.500345 -0.975003
v -0.952093 -0.500864 -0.993600
v -0.976015 -0.488588 -0.993600
v -0.975003 -0.500345 -0.987383
v -0.976015 -0.509888 -0.952094
v -0.952093 -0.509888 -0.976016
v -0.975003 -0.506698 -0.975003
v 1.000000 0.488588 -0.952093
v 0.952094 0.488588 -0.999999
v 0.952094 0.513173 -0.952093
v 0.993600 0.488588 -0.976015
v 0.993600 0.500864 -0.952093
v 0.987383 0.500345 -0.975002
v 0.952094 0.500864 -0.993599
v 0.976016 0.488588 -0.993599
v 0.975003 0.500345 -0.987382
v 0.976016 0.509888 -0.952093
v 0.952094 0.509888 -0.976015
v 0.975003 0.506698 -0.975002
v 0.952093 0.513173 0.952094
v 0.952093 0.488588 1.000001
v 0.999999 0.488588 0.952094
v 0.952093 0.509888 0.976016
v 0.976015 0.509888 0.952094
v 0.975002 0.506698 0.975004
v 0.976015 0.488588 0.993601
v 0.952093 0.500864 0.993601
v 0.975002 0.500345 0.987384
v 0.993599 0.500864 0.952094
v 0.993599 0.488588 0.976016
v 0.987382 0.500345 0.975004
v -0.952094 0.513173 0.952093
v -1.000000 0.488588 0.952093
v -0.952094 0.488588 1.000000
v -0.976016 0.509888 0.952093
v -0.952094 0.509888 0.976015
v -0.975003 0.506698 0.975003
v -0.993600 0.488588 0.976015
v -0.993600 0.500864 0.952093
v -0.987383 0.500345 0.975003
v -0.952094 0.500864 0.993600
v -0.976016 0.488588 0.993600
v -0.975003 0.500345 0.987383
v -0.952094 0.488588 -1.000000
v -1.000000 0.488588 -0.952094
v -0.952094 0.513173 -0.952094
v -0.976015 0.488588 -0.993600
v -0.952093 0.500864 -0.993600
v -0.975003 0.500345 -0.987383
v -0.993600 0.500864 -0.952094
v -0.993600 0.488588 -0.976015
v -0.987383 0.500345 -0.975003
v -0.952093 0.509888 -0.976015
v -0.976015 0.509888 -0.952094
v -0.975003 0.506698 -0.975003
vt 0.856328 0.374264
vt 0.426513 0.374264
vt 0.426513 0.657341
vt 0.856328 0.657341
vt 0.654950 0.976215
vt 0.654950 0.693138
vt 0.853302 0.693138
vt 0.861728 0.374264
vt 0.861500 0.370859
vt 0.865697 0.374264
vt 0.864294 0.370859
vt 0.856328 0.370708
vt 0.865697 0.657341
vt 0.861728 0.657341
vt 0.861500 0.660747
vt 0.856328 0.660897
vt 0.856328 0.663512
vt 0.861500 0.662587
vt 0.864294 0.660747
vt 0.421113 0.374264
vt 0.421342 0.370859
vt 0.856328 0.368094
vt 0.861500 0.369018
vt 0.426513 0.370708
vt 0.426513 0.368094
vt 0.421342 0.369018
vt 0.417144 0.374264
vt 0.418547 0.370859
vt 0.426513 0.660897
vt 0.421342 0.660747
vt 0.421342 0.662587
vt 0.421113 0.657341
vt 0.417144 0.657341
vt 0.418547 0.660747
vt 0.426513 0.663512
vt 0.851966 0.695368
vt 0.659461 0.695368
vt 0.659461 0.978445
vt 0.853302 0.976215
vt 0.851966 0.978445
vn 0.000000 0.000000 -1.000000
vn -0.000000 -0.000000 1.000000
vn -1.000000 -0.000000 -0.000000
vn 0.000000 1.000000 -0.000000
vn 1.000000 -0.000000 0.000000
vn 0.238400 -0.455800 -0.857600
vn 0.228100 -0.470400 -0.852500
vn 0.233100 -0.463300 -0.855000
vn 0.648500 -0.398700 -0.648500
vn 0.648500 -0.398800 -0.648500
vn 0.857600 -0.455800 -0.238400
vn 0.860000 -0.448400 -0.243600
vn 0.855000 -0.463300 -0.233100
vn 0.451900 -0.880600 -0.142600
vn 0.138600 -0.980600 -0.138600
vn 0.142500 -0.980600 -0.134600
vn 0.142600 -0.880600 -0.451900
vn 0.415300 -0.809300 -0.415300
vn 0.138600 -0.980600 0.138600
vn 0.134600 -0.980600 0.142500
vn 0.451900 -0.880600 0.142600
vn 0.857600 -0.455800 0.238400
vn 0.852500 -0.470400 0.228100
vn 0.855000 -0.463300 0.233100
vn 0.648500 -0.398800 0.648500
vn 0.648500 -0.398700 0.648500
vn 0.238400 -0.455800 0.857600
vn 0.243600 -0.448400 0.860000
vn 0.233100 -0.463300 0.855000
vn 0.142600 -0.880600 0.451900
vn 0.415300 -0.809300 0.415300
vn -0.138600 -0.980600 0.138600
vn -0.142500 -0.980600 0.134600
vn -0.142600 -0.880600 0.451900
vn -0.238400 -0.455800 0.857600
vn -0.228100 -0.470400 0.852500
vn -0.233100 -0.463300 0.855000
vn -0.648500 -0.398800 0.648500
vn -0.648500 -0.398700 0.648500
vn -0.857600 -0.455800 0.238400
vn -0.860000 -0.448400 0.243600
vn -0.855000 -0.463300 0.233100
vn -0.451900 -0.880600 0.142600
vn -0.415300 -0.809300 0.415300
vn -0.857600 -0.455800 -0.238400
vn -0.852500 -0.470400 -0.228100
vn -0.855000 -0.463300 -0.233100
vn -0.648500 -0.398700 -0.648500
vn -0.648500 -0.398800 -0.648500
vn -0.238400 -0.455800 -0.857600
vn -0.243600 -0.448400 -0.860000
vn -0.233100 -0.463300 -0.855000
vn -0.142600 -0.880600 -0.451900
vn -0.138600 -0.980600 -0.138600
vn -0.134600 -0.980600 -0.142500
vn -0.451900 -0.880600 -0.142600
vn -0.415300 -0.809300 -0.415300
vn 0.857600 0.455800 -0.238400
vn 0.852500 0.470400 -0.228100
vn 0.855000 0.463300 -0.233100
vn 0.648500 0.398800 -0.648500
vn 0.648500 0.398700 -0.648500
vn 0.238400 0.455800 -0.857600
vn 0.243500 0.448400 -0.860000
vn 0.233100 0.463300 -0.855000
vn 0.142600 0.880600 -0.451900
vn 0.138600 0.980600 -0.138600
vn 0.134600 0.980600 -0.142500
vn 0.451900 0.880600 -0.142600
vn 0.415300 0.809300 -0.415300
vn 0.138600 0.980600 0.138600
vn 0.142500 0.980600 0.134600
vn 0.142600 0.880600 0.451900
vn 0.238400 0.455800 0.857600
vn 0.228100 0.470400 0.852500
vn 0.233100 0.463300 0.855000
vn 0.648500 0.398700 0.648500
vn 0.648500 0.398800 0.648500
vn 0.857600 0.455800 0.238400
vn 0.860000 0.448400 0.243600
vn 0.855000 0.463300 0.233100
vn 0.451900 0.880600 0.142600
vn 0.415300 0.809300 0.415300
vn -0.138600 0.980600 0.138600
vn -0.134600 0.980600 0.142500
vn -0.451900 0.880600 0.142600
vn -0.857600 0.455800 0.238400
vn -0.852500 0.470400 0.228100
vn -0.855000 0.463300 0.233100
vn -0.648500 0.398700 0.648500
vn -0.648500 0.398800 0.648500
vn -0.238400 0.455800 0.857600
vn -0.243600 0.448400 0.860000
vn -0.233100 0.463300 0.855000
vn -0.142600 0.880600 0.451900
vn -0.415300 0.809300 0.415300
vn -0.238400 0.455800 -0.857600
vn -0.228100 0.470400 -0.852500
vn -0.233100 0.463300 -0.855000
vn -0.648500 0.398800 -0.648500
vn -0.648500 0.398700 -0.648500
vn -0.857600 0.455800 -0.238400
vn -0.860000 0.448400 -0.243500
vn -0.855000 0.463300 -0.233100
vn -0.451900 0.880600 -0.142600
vn -0.138600 0.980600 -0.138600
vn -0.142500 0.980600 -0.134600
vn -0.142600 0.880600 -0.451900
vn -0.415300 0.809300 -0.415300
vn 0.886700 -0.462300 0.000000
vn 0.456600 -0.889700 0.000000
vn 0.136000 -0.990700 0.000000
vn 0.000000 -0.990700 -0.136000
vn 0.000000 -0.889700 -0.456600
vn 0.000000 -0.462300 -0.886700
vn 0.258500 0.000000 -0.966000
vn 0.258400 0.000000 -0.966000
vn 0.707100 0.000000 -0.707100
vn 0.966000 -0.000000 -0.258500
vn -0.000000 -0.462300 0.886700
vn -0.000000 -0.889700 0.456600
vn -0.000000 -0.990700 0.136000
vn 0.966000 0.000000 0.258500
vn 0.707100 0.000000 0.707100
vn 0.258400 -0.000000 0.966000
vn -0.886700 -0.462300 -0.000000
vn -0.456600 -0.889700 -0.000000
vn -0.136000 -0.990700 -0.000000
vn -0.258500 0.000000 0.966000
vn -0.707100 -0.000000 0.707100
vn -0.966000 -0.000000 0.258500
vn -0.966000 -0.000000 0.258400
vn -0.966000 -0.000000 -0.258500
vn -0.707100 0.000000 -0.707100
vn -0.258500 0.000000 -0.966000
vn 0.136000 0.990700 0.000000
vn 0.456600 0.889700 0.000000
vn 0.886700 0.462300 0.000000
vn 0.000000 0.462300 -0.886700
vn 0.000000 0.889700 -0.456600
vn 0.000000 0.990700 -0.136000
vn -0.000000 0.990700 0.136000
vn -0.000000 0.889700 0.456600
vn -0.000000 0.462300 0.886700
vn -0.136000 0.990700 -0.000000
vn -0.456600 0.889700 -0.000000
vn -0.886700 0.462300 -0.000000
vn 0.000000 -1.000000 -0.000000
vn 0.243500 -0.448400 -0.860000
vn 0.852500 -0.470400 -0.228100
vn 0.134600 -0.980600 -0.142500
vn 0.142500 -0.980600 0.134600
vn 0.860000 -0.448400 0.243600
vn 0.228100 -0.470400 0.852500
vn -0.134600 -0.980600 0.142500
vn -0.243600 -0.448400 0.860000
vn -0.852500 -0.470400 0.228100
vn -0.860000 -0.448400 -0.243500
vn -0.228100 -0.470400 -0.852500
vn -0.142500 -0.980600 -0.134600
vn 0.860000 0.448400 -0.243600
vn 0.228100 0.470400 -0.852500
vn 0.142500 0.980600 -0.134600
vn 0.134600 0.980600 0.142500
vn 0.243600 0.448400 0.860000
vn 0.852500 0.470400 0.228100
vn -0.142500 0.980600 0.134600
vn -0.860000 0.448400 0.243500
vn -0.228100 0.470400 0.852500
vn -0.243600 0.448400 -0.860000
vn -0.852500 0.470400 -0.228100
vn -0.134600 0.980600 -0.142500
s 1
f 1/1/1 38/2/1 85/3/1
f 62/4/2 75/3/2 26/2/2
f 74/3/3 86/4/3 37/1/3
f 87/5/4 73/6/4 61/7/4
f 49/4/5 63/3/5 14/2/5
f 1/1/6 4/8/7 6/9/8
f 8/10/9 9/11/9 6/9/10
f 2/1/11 7/12/12 9/9/13
f 7/13/14 11/14/14 12/15/14
f 3/4/15 10/16/16 12/15/15
f 5/17/17 6/18/17 12/15/17
f 6/18/18 9/19/18 12/15/18
f 13/1/19 16/8/20 18/9/19
f 20/10/21 21/11/21 18/9/21
f 14/2/22 19/20/23 21/21/24
f 23/8/25 24/9/25 21/11/26
f 15/1/27 22/12/28 24/9/29
f 22/22/30 17/12/30 18/9/30
f 18/9/31 21/11/31 24/23/31
f 25/2/32 28/24/33 30/21/32
f 32/25/34 33/26/34 30/21/34
f 26/2/35 31/20/36 33/21/37
f 35/27/38 36/28/39 33/21/38
f 27/2/40 34/24/41 36/21/42
f 34/27/43 29/20/43 30/21/43
f 30/21/44 33/26/44 36/28/44
f 37/1/45 40/8/46 42/9/47
f 44/20/48 45/21/48 42/28/49
f 38/2/50 43/24/51 45/21/52
f 47/29/53 48/30/53 45/31/53
f 39/3/54 46/32/55 48/30/54
f 41/33/56 42/34/56 48/30/56
f 42/34/57 45/31/57 48/30/57
f 49/4/58 52/14/59 54/15/60
f 56/14/61 57/15/61 54/19/62
f 50/4/63 55/16/64 57/15/65
f 59/16/66 60/15/66 57/18/66
f 51/4/67 58/14/68 60/15/67
f 53/13/69 54/19/69 60/15/69
f 54/19/70 57/18/70 60/15/70
f 61/1/71 64/12/72 66/9/71
f 64/12/73 68/22/73 69/23/73
f 62/4/74 67/14/75 69/15/76
f 71/13/77 72/19/78 69/15/77
f 63/3/79 70/29/80 72/30/81
f 65/8/82 66/9/82 72/11/82
f 66/9/83 69/23/83 72/11/83
f 73/2/84 76/20/85 78/21/84
f 76/20/86 80/27/86 81/28/86
f 74/3/87 79/32/88 81/30/89
f 83/32/90 84/30/90 81/34/91
f 75/3/92 82/29/93 84/30/94
f 82/25/95 77/24/95 78/21/95
f 78/21/96 81/28/96 84/26/96
f 85/3/97 88/32/98 90/30/99
f 88/32/100 92/33/101 93/34/101
f 86/4/102 91/16/103 93/15/104
f 91/33/105 95/32/105 96/30/105
f 87/3/106 94/29/107 96/30/106
f 89/35/108 90/31/108 96/30/108
f 90/31/109 93/34/109 96/30/109
f 2/1/110 14/2/110 20/24/110
f 20/10/111 16/8/111 11/14/111
f 16/8/112 13/1/112 3/4/112
f 3/4/113 39/3/113 47/29/113
f 47/29/114 43/35/114 5/17/114
f 43/24/115 38/2/115 1/1/115
f 50/4/116 56/14/117 4/8/116
f 56/14/118 52/13/118 8/10/118
f 8/8/119 52/14/119 49/4/119
f 26/2/120 32/24/120 22/12/120
f 32/25/121 28/24/121 17/12/121
f 28/24/122 25/2/122 13/1/122
f 63/3/123 71/32/123 19/20/123
f 71/13/124 67/14/124 23/8/124
f 67/14/125 62/4/125 15/1/125
f 37/1/126 41/12/126 34/24/126
f 41/33/127 46/32/127 29/20/127
f 46/32/128 39/3/128 25/2/128
f 75/3/129 83/32/129 31/20/129
f 83/32/130 79/33/130 35/27/130
f 79/32/131 74/3/131 27/2/132
f 86/4/133 92/14/133 40/8/133
f 92/33/134 88/32/134 44/20/134
f 88/32/135 85/3/135 38/2/135
f 51/4/136 61/1/136 65/8/136
f 65/8/137 70/10/137 53/13/137
f 70/29/138 63/3/138 49/4/138
f 85/3/139 89/29/139 55/16/139
f 89/35/140 94/29/140 59/16/140
f 59/16/141 94/29/141 87/3/141
f 73/2/142 77/24/142 64/12/142
f 77/24/143 82/25/143 68/22/143
f 68/16/144 82/29/144 75/3/144
f 87/3/145 95/32/145 76/20/145
f 76/20/146 95/32/146 91/33/146
f 80/29/147 91/16/147 86/4/147
f 13/36/148 25/37/148 39/38/148
f 50/4/1 1/1/1 85/3/1
f 15/1/2 62/4/2 26/2/2
f 27/2/3 74/3/3 37/1/3
f 51/39/4 87/5/4 61/7/4
f 2/1/5 49/4/5 14/2/5
f 5/12/149 1/1/6 6/9/8
f 4/8/10 8/10/9 6/9/10
f 8/8/150 2/1/11 9/9/13
f 9/19/14 7/13/14 12/15/14
f 11/14/151 3/4/15 12/15/15
f 10/16/17 5/17/17 12/15/17
f 17/12/152 13/1/19 18/9/19
f 16/8/21 20/10/21 18/9/21
f 20/24/153 14/2/22 21/21/24
f 19/10/26 23/8/25 21/11/26
f 23/8/154 15/1/27 24/9/29
f 24/23/30 22/22/30 18/9/30
f 29/20/155 25/2/32 30/21/32
f 28/24/34 32/25/34 30/21/34
f 32/24/156 26/2/35 33/21/37
f 31/20/38 35/27/38 33/21/38
f 35/20/157 27/2/40 36/21/42
f 36/28/43 34/27/43 30/21/43
f 41/12/158 37/1/45 42/9/47
f 40/27/49 44/20/48 42/28/49
f 44/20/159 38/2/50 45/21/52
f 43/35/53 47/29/53 45/31/53
f 47/29/160 39/3/54 48/30/54
f 46/32/56 41/33/56 48/30/56
f 53/16/161 49/4/58 54/15/60
f 52/13/62 56/14/61 54/19/62
f 56/14/162 50/4/63 57/15/65
f 55/17/66 59/16/66 57/18/66
f 59/16/163 51/4/67 60/15/67
f 58/14/69 53/13/69 60/15/69
f 65/8/164 61/1/71 66/9/71
f 66/9/73 64/12/73 69/23/73
f 68/16/165 62/4/74 69/15/76
f 67/14/77 71/13/77 69/15/77
f 71/32/166 63/3/79 72/30/81
f 70/10/82 65/8/82 72/11/82
f 77/24/167 73/2/84 78/21/84
f 78/21/86 76/20/86 81/28/86
f 80/29/168 74/3/87 81/30/89
f 79/33/91 83/32/90 81/34/91
f 83/32/169 75/3/92 84/30/94
f 84/26/95 82/25/95 78/21/95
f 89/29/170 85/3/97 90/30/99
f 90/30/100 88/32/100 93/34/101
f 92/14/171 86/4/102 93/15/104
f 93/34/105 91/33/105 96/30/105
f 95/32/172 87/3/106 96/30/106
f 94/29/108 89/35/108 96/30/108
f 7/12/110 2/1/110 20/24/110
f 7/13/111 20/10/111 11/14/111
f 11/14/112 16/8/112 3/4/112
f 10/16/113 3/4/113 47/29/113
f 10/16/114 47/29/114 5/17/114
f 5/12/115 43/24/115 1/1/115
f 1/1/116 50/4/116 4/8/116
f 4/8/118 56/14/118 8/10/118
f 2/1/119 8/8/119 49/4/119
f 15/1/120 26/2/120 22/12/120
f 22/22/121 32/25/121 17/12/121
f 17/12/122 28/24/122 13/1/122
f 14/2/123 63/3/123 19/20/123
f 19/10/124 71/13/124 23/8/124
f 23/8/125 67/14/125 15/1/125
f 27/2/126 37/1/126 34/24/126
f 34/27/127 41/33/127 29/20/127
f 29/20/128 46/32/128 25/2/128
f 26/2/129 75/3/129 31/20/129
f 31/20/130 83/32/130 35/27/130
f 35/20/132 79/32/131 27/2/132
f 37/1/133 86/4/133 40/8/133
f 40/27/134 92/33/134 44/20/134
f 44/20/135 88/32/135 38/2/135
f 58/14/136 51/4/136 65/8/136
f 58/14/137 65/8/137 53/13/137
f 53/16/138 70/29/138 49/4/138
f 50/4/139 85/3/139 55/16/139
f 55/17/140 89/35/140 59/16/140
f 51/4/141 59/16/141 87/3/141
f 61/1/142 73/2/142 64/12/142
f 64/12/143 77/24/143 68/22/143
f 62/4/144 68/16/144 75/3/144
f 73/2/145 87/3/145 76/20/145
f 80/27/146 76/20/146 91/33/146
f 74/3/147 80/29/147 86/4/147
f 3/40/148 13/36/148 39/38/148

View File

@ -0,0 +1,101 @@
# Blender v2.72 (sub 0) OBJ File: 'switch_outer.blend'
# www.blender.org
o switch_Cube
v 1.270169 -1.270169 -1.270169
v 1.270169 -1.270169 1.270169
v -1.270169 -1.270169 1.270169
v -1.270169 -1.270169 -1.270170
v 1.270170 1.270169 -1.270169
v 1.270168 1.270169 1.270170
v -1.270170 1.270169 1.270169
v -1.270169 1.270169 -1.270169
v 0.985712 1.270169 -0.998137
v 0.985712 1.270169 0.965003
v -0.940154 1.270169 0.973287
v -0.940154 1.270170 -0.998137
v 0.985712 -1.271890 -0.998137
v 0.985712 -1.271890 0.965003
v -0.940154 -1.271890 0.973287
v -0.940154 -1.271890 -0.998137
vt 0.222140 0.317533
vt 0.462062 0.319398
vt 0.461836 0.797664
vt 0.462418 0.315542
vt 0.462155 0.799279
vt 0.219977 0.799745
vt 0.460057 0.322033
vt 0.461974 0.799281
vt 0.219129 0.799420
vt 0.459506 0.796589
vt 0.220124 0.795724
vt 0.220890 0.315480
vt 0.461760 0.316819
vt 0.221860 0.319521
vt 0.222636 0.798557
vt 0.809558 0.810889
vt 0.781381 0.753963
vt 0.782865 0.344970
vt 0.553708 0.808618
vt 0.553628 0.279374
vt 0.588332 0.341517
vt 0.784396 1.000000
vt 0.784396 0.666591
vt 1.000000 0.666591
vt 0.002859 0.664645
vt 0.223564 0.664868
vt 0.223426 0.998277
vt 1.000026 0.663788
vt 1.000026 0.996547
vt 0.785161 0.996547
vt 0.220172 0.660110
vt 0.220172 0.993518
vt 0.000395 0.993518
vt 0.221915 0.795798
vt 0.220240 0.316007
vt 0.219212 0.322172
vt 0.460271 0.316344
vt 0.462536 0.795855
vt 0.590712 0.341538
vt 0.556008 0.279395
vt 0.809478 0.281644
vt 0.588842 0.752236
vt 0.779002 0.753942
vt 0.807179 0.810867
vt 0.002722 0.998054
vt 1.000000 1.000000
vt 0.785161 0.663789
vt 0.000395 0.660110
vn 0.000000 -1.000000 0.000000
vn 1.000000 -0.000000 0.000000
vn -0.000000 -0.000000 1.000000
vn -1.000000 -0.000000 -0.000000
vn 0.000000 0.000000 -1.000000
vn 0.000000 1.000000 0.000000
vn -0.004300 0.000000 -1.000000
s off
f 2/1/1 3/2/1 4/3/1
f 1/4/2 5/5/2 6/6/2
f 2/7/3 6/8/3 7/9/3
f 7/10/4 8/11/4 4/12/4
f 1/13/5 4/14/5 8/15/5
f 5/16/6 9/17/6 10/18/6
f 8/19/6 7/20/6 11/21/6
f 12/22/3 16/23/3 13/24/3
f 12/25/2 11/26/2 15/27/2
f 10/28/7 14/29/7 15/30/7
f 9/31/4 13/32/4 14/33/4
f 1/34/1 2/1/1 4/3/1
f 2/35/2 1/4/2 6/6/2
f 3/36/3 2/7/3 7/9/3
f 3/37/4 7/10/4 4/12/4
f 5/38/5 1/13/5 8/15/5
f 11/39/6 7/40/6 6/41/6
f 12/42/6 9/43/6 5/44/6
f 10/18/6 11/39/6 6/41/6
f 6/41/6 5/16/6 10/18/6
f 12/42/6 8/19/6 11/21/6
f 12/42/6 5/44/6 8/19/6
f 16/45/2 12/25/2 15/27/2
f 9/46/3 12/22/3 13/24/3
f 11/47/7 10/28/7 15/30/7
f 10/48/4 9/31/4 14/33/4

358
Levels/Geometry/torch.obj Normal file
View File

@ -0,0 +1,358 @@
# Blender v2.71 (sub 0) OBJ File: 'torch.blend'
# www.blender.org
o Cylinder
v 0.000000 -1.000000 -0.087051
v -0.000000 1.000000 -0.191513
v 0.016983 -1.000000 -0.085379
v 0.037362 1.000000 -0.187833
v 0.033313 -1.000000 -0.080425
v 0.073289 1.000000 -0.176935
v 0.048363 -1.000000 -0.072380
v 0.106399 1.000000 -0.159237
v 0.061555 -1.000000 -0.061555
v 0.135420 1.000000 -0.135420
v 0.072380 -1.000000 -0.048363
v 0.159237 1.000000 -0.106399
v 0.080425 -1.000000 -0.033313
v 0.176935 1.000000 -0.073289
v 0.085379 -1.000000 -0.016983
v 0.187833 1.000000 -0.037362
v 0.087051 -1.000000 -0.000000
v 0.191513 1.000000 0.000000
v 0.085379 -1.000000 0.016983
v 0.187833 1.000000 0.037362
v 0.080425 -1.000000 0.033313
v 0.176935 1.000000 0.073289
v 0.072380 -1.000000 0.048363
v 0.159237 1.000000 0.106399
v 0.061555 -1.000000 0.061555
v 0.135420 1.000000 0.135420
v 0.048363 -1.000000 0.072380
v 0.106399 1.000000 0.159237
v 0.033313 -1.000000 0.080425
v 0.073289 1.000000 0.176935
v 0.016983 -1.000000 0.085379
v 0.037362 1.000000 0.187833
v -0.000000 -1.000000 0.087051
v -0.000000 1.000000 0.191513
v -0.016983 -1.000000 0.085379
v -0.037362 1.000000 0.187833
v -0.033313 -1.000000 0.080425
v -0.073289 1.000000 0.176935
v -0.048363 -1.000000 0.072380
v -0.106399 1.000000 0.159237
v -0.061555 -1.000000 0.061555
v -0.135420 1.000000 0.135420
v -0.072381 -1.000000 0.048363
v -0.159237 1.000000 0.106399
v -0.080425 -1.000000 0.033313
v -0.176935 1.000000 0.073289
v -0.085379 -1.000000 0.016983
v -0.187833 1.000000 0.037362
v -0.087051 -1.000000 -0.000000
v -0.191513 1.000000 -0.000000
v -0.085379 -1.000000 -0.016983
v -0.187833 1.000000 -0.037362
v -0.080425 -1.000000 -0.033313
v -0.176935 1.000000 -0.073289
v -0.072380 -1.000000 -0.048363
v -0.159237 1.000000 -0.106399
v -0.061554 -1.000000 -0.061555
v -0.135420 1.000000 -0.135420
v -0.048363 -1.000000 -0.072381
v -0.106399 1.000000 -0.159237
v -0.033313 -1.000000 -0.080425
v -0.073289 1.000000 -0.176935
v -0.016983 -1.000000 -0.085379
v -0.037362 1.000000 -0.187833
vt 0.355490 0.133897
vt 0.388961 0.169345
vt 0.188374 0.340465
vt 0.418692 0.207984
vt 0.201889 0.358028
vt 0.444379 0.249421
vt 0.213565 0.376862
vt 0.465761 0.293235
vt 0.482621 0.338980
vt 0.230950 0.417570
vt 0.494787 0.386190
vt 0.236481 0.439028
vt 0.502136 0.434385
vt 0.239822 0.460935
vt 0.504593 0.483075
vt 0.502132 0.531764
vt 0.239822 0.505197
vt 0.494779 0.579957
vt 0.236481 0.527103
vt 0.482609 0.627165
vt 0.465746 0.672906
vt 0.223286 0.569353
vt 0.444361 0.716715
vt 0.213567 0.589266
vt 0.418672 0.758148
vt 0.388940 0.796782
vt 0.188377 0.625660
vt 0.355468 0.832224
vt 0.173163 0.641770
vt 0.318596 0.864115
vt 0.278700 0.892129
vt 0.138269 0.669000
vt 0.236185 0.915982
vt 0.118944 0.679843
vt 0.191483 0.935431
vt 0.098625 0.688683
vt 0.145050 0.950278
vt 0.077519 0.695432
vt 0.097357 0.960373
vt 0.055840 0.700021
vt 0.048890 0.965612
vt 0.033810 0.702402
vt 0.000142 0.965943
vt 0.011651 0.702553
vt 0.000142 0.000142
vt 0.048895 0.000476
vt 0.033797 0.263708
vt 0.097366 0.005719
vt 0.055829 0.266091
vt 0.145063 0.015817
vt 0.077509 0.270681
vt 0.191499 0.030670
vt 0.098617 0.277432
vt 0.236203 0.050124
vt 0.118937 0.286274
vt 0.278720 0.073982
vt 0.138263 0.297119
vt 0.514387 0.175443
vt 0.533044 0.130402
vt 0.990347 0.319823
vt 0.318618 0.102002
vt 0.173159 0.324353
vt 0.156399 0.309855
vt 0.704754 0.679615
vt 0.545660 0.695284
vt 0.689084 0.520522
vt 0.223285 0.396777
vt 0.240940 0.483066
vt 0.230950 0.548561
vt 0.201891 0.608099
vt 0.156403 0.656266
vt 0.011637 0.263556
vt 0.776743 0.495124
vt 0.727992 0.495124
vt 0.594601 0.439872
vt 0.680177 0.009653
vt 0.727992 0.000142
vt 0.776744 0.000142
vt 0.533043 0.364864
vt 0.514387 0.319824
vt 0.504876 0.272009
vt 0.504876 0.223258
vt 0.560128 0.405399
vt 0.560129 0.089866
vt 0.594602 0.055394
vt 0.869598 0.466956
vt 0.910133 0.439871
vt 0.971691 0.364863
vt 0.824559 0.009653
vt 0.869599 0.028309
vt 0.910135 0.055395
vt 0.944607 0.089867
vt 0.971691 0.130402
vt 0.990347 0.175442
vt 0.999858 0.223257
vt 0.999858 0.272009
vt 0.944606 0.405398
vt 0.824557 0.485613
vt 0.680177 0.485613
vt 0.635136 0.466957
vt 0.635137 0.028309
vt 0.529991 0.536192
vt 0.545660 0.520522
vt 0.564085 0.508211
vt 0.584558 0.499731
vt 0.606292 0.495408
vt 0.650186 0.499730
vt 0.670659 0.508211
vt 0.628452 0.495407
vt 0.704753 0.536191
vt 0.717065 0.554616
vt 0.729868 0.596823
vt 0.725545 0.575089
vt 0.725545 0.640717
vt 0.729868 0.618983
vt 0.717065 0.661190
vt 0.689084 0.695284
vt 0.670659 0.707596
vt 0.628452 0.720399
vt 0.606292 0.720399
vt 0.584558 0.716076
vt 0.564085 0.707595
vt 0.529990 0.679615
vt 0.517679 0.661190
vt 0.509199 0.640717
vt 0.504876 0.596824
vt 0.650185 0.716076
vt 0.509199 0.575090
vt 0.517679 0.554617
vt 0.504876 0.618983
vn 0.097900 -0.051900 -0.993800
vn 0.289900 -0.051900 -0.955700
vn 0.470800 -0.051900 -0.880700
vn 0.633500 -0.051900 -0.772000
vn 0.772000 -0.051900 -0.633500
vn 0.880700 -0.051900 -0.470800
vn 0.955700 -0.051900 -0.289900
vn 0.993800 -0.051900 -0.097900
vn 0.993800 -0.051900 0.097900
vn 0.955700 -0.051900 0.289900
vn 0.880700 -0.051900 0.470800
vn 0.772000 -0.051900 0.633500
vn 0.633500 -0.051900 0.772000
vn 0.470800 -0.051900 0.880700
vn 0.289900 -0.051900 0.955700
vn 0.097900 -0.051900 0.993800
vn -0.097900 -0.051900 0.993800
vn -0.289900 -0.051900 0.955600
vn -0.470800 -0.051900 0.880700
vn -0.633500 -0.051900 0.772000
vn -0.772000 -0.051900 0.633500
vn -0.880700 -0.051900 0.470800
vn -0.955700 -0.051900 0.289900
vn -0.993800 -0.051900 0.097900
vn -0.993800 -0.051900 -0.097900
vn -0.955600 -0.051900 -0.289900
vn -0.880700 -0.051900 -0.470800
vn -0.772000 -0.051900 -0.633500
vn -0.633500 -0.051900 -0.772000
vn -0.470800 -0.051900 -0.880700
vn 0.000000 1.000000 0.000000
vn -0.097900 -0.051900 -0.993800
vn -0.289900 -0.051900 -0.955700
vn 0.000000 -1.000000 0.000000
vn -0.955700 -0.051900 -0.289900
vn 0.000000 -1.000000 -0.000100
s off
f 2/1/1 4/2/1 3/3/1
f 4/2/2 6/4/2 5/5/2
f 6/4/3 8/6/3 7/7/3
f 7/7/4 8/6/4 10/8/4
f 10/8/5 12/9/5 11/10/5
f 12/9/6 14/11/6 13/12/6
f 14/11/7 16/13/7 15/14/7
f 15/14/8 16/13/8 18/15/8
f 18/15/9 20/16/9 19/17/9
f 19/17/10 20/16/10 22/18/10
f 21/19/11 22/18/11 24/20/11
f 24/20/12 26/21/12 25/22/12
f 26/21/13 28/23/13 27/24/13
f 27/24/14 28/23/14 30/25/14
f 30/25/15 32/26/15 31/27/15
f 32/26/16 34/28/16 33/29/16
f 33/29/17 34/28/17 36/30/17
f 36/30/18 38/31/18 37/32/18
f 38/31/19 40/33/19 39/34/19
f 40/33/20 42/35/20 41/36/20
f 42/35/21 44/37/21 43/38/21
f 44/37/22 46/39/22 45/40/22
f 46/39/23 48/41/23 47/42/23
f 48/41/24 50/43/24 49/44/24
f 50/45/25 52/46/25 51/47/25
f 52/46/26 54/48/26 53/49/26
f 54/48/27 56/50/27 55/51/27
f 56/50/28 58/52/28 57/53/28
f 58/52/29 60/54/29 59/55/29
f 60/54/30 62/56/30 61/57/30
f 54/58/31 52/59/31 22/60/31
f 64/61/32 2/1/32 1/62/32
f 62/56/33 64/61/33 63/63/33
f 31/64/34 47/65/34 15/66/34
f 1/62/1 2/1/1 3/3/1
f 3/3/2 4/2/2 5/5/2
f 5/5/3 6/4/3 7/7/3
f 9/67/4 7/7/4 10/8/4
f 9/67/5 10/8/5 11/10/5
f 11/10/6 12/9/6 13/12/6
f 13/12/7 14/11/7 15/14/7
f 17/68/8 15/14/8 18/15/8
f 17/68/9 18/15/9 19/17/9
f 21/19/10 19/17/10 22/18/10
f 23/69/11 21/19/11 24/20/11
f 23/69/12 24/20/12 25/22/12
f 25/22/13 26/21/13 27/24/13
f 29/70/14 27/24/14 30/25/14
f 29/70/15 30/25/15 31/27/15
f 31/27/16 32/26/16 33/29/16
f 35/71/17 33/29/17 36/30/17
f 35/71/18 36/30/18 37/32/18
f 37/32/19 38/31/19 39/34/19
f 39/34/20 40/33/20 41/36/20
f 41/36/21 42/35/21 43/38/21
f 43/38/22 44/37/22 45/40/22
f 45/40/23 46/39/23 47/42/23
f 47/42/24 48/41/24 49/44/24
f 49/72/25 50/45/25 51/47/25
f 51/47/35 52/46/35 53/49/35
f 53/49/27 54/48/27 55/51/27
f 55/51/28 56/50/28 57/53/28
f 57/53/29 58/52/29 59/55/29
f 59/55/30 60/54/30 61/57/30
f 10/73/31 8/74/31 2/75/31
f 44/76/31 42/77/31 40/78/31
f 62/79/31 60/80/31 58/81/31
f 56/82/31 22/60/31 64/83/31
f 50/84/31 48/85/31 52/59/31
f 2/75/31 14/86/31 10/73/31
f 16/87/31 22/60/31 20/88/31
f 38/89/31 44/76/31 40/78/31
f 38/89/31 36/90/31 34/91/31
f 34/91/31 32/92/31 30/93/31
f 30/93/31 28/94/31 26/95/31
f 26/95/31 24/96/31 22/60/31
f 18/97/31 16/87/31 20/88/31
f 14/86/31 22/60/31 16/87/31
f 14/86/31 12/98/31 10/73/31
f 6/99/31 4/100/31 8/74/31
f 22/60/31 38/89/31 34/91/31
f 56/82/31 54/58/31 22/60/31
f 46/101/31 44/76/31 48/85/31
f 44/76/31 38/89/31 48/85/31
f 30/93/31 22/60/31 34/91/31
f 30/93/31 26/95/31 22/60/31
f 52/59/31 48/85/31 38/89/31
f 56/82/31 64/83/31 58/81/31
f 64/83/31 62/79/31 58/81/31
f 61/57/33 62/56/33 63/63/33
f 52/59/31 38/89/31 22/60/31
f 8/74/31 4/100/31 2/75/31
f 63/63/32 64/61/32 1/62/32
f 2/75/31 22/60/31 14/86/31
f 22/60/31 2/75/31 64/83/31
f 63/102/34 1/103/34 3/104/34
f 3/104/34 5/105/34 7/106/34
f 11/107/34 13/108/34 9/109/34
f 15/66/34 7/106/34 13/108/34
f 15/66/34 17/110/34 19/111/34
f 23/112/34 15/66/34 21/113/34
f 27/114/34 31/64/34 25/115/34
f 27/114/36 29/116/36 31/64/36
f 31/64/34 33/117/34 35/118/34
f 39/119/34 41/120/34 43/121/34
f 43/121/34 45/122/34 47/65/34
f 47/65/34 49/123/34 51/124/34
f 53/125/34 57/126/34 63/102/34
f 35/118/34 37/127/34 31/64/34
f 59/128/34 61/129/34 63/102/34
f 63/102/34 3/104/34 7/106/34
f 13/108/34 7/106/34 9/109/34
f 31/64/34 23/112/34 25/115/34
f 37/127/34 39/119/34 43/121/34
f 37/127/34 47/65/34 31/64/34
f 47/65/34 37/127/34 43/121/34
f 53/125/34 55/130/34 57/126/34
f 15/66/34 19/111/34 21/113/34
f 63/102/34 7/106/34 15/66/34
f 15/66/34 23/112/34 31/64/34
f 47/65/34 51/124/34 53/125/34
f 53/125/34 63/102/34 15/66/34
f 57/126/34 59/128/34 63/102/34
f 47/65/34 53/125/34 15/66/34

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

View File

View File

@ -0,0 +1,266 @@
<!-- Marble -->
<composition>
<typeID>20</typeID>
<ignoreHeightmap>false</ignoreHeightmap>
<object>
<modelPath>marbleSmooth.obj</modelPath>
<xOffset>0.0</xOffset>
<yOffset>0.0</yOffset>
<zOffset>0.0</zOffset>
<scale>1.0</scale>
<mass>8.0</mass>
</object>
</composition>
<!-- Block -->
<composition>
<typeID>40</typeID>
<ignoreHeightmap>false</ignoreHeightmap>
<object>
<modelPath>block.obj</modelPath>
<xOffset>0.0</xOffset>
<yOffset>1.0</yOffset>
<zOffset>0.0</zOffset>
<scale>1.5</scale>
<mass>25.0</mass>
</object>
</composition>
<!-- Column -->
<composition>
<typeID>60</typeID>
<ignoreHeightmap>false</ignoreHeightmap>
<object>
<modelPath>column.obj</modelPath>
<xOffset>0.0</xOffset>
<yOffset>0.0</yOffset>
<zOffset>0.0</zOffset>
<scale>1.0</scale>
<mass>0.0</mass>
</object>
</composition>
<!-- Torch with Lightsource -->
<composition>
<typeID>80</typeID>
<ignoreHeightmap>false</ignoreHeightmap>
<object>
<modelPath>torch.obj</modelPath>
<xOffset>0.0</xOffset>
<yOffset>0.0</yOffset>
<zOffset>0.0</zOffset>
<scale>1.0</scale>
<mass>0.0</mass>
</object>
<light>
<xOffset>0.0</xOffset>
<yOffset>3</yOffset>
<zOffset>0.0</zOffset>
<rColour>1.0</rColour>
<gColour>1.0</gColour>
<bColour>1.0</bColour>
<intensity>4.0</intensity>
</light>
</composition>
<!-- Lightsource -->
<composition>
<typeID>85</typeID>
<ignoreHeightmap>false</ignoreHeightmap>
<light>
<xOffset>0.0</xOffset>
<yOffset>1.0</yOffset>
<zOffset>0.0</zOffset>
<rColour>1.0</rColour>
<gColour>1.0</gColour>
<bColour>1.0</bColour>
<intensity>4.0</intensity>
</light>
</composition>
<!-- Block on 2 Pillars -->
<composition>
<typeID>100</typeID>
<ignoreHeightmap>false</ignoreHeightmap>
<object>
<modelPath>column.obj</modelPath>
<xOffset>0.0</xOffset>
<yOffset>0.0</yOffset>
<zOffset>0.0</zOffset>
<scale>1.5</scale>
<mass>0.0</mass>
</object>
<object>
<modelPath>column.obj</modelPath>
<xOffset>2.0</xOffset>
<yOffset>0.0</yOffset>
<zOffset>0.0</zOffset>
<scale>1.5</scale>
<mass>0.0</mass>
</object>
<object>
<modelPath>block.obj</modelPath>
<xOffset>1.0</xOffset>
<yOffset>3.0</yOffset>
<zOffset>0.0</zOffset>
<scale>1.5</scale>
<mass>0.0</mass>
</object>
</composition>
<!-- Switch -->
<composition>
<typeID>120</typeID>
<ignoreHeightmap>false</ignoreHeightmap>
<object>
<modelPath>switch_inner.obj</modelPath>
<xOffset>0.0</xOffset>
<yOffset>0.0</yOffset>
<zOffset>0.0</zOffset>
<scale>1.0</scale>
<mass>1.0</mass>
</object>
<object>
<modelPath>switch_outer.obj</modelPath>
<xOffset>0.0</xOffset>
<yOffset>0.0</yOffset>
<zOffset>0.0</zOffset>
<scale>1.0</scale>
<mass>0.0</mass>
</object>
</composition>
<!-- Bridge Block -->
<composition>
<typeID>140</typeID>
<ignoreHeightmap>true</ignoreHeightmap>
<object>
<modelPath>block.obj</modelPath>
<xOffset>0.0</xOffset>
<yOffset>20.0</yOffset>
<zOffset>0.0</zOffset>
<scale>1.5</scale>
<mass>0.0</mass>
</object>
</composition>
<!-- Bridge Block on Pillar-->
<composition>
<typeID>160</typeID>
<ignoreHeightmap>true</ignoreHeightmap>
<object>
<modelPath>block.obj</modelPath>
<xOffset>0.0</xOffset>
<yOffset>20.0</yOffset>
<zOffset>0.0</zOffset>
<scale>1.5</scale>
<mass>0.0</mass>
</object>
<object>
<modelPath>column.obj</modelPath>
<xOffset>0.0</xOffset>
<yOffset>18.0</yOffset>
<zOffset>0.0</zOffset>
<scale>1.5</scale>
<mass>0.0</mass>
</object>
<object>
<modelPath>column.obj</modelPath>
<xOffset>0.0</xOffset>
<yOffset>15.0</yOffset>
<zOffset>0.0</zOffset>
<scale>1.5</scale>
<mass>0.0</mass>
</object>
<object>
<modelPath>column.obj</modelPath>
<xOffset>0.0</xOffset>
<yOffset>12.0</yOffset>
<zOffset>0.0</zOffset>
<scale>1.5</scale>
<mass>0.0</mass>
</object>
</composition>
<objectData>
<modelPath>marbleSmooth.obj</modelPath>
<texturePath>Marbletexture.png</texturePath>
<ambientFactor>0.1</ambientFactor>
<diffuseFactor>0.5</diffuseFactor>
<specularFactor>0.5</specularFactor>
<shininess>3.0</shininess>
<physicType>Player</physicType>
<radius>1.5</radius>
<dampningL>0.2 </dampningL>
<dampningA>0.7</dampningA>
</objectData>
<objectData>
<modelPath>block.obj</modelPath>
<texturePath>blockTexture_small.png</texturePath>
<ambientFactor>0.1</ambientFactor>
<diffuseFactor>0.6</diffuseFactor>
<specularFactor>0.4</specularFactor>
<shininess>2.0</shininess>
<physicType>Box</physicType>
<width>5.0</width>
<height>3</height>
<length>1.8</length>
<dampningL>0.8</dampningL>
<dampningA>0.9</dampningA>
</objectData>
<objectData>
<modelPath>column.obj</modelPath>
<texturePath>columnTexture2.png</texturePath>
<ambientFactor>0.1</ambientFactor>
<diffuseFactor>0.6</diffuseFactor>
<specularFactor>0.4</specularFactor>
<shininess>2.0</shininess>
<physicType>TriangleMesh</physicType>
<dampningL>1.0</dampningL>
<dampningA>1.0</dampningA>
</objectData>
<objectData>
<modelPath>torch.obj</modelPath>
<texturePath>torchTexture.png</texturePath>
<ambientFactor>0.1</ambientFactor>
<diffuseFactor>0.3</diffuseFactor>
<specularFactor>0.7</specularFactor>
<shininess>10.0</shininess>
<physicType>TriangleMesh</physicType>
<dampningL>1.0</dampningL>
<dampningA>1.0</dampningA>
</objectData>
<objectData>
<modelPath>switch_inner.obj</modelPath>
<texturePath>switchTextureInner.png</texturePath>
<ambientFactor>0.1</ambientFactor>
<diffuseFactor>0.6</diffuseFactor>
<specularFactor>0.4</specularFactor>
<shininess>2.0</shininess>
<physicType>Box</physicType>
<width>0.5</width>
<height>0.5</height>
<length>0.5</length>
<dampningL>1.0</dampningL>
<dampningA>1.0</dampningA>
</objectData>
<objectData>
<modelPath>switch_outer.obj</modelPath>
<texturePath>switchTextureOuter.png</texturePath>
<ambientFactor>0.1</ambientFactor>
<diffuseFactor>0.6</diffuseFactor>
<specularFactor>0.4</specularFactor>
<shininess>2.0</shininess>
<physicType>TriangleMesh</physicType>
<dampningL>1.0</dampningL>
<dampningA>1.0</dampningA>
</objectData>

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 B

Binary file not shown.

View File

@ -0,0 +1,67 @@
<composition>
<scale>1.0</scale>
<xRot>0.0</xRot>
<yRot>0.0</yRot>
<zRot>0.0</zRot>
<manualPos>false</manualPos>
<xPos>-0.500000</xPos>
<yOffset>0.0</yOffset>
<zPos>1.500000</zPos>
<idGreen>1</idGreen>
<idBlue>5</idBlue>
<typeID>99</typeID>
</composition>
<composition>
<scale>1.0</scale>
<xRot>0.0</xRot>
<yRot>0.0</yRot>
<zRot>0.0</zRot>
<manualPos>false</manualPos>
<xPos>-2.500000</xPos>
<yOffset>0.0</yOffset>
<zPos>-1.500000</zPos>
<idGreen>1</idGreen>
<idBlue>3</idBlue>
<typeID>99</typeID>
</composition>
<ambientLight>
<rColour>1.0</rColour>
<gColour>1.0</gColour>
<bColour>1.0</bColour>
</ambientLight>
<fogColour>
<rColour>0.10</rColour>
<gColour>0.14</gColour>
<bColour>0.14</bColour>
<alpha>1.0</alpha>
</fogColour>
<directionalLight>
<xOffset>-1.0</xOffset>
<yOffset>1.5</yOffset>
<zOffset>1.0</zOffset>
<rColour>1.0</rColour>
<gColour>1.0</gColour>
<bColour>0.9</bColour>
<intensity>0.2</intensity>
</directionalLight>
<skydome>
<texture>skydome.png</texture>
</skydome>
<trigger>
<name>-</name>
<xPosition>0.0</xPosition>
<yPosition>0.0</yPosition>
<zPosition>0.0</zPosition>
<distance>1.0</distance>
<isBiggerThan>false</isBiggerThan>
<idGreen>0</idGreen>
<idBlue>0</idBlue>
<objectNum>1</objectNum>
<functionPointer>-</functionPointer>
</trigger>

Binary file not shown.

After

Width:  |  Height:  |  Size: 684 B

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.8 MiB

After

Width:  |  Height:  |  Size: 9.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 721 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

BIN
Levels/Textures/skydome.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 650 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

View File

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 35 KiB

BIN
Levels/heightmapLvl02.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
Levels/heightmapLvl1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

BIN
Levels/heightmapLvl1.xcf Normal file

Binary file not shown.

View File

@ -0,0 +1,16 @@
if(triggeredSCRIPTNAME == nil) then
triggeredSCRIPTNAME = false
end
function trigger(objectToChange)
if(triggeredSCRIPTNAME == false) then
if(not level) then
print("No level found in Lua!")
return
end
--enter the scripts code here and replace all occurences of SCRIPTNAME with the name of the script.
triggeredSCRIPTNAME = true
print("SCRIPTNAME")
end
end

View File

@ -0,0 +1,14 @@
if(triggeredDeleteObject == nil) then
triggeredDeleteObject = false
end
function trigger(objectToChange)
if(triggeredDeleteObject == false) then
if(not level) then
print("No level found in Lua!")
return
end
level:deleteObject(objectToChange)
triggeredDeleteObject = true
print("deleteObject")
end
end

View File

@ -0,0 +1,16 @@
if(triggeredDeleteRandomObject == nil) then
triggeredDeleteRandomObject = false
end
function trigger(objectToChange)
if(triggeredDeleteRandomObject == false) then
if(not level) then
print("No level found in Lua!")
return
end
a = level:getObjectCount()
rand = math.random(0, a - 1)
level:deleteObject(rand)
triggeredDeleteRandomObject = true
print("deleteRandomObject")
end
end

View File

@ -0,0 +1,28 @@
if(triggeredOpenDoor1 == nil) then
triggeredOpenDoor1 = false
end
function trigger(objectToChange)
if(triggeredOpenDoor1 == false) then
if(not level) then
print("No level found in Lua!")
return
end
if(not openDoorCounter) then
openDoorCounter = 0
end
openDoorCounter = openDoorCounter + 1
if (openDoorCounter == 3) then
local strength = 1
local xPos = 0
local yPos = 0
local zPos = 0
level:moveObject(objectToChange, strength, xPos, yPos, zPos)
print("Opening the door")
end
triggeredOpenDoor1undo = false
triggeredOpenDoor1 = true
print("openDoor1")
end
end

View File

@ -0,0 +1,19 @@
if(triggeredOpenDoor1undo == nil) then
triggeredOpenDoor1undo = false
end
function trigger(objectToChange)
if(triggeredOpenDoor1undo == false) then
if(not level) then
print("No level found in Lua!")
return
end
if(triggeredOpenDoor1) then
openDoorCounter = openDoorCounter - 1
triggeredOpenDoor1 = false
end
triggeredOpenDoor1undo = true
print("openDoor1undo")
end
end

View File

@ -0,0 +1,28 @@
if(triggeredOpenDoor2 == nil) then
triggeredOpenDoor2 = false
end
function trigger(objectToChange)
if(triggeredOpenDoor2 == false) then
if(not level) then
print("No level found in Lua!")
return
end
if(not openDoorCounter) then
openDoorCounter = 0
end
openDoorCounter = openDoorCounter + 1
if (openDoorCounter == 3) then
local strength = 1
local xPos = 0
local yPos = 0
local zPos = 0
level:moveObject(objectToChange, strength, xPos, yPos, zPos)
print("Opening the door")
end
triggeredOpenDoor2undo = false
triggeredOpenDoor2 = true
print("openDoor2")
end
end

View File

@ -0,0 +1,19 @@
if(triggeredOpenDoor2undo == nil) then
triggeredOpenDoor2undo = false
end
function trigger(objectToChange)
if(triggeredOpenDoor2undo == false) then
if(not level) then
print("No level found in Lua!")
return
end
if(triggeredOpenDoor2) then
openDoorCounter = openDoorCounter - 1
triggeredOpenDoor2 = false
end
triggeredOpenDoor2undo = true
print("openDoor2undo")
end
end

View File

@ -0,0 +1,28 @@
if(triggeredOpenDoor3 == nil) then
triggeredOpenDoor3 = false
end
function trigger(objectToChange)
if(triggeredOpenDoor3 == false) then
if(not level) then
print("No level found in Lua!")
return
end
if(not openDoorCounter) then
openDoorCounter = 0
end
openDoorCounter = openDoorCounter + 1
if (openDoorCounter == 3) then
local strength = 1
local xPos = 0
local yPos = 0
local zPos = 0
level:moveObject(objectToChange, strength, xPos, yPos, zPos)
print("Opening the door")
end
triggeredOpenDoor3undo = false
triggeredOpenDoor3 = true
print("openDoor3")
end
end

View File

@ -0,0 +1,19 @@
if(triggeredOpenDoor3undo == nil) then
triggeredOpenDoor3undo = false
end
function trigger(objectToChange)
if(triggeredOpenDoor3undo == false) then
if(not level) then
print("No level found in Lua!")
return
end
if(triggeredOpenDoor3) then
openDoorCounter = openDoorCounter - 1
triggeredOpenDoor3 = false
end
triggeredOpenDoor3undo = true
print("openDoor3undo")
end
end

7
Shader/depth.fsh Normal file
View File

@ -0,0 +1,7 @@
#version 150
out float fragmentDepth;
void main() {
fragmentDepth = gl_FragCoord.z;
}

11
Shader/depth.vsh Normal file
View File

@ -0,0 +1,11 @@
#version 150
in vec3 aPosition;
in vec3 aNormal;
in vec3 aTexcoord;
uniform mat4 modelViewProjectionMatrix;
void main() {
gl_Position = modelViewProjectionMatrix * vec4(aPosition, 1.0);
}

View File

@ -3,10 +3,17 @@
in vec3 vNormal;
in vec2 vTexCoord;
in vec4 fragPosition;
in vec4 shadowCoord_near;
in vec4 shadowCoord_middle;
in vec4 shadowCoord_far;
out vec4 oColor;
uniform sampler2D uTexture;
uniform sampler2DShadow shadowMap_near;
uniform sampler2DShadow shadowMap_middle;
uniform sampler2DShadow shadowMap_far;
uniform samplerCubeShadow shadowMap_cube;
uniform vec3 ambientColor;
uniform float ambientFactor;
uniform float diffuseFactor;
@ -14,30 +21,124 @@ uniform float specularFactor;
uniform vec3 camera;
uniform float shininess;
uniform int lightCount;
uniform vec3 lightSources[128];
uniform vec3 lightColors[128];
uniform float lightIntensities[128];
uniform vec3 directionalLightVector;
uniform vec3 directionalColor;
uniform float directionalIntensity;
uniform vec3 lightSources[32];
uniform vec3 lightColors[32];
uniform float lightIntensities[32];
uniform float farPlane;
uniform vec4 fogColor;
uniform vec3 cameraCenter;
vec2 poissonDisk[16] = vec2[](
vec2( -0.94201624, -0.39906216 ),
vec2( 0.94558609, -0.76890725 ),
vec2( -0.094184101, -0.92938870 ),
vec2( 0.34495938, 0.29387760 ),
vec2( -0.91588581, 0.45771432 ),
vec2( -0.81544232, -0.87912464 ),
vec2( -0.38277543, 0.27676845 ),
vec2( 0.97484398, 0.75648379 ),
vec2( 0.44323325, -0.97511554 ),
vec2( 0.53742981, -0.47373420 ),
vec2( -0.26496911, -0.41893023 ),
vec2( 0.79197514, 0.19090188 ),
vec2( -0.24188840, 0.99706507 ),
vec2( -0.81409955, 0.91437590 ),
vec2( 0.19984126, 0.78641367 ),
vec2( 0.14383161, -0.14100790 )
);
float sampleDirectionalShadow(sampler2DShadow shadowMap, vec4 shadowCoord) {
float nearPlane = 0.1;
float visibility = 1.0;
float bias = 0.001*tan(acos(clamp(dot(vNormal, -directionalLightVector), 0.0, 1.0)));
bias = clamp(bias, 0.0, 0.01);
/*for (int i=0; i<4; i++) {
visibility -= directionalIntensity/16*(1.0-texture(shadowMap, vec3(shadowCoord.xy + poissonDisk[i]/700.0, (2.0 * nearPlane)/(farPlane+ nearPlane - shadowCoord.z * (farPlane - nearPlane))- bias)));
}
if (visibility == 1.0-(directionalIntensity/16)*4)
{
visibility = 1.0-directionalIntensity;
}
else if (visibility != 1.0) {
for (int i=0; i<12; i++) {
visibility -= directionalIntensity/16*(1.0-texture(shadowMap, vec3(shadowCoord.xy + poissonDisk[i]/700.0, (2.0 * nearPlane)/(farPlane+ nearPlane - shadowCoord.z * (farPlane - nearPlane))- bias)));
}
}*/
visibility = texture(shadowMap, vec3(shadowCoord.xy, (shadowCoord.z - bias)/shadowCoord.w));
return (2.0 * nearPlane) / (farPlane + nearPlane - visibility * (farPlane - nearPlane));
}
float samplePointShadow(samplerCubeShadow shadowMap, vec3 lightDirection) {
float bias = 0.005;
return texture(shadowMap, vec4(lightDirection.xyz , length(lightDirection) - bias));
}
float distanceToBorder(vec2 vector) {
float xDistance = min(vector.x, 1.0-vector.x);
float yDistance = min(vector.y, 1.0-vector.y);
return min(xDistance, yDistance);
}
void main()
{
vec3 ambientColor = ambientFactor * ambientColor;
vec3 diffuseColor = vec3(0.0, 0.0, 0.0);
vec3 specularColor = vec3(0.0, 0.0, 0.0);
// direction lighting
if(length(directionalLightVector)>0.0f) {
vec3 directionalVector = normalize(directionalLightVector);
diffuseColor += clamp(dot(normalize(vNormal), directionalVector)
*diffuseFactor*directionalIntensity*directionalColor, 0.0, 1.0);
vec3 cameraVector = normalize(camera - vec3(fragPosition));
specularColor += clamp(pow((dot((cameraVector+directionalVector),normalize(vNormal))/(length(cameraVector+directionalVector)*length(normalize(vNormal)))),shininess), 0.0, 1.0)
*specularFactor*directionalIntensity*directionalColor;
}
// point lights
float visibility = 1.0;
for(int i = 0; i<lightCount; i++) {
float distance = distance(lightSources[i], vec3(fragPosition));
vec3 lightDirection = vec3(fragPosition) - lightSources[i];
float distance = length(lightDirection);
// only take lights into account with meaningful contribution
if (distance > 0.001f) {
vec3 lightVector = normalize(lightSources[i]-vec3(fragPosition));
float intensity = (lightIntensities[i])/(distance);
diffuseColor += dot(normalize(vNormal), lightVector)
*diffuseFactor*intensity*lightColors[i];
float intensity = clamp(exp(-(1/lightIntensities[i])*distance), 0.0, 1.0);
diffuseColor += clamp(dot(normalize(vNormal), lightVector)
*diffuseFactor*intensity*lightColors[i], 0.0, 1.0);
vec3 cameraVector = normalize(camera - vec3(fragPosition));
specularColor += clamp(pow((dot((cameraVector+lightVector),normalize(vNormal))/(length(cameraVector+lightVector)*length(normalize(vNormal)))),shininess), 0.0, 1.0)
*specularFactor*intensity*lightColors[i];
visibility = samplePointShadow(shadowMap_cube, lightDirection);
}
}
vec3 finalColor = specularColor + diffuseColor + ambientColor;
vec3 texture = texture(uTexture, vTexCoord).rgb;
oColor = vec4(finalColor*texture, 1.0 );
// shadows
if (distanceToBorder(shadowCoord_middle.xy) <= 0.5 && distanceToBorder(shadowCoord_middle.xy) > 0.0) {
if (distanceToBorder(shadowCoord_near.xy) <= 0.5 && distanceToBorder(shadowCoord_near.xy) > 0.0) {
visibility *= sampleDirectionalShadow(shadowMap_near, shadowCoord_near);
}
else {
visibility *= sampleDirectionalShadow(shadowMap_middle, shadowCoord_middle);
}
}
else {
visibility *= sampleDirectionalShadow(shadowMap_far, shadowCoord_far);
}
specularColor *= visibility;
diffuseColor *= visibility;
vec3 finalColor = specularColor + diffuseColor + ambientColor;
float distanceCameraCenter = distance(cameraCenter, vec3(fragPosition));
float fogFactor = clamp((1.0 - ((farPlane - 35.0) -distanceCameraCenter)/30.0), 0.0, 1.0);
fogFactor *= clamp((1.0-((fragPosition.y-8.0)/30.0)), 0.0, 1.0);
vec4 texture = texture(uTexture, vTexCoord).rgba;
oColor = vec4(finalColor, 1.0f)*texture;
oColor = mix(oColor, fogColor, fogFactor);
}

View File

@ -1,8 +1,8 @@
#version 150
uniform mat4 modelMatrix;
uniform mat4 viewMatrix;
uniform mat4 projectionMatrix;
uniform mat4 modelViewProjectionMatrix;
uniform mat4 shadowMVPs[5];
in vec3 aPosition;
in vec3 aNormal;
@ -11,11 +11,17 @@ in vec2 aTexCoord;
out vec3 vNormal;
out vec2 vTexCoord;
out vec4 fragPosition;
out vec4 shadowCoord_near;
out vec4 shadowCoord_middle;
out vec4 shadowCoord_far;
void main()
{
fragPosition = modelMatrix * vec4(aPosition, 1.0);
vNormal = inverse(transpose(mat3(modelMatrix))) * aNormal;
vTexCoord = aTexCoord;
gl_Position = projectionMatrix * viewMatrix * modelMatrix * vec4(aPosition, 1.0);
shadowCoord_near = shadowMVPs[0] * vec4(aPosition, 1.0);
shadowCoord_middle = shadowMVPs[1] * vec4(aPosition, 1.0);
shadowCoord_far = shadowMVPs[2] * vec4(aPosition, 1.0);
gl_Position = modelViewProjectionMatrix * vec4(aPosition, 1.0);
}

73
application.cc Normal file
View File

@ -0,0 +1,73 @@
#include "application.hh"
Application::Application() {
graphics = Graphics(glm::uvec2(1024, 786), 0.1f, 150.0f);
}
void Application::init()
{
// init random generator
std::srand(std::time(NULL));
// choose Level TODO: Choose this in a menu
this->level = Level("1");
// Don't change this!
ignoredMouseUpdates = 0;
cameraLock = true;
// set Skybox size
level.setSkydomeSize((graphics.getFarPlane())-31.0f);
// define where shaders and textures can be found:
ACGL::Base::Settings::the()->setResourcePath("../");
ACGL::Base::Settings::the()->setShaderPath("Shader/");
ACGL::Base::Settings::the()->setTexturePath("Levels/Textures/");
ACGL::Base::Settings::the()->setGeometryPath("Levels/Geometry/");
// load Level
level.load();
graphics.init(&level);
// just in case: check for errors
openGLCriticalError();
}
Graphics* Application::getGraphics() {
return &graphics;
}
Level* Application::getLevel() {
return &level;
}
void Application::setFocused(bool focused) {
this->focused = focused;
}
bool Application::isFocused() {
return focused;
}
void Application::setCameraLock(bool locked) {
// Prevent camera jumping huge distances
if (!locked) {
ignoreNextMouseUpdate();
}
cameraLock = locked;
}
void Application::ignoreNextMouseUpdate() {
ignoredMouseUpdates++;
}
void Application::ignoredOneMouseUpdate() {
ignoredMouseUpdates--;
}
int Application::getIgnoredMouseUpdates() {
return ignoredMouseUpdates;
}
bool Application::isLocked() {
return cameraLock;
}

29
application.hh Normal file
View File

@ -0,0 +1,29 @@
#ifndef APPLICATION_HH_INCLUDED
#define APPLICATION_HH_INCLUDED
#include "physics.hh"
#include "graphics.hh"
#include "level.hh"
class Application {
public:
Application();
Graphics* getGraphics();
Level* getLevel();
void init();
void setFocused(bool focused);
bool isFocused();
void setCameraLock(bool locked);
bool isLocked();
void ignoreNextMouseUpdate();
int getIgnoredMouseUpdates();
void ignoredOneMouseUpdate();
private:
int ignoredMouseUpdates;
bool focused;
bool cameraLock;
Graphics graphics;
Level level;
};
#endif

View File

@ -8,16 +8,41 @@ then
exit
fi
cmake="cmake"
if [[ $1 == "windows" ]]
then
cmake="cmake -DCMAKE_SYSTEM_NAME='Windows' -DCMAKE_FIND_ROOT_PATH='/usr/bin:/usr/x86_64-w64-mingw32' -DCMAKE_CXX_COMPILER='x86_64-w64-mingw32-g++' -DCMAKE_C_COMPILER='x86_64-w64-mingw32-gcc'"
fi
currentDir=$(pwd)
threads=$(($(nproc)+1))
#building lua
cd extern/lua/
if [[ $1 == "windows" ]]
then
make mingw
else
make linux
fi
cd $currentDir
#building bullet
cd extern/bullet/
mkdir -p build
cd build
cmake ..
make -j$threads
if hash ninja 2>/dev/null
then
$cmake -DBUILD_DEMOS=0 -DBUILD_EXTRAS=0 -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=0 -GNinja ..
ninja
else
$cmake -DBUILD_DEMOS=0 -DBUILD_EXTRAS=0 -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=0 ..
make -j$threads
fi
cd $currentDir
@ -25,5 +50,11 @@ cd $currentDir
mkdir -p build
cd build
cmake ..
make -j$threads
if hash ninja 2>/dev/null
then
$cmake -DGLFW_BUILD_EXAMPLES=0 -DGLFW_BUILD_TESTS=0 -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=0 -GNinja ..
ninja
else
$cmake -DGLFW_BUILD_EXAMPLES=0 -DGLFW_BUILD_TESTS=0 -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=0 ..
make -j$threads
fi

31
circle.yml Normal file
View File

@ -0,0 +1,31 @@
general:
branches:
only:
- master
machine:
services:
- docker
dependencies:
override:
# Set up dropbox_uploader
- curl "https://raw.githubusercontent.com/andreafabrizi/Dropbox-Uploader/master/dropbox_uploader.sh" -o dropbox_uploader.sh
- chmod +x dropbox_uploader.sh
- echo $db_uploader > ~/.dropbox_uploader
database:
override:
test:
override:
- docker run -v ~/swp:/swp/swp -w=/swp/swp -u=$(id -u) faerbit/swp ./package.sh linux
- docker run -v ~/swp:/swp/swp -w=/swp/swp -u=$(id -u) faerbit/swp ./package.sh windows
- cp MarbleGame_Windows.zip MarbleGame_Linux.zip $CIRCLE_ARTIFACTS
deployment:
master:
branch: master
commands:
- ./dropbox_uploader.sh -p upload MarbleGame_Windows.zip /
- ./dropbox_uploader.sh -p upload MarbleGame_Linux.zip /

44
converter/CMakeLists.txt Normal file
View File

@ -0,0 +1,44 @@
CMAKE_MINIMUM_REQUIRED (VERSION 2.6)
PROJECT(Converter)
###############################################################################
#
# Compiler settings, can be simpler if only one compiler should be used.
#
#Enable c++11
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
#on clang we need to find out the version to set stdlib if needed
# if clang version is less than 3.3 ( XCode 5.0) you need to set the stdlib
#SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")
MESSAGE("Clangversion ${CLANG_VERSION_STRING}")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
# using Visual Studio C++
endif()
# enable warnings
IF(MSVC)
# for msvc also set multiple processors
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP /W3")
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /MP /W3")
ELSE(MSVC)
ADD_DEFINITIONS(-Wall)
ENDIF(MSVC)
ADD_DEFINITIONS(-DNO_SPACE_NAVIGATOR_SUPPORT)
#
#
###############################################################################
FILE(GLOB_RECURSE SOURCE_FILES_CONV "${CMAKE_SOURCE_DIR}/converter/*.cc")
SET(SOURCE_FILES_CONV ${SOURCE_FILES_CONV})
FILE(GLOB_RECURSE HEADER_FILES_CONV "${CMAKE_SOURCE_DIR}/converter/*.hh")
SET(HEADER_FILES_CONV ${HEADER_FILES})
ADD_EXECUTABLE(converter ${SOURCE_FILES_CONV} ${HEADER_FILES_CONV})

305
converter/converter.cc Normal file
View File

@ -0,0 +1,305 @@
#include "converter.hh"
#include <fstream>
#include <string>
#include <sys/stat.h>
#include <iostream>
using namespace tinyxml2;
Converter::Converter(std::string level){
xmlFile = "../Levels/ObjectSetups/Level" + level + ".xml";
//Load Compositions
const char* charCompositions = "../Levels/ObjectSetups/Compositions.xml";
compositions->LoadFile(charCompositions);
if (compositions->ErrorID()!=0){
printf("Could not open Compositions!\n");
}
//Create a backup of the current Level png file, if no backup exists
std::string pngFile = "../Levels/ObjectSetups/Level" + level + ".png";
std::string backupPNG = "../Levels/ObjectSetups/BackupLevel" + level + ".png";
struct stat buf;
if(stat(backupPNG.c_str(), &buf) != 0){
std::ifstream src(pngFile, std::ios::binary);
std::ofstream dst(backupPNG, std::ios::binary);
dst << src.rdbuf();
}
//Create a backup of the current Level xml file
std::string backupXML = "../Levels/ObjectSetups/BackupLevel" + level + ".xml";
std::ifstream src(xmlFile, std::ios::binary);
std::ofstream dst(backupXML, std::ios::binary);
//Load the Level xml file
nextID.push_back(1);
nextID.push_back(1);
const char* charXmlFile = xmlFile.c_str();
doc->LoadFile(charXmlFile);
if (doc->ErrorID()!=0){
printf("Could not open xml, creating new xml.\n");
//Create all global Lightingparameters with Dummy-Values
std::vector<XMLElement*> lightAttributes;
lightAttributes.push_back(doc->NewElement("xOffset"));
lightAttributes.push_back(doc->NewElement("yOffset"));
lightAttributes.push_back(doc->NewElement("zOffset"));
lightAttributes.push_back(doc->NewElement("rColour"));
lightAttributes.push_back(doc->NewElement("gColour"));
lightAttributes.push_back(doc->NewElement("bColour"));
lightAttributes.push_back(doc->NewElement("intensity"));
XMLElement* rColourAmbient = doc->NewElement("rColour");
XMLElement* gColourAmbient = doc->NewElement("gColour");
XMLElement* bColourAmbient = doc->NewElement("bColour");
XMLElement* rColourFog = doc->NewElement("rColour");
XMLElement* gColourFog = doc->NewElement("gColour");
XMLElement* bColourFog = doc->NewElement("bColour");
XMLElement* alphaFog = doc->NewElement("alpha");
lightAttributes[0]->SetText("-1.0");
lightAttributes[1]->SetText("1.5");
lightAttributes[2]->SetText("1.0");
lightAttributes[3]->SetText("1.0");
lightAttributes[4]->SetText("1.0");
lightAttributes[5]->SetText("0.9");
lightAttributes[6]->SetText("0.2");
rColourAmbient->SetText("1.0");
gColourAmbient->SetText("1.0");
bColourAmbient->SetText("1.0");
rColourFog->SetText("0.10");
gColourFog->SetText("0.14");
bColourFog->SetText("0.14");
alphaFog->SetText("1.0");
XMLElement* ambientLight = doc->NewElement("ambientLight");
XMLElement* fogColour = doc->NewElement("fogColour");
XMLElement* directionalLight = doc->NewElement("directionalLight");
ambientLight->InsertEndChild(rColourAmbient);
ambientLight->InsertEndChild(gColourAmbient);
ambientLight->InsertEndChild(bColourAmbient);
fogColour->InsertEndChild(rColourFog);
fogColour->InsertEndChild(gColourFog);
fogColour->InsertEndChild(bColourFog);
fogColour->InsertEndChild(alphaFog);
for(int i=0;i<7;i++){
directionalLight->InsertEndChild(lightAttributes[i]);
}
doc->InsertEndChild(ambientLight);
doc->InsertEndChild(fogColour);
doc->InsertEndChild(directionalLight);
//Create global skydome Element
XMLElement* skydome = doc->NewElement("skydome");
XMLElement* skydomeTexture = doc->NewElement("texture");
skydomeTexture->SetText("skydome.png");
skydome->InsertEndChild(skydomeTexture);
doc->InsertEndChild(skydome);
//Create global physics parameters
XMLElement* physics = doc->NewElement("physics");
XMLElement* playerFriction = doc->NewElement("friction");
XMLElement* playerStrength = doc->NewElement("strength");
playerFriction->SetText("0.9");
playerStrength->SetText("100.0");
physics->InsertEndChild(playerFriction);
physics->InsertEndChild(playerStrength);
doc->InsertEndChild(physics);
//create positionConstraint Dummy
XMLElement* positionConstraint = doc->NewElement("positionConstraint");
XMLElement* positionConstraintObjectNum = doc->NewElement("objectNum");
XMLElement* positionConstraintXPos = doc->NewElement("xPosition");
XMLElement* positionConstraintYPos = doc->NewElement("yPosition");
XMLElement* positionConstraintZPos = doc->NewElement("zPosition");
XMLElement* positionConstraintStrength = doc->NewElement("strength");
positionConstraintObjectNum->SetText("0");
positionConstraintXPos->SetText("0.0");
positionConstraintYPos->SetText("0.0");
positionConstraintZPos->SetText("0.0");
positionConstraintStrength->SetText("100.0");
positionConstraint->InsertEndChild(positionConstraintObjectNum);
positionConstraint->InsertEndChild(positionConstraintXPos);
positionConstraint->InsertEndChild(positionConstraintYPos);
positionConstraint->InsertEndChild(positionConstraintZPos);
positionConstraint->InsertEndChild(positionConstraintStrength);
doc->InsertEndChild(positionConstraint);
}else{
dst << src.rdbuf();
XMLElement* thisComposition = doc->FirstChildElement("composition");
int idGreen, idBlue;
for(; thisComposition; thisComposition=thisComposition->NextSiblingElement("composition")){
errorCheck(thisComposition->FirstChildElement("idGreen")->QueryIntText(&idGreen));
errorCheck(thisComposition->FirstChildElement("idBlue")->QueryIntText(&idBlue));
if(idGreen > nextID[0] || (idGreen == nextID[0] && idBlue > nextID[1])){
nextID[0] = idGreen;
nextID[1] = idBlue;
}
}
}
}
Converter::Converter(){
}
Converter::~Converter(){
}
std::vector<int> Converter::newComposition(int type, float posX, float posZ){
XMLElement* newComposition = doc->NewElement("composition");
doc->InsertFirstChild(newComposition);
XMLElement* typeID = doc->NewElement("typeID");
XMLElement* idBlue = doc->NewElement("idBlue");
XMLElement* idGreen = doc->NewElement("idGreen");
XMLElement* zPos = doc->NewElement("zPos");
XMLElement* yOffset = doc->NewElement("yOffset");
XMLElement* xPos = doc->NewElement("xPos");
XMLElement* manualPos = doc->NewElement("manualPos");
XMLElement* zRot = doc->NewElement("zRot");
XMLElement* yRot = doc->NewElement("yRot");
XMLElement* xRot = doc->NewElement("xRot");
XMLElement* scale = doc->NewElement("scale");
typeID->SetText(std::to_string(type).c_str());
idBlue->SetText(std::to_string(nextID[1]).c_str());
idGreen->SetText(std::to_string(nextID[0]).c_str());
zPos->SetText(std::to_string(posZ).c_str());
yOffset->SetText("0.0");
xPos->SetText(std::to_string(posX).c_str());
manualPos->SetText("false");
zRot->SetText("0.0");
yRot->SetText("0.0");
xRot->SetText("0.0");
scale->SetText("1.0");
newComposition->InsertFirstChild(typeID);
newComposition->InsertFirstChild(idBlue);
newComposition->InsertFirstChild(idGreen);
newComposition->InsertFirstChild(zPos);
newComposition->InsertFirstChild(yOffset);
newComposition->InsertFirstChild(xPos);
newComposition->InsertFirstChild(manualPos);
newComposition->InsertFirstChild(zRot);
newComposition->InsertFirstChild(yRot);
newComposition->InsertFirstChild(xRot);
newComposition->InsertFirstChild(scale);
//Create a Dummy-trigger
XMLElement* trigger = doc->NewElement("trigger");
newComposition->InsertEndChild(trigger);
XMLElement* name = doc->NewElement("name");
XMLElement* xPosition = doc->NewElement("xPosition");
XMLElement* yPosition = doc->NewElement("yPosition");
XMLElement* zPosition = doc->NewElement("zPosition");
XMLElement* targetIdGreen = doc->NewElement("targetIdGreen");
XMLElement* targetIdBlue = doc->NewElement("targetIdBlue");
XMLElement* distance = doc->NewElement("distance");
XMLElement* isBiggerThan = doc->NewElement("isBiggerThan");
XMLElement* objectNum = doc->NewElement("objectNum");
XMLElement* luaScript = doc->NewElement("luaScript");
XMLElement* toChangeIdGreen = doc->NewElement("toChangeIdGreen");
XMLElement* toChangeIdBlue = doc->NewElement("toChangeIdBlue");
XMLElement* toChangeObjNum = doc->NewElement("toChangeObjNum");
name->SetText("-");
xPosition->SetText("0");
yPosition->SetText("0");
zPosition->SetText("0");
targetIdGreen->SetText("-");
targetIdBlue->SetText("-");
distance->SetText("1.0");
isBiggerThan->SetText("false");
objectNum->SetText("0");
luaScript->SetText("-");
toChangeIdGreen->SetText("0");
toChangeIdBlue->SetText("0");
toChangeObjNum->SetText("0");
trigger->InsertEndChild(name);
trigger->InsertEndChild(xPosition);
trigger->InsertEndChild(yPosition);
trigger->InsertEndChild(zPosition);
trigger->InsertEndChild(targetIdGreen);
trigger->InsertEndChild(targetIdBlue);
trigger->InsertEndChild(distance);
trigger->InsertEndChild(isBiggerThan);
trigger->InsertEndChild(objectNum);
trigger->InsertEndChild(luaScript);
trigger->InsertEndChild(toChangeIdGreen);
trigger->InsertEndChild(toChangeIdBlue);
trigger->InsertEndChild(toChangeObjNum);
std::vector<int> ret = nextID;
nextID[1] += 1;
if (nextID[1] == 255){
nextID[1] = 0;
nextID[0] +=1;
}
return ret;
}
void Converter::updateComposition(int idG, int idB, float posX, float posZ){
XMLElement* thisComposition = doc->FirstChildElement("composition");
int idGreen = 0, idBlue = 0;
bool compositionExists = false;
for(; thisComposition; thisComposition=thisComposition->NextSiblingElement("composition")){
errorCheck(thisComposition->FirstChildElement("idGreen")->QueryIntText(&idGreen));
errorCheck(thisComposition->FirstChildElement("idBlue")->QueryIntText(&idBlue));
if(idGreen == idG && idBlue == idB){
bool manualPos;
errorCheck(thisComposition->FirstChildElement("manualPos")->QueryBoolText(&manualPos));
if(!manualPos){
thisComposition->FirstChildElement("xPos")->SetText(std::to_string(posX).c_str());
thisComposition->FirstChildElement("zPos")->SetText(std::to_string(posZ).c_str());
}
compositionExists = true;
}
}
if(!compositionExists){
std::cout << "A composition has an ID in the png, but does'nt exist in the xml." << std::endl;
exit(-1);
}
}
void Converter::deleteComposition(int idG, int idB){
XMLElement* thisComposition = doc->FirstChildElement("composition");
int idGreen, idBlue;
for(; thisComposition; thisComposition=thisComposition->NextSiblingElement("composition")){
errorCheck(thisComposition->FirstChildElement("idGreen")->QueryIntText(&idGreen));
errorCheck(thisComposition->FirstChildElement("idBlue")->QueryIntText(&idBlue));
if(idGreen == idG && idBlue == idB){
doc->DeleteChild(thisComposition);
}
}
}
void Converter::save(){
const char* charXmlFile = xmlFile.c_str();
doc->SaveFile(charXmlFile);
}
std::vector<int> Converter::getNextID(){
return nextID;
}
void Converter::errorCheck(XMLError error){
if (error) {
printf("XMLError: ");
if (error == XML_WRONG_ATTRIBUTE_TYPE) {
printf("Wrong attribute type.\n");
}
else if (error == XML_NO_ATTRIBUTE) {
printf("No attribute.\n");
}
else if (error == XML_CAN_NOT_CONVERT_TEXT) {
printf("Can not convert text.\n");
}
else if (error == XML_NO_TEXT_NODE) {
printf("No text.\n");
}
else {
printf("Unknown error.\n");
}
}
}

28
converter/converter.hh Normal file
View File

@ -0,0 +1,28 @@
#ifndef CONVERTER_INCLUDED
#define CONVERTER_INCLUDED
#include <vector>
#include <string>
#include "tinyxml2.hh"
using namespace tinyxml2;
class Converter {
public:
Converter(std::string level);
Converter();
~Converter();
void updateComposition(int idG, int idB, float posX, float posZ); //updates the position of a composition
std::vector<int> newComposition(int type, float posX, float posZ);//creates a new composition and returns its ID
void deleteComposition(int idG, int idB);
void save(); //writes the xml to file
std::vector<int> getNextID(); //returns the next unused ID
private:
void errorCheck(XMLError error);
std::vector<int> nextID;
std::string xmlFile;
XMLDocument* doc = new XMLDocument();
XMLDocument* compositions = new XMLDocument();
};
#endif

6096
converter/lodepng.cc Normal file

File diff suppressed because it is too large Load Diff

1702
converter/lodepng.hh Normal file

File diff suppressed because it is too large Load Diff

68
converter/main.cc Normal file
View File

@ -0,0 +1,68 @@
#include "lodepng.hh"
#include <string>
#include "converter.hh"
#include <vector>
#include <iostream>
int main( int argc, char *argv[] ){
if (argc <= 1){
std::cout << "Converter needs the level (1,2,...) as input." << std::endl;
exit(-1);
}
std::string levelString = argv[1];
Converter conv = Converter(levelString);
bool idFound[256][256];
for (int i=0; i<256; i++){
for (int j=0; j<256; j++){
idFound[i][j] = false;
}
}
//read the setup png
std::string filePath = "../Levels/ObjectSetups/Level" + levelString + ".png";
std::vector<unsigned char> image; //the raw pixels
unsigned int width, height;
unsigned error = lodepng::decode(image, width, height, filePath);
if (error) {
std::cout << "decoder error " << error << ": " << lodepng_error_text(error) << std::endl;
}
//iterate over all pixels of the image
for(unsigned int rowNum = 0; rowNum < height; rowNum++){
for(unsigned int columnNum = 0; columnNum < width; columnNum++){
unsigned int pixel = (rowNum*width+columnNum)*4;
//if there is a composition here, adjust the xml and image
if(image[pixel]!=0 && image[pixel]!=255){
if((image[pixel+1]==0 && image[pixel+2]==0) || (image[pixel+1]==255 && image[pixel+2]==255)){
std::vector<int> temp;
temp = conv.newComposition(image[pixel], 0.5+rowNum-0.5*height, 0.5+columnNum-0.5*width);
idFound[temp[0]][temp[1]] = true;
image[pixel+1] = temp[0];
image[pixel+2] = temp[1];
}else{
conv.updateComposition(image[pixel+1], image[pixel+2], 0.5+rowNum-0.5*height, 0.5+columnNum-0.5*width);
idFound[image[pixel+1]][image[pixel+2]] = true;
}
}
}
}
//write ids back to the setup png
error = lodepng::encode(filePath, image, width, height);
if(error) {
std::cout << "encoder error " << error << ": "<< lodepng_error_text(error) << std::endl;
}
//delete compositions that were not in the png anymore
for (int i=1; i<=conv.getNextID()[1]; i++){
for (int j=1; j<256; j++){
if (! idFound[i][j]){
conv.deleteComposition(i,j);
}
}
}
//save the xml
conv.save();
}

2258
converter/tinyxml2.cc Executable file

File diff suppressed because it is too large Load Diff

2091
converter/tinyxml2.hh Executable file

File diff suppressed because it is too large Load Diff

0
extern/acgl/include/ACGL/OpenGL/Objects/VertexArrayObject.hh vendored Executable file → Normal file
View File

View File

@ -13,7 +13,7 @@
#ifdef _WIN32
#include "MemoryMappedFile.hh"
#include <Windows.h>
#include <windows.h>
class MemoryMappedFileWinImpl
{
@ -50,4 +50,4 @@ private:
HANDLE mFileHandle;
HANDLE mFileMappingHandle;
};
#endif
#endif

View File

@ -13,6 +13,8 @@ subject to the following restrictions:
3. This notice may not be removed or altered from any source distribution.
*/
#pragma GCC diagnostic ignored "-Wint-to-pointer-cast"
#include "btCompoundShape.h"
#include "btCollisionShape.h"
#include "BulletCollision/BroadphaseCollision/btDbvt.h"

View File

@ -21,7 +21,7 @@ cmake_uninstall.cmake
docs/Doxyfile
docs/html
docs/warnings.txt
src/config.h
src/glfw_config.h
src/glfw3.pc
src/glfwConfig.cmake
src/glfwConfigVersion.cmake

View File

@ -4,15 +4,16 @@ cmake_minimum_required(VERSION 2.8)
set(GLFW_VERSION_MAJOR "3")
set(GLFW_VERSION_MINOR "0")
set(GLFW_VERSION_PATCH "2")
set(GLFW_VERSION_PATCH "4")
set(GLFW_VERSION_EXTRA "")
set(GLFW_VERSION "${GLFW_VERSION_MAJOR}.${GLFW_VERSION_MINOR}")
set(GLFW_VERSION_FULL "${GLFW_VERSION}.${GLFW_VERSION_PATCH}${GLFW_VERSION_EXTRA}")
set(LIB_SUFFIX "" CACHE STRING "Takes an empty string or 64. Directory where lib will be installed: lib or lib64")
option(BUILD_SHARED_LIBS "Build shared libraries" OFF)
option(GLFW_BUILD_EXAMPLES "Build the GLFW example programs" OFF)
option(GLFW_BUILD_TESTS "Build the GLFW test programs" OFF)
option(GLFW_BUILD_EXAMPLES "Build the GLFW example programs" ON)
option(GLFW_BUILD_TESTS "Build the GLFW test programs" ON)
option(GLFW_BUILD_DOCS "Build the GLFW documentation" ON)
option(GLFW_INSTALL "Generate installation target" ON)
option(GLFW_DOCUMENT_INTERNALS "Include internals in documentation" OFF)
@ -73,11 +74,13 @@ endif()
find_package(Threads REQUIRED)
set(DOXYGEN_SKIP_DOT TRUE)
find_package(Doxygen)
if (GLFW_BUILD_DOCS)
set(DOXYGEN_SKIP_DOT TRUE)
find_package(Doxygen)
if (GLFW_DOCUMENT_INTERNALS)
set(GLFW_INTERNAL_DOCS "${GLFW_SOURCE_DIR}/src/internal.h ${GLFW_SOURCE_DIR}/docs/internal.dox")
if (GLFW_DOCUMENT_INTERNALS)
set(GLFW_INTERNAL_DOCS "${GLFW_SOURCE_DIR}/src/internal.h ${GLFW_SOURCE_DIR}/docs/internal.dox")
endif()
endif()
#--------------------------------------------------------------------
@ -163,6 +166,13 @@ if (_GLFW_WIN32)
if (GLFW_USE_OPTIMUS_HPG)
set(_GLFW_USE_OPTIMUS_HPG 1)
endif()
# HACK: When building on MinGW, WINVER and UNICODE need to be defined before
# the inclusion of stddef.h (by glfw3.h), which is itself included before
# win32_platform.h. We define them here until a saner solution can be found
# NOTE: MinGW-w64 and Visual C++ do /not/ need this hack.
add_definitions(-DUNICODE)
add_definitions(-DWINVER=0x0501)
endif()
#--------------------------------------------------------------------
@ -204,7 +214,13 @@ if (_GLFW_X11)
endif()
list(APPEND glfw_INCLUDE_DIRS ${X11_Xinput_INCLUDE_PATH})
list(APPEND glfw_LIBRARIES ${X11_Xinput_LIB})
if (X11_Xinput_LIB)
list(APPEND glfw_LIBRARIES ${X11_Xinput_LIB})
else()
# Backwards compatibility (bug in CMake 2.8.7)
list(APPEND glfw_LIBRARIES Xi)
endif()
set(GLFW_PKG_DEPS "${GLFW_PKG_DEPS} xi")
# Check for Xf86VidMode (fallback gamma control)
@ -269,23 +285,15 @@ if (_GLFW_GLX)
# Check for dlopen support as a fallback
find_library(DL_LIBRARY dl)
mark_as_advanced(DL_LIBRARY)
if (DL_LIBRARY)
set(CMAKE_REQUIRED_LIBRARIES ${DL_LIBRARY})
else()
set(CMAKE_REQUIRED_LIBRARIES "")
endif()
set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_DL_LIBS})
check_function_exists(dlopen _GLFW_HAS_DLOPEN)
if (NOT _GLFW_HAS_DLOPEN)
message(FATAL_ERROR "No entry point retrieval mechanism found")
endif()
if (DL_LIBRARY)
list(APPEND glfw_LIBRARIES ${DL_LIBRARY})
set(GLFW_PKG_LIBS "${GLFW_PKG_LIBS} -ldl")
if (CMAKE_DL_LIBS)
list(APPEND glfw_LIBRARIES ${CMAKE_DL_LIBS})
set(GLFW_PKG_LIBS "${GLFW_PKG_LIBS} -l${CMAKE_DL_LIBS}")
endif()
endif()
@ -343,13 +351,15 @@ if (_GLFW_COCOA AND _GLFW_NSGL)
find_library(COCOA_FRAMEWORK Cocoa)
find_library(IOKIT_FRAMEWORK IOKit)
find_library(CORE_FOUNDATION_FRAMEWORK CoreFoundation)
find_library(CORE_VIDEO_FRAMEWORK CoreVideo)
list(APPEND glfw_LIBRARIES ${COCOA_FRAMEWORK}
${OPENGL_gl_LIBRARY}
${IOKIT_FRAMEWORK}
${CORE_FOUNDATION_FRAMEWORK})
${CORE_FOUNDATION_FRAMEWORK}
${CORE_VIDEO_FRAMEWORK})
set(GLFW_PKG_DEPS "")
set(GLFW_PKG_LIBS "-framework Cocoa -framework OpenGL -framework IOKit -framework CoreFoundation")
set(GLFW_PKG_LIBS "-framework Cocoa -framework OpenGL -framework IOKit -framework CoreFoundation -framework CoreVideo")
endif()
#--------------------------------------------------------------------
@ -373,8 +383,8 @@ endif()
configure_file(${GLFW_SOURCE_DIR}/docs/Doxyfile.in
${GLFW_BINARY_DIR}/docs/Doxyfile @ONLY)
configure_file(${GLFW_SOURCE_DIR}/src/config.h.in
${GLFW_BINARY_DIR}/src/config.h @ONLY)
configure_file(${GLFW_SOURCE_DIR}/src/glfw_config.h.in
${GLFW_BINARY_DIR}/src/glfw_config.h @ONLY)
configure_file(${GLFW_SOURCE_DIR}/src/glfwConfig.cmake.in
${GLFW_BINARY_DIR}/src/glfwConfig.cmake @ONLY)
@ -392,17 +402,17 @@ endif()
#--------------------------------------------------------------------
add_subdirectory(src)
#if (GLFW_BUILD_EXAMPLES)
# add_subdirectory(examples)
#endif()
if (GLFW_BUILD_EXAMPLES)
add_subdirectory(examples)
endif()
#if (GLFW_BUILD_TESTS)
# add_subdirectory(tests)
#endif()
if (GLFW_BUILD_TESTS)
add_subdirectory(tests)
endif()
#if (DOXYGEN_FOUND)
# add_subdirectory(docs)
#endif()
if (DOXYGEN_FOUND AND GLFW_BUILD_DOCS)
add_subdirectory(docs)
endif()
#--------------------------------------------------------------------
# Install files other than the library

277
extern/glfw/README.md vendored
View File

@ -6,9 +6,9 @@ GLFW is a free, Open Source, portable library for OpenGL and OpenGL ES
application development. It provides a simple, platform-independent API for
creating windows and contexts, reading input, handling events, etc.
Version 3.0.2 adds support for OpenGL 4 on and precise scrolling deltas on OS
X and fixes for a number of bugs that together affect all supported platforms.
As this is a patch release, there are no API changes.
Version 3.0.4 adds better support for custom build environments and fixes for
a large number of bugs that together affect all supported platforms. As this is
a patch release, there are no API changes.
If you are new to GLFW, you may find the
[introductory tutorial](http://www.glfw.org/docs/latest/quick.html) for GLFW
@ -19,221 +19,69 @@ the GLFW 3 API.
## Compiling GLFW
### Dependencies
To compile GLFW and the accompanying example programs, you will need **CMake**,
which will generate the project files or makefiles for your particular
development environment. If you are on a Unix-like system such as Linux or
FreeBSD or have a package system like Fink, MacPorts, Cygwin or Homebrew, you
can simply install its CMake package. If not, you can get installers for
Windows and OS X from the [CMake website](http://www.cmake.org/).
Additional dependencies are listed below.
#### Visual C++ on Windows
The Microsoft Platform SDK that is installed along with Visual C++ contains all
the necessary headers, link libraries and tools except for CMake.
#### MinGW or MinGW-w64 on Windows
These packages contain all the necessary headers, link libraries and tools
except for CMake.
#### MinGW or MinGW-w64 cross-compilation
Both Cygwin and many Linux distributions have MinGW or MinGW-w64 packages. For
example, Cygwin has the `mingw64-i686-gcc` and `mingw64-x86_64-gcc` packages
for 32- and 64-bit version of MinGW-w64, while Debian GNU/Linux and derivatives
like Ubuntu have the `mingw-w64` package for both.
GLFW has CMake toolchain files in the `CMake/` directory that allow for easy
cross-compilation of Windows binaries. To use these files you need to add a
special parameter when generating the project files or makefiles:
cmake -DCMAKE_TOOLCHAIN_FILE=<toolchain-file> .
The exact toolchain file to use depends on the prefix used by the MinGW or
MinGW-w64 binaries on your system. You can usually see this in the /usr
directory. For example, both the Debian/Ubuntu and Cygwin MinGW-w64 packages
have `/usr/x86_64-w64-mingw32` for the 64-bit compilers, so the correct
invocation would be:
cmake -DCMAKE_TOOLCHAIN_FILE=CMake/x86_64-w64-mingw32.cmake .
For more details see the article
[CMake Cross Compiling](http://www.paraview.org/Wiki/CMake_Cross_Compiling) on
the CMake wiki.
#### Xcode on OS X
Xcode contains all necessary tools except for CMake. The necessary headers and
libraries are included in the core OS frameworks. Xcode can be downloaded from
the Mac App Store.
#### Unix-like systems with X11
To compile GLFW for X11, you need to have the X11 and OpenGL header packages
installed, as well as the basic development tools like GCC and make. For
example, on Ubuntu and other distributions based on Debian GNU/Linux, you need
to install the `xorg-dev` and `libglu1-mesa-dev` packages. The former pulls in
all X.org header packages and the latter pulls in the Mesa OpenGL and GLU
packages. Note that using header files and libraries from Mesa during
compilation *will not* tie your binaries to the Mesa implementation of OpenGL.
### Generating with CMake
Once you have all necessary dependencies, it is time to generate the project
files or makefiles for your development environment. CMake needs to know two
paths for this: the path to the source directory and the target path for the
generated files and compiled binaries. If these are the same, it is called an
in-tree build, otherwise it is called an out-of-tree build.
One of several advantages of out-of-tree builds is that you can generate files
and compile for different development environments using a single source tree.
#### Using CMake from the command-line
To make an in-tree build, enter the root directory of the GLFW source tree and
run CMake. The current directory is used as target path, while the path
provided as an argument is used to find the source tree.
cd <glfw-root-dir>
cmake .
To make an out-of-tree build, make another directory, enter it and run CMake
with the (relative or absolute) path to the root of the source tree as an
argument.
cd <glfw-root-dir>
mkdir build
cd build
cmake ..
#### Using the CMake GUI
If you are using the GUI version, choose the root of the GLFW source tree as
source location and the same directory or another, empty directory as the
destination for binaries. Choose *Configure*, change any options you wish to,
*Configure* again to let the changes take effect and then *Generate*.
### CMake options
The CMake files for GLFW provide a number of options, although not all are
available on all supported platforms. Some of these are de facto standards
among CMake users and so have no `GLFW_` prefix.
If you are using the GUI version of CMake, these are listed and can be changed
from there. If you are using the command-line version, use the `ccmake` tool.
Some package systems like Ubuntu and other distributions based on Debian
GNU/Linux have this tool in a separate `cmake-curses-gui` package.
#### Shared options
`BUILD_SHARED_LIBS` determines whether GLFW is built as a static
library or as a DLL / shared library / dynamic library.
`LIB_SUFFIX` affects where the GLFW shared /dynamic library is
installed. If it is empty, it is installed to `$PREFIX/lib`. If it is set to
`64`, it is installed to `$PREFIX/lib64`.
`GLFW_BUILD_EXAMPLES` determines whether the GLFW examples are built
along with the library.
`GLFW_BUILD_TESTS` determines whether the GLFW test programs are
built along with the library.
#### OS X specific options
`GLFW_USE_CHDIR` determines whether `glfwInit` changes the current
directory of bundled applications to the `Contents/Resources` directory.
`GLFW_USE_MENUBAR` determines whether the first call to
`glfwCreateWindow` sets up a minimal menu bar.
`GLFW_BUILD_UNIVERSAL` determines whether to build Universal Binaries.
#### Windows specific options
`USE_MSVC_RUNTIME_LIBRARY_DLL` determines whether to use the DLL version or the
static library version of the Visual C++ runtime library.
`GLFW_USE_DWM_SWAP_INTERVAL` determines whether the swap interval is set even
when DWM compositing is enabled. This can lead to severe jitter and is not
usually recommended.
`GLFW_USE_OPTIMUS_HPG` determines whether to export the `NvOptimusEnablement`
symbol, which forces the use of the high-performance GPU on nVidia Optimus
systems.
#### EGL specific options
`GLFW_USE_EGL` determines whether to use EGL instead of the platform-specific
context creation API. Note that EGL is not yet provided on all supported
platforms.
`GLFW_CLIENT_LIBRARY` determines which client API library to use. If set to
`opengl` the OpenGL library is used, if set to `glesv1` for the OpenGL ES 1.x
library is used, or if set to `glesv2` the OpenGL ES 2.0 library is used. The
selected library and its header files must be present on the system for this to
work.
## Installing GLFW
A rudimentary installation target is provided for all supported platforms via
CMake.
See the [Compiling GLFW](http://www.glfw.org/docs/latest/compile.html) guide in
the GLFW documentation.
## Using GLFW
See the [GLFW documentation](http://www.glfw.org/docs/latest/).
See the
[Building programs that use GLFW](http://www.glfw.org/docs/latest/build.html)
guide in the GLFW documentation.
## Changelog
- Allowed character callback to be triggered regardless of modifier keys
- Bugfix: The `-Wall` flag was not used with Clang and other GCC compatibles
- Bugfix: The default for `GLFW_ALPHA_BITS` was set to zero
- Bugfix: `glfwInit` would segfault if monitor enumeration failed and no error
callback was set
- [Win32] Added `_GLFW_USE_DWM_SWAP_INTERVAL` for forcing the swap interval
to be set even when DWM compositing is enabled
- [Win32] Added support for forcing the use of the high-performance GPU
on nVidia Optimus systems
- [Win32] Bugfix: The clipboard string was not freed on terminate
- [Win32] Bugfix: Entry points for OpenGL 1.0 and 1.1 functions were not
returned by `glfwGetProcAddress`
- [Win32] Bugfix: The `user32` and `dwmapi` module handles were not freed on
library termination
- [Cocoa] Added support for precise scrolling deltas on OS X 10.7 and later
- [Cocoa] Enabled explicit creation of OpenGL 3.x and 4.x contexts as supported
by OS X 10.9
- [Cocoa] Bugfix: The clipboard string was not freed on terminate
- [Cocoa] Bugfix: Selectors were used that are not declared by the 10.6 SDK
- [Cocoa] Bugfix: The position set by `glfwSetWindowPos` was incorrect
- [X11] Bugfix: Override-redirect windows were resized to the desired instead
of the actual resolution of the selected video mode
- [X11] Bugfix: Screensaver override for full screen windows had a possible
race condition
- [X11] Bugfix: The reported window position did not account for the size of
the window frame on some WMs
- [X11] Bugfix: The original video mode of a monitor was overwritten by calls
to `glfwSetWindowSize`
- [X11] Bugfix: Key release events for `GLFW_KEY_KP_5` were discarded.
- Added the `GLFW_BUILD_DOCS` CMake option for controlling whether the
documentation is built
- Added the `_GLFW_USE_CONFIG_H` configuration macro for controlling whether to
include the configuration header
- Moved version number macro to `internal.h` for easier manual compilation
- Renamed configuration header to `glfw_config.h` to avoid conflicts
- Bugfix: The `glfw3.pc` file did not respect the `LIB_SUFFIX` CMake option
- Bugfix: The `joysticks` test would segfault if a controller had no axes
- [Win32] Allowed swap interval to be explicitly set to zero on DWM systems
- [Win32] Bugfix: Removed joystick axis value negation left over from GLFW 2
- [Win32] Bugfix: Restoring windows using the Win+D hot key did not trigger the
focus callback
- [Win32] Bugfix: The disabled cursor mode clip rectangle was updated for
unfocused windows
- [Win32] Bugfix: Cursor was not properly re-centered over odd-sized windows
- [Win32] Bugfix: Negative window positions were reported incorrectly
- [Win32] Bugfix: The iconify callback was not triggered when switching away
from a full screen window using Alt+Tab
- [Win32] Bugfix: Resizing a window with `glfwSetWindowSize` gave it focus
- [Cocoa] Added dependency on CoreVideo framework for refresh rate retrieval
- [Cocoa] Enabled Lion full screen for resizable windowed mode windows
- [Cocoa] Moved to Cocoa API for application transformation and activation
- [Cocoa] Bugfix: The `GLFW_KEY_GRAVE_ACCENT` key was reported as
`GLFW_KEY_WORLD_1` and vice versa
- [Cocoa] Bugfix: The `GLFW_KEY_F13` key was reported as
`GLFW_KEY_PRINT_SCREEN`
- [Cocoa] Bugfix: Implicit conversion from `NSUInteger` to int caused warnings
with Xcode 5
- [Cocoa] Bugfix: Use of undeclared selectors with `@selector` caused warnings
with Xcode 5
- [Cocoa] Bugfix: The cursor remained visible if moved onto client area after
having been set to hidden outside it
- [Cocoa] Bugfix: The refresh rate was zero for all modes of certain monitors
- [Cocoa] Bugfix: The `install_name` field of the dynamic library was not set
- [Cocoa] Bugfix: Full screen windows were never reported as having focus
- [Cocoa] Bugfix: A superfluous I/O flag test prevented video modes from being
listed for Thunderbolt monitor
- [Cocoa] Bugfix: Retrieving the name of some external displays caused segfault
- [Cocoa] Bugfix: The 10.9 SDK defines `GLintptrARB` and `GLsizeiptrARB`
differently from the Khronos `glext.h`
- [Cocoa] Bugfix: Creating hidden windows would steal application focus
- [Cocoa] Bugfix: Controllers were reported as having zero buttons and axes
- [Cocoa] Bugfix: Removed joystick axis value negation left over from GLFW 2
- [X11] Added setting of the `WM_CLASS` property to the initial window title
- [X11] Added support for `_NET_WM_BYPASS_COMPOSITOR`
- [X11] Bugfix: Removed joystick axis value negation left over from GLFW 2
- [X11] Bugfix: The position of hidden windows was ignored by Metacity
and Compiz
- [X11] Bugfix: The `pthread.h` header was not included by the GLX platform
header.
## Contact
@ -272,12 +120,14 @@ skills.
- Doug Binks
- blanco
- Lambert Clara
- Andrew Corrigan
- Noel Cower
- Jarrod Davis
- Olivier Delannoy
- Paul R. Deppe
- Jonathan Dummer
- Ralph Eastwood
- Michael Fogleman
- Gerald Franz
- GeO4d
- Marcus Geelnard
@ -302,13 +152,18 @@ skills.
- Marcel Metz
- Kenneth Miller
- Bruce Mitchener
- Jack Moffitt
- Jeff Molofee
- Jon Morton
- Pierre Moulon
- Julian Møller
- Kamil Nowakowski
- Ozzy
- Andri Pálsson
- Peoro
- Braden Pellett
- Arturo J. Pérez
- Pieroman
- Jorge Rodriguez
- Ed Ropple
- Riku Salminen
@ -316,6 +171,7 @@ skills.
- Matt Sealey
- SephiRok
- Steve Sexton
- Systemcluster
- Dmitri Shuralyov
- Daniel Skorupski
- Bradley Smith
@ -326,6 +182,7 @@ skills.
- TTK-Bandit
- Sergey Tikhomirov
- Samuli Tuomola
- urraka
- Jari Vetoniemi
- Simon Voordouw
- Torsten Walluhn

File diff suppressed because it is too large Load Diff

View File

@ -33,10 +33,10 @@ extern "C" {
** used to make the header, and the header can be found at
** http://www.opengl.org/registry/
**
** Khronos $Revision$ on $Date$
** Khronos $Revision: 23649 $ on $Date: 2013-10-23 00:21:49 -0700 (Wed, 23 Oct 2013) $
*/
#define GLX_GLXEXT_VERSION 20130710
#define GLX_GLXEXT_VERSION 20131008
/* Generated C header for:
* API: glx

View File

@ -33,7 +33,7 @@ extern "C" {
** used to make the header, and the header can be found at
** http://www.opengl.org/registry/
**
** Khronos $Revision$ on $Date$
** Khronos $Revision: 23649 $ on $Date: 2013-10-23 00:21:49 -0700 (Wed, 23 Oct 2013) $
*/
#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)
@ -41,7 +41,7 @@ extern "C" {
#include <windows.h>
#endif
#define WGL_WGLEXT_VERSION 20130710
#define WGL_WGLEXT_VERSION 20130916
/* Generated C header for:
* API: wgl
@ -645,6 +645,14 @@ BOOL WINAPI wglCopyImageSubDataNV (HGLRC hSrcRC, GLuint srcName, GLenum srcTarge
#endif
#endif /* WGL_NV_copy_image */
#ifndef WGL_NV_delay_before_swap
#define WGL_NV_delay_before_swap 1
typedef BOOL (WINAPI * PFNWGLDELAYBEFORESWAPNVPROC) (HDC hDC, GLfloat seconds);
#ifdef WGL_WGLEXT_PROTOTYPES
BOOL WINAPI wglDelayBeforeSwapNV (HDC hDC, GLfloat seconds);
#endif
#endif /* WGL_NV_delay_before_swap */
#ifndef WGL_NV_float_buffer
#define WGL_NV_float_buffer 1
#define WGL_FLOAT_COMPONENTS_NV 0x20B0

View File

@ -1,5 +1,5 @@
add_custom_target(docs ALL ${DOXYGEN_EXECUTABLE}
WORKING_DIRECTORY ${GLFW_BINARY_DIR}/docs
COMMENT "Generating HTML documentation" VERBATIM)
add_custom_target(docs ALL ${DOXYGEN_EXECUTABLE}
WORKING_DIRECTORY ${GLFW_BINARY_DIR}/docs
COMMENT "Generating HTML documentation" VERBATIM)

View File

@ -659,6 +659,7 @@ INPUT = @GLFW_INTERNAL_DOCS@ \
@GLFW_SOURCE_DIR@/docs/news.dox \
@GLFW_SOURCE_DIR@/docs/quick.dox \
@GLFW_SOURCE_DIR@/docs/moving.dox \
@GLFW_SOURCE_DIR@/docs/compile.dox \
@GLFW_SOURCE_DIR@/docs/build.dox \
@GLFW_SOURCE_DIR@/docs/context.dox \
@GLFW_SOURCE_DIR@/docs/monitor.dox \
@ -899,13 +900,13 @@ HTML_FILE_EXTENSION = .html
# have to redo this when upgrading to a newer version of doxygen or when
# changing the value of configuration settings such as GENERATE_TREEVIEW!
HTML_HEADER =
HTML_HEADER = @GLFW_SOURCE_DIR@/docs/header.html
# The HTML_FOOTER tag can be used to specify a personal HTML footer for
# each generated HTML page. If it is left blank doxygen will generate a
# standard footer.
HTML_FOOTER =
HTML_FOOTER = @GLFW_SOURCE_DIR@/docs/footer.html
# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
# style sheet that is used by each HTML page. It can be used to
@ -924,7 +925,7 @@ HTML_STYLESHEET =
# robust against future updates. Doxygen will copy the style sheet file to
# the output directory.
HTML_EXTRA_STYLESHEET =
HTML_EXTRA_STYLESHEET = @GLFW_SOURCE_DIR@/docs/extra.css
# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
# other source files which should be copied to the HTML output directory. Note

View File

@ -1,11 +1,13 @@
/*!
@page build Building programs using GLFW
@page build Building programs that use GLFW
@tableofcontents
This is about compiling and linking programs that use GLFW. For information on
how to *write* such programs, start with the [introductory tutorial](@ref quick).
how to write such programs, start with the [introductory tutorial](@ref quick).
For information on how to compile the GLFW library itself, see the @ref compile
guide.
@section build_include Including the GLFW header file
@ -48,7 +50,9 @@ header that the GLFW header includes and GLEW will work as expected.
@subsection build_macros GLFW header option macros
These macros may be defined before the inclusion of the GLFW header and affect
how that header behaves.
the behavior of the header. Note that GLFW does not provide any of the OpenGL
or OpenGL ES headers mentioned below. These are provided by your development
environment or your OpenGL or OpenGL ES SDK.
`GLFW_INCLUDE_GLCOREARB` makes the header include the modern `GL/glcorearb.h`
header (`OpenGL/gl3.h` on OS X) instead of the regular OpenGL header.
@ -81,8 +85,10 @@ The static version of the GLFW library is named `glfw3`. When using this
version, it is also necessary to link with some libraries that GLFW uses.
When linking a program under Windows that uses the static version of GLFW, you
must link with `opengl32`. If you are using GLU, you must also link with
`glu32`.
must link with `opengl32`. On some versions of MinGW, you must also explicitly
link with `gdi32`, while other versions of MinGW include it in the set of
default libraries along with other dependencies like `user32` and `kernel32`.
If you are using GLU, you must also link with `glu32`.
The link library for the GLFW DLL is named `glfw3dll`. When compiling a program
that uses the DLL version of GLFW, you need to define the `GLFW_DLL` macro
@ -158,7 +164,7 @@ If you are using the static library version of GLFW, use the
@subsection build_link_pkgconfig With pkg-config on OS X or other Unix
GLFW supports [pkg-config](http://www.freedesktop.org/wiki/Software/pkg-config/),
and `glfw3.pc` file is generated when the GLFW library is built and installed
and the `glfw3.pc` file is generated when the GLFW library is built and installed
along with it.
A typical compile and link command-line when using the static may look like this:
@ -189,7 +195,7 @@ If you are using the dynamic library version of GLFW, simply add it to the
project dependencies.
If you are using the static library version of GLFW, add it and the Cocoa,
OpenGL and IOKit frameworks to the project as dependencies.
OpenGL, IOKit and CoreVideo frameworks to the project as dependencies.
@subsection build_link_osx With command-line on OS X
@ -198,7 +204,7 @@ If you do not wish to use pkg-config, you need to add the required frameworks
and libraries to your command-line using the `-l` and `-framework` switches,
i.e.:
cc -o myprog myprog.c -lglfw -framework Cocoa -framework OpenGL -framework IOKit
cc -o myprog myprog.c -lglfw -framework Cocoa -framework OpenGL -framework IOKit -framework CoreVideo
Note that you do not add the `.framework` extension to a framework when adding
it from the command-line.

View File

@ -123,15 +123,15 @@ version 2.1.
Because of this, on OS X 10.7 and later, the `GLFW_CONTEXT_VERSION_MAJOR` and
`GLFW_CONTEXT_VERSION_MINOR` hints will cause @ref glfwCreateWindow to fail if
given version 3.0 or 3.1, the `GLFW_OPENGL_FORWARD_COMPAT` is required for
creating contexts for OpenGL 3.2 and later, the `GLFW_OPENGL_DEBUG_CONTEXT` hint
is ignored and setting the `GLFW_OPENGL_PROFILE` hint to anything except
`GLFW_OPENGL_CORE_PROFILE` will cause @ref glfwCreateWindow to fail.
given version 3.0 or 3.1, the `GLFW_OPENGL_FORWARD_COMPAT` hint must be set to
non-zero and the `GLFW_OPENGL_PROFILE` hint must be set to
`GLFW_OPENGL_CORE_PROFILE` when creating OpenGL 3.2 and later contexts and the
`GLFW_OPENGL_DEBUG_CONTEXT` hint is ignored.
Also, on Mac OS X 10.6 and below, the `GLFW_CONTEXT_VERSION_MAJOR` and
`GLFW_CONTEXT_VERSION_MINOR` hints will fail if given a version above 2.1, the
`GLFW_OPENGL_DEBUG_CONTEXT` hint will have no effect, and setting the
`GLFW_OPENGL_PROFILE` or `GLFW_OPENGL_FORWARD_COMPAT` hints to a non-zero value
will cause @ref glfwCreateWindow to fail.
`GLFW_CONTEXT_VERSION_MINOR` hints will fail if given a version above 2.1,
setting the `GLFW_OPENGL_PROFILE` or `GLFW_OPENGL_FORWARD_COMPAT` hints to
a non-default value will cause @ref glfwCreateWindow to fail and the
`GLFW_OPENGL_DEBUG_CONTEXT` hint is ignored.
*/

261
extern/glfw/docs/compile.dox vendored Normal file
View File

@ -0,0 +1,261 @@
/*!
@page compile Compiling GLFW
@tableofcontents
This is about compiling the GLFW library itself. For information on how to
build programs that use GLFW, see the @ref build guide.
@section compile_deps Dependencies
To compile GLFW and the accompanying example programs, you will need **CMake**,
which will generate the project files or makefiles for your particular
development environment. If you are on a Unix-like system such as Linux or
FreeBSD or have a package system like Fink, MacPorts, Cygwin or Homebrew, you
can simply install its CMake package. If not, you can get installers for
Windows and OS X from the [CMake website](http://www.cmake.org/).
Additional dependencies are listed below.
If you wish to compile GLFW without CMake, see @ref compile_manual.
@subsection compile_deps_msvc Dependencies using Visual C++ on Windows
The Microsoft Platform SDK that is installed along with Visual C++ contains all
the necessary headers, link libraries and tools except for CMake.
@subsection compile_deps_mingw Dependencies with MinGW or MinGW-w64 on Windows
Both the MinGW and the MinGW-w64 packages contain all the necessary headers,
link libraries and tools except for CMake.
@subsection compile_deps_mingw_cross Dependencies using MinGW or MinGW-w64 cross-compilation
Both Cygwin and many Linux distributions have MinGW or MinGW-w64 packages. For
example, Cygwin has the `mingw64-i686-gcc` and `mingw64-x86_64-gcc` packages
for 32- and 64-bit version of MinGW-w64, while Debian GNU/Linux and derivatives
like Ubuntu have the `mingw-w64` package for both.
GLFW has CMake toolchain files in the `CMake/` directory that allow for easy
cross-compilation of Windows binaries. To use these files you need to add a
special parameter when generating the project files or makefiles:
cmake -DCMAKE_TOOLCHAIN_FILE=<toolchain-file> .
The exact toolchain file to use depends on the prefix used by the MinGW or
MinGW-w64 binaries on your system. You can usually see this in the /usr
directory. For example, both the Debian/Ubuntu and Cygwin MinGW-w64 packages
have `/usr/x86_64-w64-mingw32` for the 64-bit compilers, so the correct
invocation would be:
cmake -DCMAKE_TOOLCHAIN_FILE=CMake/x86_64-w64-mingw32.cmake .
For more details see the article
[CMake Cross Compiling](http://www.paraview.org/Wiki/CMake_Cross_Compiling) on
the CMake wiki.
@subsection compile_deps_xcode Dependencies using Xcode on OS X
Xcode contains all necessary tools except for CMake. The necessary headers and
libraries are included in the core OS frameworks. Xcode can be downloaded from
the Mac App Store or from the ADC Member Center.
@subsection compile_deps_x11 Dependencies using Linux and X11
To compile GLFW for X11, you need to have the X11 and OpenGL header packages
installed, as well as the basic development tools like GCC and make. For
example, on Ubuntu and other distributions based on Debian GNU/Linux, you need
to install the `xorg-dev` and `libglu1-mesa-dev` packages. The former pulls in
all X.org header packages and the latter pulls in the Mesa OpenGL and GLU
packages. GLFW itself doesn't need or use GLU, but some of the examples do.
Note that using header files and libraries from Mesa during compilation *will
not* tie your binaries to the Mesa implementation of OpenGL.
@section compile_cmake Generating files with CMake
Once you have all necessary dependencies it is time to generate the project
files or makefiles for your development environment. CMake needs to know two
paths for this: the path to the *root* directory of the GLFW source tree (i.e.
*not* the `src` subdirectory) and the target path for the generated files and
compiled binaries. If these are the same, it is called an in-tree build,
otherwise it is called an out-of-tree build.
One of several advantages of out-of-tree builds is that you can generate files
and compile for different development environments using a single source tree.
@subsection compile_cmake_cli Generating files with the CMake command-line tool
To make an in-tree build, enter the *root* directory of the GLFW source tree
(i.e. *not* the `src` subdirectory) and run CMake. The current directory is
used as target path, while the path provided as an argument is used to find the
source tree.
cd <glfw-root-dir>
cmake .
To make an out-of-tree build, make another directory, enter it and run CMake
with the (relative or absolute) path to the root of the source tree as an
argument.
cd <glfw-root-dir>
mkdir build
cd build
cmake ..
@subsection compile_cmake_gui Generating files with the CMake GUI
If you are using the GUI version, choose the root of the GLFW source tree as
source location and the same directory or another, empty directory as the
destination for binaries. Choose *Configure*, change any options you wish to,
*Configure* again to let the changes take effect and then *Generate*.
@section compile_options CMake options
The CMake files for GLFW provide a number of options, although not all are
available on all supported platforms. Some of these are de facto standards
among CMake users and so have no `GLFW_` prefix.
If you are using the GUI version of CMake, these are listed and can be changed
from there. If you are using the command-line version, use the `ccmake` tool.
Some package systems like Ubuntu and other distributions based on Debian
GNU/Linux have this tool in a separate `cmake-curses-gui` package.
@subsection compile_options_shared Shared CMake options
`BUILD_SHARED_LIBS` determines whether GLFW is built as a static
library or as a DLL / shared library / dynamic library.
`LIB_SUFFIX` affects where the GLFW shared /dynamic library is installed. If it
is empty, it is installed to `${CMAKE_INSTALL_PREFIX}/lib`. If it is set to
`64`, it is installed to `${CMAKE_INSTALL_PREFIX}/lib64`.
`GLFW_CLIENT_LIBRARY` determines which client API library to use. If set to
`opengl` the OpenGL library is used, if set to `glesv1` for the OpenGL ES 1.x
library is used, or if set to `glesv2` the OpenGL ES 2.0 library is used. The
selected library and its header files must be present on the system for this to
work.
`GLFW_BUILD_EXAMPLES` determines whether the GLFW examples are built
along with the library.
`GLFW_BUILD_TESTS` determines whether the GLFW test programs are
built along with the library.
`GLFW_BUILD_DOCS` determines whether the GLFW documentation is built along with
the library.
@subsection compile_options_osx OS X specific CMake options
`GLFW_USE_CHDIR` determines whether `glfwInit` changes the current
directory of bundled applications to the `Contents/Resources` directory.
`GLFW_USE_MENUBAR` determines whether the first call to
`glfwCreateWindow` sets up a minimal menu bar.
`GLFW_BUILD_UNIVERSAL` determines whether to build Universal Binaries.
@subsection compile_options_win32 Windows specific CMake options
`USE_MSVC_RUNTIME_LIBRARY_DLL` determines whether to use the DLL version or the
static library version of the Visual C++ runtime library. If set to `ON`, the
DLL version of the Visual C++ library is used. It is recommended to set this to
`ON`, as this keeps the executable smaller and benefits from security and bug
fix updates of the Visual C++ runtime.
`GLFW_USE_DWM_SWAP_INTERVAL` determines whether the swap interval is set even
when DWM compositing is enabled. If this is `ON`, the swap interval is set even
if DWM is enabled. It is recommended to set this to `OFF`, as doing otherwise
can lead to severe jitter.
`GLFW_USE_OPTIMUS_HPG` determines whether to export the `NvOptimusEnablement`
symbol, which forces the use of the high-performance GPU on nVidia Optimus
systems.
@subsection compile_options_egl EGL specific CMake options
`GLFW_USE_EGL` determines whether to use EGL instead of the platform-specific
context creation API. Note that EGL is not yet provided on all supported
platforms.
@section compile_manual Compiling GLFW manually
If you wish to compile GLFW without its CMake build environment then you will
have to do at least some of the platform detection yourself. GLFW needs
a number of configuration macros to be defined in order to know what it's being
compiled for and has many optional, platform-specific ones for various features.
When building with CMake, the `glfw_config.h` configuration header is generated
based on the current platform and CMake options. The GLFW CMake environment
defines `_GLFW_USE_CONFIG_H`, which causes this header to be included by
`internal.h`. Without this macro, GLFW will expect the necessary configuration
macros to be defined on the command-line.
Three macros *must* be defined when compiling GLFW: one for selecting the window
creation API, one selecting the context creation API and one client library.
Exactly one of each kind must be defined for GLFW to compile and link.
The window creation API is used to create windows, handle input, monitors, gamma
ramps and clipboard. The options are:
- `_GLFW_COCOA` to use the Cocoa frameworks
- `_GLFW_WIN32` to use the Win32 API
- `_GLFW_X11` to use the X Window System
The context creation API is used to enumerate pixel formats / framebuffer
configurations and to create contexts. The options are:
- `_GLFW_NSGL` to use the Cocoa OpenGL framework
- `_GLFW_WGL` to use the Win32 WGL API
- `_GLFW_GLX` to use the X11 GLX API
- `_GLFW_EGL` to use the EGL API (experimental)
The client library is the one providing the OpenGL or OpenGL ES API, which is
used by GLFW to probe the created context. This is not the same thing as the
client API, as many desktop OpenGL client libraries now expose the OpenGL ES API
through extensions. The options are:
- `_GLFW_USE_OPENGL` for the desktop OpenGL (opengl32.dll, libGL.so or
OpenGL.framework)
- `_GLFW_USE_GLESV1` for OpenGL ES 1.x (experimental)
- `_GLFW_USE_GLESV2` for OpenGL ES 2.x (experimental)
Note that `_GLFW_USE_GLESV1` and `_GLFW_USE_GLESV2` may only be used with EGL,
as the other context creation APIs do not interface with OpenGL ES client
libraries.
If you are building GLFW as a shared library / dynamic library / DLL then you
must also define `_GLFW_BUILD_DLL`. Otherwise, you may not define it.
If you are using the X11 window creation API then you *must* also select an entry
point retrieval mechanism.
- `_GLFW_HAS_GLXGETPROCADDRESS` to use `glXGetProcAddress` (recommended)
- `_GLFW_HAS_GLXGETPROCADDRESSARB` to use `glXGetProcAddressARB` (legacy)
- `_GLFW_HAS_GLXGETPROCADDRESSEXT` to use `glXGetProcAddressEXT` (legacy)
- `_GLFW_HAS_DLOPEN` to do manual retrieval with `dlopen` (fallback)
If you are using the Cocoa window creation API, the following options are
available:
- `_GLFW_USE_CHDIR` to `chdir` to the `Resources` subdirectory of the
application bundle during @ref glfwInit (recommended)
- `_GLFW_USE_MENUBAR` to create and populate the menu bar when the first window
is created (recommended)
*/

View File

@ -24,6 +24,15 @@ what kind of context is created. See
[context related hints](@ref window_hints_ctx) in the window handling guide.
@section context_sharing Context object sharing
When creating a window and context with @ref glfwCreateWindow, you can specify
another window whose context the new one should share its objects with. OpenGL
object sharing is implemented by the operating system and graphics driver and is
described in the OpenGL documentation. On platforms where it is possible to
choose which types of objects are shared, GLFW requests that all are shared.
@section context_current Current context
Before you can use the OpenGL or OpenGL ES APIs, you need to have a current

312
extern/glfw/docs/extra.css vendored Normal file
View File

@ -0,0 +1,312 @@
html {
background-color:hsl(0,0%,95%);
}
.glfwheader {
font-size:16px;
height:64px;
max-width:920px;
margin:0em auto;
}
.glfwheader a#glfwhome {
line-height:64px;
padding-right:48px;
float:left;
color:hsl(0,0%,40%);
font-size:2.5em;
background-image:url("http://www.glfw.org/css/arrow.png");
background-position:right top;
background-repeat:no-repeat;
}
.glfwnavbar {
list-style-type:none;
margin-top:0px;
float:right;
}
.glfwnavbar li {
float:left;
}
.glfwnavbar a,.glfwnavbar a:visited {
line-height:64px;
margin-left:2em;
display:block;
color:hsl(0,0%,40%);
}
.glfwheader a#glfwhome,.glfwnavbar a,.glfwnavbar a:visited {
transition:all 0.35s ease 0s;
}
#titlearea,address.footer {
color:hsl(0,0%,40%);
background-color:hsl(0,0%,95%);
border-bottom:none;
}
address.footer {
text-align:center;
padding:2em;
}
div#top {
background-color:hsl(0,0%,40%);
}
div#navrow1,div#navrow2,div#navrow3,div#navrow4 {
background-color:hsl(0,0%,40%);
background-image:none;
max-width:920px;
margin:0em auto;
}
ul.tablist {
min-width:700px;
}
.tablist a,.tablist a:hover,.tablist li,.tablist li.current a {
background-image:none;
text-shadow:none;
}
.tablist a,.tablist a:visited {
color:hsl(0,0%,95%);
text-shadow:none;
}
.tablist li.current a {
background:linear-gradient(to bottom,hsl(34,100%,60%) 0%,hsl(24,100%,50%) 100%);
box-shadow:inset 0px 0px 32px hsl(24,100%,50%);
text-shadow:0px -1px 1px hsl(24,100%,35%);
color:hsl(0,0%,100%);
}
div.contents {
min-height:590px;
}
div.contents,div.header {
max-width:920px;
margin:0em auto;
padding:0em 2em 2em 2em;
background-color:hsl(0,0%,100%);
}
div.header {
background-image:none;
border-bottom:none;
}
table.doxtable th,dl.reflist dt,div.levels {
background:linear-gradient(to bottom,hsl(34,100%,60%) 0%,hsl(24,100%,50%) 100%);
box-shadow:inset 0px 0px 32px hsl(24,100%,50%);
text-shadow:0px -1px 1px hsl(24,100%,35%);
color:hsl(0,0%,100%);
}
dl.reflist dt a.el,div.levels span {
color:hsl(24,100%,50%);
padding:0.2em;
border-radius:4px;
background-color:hsl(24,100%,90%);
text-shadow:none;
}
div.memproto,div.qindex,div.ah {
background:linear-gradient(to bottom,hsl(34,0%,95%) 0%,hsl(24,0%,90%) 100%);
box-shadow:inset 0px 0px 32px hsl(24,0%,90%);
text-shadow:0px 1px 1px hsl(24,0%,100%);
color:hsl(0,0%,10%);
}
div.memproto a {
color:hsl(24,100%,50%);
}
div.memproto td.paramname {
text-shadow:0px 1px 1px hsl(24,0%,100%);
}
div.memproto,div.qindex,div.ah {
border:2px solid hsl(24,0%,90%);
border-radius:4px;
}
div.memdoc {
background:none;
box-shadow:none;
border:none;
}
td.paramname {
color:hsl(24,100%,25%);
}
dl.reflist dt {
border:2px solid hsl(24,100%,50%);
border-top-left-radius:4px;
border-top-right-radius:4px;
border-bottom:none;
}
dl.reflist dd {
border:2px solid hsl(24,100%,50%);
border-bottom-right-radius:4px;
border-bottom-left-radius:4px;
border-top:none;
background:none;
box-shadow:none;
}
table.doxtable {
border-collapse:inherit;
border-spacing:0px;
border:2px solid hsl(24,100%,50%);
border-radius:4px;
}
table.doxtable td,table.doxtable th {
border:none;
}
tr.even,.directory tr.even,table.doxtable tr:nth-child(even) {
background-color:hsl(0,0%,95%);
}
body {
color:hsl(0,0%,30%);
}
h1,h2,h2.groupheader,h3,div.toc h3,h4,h5,h6,strong,em {
color:hsl(0,0%,10%);
border-bottom:none;
}
a,a:hover,a:visited,a:visited:hover,a.el,a.el:visited,.glfwheader a#glfwhome:hover,.tablist a:hover {
color:hsl(24,100%,50%);
text-decoration:none;
}
.mdescLeft,.mdescRight,.memItemLeft,.memItemRight {
background-color:hsl(0,0%,95%);
}
div.directory {
border-collapse:inherit;
border-spacing:0px;
border:2px solid hsl(24,100%,50%);
border-radius:4px;
}
.directory .levels span {
color:hsl(24,100%,50%);
padding:0.1em 0.5em;
margin:auto 0.25em;
border-radius:2px;
background-color:hsl(24,100%,90%);
text-shadow:none;
}
td.memSeparator {
height:2px;
border:0px;
background:linear-gradient(to right,hsl(0,0%,95%) 0%,hsl(0,0%,85%) 50%,hsl(0,0%,95%) 100%);
}
dl.note,dl.pre,dl.post,dl.invariant {
background:linear-gradient(to bottom,hsl(103,80%,90%) 0%,hsl(103,80%,85%) 100%);
box-shadow:inset 0px 0px 32px hsl(103,40%,80%);
color:hsl(103,80%,10%);
border:2px solid hsl(103,40%,75%);
}
dl.warning,dl.attention {
background:linear-gradient(to bottom,hsl(34,80%,90%) 0%,hsl(34,80%,85%) 100%);
box-shadow:inset 0px 0px 32px hsl(34,40%,80%);
color:hsl(34,80%,10%);
border:2px solid hsl(34,40%,75%);
}
dl.deprecated,dl.bug {
background:linear-gradient(to bottom,hsl(333,80%,90%) 0%,hsl(333,80%,85%) 100%);
box-shadow:inset 0px 0px 32px hsl(333,40%,80%);
color:hsl(333,80%,10%);
border:2px solid hsl(333,40%,75%);
}
dl.todo,dl.test {
background:linear-gradient(to bottom,hsl(200,80%,90%) 0%,hsl(200,80%,85%) 100%);
box-shadow:inset 0px 0px 32px hsl(200,40%,80%);
color:hsl(200,80%,10%);
border:2px solid hsl(200,40%,75%);
}
dl.note,dl.pre,dl.post,dl.invariant,dl.warning,dl.attention,dl.deprecated,dl.bug,dl.todo,dl.test {
border-radius:4px;
padding:1em;
text-shadow:0px 1px 1px hsl(0,0%,100%);
}
div.toc {
background:linear-gradient(to bottom,hsl(34,0%,95%) 0%,hsl(24,0%,90%) 100%);
box-shadow:inset 0px 0px 32px hsl(24,0%,90%);
text-shadow:0px 1px 1px hsl(24,0%,100%);
color:hsl(0,0%,10%);
border:2px solid hsl(24,0%,90%);
border-radius:4px;
float:none;
width:auto;
}
div.toc h3 {
font-size:1.17em;
}
div.toc ul {
padding-left:1.5em;
}
div.toc li {
background:none;
font-size:1em;
padding-left:0em;
list-style-type:disc;
}
div.ah {
background-image:none;
}
div.fragment,pre.fragment {
background-color:hsl(0,0%,20%);
border-radius:4px;
border-width:0px;
padding:0.5em 2em;
overflow:auto;
border-left:4px solid hsl(0,0%,80%);
}
div.line,pre.fragment {
color:hsl(60,30%,96%);
}
a.code,a.code:visited,span.preprocessor,span.comment {
color:hsl(80,76%,53%);
}
span.keyword,span.keywordtype,span.keywordflow {
color:hsl(190,81%,67%);
}
span.stringliteral {
color:hsl(54,70%,68%);
}
code {
background-color:hsl(0,0%,95%);
padding:0.1em;
border-radius: 4px;
}

7
extern/glfw/docs/footer.html vendored Normal file
View File

@ -0,0 +1,7 @@
<address class="footer">
<p>
Last update on $date for $projectname $projectnumber
</p>
</address>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show More