diff --git a/ScriptingAPI-Documentation.md b/Documentation/ScriptingAPI-Documentation.md similarity index 100% rename from ScriptingAPI-Documentation.md rename to Documentation/ScriptingAPI-Documentation.md diff --git a/Documentation/WickedEngine-Documentation.md b/Documentation/WickedEngine-Documentation.md new file mode 100644 index 000000000..c935c18e9 --- /dev/null +++ b/Documentation/WickedEngine-Documentation.md @@ -0,0 +1,4 @@ +# WickedEngine Documentation (work in progress) + +![Logo](classdiagram.png) +Diagram generated with nomnoml.com diff --git a/Documentation/classdiagram.png b/Documentation/classdiagram.png new file mode 100644 index 000000000..a1613f86c Binary files /dev/null and b/Documentation/classdiagram.png differ diff --git a/Documentation/classdiagram.txt b/Documentation/classdiagram.txt new file mode 100644 index 000000000..8f0244348 --- /dev/null +++ b/Documentation/classdiagram.txt @@ -0,0 +1,194 @@ +[MainComponent + |activeComponent : RenderableComponent + |setWindow(window_type window) + run() + virtual Initialize() + virtual Update(float dt) + virtual FixedUpdate() + virtual Render() + virtual Compose()] +[RenderableComponent + |Content : wiResourceManager + onStart : function + onStop : function + |virtual Initialize() + virtual Load() + virtual Unload() + virtual Start() + virtual Stop() + virtual FixedUpdate() + virtual Update(float dt) + virtual Render() + virtual Compose()] +[Renderable2DComponent] +[Renderable3DComponent + |[Collection of functions to get/set/enable postprocess parameters]] +[ForwardRenderableComponent] +[TiledForwardRenderableComponent] +[DeferredRenderableComponent] +[LoadingScreenComponent + |addLoadingFunction(function) + addLoadingComponent(RenderableComponent) + onFinished(function) + getPercentageComplete() + isActive()] + +[GraphicsDevice + |GetScreenWidth() : int + GetScreenHeight() : int + GetVSyncEnabled() : bool + SetVSyncEnabled(bool) + SetResolution(int width, int height) + ResolutionChanged() : bool + GetFrameCount() : int + |[Collection of graphics API-agnostic rendering commands]] +[GraphicsDevice_DX11] + +[Transform] +[Mesh] +[Object] +[Material] +[Armature] +[Light] +[Camera] +[Scene] +[EnvironmentProbe] +[wiRenderer + |static scene : Scene + static cam : Camera + ... + |static FixedUpdate() + static UpdatePerFrameData(float dt) + static UpdateRenderData(GRAPHICSTHREAD) + static OcclusionCulling_Render(GRAPHICSTHREAD) + static OcclusionCulling_Read(GRAPHICSTHREAD) + static ReloadShaders(string path) + static DrawWorld(params, GRAPHICSTHREAD) + static DrawWorldTransparent(params, GRAPHICSTHREAD) + static DrawForShadowMap(GRAPHICSTHREAD) + ... + static ResolveMSAADepthBuffer(params) + static GenerateMipChain(params) + ... + static Pick(params) + static LoadModel(params) + ...] +[wiImage + |Draw(wiImageEffects, GRAPHICSTHREAD)] +[wiFont + |Draw(wiFontProps, GRAPHICSTHREAD, scissorRect)] + +[wiSound + |Load(string fileName) + Play(int delay = 0) : HRESULT + Stop()] +[wiSoundEffect + |static SetVolume(float) + static GetVolume() : float] +[wiMusic + |static SetVolume(float) + static GetVolume() : float] + +[wiInputManager + |addXInput(wiXInput) + addDirectInput(wiDirectInput) + addRawInput(wiRawInput) + down(params) : bool + press(params) : bool + hold(params) : bool + getpointer() : float4 + setPointer(float4) + hidepointer(bool) + getTouches() : vector] +[wiDirectInput] +[wiXInput] +[wiRawInput] + +[wiResourceManager + |static GetGlobal() : wiResourceManager + static GetShaderManager() : wiResourceManager + get(params) : Resource + add(params) + del(params) + CleanUp()] + +[wiNetwork] +[wiClient] +[wiServer] + +[wiPHYSICS + |virtual Update(float dt) + virtual MarkForRead() + virtual UnMarkForRead() + virtual MarkForWrite() + virtual UnMarkForWrite() + virtual ClearWorld() + virtual CleanUp() + virtual addWind(vector3 wind) + virtual addBox(params) + virtual addSphere(params) + virtual addCapsule(params) + virtual addConvexHull(params) + virtual addTriangleMesh(params) + virtual addSoftBodyTriangleMesh(params) + virtual connectVerticesToSoftBody(params) + virtual connectSoftBodyToVertices(params) + virtual transformBody(params) + virtual getObject(int index) : PhysicsTransform + virtual registerObject(Object)] +[wiBULLET] + + + + +[MainComponent]+->1[RenderableComponent] + +[RenderableComponent]<:--[Renderable2DComponent] +[Renderable2DComponent]<:-[LoadingScreenComponent] +[Renderable2DComponent]<:-[Renderable3DComponent] +[Renderable3DComponent]<:-[ForwardRenderableComponent] +[Renderable3DComponent]<:-[TiledForwardRenderableComponent] +[Renderable3DComponent]<:-[DeferredRenderableComponent] + +[GraphicsDevice]<--[wiRenderer] +[GraphicsDevice]<--[wiImage] +[GraphicsDevice]<--[wiFont] +[GraphicsDevice]<--[wiResourceManager] +[GraphicsDevice]<:--[GraphicsDevice_DX11] + +[Scene]+->0..*[Mesh] +[Scene]+->0..*[Object] +[Scene]+->0..*[Material] +[Scene]+->0..*[Armature] +[Scene]+->0..*[Light] +[Scene]+->0..*[Camera] +[Scene]+->0..*[EnvironmentProbe] +[Scene]-:>[Transform] +[Object]-:>[Transform] +[Armature]-:>[Transform] +[Camera]-:>[Transform] +[EnvironmentProbe]-:>[Transform] +[Light]-:>[Transform] +[Object]+->0..1[Mesh] +[Mesh]+->0..1[Armature] + +[wiRenderer]+->0..*[Scene] +[wiRenderer]+->1[wiPHYSICS] +[wiImage]<--[MainComponent] +[wiImage]<--[Renderable2DComponent] +[wiFont]<--[MainComponent] +[wiFont]<--[Renderable2DComponent] +[wiRenderer]<--[Renderable3DComponent] + +[wiSound]<--[wiResourceManager] +[wiSound]<:--[wiSoundEffect] +[wiSound]<:--[wiMusic] + +[wiInputManager]<-[wiDirectInput] +[wiInputManager]<-[wiXInput] +[wiInputManager]<-[wiRawInput] + +[wiNetwork]<:--[wiServer] +[wiNetwork]<:--[wiClient] + +[wiPHYSICS]<:--[wiBULLET] diff --git a/README.md b/README.md index 0bebbfb55..e5b13be06 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,7 @@ Demos are available at: https://github.com/turanszkij/WickedEngineDemos From now on you can easily set up a game project by using the component templates. (see the demos for examples) Run in Release mode for best performance. Debug mode has full debugging support but poor performance. +[Documentation](Documentation/WickedEngine-Documentation.md) Video: https://www.youtube.com/watch?v=nNlfkrURqZQ
Video of the Editor: https://www.youtube.com/watch?v=iMluDH8oaFg
Devblog: https://turanszkij.wordpress.com/ @@ -68,7 +69,7 @@ Windows Store support: define WINSTORE_SUPPORT preprocessor for the whole projec ### Scripting API: You can use a great number of engine features through the Lua scripting api, which can even be used real time while the program is running. -For further details, please check the scripting API documentation: [Wicked Engine Scripting API](ScriptingAPI-Documentation.md) +For further details, please check the scripting API documentation: [Wicked Engine Scripting API](Documentation/ScriptingAPI-Documentation.md) ### Editor: diff --git a/WickedEngine-Documentation.md b/WickedEngine-Documentation.md deleted file mode 100644 index 3c3aad936..000000000 --- a/WickedEngine-Documentation.md +++ /dev/null @@ -1,3 +0,0 @@ -TODO - -http://www.nomnoml.com.s3-website-eu-west-1.amazonaws.com/#view/%5BMainComponent%0A%09%7CactiveComponent%20%3A%20RenderableComponent%0A%20%20%20%20%7CsetWindow(window_type%20window)%0A%20%20%20%20run()%0A%20%20%20%20virtual%20Initialize()%0A%20%20%20%20virtual%20Update(float%20dt)%0A%20%20%20%20virtual%20FixedUpdate()%0A%20%20%20%20virtual%20Render()%0A%20%20%20%20virtual%20Compose()%5D%0A%5B%3Cabstract%3ERenderableComponent%0A%09%7CContent%20%3A%20wiResourceManager%0A%20%20%20%20onStart%20%3A%20function%3Cvoid()%3E%0A%20%20%20%20onStop%20%3A%20function%3Cvoid()%3E%0A%20%20%20%20%7Cvirtual%20Initialize()%0A%20%20%20%20virtual%20Load()%0A%20%20%20%20virtual%20Unload()%0A%20%20%20%20virtual%20Start()%0A%20%20%20%20virtual%20Stop()%0A%20%20%20%20virtual%20FixedUpdate()%0A%20%20%20%20virtual%20Update(float%20dt)%0A%20%20%20%20virtual%20Render()%0A%20%20%20%20virtual%20Compose()%5D%0A%5BRenderable2DComponent%5D%0A%5BRenderable3DComponent%0A%09%7C%5BCollection%20of%20functions%20to%20get%2Fset%2Fenable%20postprocess%20parameters%5D%5D%0A%5BForwardRenderableComponent%5D%0A%5BTiledForwardRenderableComponent%5D%0A%5BDeferredRenderableComponent%5D%0A%5BLoadingScreenComponent%0A%09%7CaddLoadingFunction(function%3Cvoid()%3E)%0A%20%20%20%20addLoadingComponent(RenderableComponent)%0A%20%20%20%20onFinished(function%3Cvoid()%3E)%0A%20%20%20%20getPercentageComplete()%0A%20%20%20%20isActive()%5D%0A%0A%5B%3Cabstract%3EGraphicsDevice%5D%0A%5BGraphicsDevice_DX11%5D%0A%0A%5B%3Cinstance%3EwiRenderer%5D%0A%5BwiImage%5D%0A%5BwiFont%5D%0A%0A%5B%3Cabstract%3EwiSound%0A%09%7CLoad(string%20fileName)%0A%20%20%20%20Play(int%20delay%20%3D%200)%20%3A%20HRESULT%0A%20%20%20%20Stop()%5D%0A%5BwiSoundEffect%0A%09%7Cstatic%20SetVolume(float)%0A%20%20%20%20static%20GetVolume()%20%3A%20float%5D%0A%5BwiMusic%0A%09%7Cstatic%20SetVolume(float)%0A%20%20%20%20static%20GetVolume()%20%3A%20float%5D%0A%0A%5B%3Cinstance%3EwiInputManager%0A%09%7CaddXInput(wiXInput)%0A%20%20%20%20addDirectInput(wiDirectInput)%0A%20%20%20%20addRawInput(wiRawInput)%0A%20%20%20%20down(params)%20%3A%20bool%0A%20%20%20% \ No newline at end of file diff --git a/WickedEngine/WickedEngine_SHARED.vcxitems b/WickedEngine/WickedEngine_SHARED.vcxitems index a46cdc7c2..b0ffa266e 100644 --- a/WickedEngine/WickedEngine_SHARED.vcxitems +++ b/WickedEngine/WickedEngine_SHARED.vcxitems @@ -695,6 +695,7 @@ + true @@ -703,16 +704,17 @@ + + + - - true diff --git a/WickedEngine/WickedEngine_SHARED.vcxitems.filters b/WickedEngine/WickedEngine_SHARED.vcxitems.filters index ce6ee7112..9607debdc 100644 --- a/WickedEngine/WickedEngine_SHARED.vcxitems.filters +++ b/WickedEngine/WickedEngine_SHARED.vcxitems.filters @@ -61,6 +61,9 @@ {4cb4ddc4-c5a9-483b-b6cf-2c4382340e7a} + + {052d6b54-4254-4260-ba34-79b6fb943b4a} + @@ -1894,20 +1897,30 @@ fonts + + Documentation + + + Documentation + - fonts - + + Documentation + + + Documentation + \ No newline at end of file