| 1 | = BspModel = |
| 2 | == Author == |
| 3 | Claudio & Stefan [[BR]] |
| 4 | |
| 5 | |
| 6 | == Goal == |
| 7 | This module will load and handle Quake III levels as proposed in ticket:133. Though QIII-levels are great, |
| 8 | they don't offer the extensibility of orxonoxs XML-levels. Thus BspModel is not meant |
| 9 | to replace orxonoxs xml-levels. [[BR]] |
| 10 | To keep things as simple as possible, we intend to iplement a QuakeIII level loader |
| 11 | which allows us to load QIII-.bsp files the same way, orxonox lets us load .md2 or .obj models. [[BR]] |
| 12 | [[BR]] |
| 13 | [[Image(bsp01.jpg)]] |
| 14 | [[BR]] |
| 15 | [http://people.ee.ethz.ch/~bottac/lightmap_test/ There] you find some recent [http://people.ee.ethz.ch/~bottac/lightmap_test/ screenshots]. |
| 16 | [[BR]] |
| 17 | |
| 18 | == Design == |
| 19 | |
| 20 | [[Image(BspModel.gif)]] |
| 21 | |
| 22 | == TODOS == |
| 23 | * ~~Transparency as described on [http://graphics.cs.brown.edu/games/quake/quake3.html Rendering Q3 Maps]~~ (Claudio) |
| 24 | * ~~Multitextureing~~ (Stefan, Claudio) |
| 25 | * ~~Lightmapping~~ (Claudio) |
| 26 | * Contents (Bsp Files, Textures) |
| 27 | * ~~Speed optimization~~ (Claudio) |
| 28 | * Support for big endian architecture (50% done) |
| 29 | * Animated Textures (60% done) |
| 30 | * Water |
| 31 | * Collision with patches |
| 32 | * ~~Get the normals of the planes to which the player collided~~ (Claudio) |
| 33 | |
| 34 | == Road map == |
| 35 | |
| 36 | ||'''Date'''||'''Claudio'''||'''Stefan'''||'''State'''|| |
| 37 | ||Mi, 03. May||!CollisionDetection: Definition of Interfaces & Implementation||Multitextureing: Implementation|| || |
| 38 | ||Mi, 10. May||!CollisionDetection: Implementation [[BR]] Prepare !BspFile and !BspManager for Lightmapping||Multitextureing: Implementation|| || |
| 39 | ||Do, 18. May||!CollisionDetection: Implementation ||Lightmapping: Implementation || || |
| 40 | ||Do, 25. May|| Revision & (Support for big endian architecture using SDL_endian) || Revision & (Lightmapping: Implementation) || || |
| 41 | ||Do, 01. June||Overall Enhancement / Review [[BR]] Contetnts [[BR]] Doc ||Overall Enhancement / Review [[BR]] Contetnts [[BR]] Doc || || |
| 42 | ||Do, 08. June||Project freeze: debug and documentation||Project freeze: debug and documentation|| || |
| 43 | ||Do, 15. June||Code finished and working perfectly (hopefully :o)||Code finished and working perfectly || |
| 44 | ||Mi, 21. June||Content creation||Content creation|| || |
| 45 | ||Mi, 28. June||Content finished: all models work, the world is playable ||Content finished: all models work, the world is playable || || |
| 46 | |
| 47 | |
| 48 | == Further Information on the Q3 level format == |
| 49 | |
| 50 | [http://graphics.cs.brown.edu/games/quake/quake3.html Rendering Q3 Maps] by Morgan McGuire[[BR]] |
| 51 | [http://graphics.stanford.edu/~kekoa/q3/ Unofficial Quake 3 Map Specs ] by Kekoa Proudfoot[[BR]] |
| 52 | [http://www.devmaster.net/articles/quake3collision/ Quake 3 Collision Detection] by Nathan Ostgard |