Core, in which we can find /bare/ features, such as mesh, vertices, loading, resources, lights and so on ;
Render, in which we can find features using Core. It also adds a few extra features, like shaders, that don’t have any Core related ;
Render.GL, in which we have a nice OpenGL wrapper.
The problem is that a lot of object from Render are shown as interface to the user whilst they don’t add anything special to the Render.GL version. That is discussed in #80. The purpose of the current issue is to change the file tree to match a more coherent vision of the engine.
New file tree
We are going to remove Core and split it into several other packages:
Geometry: it will contain anything related to geometry, that is, Vertex.hs, VGroup.hs, UV.hs, Normal.hs, Position.hs, Mesh.hs and BoundingVolume.hs ;
Scene: it will contain anything related to the scene, that is, currently, Hierarchy.hs. We’ll find more later, like BSP.hs or that kind of stuff ;
Light: it will contain anything about light, that is, Light.hs, Shadow.hs ;
System: it will contain anything that has an interaction with the system, that is, Loader.hs, Resource.hs and so on and so forth
Render: anything render related, like Renderer.hs, RenderLayer.hs, Projection.hs, Shader.hs, Texture.hs, etc.
Context
We’re going to move that. Currently, we have:
Core
, in which we can find /bare/ features, such as mesh, vertices, loading, resources, lights and so on ;Render
, in which we can find features usingCore
. It also adds a few extra features, like shaders, that don’t have anyCore
related ;Render.GL
, in which we have a nice OpenGL wrapper.The problem is that a lot of object from
Render
are shown as interface to the user whilst they don’t add anything special to theRender.GL
version. That is discussed in #80. The purpose of the current issue is to change the file tree to match a more coherent vision of the engine.New file tree
We are going to remove
Core
and split it into several other packages:Geometry
: it will contain anything related to geometry, that is,Vertex.hs
,VGroup.hs
,UV.hs
,Normal.hs
,Position.hs
,Mesh.hs
andBoundingVolume.hs
;Scene
: it will contain anything related to the scene, that is, currently,Hierarchy.hs
. We’ll find more later, likeBSP.hs
or that kind of stuff ;Light
: it will contain anything about light, that is,Light.hs
,Shadow.hs
;System
: it will contain anything that has an interaction with the system, that is,Loader.hs
,Resource.hs
and so on and so forthRender
: anything render related, likeRenderer.hs
,RenderLayer.hs
,Projection.hs
,Shader.hs
,Texture.hs
, etc.Render.GL
: OpenGL wrapper, doesn’t moveUtils
: utilities, likeLog.hs
,Scoped.hs