Doom3 commentary

  • Published on
    30-Jul-2015

  • View
    2.800

  • Download
    0

Embed Size (px)

Transcript

<p> 1. Doom3(RTTI) @DADA246 2. @DADA246 C++,C#,GPU,javascript,PHP CI 3. PC9801Test DriveDoomDiabloStarCraft NetStormSteamOriginiPhone 4. Doom3 Doom3 idLib RTTI 5. Doom3 id softwareFPS 2004/8 (WindowsMacLinux) John Carmack 2011/10https://github.com/TTimo/doom3.gpl 6. Doom3 id 7. John Carmack id SoftwareFPS wolfensteinDoomQuakeRage id SoftwareJohn Carmack 8. Doom3 Visual Studioneodoom.sln Visual Studio ExpressATL GPLDoom3 9. C++ stlboost RTTI 2004John Carmack(DoomQuake3C) 10. C++constvirtual 11. GameverGame-d3xp DoomDllexe 12. idLib Key/value dictionary 13. idLib (CRC32,MD4,MD5) (CmdArgs,Base64) (2,btree,,,,,,, Vector Set )STL 14. () Lcp(Box Constrained Mixed Linear ComplementarityProblem solver) Polynormal(Polynomial of arbitrary degree with realcoefficients) 15. DrawVert JointTransform Surface Surface_Patch(Bezier patch surface) Surface_Polytope() Surface_SweptSpline TraceModel() Winding() Winding2D 16. ODE() Euler 4 17. AABB,OBB,, operator 18. a way to assign six homogenous coordinatesto each line in projective 3-space(wikipedia) 6 19. SIMD Simd_GenericC++SIMD 3DNow! AltiVec MMX SSE SSE2 SSE3(2004 Doom3) 20. SIMD TransformVertsUpSamplePCMTo44kHz 21. MemoryBlock DynamicAllocator (MemoryBlock) 22. TypeInfo Type Info GeneratorNoGameTypeInfo.h 23. CurlLib Daniel StenbergcURL(URL) http://curl.haxx.se 24. Doom3 Doom3 idLib RTTI 25. idAnimatedEntity(ActorPlayer) idTestModel idEntityFx idAFAttachment(Articulated figure) idAFEntity_Generic idCursor3D idWeapon() idLight() idBeam idFuncEmitter 26. idWeapon() On/Off 27. idTypeInfo RTTI idClassstatic idClass 28. idTypeInfo intint () 29. idTypeInfo 30. idClass idTypeInfostatic 31. idClass CreateInstance GetClassname ListClasses_f Classname, Superclass, Type, Subclasses Spawn 32. idClass PostEventMS( const idEventDef *ev, int time ) PostEventSec( const idEventDef *ev, float time ) ProcessEvent( const idEventDef *ev )() 33. idClass static static int idClass::memused static int idClass::numobjects 34. idClass::CreateInstancenew0xcdcdcdcd0xcdcdcdcdDebug 35. idEntity thinking(Update) visuals() animation sound entity binding() physics damage() scripting() gui(GUI) targets() 36. idAnimatedEntity idEntity(idAnimator) idAnimator 37. idWeapon 38. idLight() On/Off 39. idGameLocal idGameLocal 40. idGameLocal Entity() Random Program() Clipping Physics PVS(potential visible set) MultiPlayerGame SmokeParticles 41. idGameLocal Entity Draw Printf AAS(area system) 42. const char * name;idEntity* ent = gameLocal.FindEntity( name ); Key Value Dictionaryconst char * key;gameLocal.GetTargets(Key Value Dictionary, Entity, key ); 43. trace_t tr;//gameLocal.clip.TracePoint( tr,,, );idEntity* ent = gameLocal.GetTraceEntity( tr );//ent-&gt;Signal( SIG_TOUCH );//ent-&gt;ProcessEvent( &amp;EV_Touch, );// 44. idTypeInfoworldModel = static_cast&lt; idAnimatedEntity * &gt;( gameLocal.SpawnEntityType( idAnimatedEntity::Type, NULL ) ); 45. Doom3 Doom3 idLib RTTI 46. C++ idEventidEventDef 47. idWeapon(idClass::ProcessEvent) 48. idEventDef idEventDef EV_Weapon_Next( "nextWeapon" ); const CLASS_DECLARATION( idAnimatedEntity, idWeapon ) EVENT( EV_Weapon_Next,idWeapon::Event_Next )END_CLASS 49. idClass::ProcessEventidEntity *other;other-&gt;ProcessEvent( &amp;EV_Touch, this, &amp;collision ); 50. Script_Compiler Script_Interpreter Script_Program Script_Thread 51. idInterpreter::CallEvent idWeapon::Event_Clear 52. Doom3 53. Dedicated Server (renderEntity,qgl) 54. Question? 55. </p>