From cc5e4f1ee9c4dc0b679f44cc5ab79f13cbfb52e2 Mon Sep 17 00:00:00 2001 From: Edouard DUPIN Date: Sat, 24 May 2025 00:24:25 +0200 Subject: [PATCH] [FIX] arbo --- pom.xml | 47 +- samples/pom.xml | 2 +- samples/src/module-info.java | 19 - .../CollisionTestApplication.java | 332 ---------- .../ege/collisiontest/MainCollisionTest.java | 17 - .../ege/lightTest/LightTestApplication.java | 196 ------ .../ege/lightTest/MainLightTest.java | 19 - .../ege/lowPoly/LowPolyApplication.java | 207 ------- .../atriasoft/ege/lowPoly/MainLowPoly.java | 19 - .../loxelEngine/LoxelApplicationPerso.java | 566 ------------------ .../ege/loxelEngine/MainLoxelEnginePerso.java | 17 - .../sample/atriasoft/ege/mapFactory/Appl.java | 72 --- .../atriasoft/ege/mapFactory/ApplScene.java | 108 ---- .../atriasoft/ege/mapFactory/EgeScene.java | 157 ----- .../atriasoft/ege/mapFactory/Ground.java | 101 ---- .../atriasoft/ege/mapFactory/MainWindows.java | 65 -- .../ege/mapFactory/MapFactoryMain.java | 22 - .../atriasoft/ege/mapFactory/model/Map.java | 12 - .../mapFactory/tools/MapToolInterface.java | 19 - .../ege/mapFactory/tools/ToolMapHeight.java | 184 ------ .../atriasoft/ege/oldTest/HelloWorld.java | 110 ---- .../atriasoft/ege/oldTest/MainGameLoop.java | 175 ------ .../atriasoft/ege/s1_texturedCube/Main.java | 23 - .../ege/s1_texturedCube/S1Application.java | 165 ----- src/{ => main}/entities/Camera.java | 0 src/{ => main}/entities/Entity.java | 0 src/{ => main}/entities/Light.java | 0 src/{ => main}/entities/Player.java | 0 src/{ => main}/guis/GuiRenderer.java | 0 src/{ => main}/guis/GuiShader.java | 0 src/{ => main}/guis/GuiTexture.java | 0 src/{ => main}/guis/gui.frag | 0 src/{ => main}/guis/gui.vert | 0 src/{ => main}/models/RawModel.java | 0 src/{ => main}/models/TexturedModel.java | 0 .../atriasoft/eagle/CirclePointGenerator.java | 0 .../org/atriasoft/eagle/SpaceGenerator.java | 0 .../org/atriasoft/eagle/generator/Bridge.java | 0 .../org/atriasoft/eagle/generator/Land.java | 0 .../eagle/generator/LocalGenerator.java | 0 .../atriasoft/eagle/generator/Montain.java | 0 .../org/atriasoft/eagle/generator/River.java | 0 .../org/atriasoft/eagle/generator/Road.java | 0 .../org/atriasoft/eagle/model/MapChunk.java | 0 .../org/atriasoft/eagle/model/MetaMap.java | 0 .../atriasoft/eagle/model/TypeElement.java | 0 .../org/atriasoft/eagle/model/VoxelMap.java | 0 .../org/atriasoft/ege/Component.java | 0 .../atriasoft/ege/ControlCameraPlayer.java | 0 .../atriasoft/ege/ControlCameraPlayerFPS.java | 0 .../atriasoft/ege/ControlCameraSimple.java | 0 .../org/atriasoft/ege/ControlInterface.java | 0 .../org/atriasoft/ege/CreatorEntity.java | 0 src/{ => main}/org/atriasoft/ege/Ege.java | 0 src/{ => main}/org/atriasoft/ege/Engine.java | 0 src/{ => main}/org/atriasoft/ege/Entity.java | 0 .../org/atriasoft/ege/EntityInteraction.java | 0 .../org/atriasoft/ege/Environement.java | 0 .../org/atriasoft/ege/GameStatus.java | 0 src/{ => main}/org/atriasoft/ege/Light.java | 0 .../org/atriasoft/ege/Material.java | 0 .../atriasoft/ege/ResultNearestEntity.java | 0 src/{ => main}/org/atriasoft/ege/Signal.java | 0 .../org/atriasoft/ege/camera/Camera.java | 0 .../ege/camera/ProjectionInterface.java | 0 .../ege/camera/ProjectionOrthogonal.java | 0 .../ege/camera/ProjectionPerspective.java | 0 .../atriasoft/ege/components/ComponentAI.java | 0 .../ege/components/ComponentDynamicMeshs.java | 0 .../ege/components/ComponentGravity.java | 0 .../components/ComponentGravityStatic.java | 0 .../ege/components/ComponentLight.java | 0 .../ege/components/ComponentLightSun.java | 0 .../ege/components/ComponentMap.java | 0 .../ege/components/ComponentMaterial.java | 0 .../ege/components/ComponentMaterials.java | 0 .../ege/components/ComponentMesh.java | 0 .../ege/components/ComponentParticle.java | 0 .../ege/components/ComponentPhysics.java | 0 .../ege/components/ComponentPlayer.java | 0 .../ege/components/ComponentPosition.java | 0 .../components/ComponentPositionPlayer.java | 0 .../ege/components/ComponentRender.java | 0 .../ComponentRenderColoredStaticMesh.java | 0 .../ComponentRenderMeshPalette.java | 0 ...ntRenderTexturedMaterialsDynamicMeshs.java | 0 ...nentRenderTexturedMaterialsStaticMesh.java | 0 ...entRenderTexturedMaterialsStaticMeshs.java | 0 .../ComponentRenderTexturedStaticMesh.java | 0 .../ege/components/ComponentStaticMesh.java | 0 .../ege/components/ComponentStaticMeshs.java | 0 .../ege/components/ComponentTexture.java | 0 .../ege/components/ComponentTexturePack.java | 0 .../components/ComponentTexturePalette.java | 0 .../ege/components/ComponentTextures.java | 0 .../ege/components/GlLightIndex.java | 0 .../ege/components/PhysicBodyType.java | 0 .../ege/components/part/LightRender.java | 0 .../ege/components/part/MaterialRender.java | 0 .../components/part/MaterialRenderBase.java | 0 .../ege/components/part/MaterialsRender.java | 0 .../components/part/PartRenderInterface.java | 0 .../part/PositionningInterface.java | 0 .../ege/components/part/TransformRender.java | 0 .../org/atriasoft/ege/engines/EngineAI.java | 0 .../ege/engines/EngineDynamicMeshs.java | 0 .../atriasoft/ege/engines/EngineGravity.java | 0 .../atriasoft/ege/engines/EngineLight.java | 0 .../org/atriasoft/ege/engines/EngineMap.java | 0 .../atriasoft/ege/engines/EngineParticle.java | 0 .../atriasoft/ege/engines/EnginePhysics.java | 0 .../atriasoft/ege/engines/EnginePlayer.java | 0 .../atriasoft/ege/engines/EngineRender.java | 0 .../org/atriasoft/ege/geometry/AABB.java | 0 .../atriasoft/ege/geometry/Geometry3D.java | 0 .../org/atriasoft/ege/geometry/Line.java | 0 .../org/atriasoft/ege/geometry/OBB.java | 0 .../org/atriasoft/ege/geometry/Plane.java | 0 .../org/atriasoft/ege/geometry/Plane____.java | 0 .../org/atriasoft/ege/geometry/Ray.java | 0 .../org/atriasoft/ege/geometry/Sphere.java | 0 .../org/atriasoft/ege/geometry/Triangle.java | 0 .../map/ComponentDynamicMeshsVoxelMap.java | 0 .../ege/map/ComponentRenderVoxelMesh.java | 0 .../org/atriasoft/ege/map/MapVoxel.java | 0 .../org/atriasoft/ege/map/Voxel.java | 0 .../org/atriasoft/ege/map/VoxelChunk.java | 0 .../org/atriasoft/ege/map/VoxelType.java | 0 .../org/atriasoft/ege/todo_sample.md | 0 .../atriasoft/ege/tools/MeshGenerator.java | 0 .../atriasoft/phyligram/ColisionPoint.java | 0 .../org/atriasoft/phyligram/Collision.java | 0 .../org/atriasoft/phyligram/DebugDisplay.java | 0 .../org/atriasoft/phyligram/GravityMap.java | 0 .../org/atriasoft/phyligram/PhysicBox.java | 0 .../phyligram/PhysicHeightMapChunk.java | 0 .../atriasoft/phyligram/PhysicMapVoxel.java | 0 .../org/atriasoft/phyligram/PhysicShape.java | 0 .../org/atriasoft/phyligram/PhysicSphere.java | 0 .../atriasoft/phyligram/PhysicTriangle.java | 0 .../org/atriasoft/phyligram/math/Ray.java | 0 .../math/ToolCollisionOBBWithOBB.java | 0 ...ToolCollisionSphereWithHeightMapChunk.java | 0 .../math/ToolCollisionSphereWithSphere.java | 0 .../math/ToolCollisionSphereWithTriangle.java | 0 .../org/atriasoft/phyligram/shape/AABB.java | 0 .../org/atriasoft/phyligram/shape/Box.java | 0 .../atriasoft/phyligram/shape/Capsule.java | 0 .../atriasoft/phyligram/shape/Concave.java | 0 .../org/atriasoft/phyligram/shape/Cone.java | 0 .../atriasoft/phyligram/shape/ConvexHull.java | 0 .../atriasoft/phyligram/shape/Cylinder.java | 0 .../phyligram/shape/HeightMapChunk.java | 0 .../org/atriasoft/phyligram/shape/Shape.java | 0 .../org/atriasoft/phyligram/shape/Sphere.java | 0 .../phyligram/tree/CallbackOverlapping.java | 0 .../phyligram/tree/CallbackRaycast.java | 0 .../org/atriasoft/phyligram/tree/DTree.java | 0 .../phyligram/tree/DTreeLeafData.java | 0 .../phyligram/tree/DTreeLeafInt.java | 0 .../atriasoft/phyligram/tree/DTreeNode.java | 0 .../phyligram/tree/DynamicAABBTree.java | 0 .../atriasoft/phyligram/tree/PairDTree.java | 0 .../renderEngine/DisplayManager.java | 0 .../renderEngine/DisplayManagerDraw.java | 0 .../renderEngine/EntityRenderer.java | 0 src/{ => main}/renderEngine/Loader.java | 0 .../renderEngine/MasterRenderer.java | 0 src/{ => main}/renderEngine/OBJLoader.java | 0 .../renderEngine/TerrainRenderer.java | 0 src/{ => main}/shaders/ShaderProgram.java | 0 src/{ => main}/shaders/StaticShader.java | 0 src/{ => main}/shaders/TerrainShader.java | 0 src/{ => main}/shaders/static.frag | 0 src/{ => main}/shaders/static.vert | 0 src/{ => main}/shaders/terrain.frag | 0 src/{ => main}/shaders/terrain.vert | 0 src/{ => main}/skybox/SkyboxRenderer.java | 0 src/{ => main}/skybox/SkyboxShader.java | 0 src/{ => main}/skybox/skybox.frag | 0 src/{ => main}/skybox/skybox.vert | 0 src/{ => main}/terrains/Terrain.java | 0 src/{ => main}/terrains/TerrainTexture.java | 0 .../terrains/TerrainTexturePack.java | 0 src/{ => main}/textures/ModelTexture.java | 0 src/{ => main}/textures/TextureData.java | 0 src/{ => main}/toolbox/Maths.java | 0 src/module-info.java | 34 -- .../resources/ege/data/simple3D.frag | 16 - .../resources/ege/data/simple3D.vert | 21 - .../resources/ege/data/wireColor.frag | 16 - .../resources/ege/data/wireColor.vert | 21 - .../src => src/test}/test/atriasoft/ege/.keep | 0 .../atriasoft/ege/TestTransformation3D.java | 0 .../TestCollisionSphereTriangle.java | 74 +++ .../testResources}/simplelogger.properties | 0 .../TestCollisionSphereTriangle.java | 76 --- 197 files changed, 104 insertions(+), 2808 deletions(-) delete mode 100644 samples/src/module-info.java delete mode 100644 samples/src/sample/atriasoft/ege/collisiontest/CollisionTestApplication.java delete mode 100644 samples/src/sample/atriasoft/ege/collisiontest/MainCollisionTest.java delete mode 100644 samples/src/sample/atriasoft/ege/lightTest/LightTestApplication.java delete mode 100644 samples/src/sample/atriasoft/ege/lightTest/MainLightTest.java delete mode 100644 samples/src/sample/atriasoft/ege/lowPoly/LowPolyApplication.java delete mode 100644 samples/src/sample/atriasoft/ege/lowPoly/MainLowPoly.java delete mode 100644 samples/src/sample/atriasoft/ege/loxelEngine/LoxelApplicationPerso.java delete mode 100644 samples/src/sample/atriasoft/ege/loxelEngine/MainLoxelEnginePerso.java delete mode 100644 samples/src/sample/atriasoft/ege/mapFactory/Appl.java delete mode 100644 samples/src/sample/atriasoft/ege/mapFactory/ApplScene.java delete mode 100644 samples/src/sample/atriasoft/ege/mapFactory/EgeScene.java delete mode 100644 samples/src/sample/atriasoft/ege/mapFactory/Ground.java delete mode 100644 samples/src/sample/atriasoft/ege/mapFactory/MainWindows.java delete mode 100644 samples/src/sample/atriasoft/ege/mapFactory/MapFactoryMain.java delete mode 100644 samples/src/sample/atriasoft/ege/mapFactory/model/Map.java delete mode 100644 samples/src/sample/atriasoft/ege/mapFactory/tools/MapToolInterface.java delete mode 100644 samples/src/sample/atriasoft/ege/mapFactory/tools/ToolMapHeight.java delete mode 100644 samples/src/sample/atriasoft/ege/oldTest/HelloWorld.java delete mode 100644 samples/src/sample/atriasoft/ege/oldTest/MainGameLoop.java delete mode 100644 samples/src/sample/atriasoft/ege/s1_texturedCube/Main.java delete mode 100644 samples/src/sample/atriasoft/ege/s1_texturedCube/S1Application.java rename src/{ => main}/entities/Camera.java (100%) rename src/{ => main}/entities/Entity.java (100%) rename src/{ => main}/entities/Light.java (100%) rename src/{ => main}/entities/Player.java (100%) rename src/{ => main}/guis/GuiRenderer.java (100%) rename src/{ => main}/guis/GuiShader.java (100%) rename src/{ => main}/guis/GuiTexture.java (100%) rename src/{ => main}/guis/gui.frag (100%) rename src/{ => main}/guis/gui.vert (100%) rename src/{ => main}/models/RawModel.java (100%) rename src/{ => main}/models/TexturedModel.java (100%) rename src/{ => main}/org/atriasoft/eagle/CirclePointGenerator.java (100%) rename src/{ => main}/org/atriasoft/eagle/SpaceGenerator.java (100%) rename src/{ => main}/org/atriasoft/eagle/generator/Bridge.java (100%) rename src/{ => main}/org/atriasoft/eagle/generator/Land.java (100%) rename src/{ => main}/org/atriasoft/eagle/generator/LocalGenerator.java (100%) rename src/{ => main}/org/atriasoft/eagle/generator/Montain.java (100%) rename src/{ => main}/org/atriasoft/eagle/generator/River.java (100%) rename src/{ => main}/org/atriasoft/eagle/generator/Road.java (100%) rename src/{ => main}/org/atriasoft/eagle/model/MapChunk.java (100%) rename src/{ => main}/org/atriasoft/eagle/model/MetaMap.java (100%) rename src/{ => main}/org/atriasoft/eagle/model/TypeElement.java (100%) rename src/{ => main}/org/atriasoft/eagle/model/VoxelMap.java (100%) rename src/{ => main}/org/atriasoft/ege/Component.java (100%) rename src/{ => main}/org/atriasoft/ege/ControlCameraPlayer.java (100%) rename src/{ => main}/org/atriasoft/ege/ControlCameraPlayerFPS.java (100%) rename src/{ => main}/org/atriasoft/ege/ControlCameraSimple.java (100%) rename src/{ => main}/org/atriasoft/ege/ControlInterface.java (100%) rename src/{ => main}/org/atriasoft/ege/CreatorEntity.java (100%) rename src/{ => main}/org/atriasoft/ege/Ege.java (100%) rename src/{ => main}/org/atriasoft/ege/Engine.java (100%) rename src/{ => main}/org/atriasoft/ege/Entity.java (100%) rename src/{ => main}/org/atriasoft/ege/EntityInteraction.java (100%) rename src/{ => main}/org/atriasoft/ege/Environement.java (100%) rename src/{ => main}/org/atriasoft/ege/GameStatus.java (100%) rename src/{ => main}/org/atriasoft/ege/Light.java (100%) rename src/{ => main}/org/atriasoft/ege/Material.java (100%) rename src/{ => main}/org/atriasoft/ege/ResultNearestEntity.java (100%) rename src/{ => main}/org/atriasoft/ege/Signal.java (100%) rename src/{ => main}/org/atriasoft/ege/camera/Camera.java (100%) rename src/{ => main}/org/atriasoft/ege/camera/ProjectionInterface.java (100%) rename src/{ => main}/org/atriasoft/ege/camera/ProjectionOrthogonal.java (100%) rename src/{ => main}/org/atriasoft/ege/camera/ProjectionPerspective.java (100%) rename src/{ => main}/org/atriasoft/ege/components/ComponentAI.java (100%) rename src/{ => main}/org/atriasoft/ege/components/ComponentDynamicMeshs.java (100%) rename src/{ => main}/org/atriasoft/ege/components/ComponentGravity.java (100%) rename src/{ => main}/org/atriasoft/ege/components/ComponentGravityStatic.java (100%) rename src/{ => main}/org/atriasoft/ege/components/ComponentLight.java (100%) rename src/{ => main}/org/atriasoft/ege/components/ComponentLightSun.java (100%) rename src/{ => main}/org/atriasoft/ege/components/ComponentMap.java (100%) rename src/{ => main}/org/atriasoft/ege/components/ComponentMaterial.java (100%) rename src/{ => main}/org/atriasoft/ege/components/ComponentMaterials.java (100%) rename src/{ => main}/org/atriasoft/ege/components/ComponentMesh.java (100%) rename src/{ => main}/org/atriasoft/ege/components/ComponentParticle.java (100%) rename src/{ => main}/org/atriasoft/ege/components/ComponentPhysics.java (100%) rename src/{ => main}/org/atriasoft/ege/components/ComponentPlayer.java (100%) rename src/{ => main}/org/atriasoft/ege/components/ComponentPosition.java (100%) rename src/{ => main}/org/atriasoft/ege/components/ComponentPositionPlayer.java (100%) rename src/{ => main}/org/atriasoft/ege/components/ComponentRender.java (100%) rename src/{ => main}/org/atriasoft/ege/components/ComponentRenderColoredStaticMesh.java (100%) rename src/{ => main}/org/atriasoft/ege/components/ComponentRenderMeshPalette.java (100%) rename src/{ => main}/org/atriasoft/ege/components/ComponentRenderTexturedMaterialsDynamicMeshs.java (100%) rename src/{ => main}/org/atriasoft/ege/components/ComponentRenderTexturedMaterialsStaticMesh.java (100%) rename src/{ => main}/org/atriasoft/ege/components/ComponentRenderTexturedMaterialsStaticMeshs.java (100%) rename src/{ => main}/org/atriasoft/ege/components/ComponentRenderTexturedStaticMesh.java (100%) rename src/{ => main}/org/atriasoft/ege/components/ComponentStaticMesh.java (100%) rename src/{ => main}/org/atriasoft/ege/components/ComponentStaticMeshs.java (100%) rename src/{ => main}/org/atriasoft/ege/components/ComponentTexture.java (100%) rename src/{ => main}/org/atriasoft/ege/components/ComponentTexturePack.java (100%) rename src/{ => main}/org/atriasoft/ege/components/ComponentTexturePalette.java (100%) rename src/{ => main}/org/atriasoft/ege/components/ComponentTextures.java (100%) rename src/{ => main}/org/atriasoft/ege/components/GlLightIndex.java (100%) rename src/{ => main}/org/atriasoft/ege/components/PhysicBodyType.java (100%) rename src/{ => main}/org/atriasoft/ege/components/part/LightRender.java (100%) rename src/{ => main}/org/atriasoft/ege/components/part/MaterialRender.java (100%) rename src/{ => main}/org/atriasoft/ege/components/part/MaterialRenderBase.java (100%) rename src/{ => main}/org/atriasoft/ege/components/part/MaterialsRender.java (100%) rename src/{ => main}/org/atriasoft/ege/components/part/PartRenderInterface.java (100%) rename src/{ => main}/org/atriasoft/ege/components/part/PositionningInterface.java (100%) rename src/{ => main}/org/atriasoft/ege/components/part/TransformRender.java (100%) rename src/{ => main}/org/atriasoft/ege/engines/EngineAI.java (100%) rename src/{ => main}/org/atriasoft/ege/engines/EngineDynamicMeshs.java (100%) rename src/{ => main}/org/atriasoft/ege/engines/EngineGravity.java (100%) rename src/{ => main}/org/atriasoft/ege/engines/EngineLight.java (100%) rename src/{ => main}/org/atriasoft/ege/engines/EngineMap.java (100%) rename src/{ => main}/org/atriasoft/ege/engines/EngineParticle.java (100%) rename src/{ => main}/org/atriasoft/ege/engines/EnginePhysics.java (100%) rename src/{ => main}/org/atriasoft/ege/engines/EnginePlayer.java (100%) rename src/{ => main}/org/atriasoft/ege/engines/EngineRender.java (100%) rename src/{ => main}/org/atriasoft/ege/geometry/AABB.java (100%) rename src/{ => main}/org/atriasoft/ege/geometry/Geometry3D.java (100%) rename src/{ => main}/org/atriasoft/ege/geometry/Line.java (100%) rename src/{ => main}/org/atriasoft/ege/geometry/OBB.java (100%) rename src/{ => main}/org/atriasoft/ege/geometry/Plane.java (100%) rename src/{ => main}/org/atriasoft/ege/geometry/Plane____.java (100%) rename src/{ => main}/org/atriasoft/ege/geometry/Ray.java (100%) rename src/{ => main}/org/atriasoft/ege/geometry/Sphere.java (100%) rename src/{ => main}/org/atriasoft/ege/geometry/Triangle.java (100%) rename src/{ => main}/org/atriasoft/ege/map/ComponentDynamicMeshsVoxelMap.java (100%) rename src/{ => main}/org/atriasoft/ege/map/ComponentRenderVoxelMesh.java (100%) rename src/{ => main}/org/atriasoft/ege/map/MapVoxel.java (100%) rename src/{ => main}/org/atriasoft/ege/map/Voxel.java (100%) rename src/{ => main}/org/atriasoft/ege/map/VoxelChunk.java (100%) rename src/{ => main}/org/atriasoft/ege/map/VoxelType.java (100%) rename src/{ => main}/org/atriasoft/ege/todo_sample.md (100%) rename src/{ => main}/org/atriasoft/ege/tools/MeshGenerator.java (100%) rename src/{ => main}/org/atriasoft/phyligram/ColisionPoint.java (100%) rename src/{ => main}/org/atriasoft/phyligram/Collision.java (100%) rename src/{ => main}/org/atriasoft/phyligram/DebugDisplay.java (100%) rename src/{ => main}/org/atriasoft/phyligram/GravityMap.java (100%) rename src/{ => main}/org/atriasoft/phyligram/PhysicBox.java (100%) rename src/{ => main}/org/atriasoft/phyligram/PhysicHeightMapChunk.java (100%) rename src/{ => main}/org/atriasoft/phyligram/PhysicMapVoxel.java (100%) rename src/{ => main}/org/atriasoft/phyligram/PhysicShape.java (100%) rename src/{ => main}/org/atriasoft/phyligram/PhysicSphere.java (100%) rename src/{ => main}/org/atriasoft/phyligram/PhysicTriangle.java (100%) rename src/{ => main}/org/atriasoft/phyligram/math/Ray.java (100%) rename src/{ => main}/org/atriasoft/phyligram/math/ToolCollisionOBBWithOBB.java (100%) rename src/{ => main}/org/atriasoft/phyligram/math/ToolCollisionSphereWithHeightMapChunk.java (100%) rename src/{ => main}/org/atriasoft/phyligram/math/ToolCollisionSphereWithSphere.java (100%) rename src/{ => main}/org/atriasoft/phyligram/math/ToolCollisionSphereWithTriangle.java (100%) rename src/{ => main}/org/atriasoft/phyligram/shape/AABB.java (100%) rename src/{ => main}/org/atriasoft/phyligram/shape/Box.java (100%) rename src/{ => main}/org/atriasoft/phyligram/shape/Capsule.java (100%) rename src/{ => main}/org/atriasoft/phyligram/shape/Concave.java (100%) rename src/{ => main}/org/atriasoft/phyligram/shape/Cone.java (100%) rename src/{ => main}/org/atriasoft/phyligram/shape/ConvexHull.java (100%) rename src/{ => main}/org/atriasoft/phyligram/shape/Cylinder.java (100%) rename src/{ => main}/org/atriasoft/phyligram/shape/HeightMapChunk.java (100%) rename src/{ => main}/org/atriasoft/phyligram/shape/Shape.java (100%) rename src/{ => main}/org/atriasoft/phyligram/shape/Sphere.java (100%) rename src/{ => main}/org/atriasoft/phyligram/tree/CallbackOverlapping.java (100%) rename src/{ => main}/org/atriasoft/phyligram/tree/CallbackRaycast.java (100%) rename src/{ => main}/org/atriasoft/phyligram/tree/DTree.java (100%) rename src/{ => main}/org/atriasoft/phyligram/tree/DTreeLeafData.java (100%) rename src/{ => main}/org/atriasoft/phyligram/tree/DTreeLeafInt.java (100%) rename src/{ => main}/org/atriasoft/phyligram/tree/DTreeNode.java (100%) rename src/{ => main}/org/atriasoft/phyligram/tree/DynamicAABBTree.java (100%) rename src/{ => main}/org/atriasoft/phyligram/tree/PairDTree.java (100%) rename src/{ => main}/renderEngine/DisplayManager.java (100%) rename src/{ => main}/renderEngine/DisplayManagerDraw.java (100%) rename src/{ => main}/renderEngine/EntityRenderer.java (100%) rename src/{ => main}/renderEngine/Loader.java (100%) rename src/{ => main}/renderEngine/MasterRenderer.java (100%) rename src/{ => main}/renderEngine/OBJLoader.java (100%) rename src/{ => main}/renderEngine/TerrainRenderer.java (100%) rename src/{ => main}/shaders/ShaderProgram.java (100%) rename src/{ => main}/shaders/StaticShader.java (100%) rename src/{ => main}/shaders/TerrainShader.java (100%) rename src/{ => main}/shaders/static.frag (100%) rename src/{ => main}/shaders/static.vert (100%) rename src/{ => main}/shaders/terrain.frag (100%) rename src/{ => main}/shaders/terrain.vert (100%) rename src/{ => main}/skybox/SkyboxRenderer.java (100%) rename src/{ => main}/skybox/SkyboxShader.java (100%) rename src/{ => main}/skybox/skybox.frag (100%) rename src/{ => main}/skybox/skybox.vert (100%) rename src/{ => main}/terrains/Terrain.java (100%) rename src/{ => main}/terrains/TerrainTexture.java (100%) rename src/{ => main}/terrains/TerrainTexturePack.java (100%) rename src/{ => main}/textures/ModelTexture.java (100%) rename src/{ => main}/textures/TextureData.java (100%) rename src/{ => main}/toolbox/Maths.java (100%) delete mode 100644 src/module-info.java delete mode 100644 src/resources/resources/ege/data/simple3D.frag delete mode 100644 src/resources/resources/ege/data/simple3D.vert delete mode 100644 src/resources/resources/ege/data/wireColor.frag delete mode 100644 src/resources/resources/ege/data/wireColor.vert rename {test/src => src/test}/test/atriasoft/ege/.keep (100%) rename {test/src => src/test}/test/atriasoft/ege/TestTransformation3D.java (100%) create mode 100644 src/test/test/atriasoft/phyligram/TestCollisionSphereTriangle.java rename {test/src/resources => src/testResources}/simplelogger.properties (100%) delete mode 100644 test/src/test/atriasoft/phyligram/TestCollisionSphereTriangle.java diff --git a/pom.xml b/pom.xml index 4dd6d19..290231a 100644 --- a/pom.xml +++ b/pom.xml @@ -1,14 +1,26 @@ + 4.0.0 org.atriasoft ege 0.1.0 - - 3.13.0 - 21 - 21 - 3.1.1 - + + + Mozilla Public License 2.0 + https://opensource.org/licenses/MPL-2.0 + repo + + + + + dev1 + Edouard DUPIN + edouard.dupin@proton.me + + Lead Developer + + + @@ -46,13 +58,13 @@ org.junit.jupiter junit-jupiter-api - 5.11.0-M2 + 5.11.0 test org.junit.jupiter junit-jupiter-engine - 5.11.0-M2 + 5.11.0 test @@ -64,27 +76,26 @@ - src + src/main ${basedir}/src/resources - test/src + src/test - ${basedir}/test/resources + ${basedir}/src/testResources org.apache.maven.plugins maven-compiler-plugin - ${maven.compiler.version} + 3.14.0 - ${maven.compiler.source} - ${maven.compiler.target} - + 21 + 21 @@ -105,7 +116,7 @@ org.apache.maven.plugins maven-surefire-plugin - 3.0.0-M5 + 3.2.5 maven-assembly-plugin @@ -124,7 +135,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.2.0 + 3.3.0 private true @@ -138,7 +149,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.2.0 + 3.3.0 public diff --git a/samples/pom.xml b/samples/pom.xml index f098734..dff3fa1 100644 --- a/samples/pom.xml +++ b/samples/pom.xml @@ -41,7 +41,7 @@ - src + src/main ${basedir}/src/resources diff --git a/samples/src/module-info.java b/samples/src/module-info.java deleted file mode 100644 index cd15b42..0000000 --- a/samples/src/module-info.java +++ /dev/null @@ -1,19 +0,0 @@ -/** Basic module interface. - * - * @author Edouard DUPIN */ - -open module sample.atriasoft.ege { - exports sample.atriasoft.ege.mapFactory; - exports sample.atriasoft.ege.mapFactory.model; - exports sample.atriasoft.ege.mapFactory.tools; - exports sample.atriasoft.ege.collisiontest; - exports sample.atriasoft.ege.lowPoly; - exports sample.atriasoft.ege.loxelEngine; - exports sample.atriasoft.ege.oldTest; - exports sample.atriasoft.ege.s1_texturedCube; - - requires transitive org.atriasoft.ege; - requires transitive org.atriasoft.ewol; - requires transitive org.atriasoft.etk; - requires transitive org.atriasoft.gale; // for map factory -} diff --git a/samples/src/sample/atriasoft/ege/collisiontest/CollisionTestApplication.java b/samples/src/sample/atriasoft/ege/collisiontest/CollisionTestApplication.java deleted file mode 100644 index 0c07c0b..0000000 --- a/samples/src/sample/atriasoft/ege/collisiontest/CollisionTestApplication.java +++ /dev/null @@ -1,332 +0,0 @@ -package sample.atriasoft.ege.collisiontest; - -import java.util.ArrayList; -import java.util.List; - -import org.atriasoft.ege.ControlCameraPlayer; -import org.atriasoft.ege.Engine; -import org.atriasoft.ege.Entity; -import org.atriasoft.ege.Environement; -import org.atriasoft.ege.GameStatus; -import org.atriasoft.ege.Light; -import org.atriasoft.ege.Material; -import org.atriasoft.ege.camera.Camera; -import org.atriasoft.ege.components.ComponentGravityStatic; -import org.atriasoft.ege.components.ComponentLightSun; -import org.atriasoft.ege.components.ComponentMaterial; -import org.atriasoft.ege.components.ComponentPhysics; -import org.atriasoft.ege.components.ComponentPlayer; -import org.atriasoft.ege.components.ComponentPosition; -import org.atriasoft.ege.components.ComponentPositionPlayer; -import org.atriasoft.ege.components.ComponentRenderColoredStaticMesh; -import org.atriasoft.ege.components.ComponentRenderTexturedStaticMesh; -import org.atriasoft.ege.components.ComponentStaticMesh; -import org.atriasoft.ege.components.ComponentTexture; -import org.atriasoft.ege.components.PhysicBodyType; -import org.atriasoft.ege.engines.EnginePhysics; -import org.atriasoft.ege.map.MapVoxel; -import org.atriasoft.ege.tools.MeshGenerator; -import org.atriasoft.etk.Color; -import org.atriasoft.etk.Uri; -import org.atriasoft.etk.math.Matrix4f; -import org.atriasoft.etk.math.Quaternion; -import org.atriasoft.etk.math.Transform3D; -import org.atriasoft.etk.math.Vector2f; -import org.atriasoft.etk.math.Vector3f; -import org.atriasoft.gale.Gale; -import org.atriasoft.gale.GaleApplication; -import org.atriasoft.gale.backend3d.OpenGL; -import org.atriasoft.gale.backend3d.OpenGL.Flag; -import org.atriasoft.gale.context.GaleContext; -import org.atriasoft.gale.key.KeyKeyboard; -import org.atriasoft.gale.key.KeySpecial; -import org.atriasoft.gale.key.KeyStatus; -import org.atriasoft.gale.key.KeyType; -import org.atriasoft.gale.resource.ResourceColored3DObject; -import org.atriasoft.phyligram.PhysicBox; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class CollisionTestApplication extends GaleApplication { - final static private Logger LOGGER = LoggerFactory.getLogger(CollisionTestApplication.class); - public static Vector3f box1HalfSize; - public static Vector3f box2HalfSize; - // public static ComponentPosition relativeTestPos; - // public static Box boxTest; - public static List testPoints = new ArrayList<>(); - public static List testPointsBox = new ArrayList<>(); - public static List testPointsCollide = new ArrayList<>(); - public static Quaternion testQTransfert; - public static Vector3f testRpos; - private float angleLight = 0; - private Quaternion basicRotation = Quaternion.IDENTITY; - private Quaternion basicRotation2 = Quaternion.IDENTITY; - private ResourceColored3DObject debugDrawProperty; - private Environement env; - private ComponentPosition lightPosition; - private MapVoxel map; - private ComponentPlayer objectPlayer; - private ComponentPosition objectPosition; - private ControlCameraPlayer simpleControl; - - public CollisionTestApplication() {} - - @Override - public void onCreate(final GaleContext context) { - // set the system global max speed - //ComponentPhysics.globalMaxSpeed = 3; - Gale.getContext().grabPointerEvents(true, new Vector2f(0, 0)); - this.env = new Environement(); - setSize(new Vector2f(1500, 1500)); - setTitle("Loxel sample"); - this.map = new MapVoxel(this.env); - // this.env.addEngine(map); - // map.init(); - - // simple sun to have a global light ... - final Entity globalGravity = new Entity(this.env); - globalGravity.addComponent(new ComponentGravityStatic(new Vector3f(0, 0, -1))); - this.env.addEntity(globalGravity); - - // simple sun to have a global light ... - final Entity sun = new Entity(this.env); - sun.addComponent(new ComponentPosition(new Transform3D(new Vector3f(1000, 1000, 1000)))); - sun.addComponent( - new ComponentLightSun(new Light(new Color(0.4f, 0.4f, 0.4f), Vector3f.ZERO, new Vector3f(0.8f, 0, 0)))); - this.env.addEntity(sun); - - // add a cube to show where in the light ... - final Entity localLight = new Entity(this.env); - this.lightPosition = new ComponentPosition(new Transform3D(new Vector3f(-10, -10, 17))); - // localLight.addComponent(lightPosition); - // localLight.addComponent(new ComponentStaticMesh(new Uri("RES", "cube.obj"))); - // localLight.addComponent(new ComponentTexture(new Uri("RES", "grass.png"))); - // localLight.addComponent(new ComponentLight(new Light(new Vector3f(0,1,0), new Vector3f(0,0,0), new Vector3f(0.8f,0.03f,0.002f)))); - // localLight.addComponent(new ComponentRenderTexturedStaticMesh( - // new Uri("DATA", "basic.vert"), - // new Uri("DATA", "basic.frag"))); - // env.addEntity(localLight); - { - // this is the floor - final Entity localBox = new Entity(this.env); - Quaternion orientation = new Quaternion(0, 0, 0, 1); - orientation = orientation.normalize(); - localBox.addComponent(new ComponentStaticMesh(new Uri("RES", "cube-one.obj"))); - localBox.addComponent(new ComponentTexture(new Uri("DATA", "blocks/dirt.png", "loxelEngine"))); - localBox.addComponent(new ComponentRenderTexturedStaticMesh(new Uri("DATA", "basic.vert", "loxelEngine"), - new Uri("DATA", "basic.frag", "loxelEngine"))); - localBox.addComponent(new ComponentPosition(new Transform3D(Vector3f.ZERO, orientation))); - final ComponentPhysics physics2 = new ComponentPhysics(this.env); - physics2.setBodyType(PhysicBodyType.BODY_STATIC); - final PhysicBox box2 = new PhysicBox(); - box2.setSize(new Vector3f(5.0f, 5.0f, 0.5f)); - box2.setOrigin(Vector3f.ZERO); - box2.setMass(0); - physics2.addShape(box2); - localBox.addComponent(physics2); - this.env.addEntity(localBox); - } - /* - { - // add a cube to test collision ... - final Entity localBox = new Entity(this.env); - localBox.addComponent(new ComponentStaticMesh(new Uri("RES", "cube-one.obj"))); - localBox.addComponent(new ComponentTexture(new Uri("DATA", "blocks/clay.png", "loxelEngine"))); - localBox.addComponent(new ComponentLight(new Light(new Vector3f(0, 1, 0), Vector3f.ZERO, new Vector3f(0.8f, 0.03f, 0.002f)))); - localBox.addComponent(new ComponentRenderTexturedStaticMesh(new Uri("DATA", "basic.vert", "loxelEngine"), new Uri("DATA", "basic.frag", "loxelEngine"))); - if (false) { - final ComponentPhysics physics2 = new ComponentPhysics(this.env); - //physics2.setTransform(new Transform3D(new Vector3f(0, 0, 0.90f))); - physics2.setTransform(new Transform3D(new Vector3f(0, 0, 1.20f))); - final Box box2 = new Box(); - box2.setSize(new Vector3f(0.5f, 0.5f, 0.5f)); - box2.setOrigin(Vector3f.ZERO); - box2.setMass(100); - physics2.addShape(box2); - localBox.addComponent(physics2); - } else { - localBox.addComponent(new ComponentPosition(new Transform3D(new Vector3f(0, -5, 13)))); - } - this.env.addEntity(localBox); - } - */ - final Entity gird = new Entity(this.env); - gird.addComponent(new ComponentPosition(new Transform3D(Vector3f.ZERO))); - gird.addComponent(new ComponentStaticMesh(MeshGenerator.createGrid(5))); - gird.addComponent(new ComponentRenderColoredStaticMesh(new Uri("DATA", "wireColor.vert", "ege"), - new Uri("DATA", "wireColor.frag", "ege"))); - this.env.addEntity(gird); - - final Entity player = new Entity(this.env); - final Transform3D playerTransform = new Transform3D(new Vector3f(0, -5, 0)); - this.objectPosition = new ComponentPositionPlayer(); - player.addComponent(this.objectPosition); - this.objectPlayer = new ComponentPlayer(); - player.addComponent(this.objectPlayer); - player.addComponent(new ComponentMaterial(new Material())); - //player.addComponent(new ComponentStaticMesh(new Uri("RES", "person.obj"))); - player.addComponent(new ComponentStaticMesh(new Uri("RES", "person_-yfw_zup.obj"))); - player.addComponent(new ComponentTexture(new Uri("RES", "playerTexture.png"))); - //player.addComponent(new ComponentRenderTexturedMaterialsStaticMesh(new Uri("DATA", "basicMaterial.vert", "loxelEngine"), new Uri("DATA", "basicMaterial.frag", "loxelEngine"), (EngineLight) this.env.getEngine(EngineLight.ENGINE_NAME))); - this.env.addEntity(player); - final Camera mainView = new Camera(); - this.env.addCamera("default", mainView); - mainView.setPitch((float) Math.PI * -0.25f); - mainView.setPosition(new Vector3f(0, -5, 5)); - - this.simpleControl = new ControlCameraPlayer(mainView, player); - this.env.addControlInterface(this.simpleControl); - - // start the engine. - this.env.setPropertyStatus(GameStatus.gameStart); - - this.basicRotation = Quaternion.fromEulerAngles(new Vector3f(0.005f, 0.005f, 0.01f)); - this.basicRotation2 = Quaternion.fromEulerAngles(new Vector3f(0.003f, 0.01f, 0.001f)); - - final Engine tmpEngine = this.env.getEngine("physics"); - if (tmpEngine != null) { - final EnginePhysics physicsEngine = (EnginePhysics) tmpEngine; - //Disable gravity for test ... - //physicsEngine.setGravity(new Vector3f(0.0f, 0.0f, -1.0f)); - //physicsEngine.setGravity(new Vector3f(0.0f, 0.0f, -10.0f)); - } - - // ready to let Gale & Ege manage the display - LOGGER.info("==> Init APPL (END)"); - } - - @Override - public void onDraw(final GaleContext context) { - //LOGGER.info("==> appl Draw ..."); - final Vector2f size = getSize(); - // Store openGl context. - OpenGL.push(); - // set projection matrix: - final Matrix4f tmpProjection = Matrix4f.createMatrixPerspective(3.14f * 0.5f, getAspectRatio(), 0.1f, 50000); - //final Matrix4f tmpProjection = Matrix4f.createMatrixOrtho(20, 20, 15, 15, 0, 500000); - OpenGL.setMatrix(tmpProjection); - - // set the basic openGL view port: (Draw in all the windows...) - OpenGL.setViewPort(Vector2f.ZERO, size); - - // clear background - final Color bgColor = new Color(0.18f, 0.43f, 0.95f, 1.0f); - OpenGL.clearColor(bgColor); - // real clear request: - OpenGL.clear(OpenGL.ClearFlag.clearFlag_colorBuffer); - OpenGL.clear(OpenGL.ClearFlag.clearFlag_depthBuffer); - OpenGL.enable(Flag.flag_depthTest); - - //LOGGER.info("==> appl Draw ..."); - this.env.render(20, "default"); - if (this.debugDrawProperty == null) { - this.debugDrawProperty = ResourceColored3DObject.create(); - } - // now render the point test collision ... - for (int iii = 0; iii < CollisionTestApplication.testPoints.size(); iii++) { - final Vector3f elem = CollisionTestApplication.testPoints.get(iii); - final boolean collide = CollisionTestApplication.testPointsCollide.get(iii); - if (collide) { - this.debugDrawProperty.drawSquare(new Vector3f(0.1f, 0.1f, 0.1f), - Matrix4f.IDENTITY.multiply( - Matrix4f.createMatrixTranslate(new Vector3f(elem.x(), elem.y(), elem.z() + 14))), - new Color(1, 0, 0, 1)); - } else if (iii == 0) { - this.debugDrawProperty.drawSquare(new Vector3f(0.05f, 0.05f, 0.05f), - Matrix4f.IDENTITY.multiply( - Matrix4f.createMatrixTranslate(new Vector3f(elem.x(), elem.y(), elem.z() + 14))), - new Color(0, 1, 0, 1)); - } else if (iii == 7) { - this.debugDrawProperty.drawSquare(new Vector3f(0.05f, 0.05f, 0.05f), - Matrix4f.IDENTITY.multiply( - Matrix4f.createMatrixTranslate(new Vector3f(elem.x(), elem.y(), elem.z() + 14))), - new Color(1, 1, 0, 1)); - } else { - this.debugDrawProperty.drawSquare(new Vector3f(0.1f, 0.1f, 0.1f), - Matrix4f.IDENTITY.multiply( - Matrix4f.createMatrixTranslate(new Vector3f(elem.x(), elem.y(), elem.z() + 14))), - new Color(1, 1, 1, 1)); - } - } - for (int iii = 0; iii < CollisionTestApplication.testPointsBox.size(); iii++) { - final Vector3f elem = CollisionTestApplication.testPointsBox.get(iii); - if (iii == 0) { - this.debugDrawProperty.drawSquare(new Vector3f(0.05f, 0.05f, 0.05f), - Matrix4f.IDENTITY.multiply( - Matrix4f.createMatrixTranslate(new Vector3f(elem.x(), elem.y(), elem.z() + 14))), - new Color(0, 1, 0, 1)); - } else if (iii == 7) { - this.debugDrawProperty.drawSquare(new Vector3f(0.05f, 0.05f, 0.05f), - Matrix4f.IDENTITY.multiply( - Matrix4f.createMatrixTranslate(new Vector3f(elem.x(), elem.y(), elem.z() + 14))), - new Color(1, 1, 0, 1)); - } else { - this.debugDrawProperty.drawSquare(new Vector3f(0.1f, 0.1f, 0.1f), - Matrix4f.IDENTITY.multiply( - Matrix4f.createMatrixTranslate(new Vector3f(elem.x(), elem.y(), elem.z() + 14))), - new Color(0, 0, 1, 1)); - } - } - - if (CollisionTestApplication.testRpos != null) { - //debugDrawProperty.drawSquare(box2HalfSize, testQTransfert.getMatrix4().multiplyNew(Matrix4f.createMatrixTranslate(new Vector3f(testRpos.x,testRpos.y,testRpos.z+14))), new Color(0,1,0,0.5f)); - //Matrix4f transformation = Matrix4f.createMatrixTranslate(new Vector3f(testRpos.x,testRpos.y,testRpos.z)).multiply(testQTransfert.getMatrix4()).multiply(Matrix4f.createMatrixTranslate(new Vector3f(0,0,14))); - //Matrix4f transformation = testQTransfert.getMatrix4().multiply(Matrix4f.createMatrixTranslate(new Vector3f(testRpos.x,testRpos.y,testRpos.z))).multiply(Matrix4f.createMatrixTranslate(new Vector3f(0,0,14))); - //Matrix4f transformation = testQTransfert.getMatrix4().multiply(Matrix4f.createMatrixTranslate(new Vector3f(testRpos.x,testRpos.y,testRpos.z))).multiply(Matrix4f.createMatrixTranslate(new Vector3f(0,0,14))); - final Matrix4f transformation = Matrix4f - .createMatrixTranslate(new Vector3f(CollisionTestApplication.testRpos.x(), - CollisionTestApplication.testRpos.y(), CollisionTestApplication.testRpos.z())) - .multiply(Matrix4f.createMatrixTranslate(new Vector3f(0, 0, 14))) - .multiply(CollisionTestApplication.testQTransfert.getMatrix4()); - // OK sans la box1 orientation ... - //Matrix4f transformation = Matrix4f.createMatrixTranslate(new Vector3f(testRpos.x,testRpos.y,testRpos.z)).multiply(testQTransfert.getMatrix4()).multiply(Matrix4f.createMatrixTranslate(new Vector3f(0,0,14))); - //Matrix4f transformation = Matrix4f.createMatrixTranslate(new Vector3f(testRpos.x,testRpos.y,testRpos.z)).multiply(testQTransfert.getMatrix4()).multiply(Matrix4f.createMatrixTranslate(new Vector3f(0,0,14))); - this.debugDrawProperty.drawSquare(CollisionTestApplication.box2HalfSize, transformation, - new Color(0, 1, 0, 0.5f)); - this.debugDrawProperty.drawSquare(CollisionTestApplication.box1HalfSize, - Matrix4f.createMatrixTranslate(new Vector3f(0, 0, 14)), new Color(0, 0, 1, 0.5f)); - } - - // Restore context of matrix - OpenGL.pop(); - } - - @Override - public void onKeyboard( - final KeySpecial special, - final KeyKeyboard type, - final Character value, - final KeyStatus state) { - if (type == KeyKeyboard.F1) { - Gale.getContext().grabPointerEvents(false, new Vector2f(0, 0)); - } - if (type == KeyKeyboard.F2) { - Gale.getContext().grabPointerEvents(true, new Vector2f(0, 0)); - } - if (type == KeyKeyboard.F12) { - Gale.getContext().setFullScreen(!Gale.getContext().getFullScreen()); - } - this.env.onKeyboard(special, type, value, state); - } - - @Override - public void onPointer( - final KeySpecial special, - final KeyType type, - final int pointerID, - final Vector2f pos, - final KeyStatus state) { - this.env.onPointer(special, type, pointerID, new Vector3f(pos.x(), pos.y(), 0), state); - } - - @Override - public void onRegenerateDisplay(final GaleContext context) { - //LOGGER.trace("Regenerate Gale Application"); - this.angleLight += 0.01; - final Vector3f posss = this.lightPosition.getTransform().getPosition().add(new Vector3f( - 5 + (float) Math.cos(this.angleLight) * 7.0f, 5 + (float) Math.sin(this.angleLight) * 7.0f, 0)); - this.lightPosition.setTransform(this.lightPosition.getTransform().withPosition(posss)); - this.env.periodicCall(); - markDrawingIsNeeded(); - } -} diff --git a/samples/src/sample/atriasoft/ege/collisiontest/MainCollisionTest.java b/samples/src/sample/atriasoft/ege/collisiontest/MainCollisionTest.java deleted file mode 100644 index f2d6e4f..0000000 --- a/samples/src/sample/atriasoft/ege/collisiontest/MainCollisionTest.java +++ /dev/null @@ -1,17 +0,0 @@ -package sample.atriasoft.ege.collisiontest; - -import org.atriasoft.ege.Ege; -import org.atriasoft.etk.Uri; -import org.atriasoft.gale.Gale; - -public class MainCollisionTest { - public static void main(final String[] args) { - Gale.init(); - Ege.init(); - Uri.setGroup("DATA", "data/"); - Uri.setGroup("RES", "res"); - Uri.addLibrary("loxelEngine", MainCollisionTest.class, "resources/testDataLoxelEngine"); - Uri.setApplication(MainCollisionTest.class, "resources"); - Gale.run(new CollisionTestApplication(), args); - } -} diff --git a/samples/src/sample/atriasoft/ege/lightTest/LightTestApplication.java b/samples/src/sample/atriasoft/ege/lightTest/LightTestApplication.java deleted file mode 100644 index 037e787..0000000 --- a/samples/src/sample/atriasoft/ege/lightTest/LightTestApplication.java +++ /dev/null @@ -1,196 +0,0 @@ -package sample.atriasoft.ege.lightTest; - -import org.atriasoft.ege.ControlCameraSimple; -import org.atriasoft.ege.Entity; -import org.atriasoft.ege.Environement; -import org.atriasoft.ege.GameStatus; -import org.atriasoft.ege.Light; -import org.atriasoft.ege.Material; -import org.atriasoft.ege.camera.Camera; -import org.atriasoft.ege.components.ComponentLight; -import org.atriasoft.ege.components.ComponentLightSun; -import org.atriasoft.ege.components.ComponentMaterial; -import org.atriasoft.ege.components.ComponentPosition; -import org.atriasoft.ege.components.ComponentRenderColoredStaticMesh; -import org.atriasoft.ege.components.ComponentRenderTexturedMaterialsStaticMesh; -import org.atriasoft.ege.components.ComponentRenderTexturedStaticMesh; -import org.atriasoft.ege.components.ComponentStaticMesh; -import org.atriasoft.ege.components.ComponentTexture; -import org.atriasoft.ege.engines.EngineLight; -import org.atriasoft.ege.tools.MeshGenerator; -import org.atriasoft.etk.Color; -import org.atriasoft.etk.Uri; -import org.atriasoft.etk.math.Matrix4f; -import org.atriasoft.etk.math.Quaternion; -import org.atriasoft.etk.math.Transform3D; -import org.atriasoft.etk.math.Vector2f; -import org.atriasoft.etk.math.Vector3f; -import org.atriasoft.gale.GaleApplication; -import org.atriasoft.gale.backend3d.OpenGL; -import org.atriasoft.gale.backend3d.OpenGL.Flag; -import org.atriasoft.gale.context.GaleContext; -import org.atriasoft.gale.key.KeyKeyboard; -import org.atriasoft.gale.key.KeySpecial; -import org.atriasoft.gale.key.KeyStatus; -import org.atriasoft.gale.key.KeyType; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class LightTestApplication extends GaleApplication { - final static private Logger LOGGER = LoggerFactory.getLogger(LightTestApplication.class); - private float angleLight = 0; - private Quaternion basicRotation = Quaternion.IDENTITY; - private Quaternion basicRotation2 = Quaternion.IDENTITY; - private Environement env; - private ComponentPosition lightPosition; - private Material materialCube; - private ComponentPosition objectPosition; - private ControlCameraSimple simpleControl; - - public LightTestApplication() {} - - @Override - public void onCreate(final GaleContext context) { - try { - Thread.sleep(1000); - } catch (InterruptedException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - this.env = new Environement(); - setSize(new Vector2f(800, 600)); - setTitle("Low Poly sample"); - - // simple sun to have a global light ... - final Entity sun = new Entity(this.env); - sun.addComponent(new ComponentPosition(new Transform3D(new Vector3f(1000, 1000, 1000)))); - sun.addComponent(new ComponentLightSun( - new Light(new Color(0.4f, 0.4f, 0.4f), new Vector3f(0, 0, 0), new Vector3f(0.8f, 0, 0)))); - this.env.addEntity(sun); - - // add a cube to show where in the light ... - final Entity localLight = new Entity(this.env); - this.lightPosition = new ComponentPosition(new Transform3D(new Vector3f(-10, -10, 1))); - localLight.addComponent(this.lightPosition); - localLight.addComponent(new ComponentStaticMesh(new Uri("RES", "cube-one.obj"))); - localLight.addComponent(new ComponentTexture(new Uri("RES", "grass.png"))); - localLight.addComponent(new ComponentLight( - new Light(new Color(0.0f, 2.0f, 0.0f), new Vector3f(0, 0, 0), new Vector3f(0.8f, 0.01f, 0.002f)))); - localLight.addComponent(new ComponentRenderTexturedStaticMesh(new Uri("DATA", "basic.vert", "loxelEngine"), - new Uri("DATA", "basic.frag", "loxelEngine"))); - this.env.addEntity(localLight); - - final Entity gird = new Entity(this.env); - gird.addComponent(new ComponentPosition(new Transform3D(new Vector3f(0, 0, 0)))); - gird.addComponent(new ComponentStaticMesh(MeshGenerator.createGrid(5))); - gird.addComponent(new ComponentRenderColoredStaticMesh(new Uri("DATA", "wireColor.vert", "ege"), - new Uri("DATA", "wireColor.frag", "ege"))); - this.env.addEntity(gird); - - final Entity basicTree = new Entity(this.env); - this.objectPosition = new ComponentPosition(new Transform3D(new Vector3f(0, 0, 0))); - basicTree.addComponent(this.objectPosition); - this.materialCube = new Material(); - basicTree.addComponent(new ComponentMaterial(this.materialCube)); - basicTree.addComponent(new ComponentStaticMesh(new Uri("RES", "cube.obj"))); - basicTree.addComponent(new ComponentTexture(new Uri("RES", "mud.png"))); - //basicTree.addComponent(new ComponentRenderTexturedStaticMesh(new Uri("DATA", "basic.vert", "loxelEngine"), new Uri("DATA", "basic.frag", "loxelEngine"))); - basicTree.addComponent( - new ComponentRenderTexturedMaterialsStaticMesh(new Uri("DATA", "basicMaterial.vert", "loxelEngine"), - new Uri("DATA", "basicMaterial.frag", "loxelEngine"), - (EngineLight) this.env.getEngine(EngineLight.ENGINE_NAME))); - this.env.addEntity(basicTree); - - for (int xxx = -10; xxx < 10; xxx++) { - for (int yyy = -10; yyy < 10; yyy++) { - final Entity superGrass = new Entity(this.env); - superGrass.addComponent(new ComponentPosition(new Transform3D(new Vector3f(xxx, yyy, -1)))); - superGrass.addComponent(new ComponentMaterial(new Material())); - superGrass.addComponent(new ComponentStaticMesh(new Uri("RES", "cube-one.obj"))); - superGrass.addComponent(new ComponentTexture(new Uri("RES", "dirt.png"))); - superGrass.addComponent(new ComponentRenderTexturedMaterialsStaticMesh( - new Uri("DATA", "basicMaterial.vert", "loxelEngine"), - new Uri("DATA", "basicMaterial.frag", "loxelEngine"), - (EngineLight) this.env.getEngine(EngineLight.ENGINE_NAME))); - this.env.addEntity(superGrass); - } - } - - final Camera mainView = new Camera(); - this.env.addCamera("default", mainView); - mainView.setPitch((float) Math.PI * -0.25f); - mainView.setPosition(new Vector3f(0, -5, 5)); - - this.simpleControl = new ControlCameraSimple(mainView); - this.env.addControlInterface(this.simpleControl); - - // start the engine. - this.env.setPropertyStatus(GameStatus.gameStart); - - this.basicRotation = Quaternion.fromEulerAngles(new Vector3f(0.005f, 0.005f, 0.01f)); - this.basicRotation2 = Quaternion.fromEulerAngles(new Vector3f(0.003f, 0.01f, 0.001f)); - // ready to let Gale & Ege manage the display - LOGGER.info("==> Init APPL (END)"); - } - - @Override - public void onDraw(final GaleContext context) { - //LOGGER.info("==> appl Draw ..."); - final Vector2f size = getSize(); - // Store openGl context. - OpenGL.push(); - // set projection matrix: - final Matrix4f tmpProjection = Matrix4f.createMatrixPerspective(3.14f * 0.5f, getAspectRatio(), 0.1f, 50000); - OpenGL.setMatrix(tmpProjection); - - // set the basic openGL view port: (Draw in all the windows...) - OpenGL.setViewPort(new Vector2f(0, 0), size); - - // clear background - final Color bgColor = new Color(0.0f, 1.0f, 0.0f, 1.0f); - OpenGL.clearColor(bgColor); - // real clear request: - OpenGL.clear(OpenGL.ClearFlag.clearFlag_colorBuffer); - OpenGL.clear(OpenGL.ClearFlag.clearFlag_depthBuffer); - OpenGL.enable(Flag.flag_depthTest); - - this.env.render(20, "default"); - - // Restore context of matrix - OpenGL.pop(); - } - - @Override - public void onKeyboard( - final KeySpecial special, - final KeyKeyboard type, - final Character value, - final KeyStatus state) { - this.env.onKeyboard(special, type, value, state); - } - - @Override - public void onPointer( - final KeySpecial special, - final KeyType type, - final int pointerID, - final Vector2f pos, - final KeyStatus state) { - this.env.onPointer(special, type, pointerID, new Vector3f(pos.x(), pos.y(), 0), state); - } - - @Override - public void onRegenerateDisplay(final GaleContext context) { - //LOGGER.trace("Regenerate Gale Application"); - //materialCube.setAmbientFactor(new Vector3f(1.0f,1.0f,1.0f)); - // apply a little rotation to show the element move - //objectPosition.getTransform().applyRotation(basicRotation); - //objectPosition.getTransform().applyRotation(basicRotation2); - this.angleLight += 0.01; - this.lightPosition.setTransform(this.lightPosition.getTransform().withPosition( - new Vector3f((float) Math.cos(this.angleLight) * 7.0f, (float) Math.sin(this.angleLight) * 7.0f, - this.lightPosition.getTransform().getPosition().z()))); - this.env.periodicCall(); - markDrawingIsNeeded(); - } -} diff --git a/samples/src/sample/atriasoft/ege/lightTest/MainLightTest.java b/samples/src/sample/atriasoft/ege/lightTest/MainLightTest.java deleted file mode 100644 index 96749cb..0000000 --- a/samples/src/sample/atriasoft/ege/lightTest/MainLightTest.java +++ /dev/null @@ -1,19 +0,0 @@ -package sample.atriasoft.ege.lightTest; - -import org.atriasoft.ege.Ege; -import org.atriasoft.etk.Uri; -import org.atriasoft.gale.Gale; - -import sample.atriasoft.ege.collisiontest.MainCollisionTest; - -public class MainLightTest { - public static void main(final String[] args) { - Gale.init(); - Ege.init(); - Uri.setGroup("DATA", "data"); - Uri.setGroup("RES", "res"); - Uri.addLibrary("loxelEngine", MainCollisionTest.class, "resources/testDataLoxelEngine"); - Uri.setApplication(MainCollisionTest.class, "resources"); - Gale.run(new LightTestApplication(), args); - } -} diff --git a/samples/src/sample/atriasoft/ege/lowPoly/LowPolyApplication.java b/samples/src/sample/atriasoft/ege/lowPoly/LowPolyApplication.java deleted file mode 100644 index 0990b37..0000000 --- a/samples/src/sample/atriasoft/ege/lowPoly/LowPolyApplication.java +++ /dev/null @@ -1,207 +0,0 @@ -package sample.atriasoft.ege.lowPoly; - -import org.atriasoft.ege.ControlCameraSimple; -import org.atriasoft.ege.Entity; -import org.atriasoft.ege.Environement; -import org.atriasoft.ege.GameStatus; -import org.atriasoft.ege.Light; -import org.atriasoft.ege.Material; -import org.atriasoft.ege.camera.Camera; -import org.atriasoft.ege.components.ComponentLight; -import org.atriasoft.ege.components.ComponentLightSun; -import org.atriasoft.ege.components.ComponentMesh; -import org.atriasoft.ege.components.ComponentPosition; -import org.atriasoft.ege.components.ComponentRenderColoredStaticMesh; -import org.atriasoft.ege.components.ComponentRenderMeshPalette; -import org.atriasoft.ege.components.ComponentRenderTexturedStaticMesh; -import org.atriasoft.ege.components.ComponentStaticMesh; -import org.atriasoft.ege.components.ComponentTexture; -import org.atriasoft.ege.components.ComponentTexturePalette; -import org.atriasoft.ege.engines.EngineLight; -import org.atriasoft.ege.tools.MeshGenerator; -import org.atriasoft.etk.Color; -import org.atriasoft.etk.Uri; -import org.atriasoft.etk.math.Matrix4f; -import org.atriasoft.etk.math.Quaternion; -import org.atriasoft.etk.math.Transform3D; -import org.atriasoft.etk.math.Vector2f; -import org.atriasoft.etk.math.Vector3f; -import org.atriasoft.gale.GaleApplication; -import org.atriasoft.gale.backend3d.OpenGL; -import org.atriasoft.gale.backend3d.OpenGL.Flag; -import org.atriasoft.gale.context.GaleContext; -import org.atriasoft.gale.key.KeyKeyboard; -import org.atriasoft.gale.key.KeySpecial; -import org.atriasoft.gale.key.KeyStatus; -import org.atriasoft.gale.key.KeyType; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class LowPolyApplication extends GaleApplication { - final static private Logger LOGGER = LoggerFactory.getLogger(LowPolyApplication.class); - private float angleLight = 0; - private Quaternion basicRotation = Quaternion.IDENTITY; - private Quaternion basicRotation2 = Quaternion.IDENTITY; - private Environement env; - private ComponentPosition lightPosition; - private Material materialCube; - private ComponentPosition objectPosition; - private ControlCameraSimple simpleControl; - - public LowPolyApplication() {} - - @Override - public void onCreate(final GaleContext context) { - try { - Thread.sleep(1000); - } catch (InterruptedException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - this.env = new Environement(); - setSize(new Vector2f(800, 600)); - setTitle("Low Poly sample"); - - // simple sun to have a global light ... - final Entity sun = new Entity(this.env); - sun.addComponent(new ComponentPosition(new Transform3D(new Vector3f(1000, 1000, 1000)))); - sun.addComponent(new ComponentLightSun( - new Light(new Color(1.0f, 1.0f, 1.0f), new Vector3f(0, 0, 0), new Vector3f(1.0f, 0, 0)))); - this.env.addEntity(sun); - - // add a cube to show where in the light ... - final Entity localLight = new Entity(this.env); - this.lightPosition = new ComponentPosition(new Transform3D(new Vector3f(-10, -10, 1))); - localLight.addComponent(this.lightPosition); - localLight.addComponent(new ComponentStaticMesh(new Uri("DATA", "cube-one.obj"))); - localLight.addComponent(new ComponentTexture(new Uri("DATA", "grass.png"))); - localLight.addComponent(new ComponentLight( - new Light(new Color(0.0f, 0.0f, 2.0f), new Vector3f(0, 0, 0), new Vector3f(0.8f, 0.01f, 0.002f)))); - localLight.addComponent(new ComponentRenderTexturedStaticMesh(new Uri("DATA", "basic.vert", "loxelEngine"), - new Uri("DATA", "basic.frag", "loxelEngine"))); - this.env.addEntity(localLight); - - // Simple Gird - final Entity gird = new Entity(this.env); - gird.addComponent(new ComponentPosition(new Transform3D(new Vector3f(0, 0, 0)))); - gird.addComponent(new ComponentStaticMesh(MeshGenerator.createGrid(5))); - gird.addComponent(new ComponentRenderColoredStaticMesh(new Uri("DATA", "wireColor.vert", "ege"), - new Uri("DATA", "wireColor.frag", "ege"))); - this.env.addEntity(gird); - - // test entity - Entity basicTree = new Entity(this.env); - this.objectPosition = new ComponentPosition(new Transform3D(new Vector3f(0, 0, 0))); - basicTree.addComponent(this.objectPosition); - //this.materialCube = new Material(); - //basicTree.addComponent(new ComponentMaterial(this.materialCube)); - basicTree.addComponent(new ComponentMesh(new Uri("DATA", "tree1.emf"))); - basicTree.addComponent(new ComponentTexturePalette(new Uri("DATA", "palette_1.json"))); - //basicTree.addComponent(new ComponentRenderTexturedStaticMesh(new Uri("DATA", "basic.vert", "loxelEngine"), new Uri("DATA", "basic.frag", "loxelEngine"))); - basicTree.addComponent(new ComponentRenderMeshPalette(new Uri("DATA", "basicPalette.vert"), - new Uri("DATA", "basicPalette.frag"), (EngineLight) this.env.getEngine(EngineLight.ENGINE_NAME))); - this.env.addEntity(basicTree); - - basicTree = new Entity(this.env); - this.objectPosition = new ComponentPosition(new Transform3D(new Vector3f(3, 2, 0))); - basicTree.addComponent(this.objectPosition); - //this.materialCube = new Material(); - //basicTree.addComponent(new ComponentMaterial(this.materialCube)); - basicTree.addComponent(new ComponentMesh(new Uri("DATA", "tree2.emf"))); - basicTree.addComponent(new ComponentTexturePalette(new Uri("DATA", "palette_1.json"))); - //basicTree.addComponent(new ComponentRenderTexturedStaticMesh(new Uri("DATA", "basic.vert", "loxelEngine"), new Uri("DATA", "basic.frag", "loxelEngine"))); - basicTree.addComponent(new ComponentRenderMeshPalette(new Uri("DATA", "basicPalette.vert"), - new Uri("DATA", "basicPalette.frag"), (EngineLight) this.env.getEngine(EngineLight.ENGINE_NAME))); - this.env.addEntity(basicTree); - - // for (int xxx = -10; xxx < 10; xxx++) { - // for (int yyy = -10; yyy < 10; yyy++) { - // final Entity superGrass = new Entity(this.env); - // superGrass.addComponent(new ComponentPosition(new Transform3D(new Vector3f(xxx, yyy, -1)))); - // superGrass.addComponent(new ComponentMaterial(new Material())); - // superGrass.addComponent(new ComponentStaticMesh(new Uri("RES", "cube-one.obj"))); - // superGrass.addComponent(new ComponentTexture(new Uri("RES", "dirt.png"))); - // superGrass.addComponent(new ComponentRenderTexturedMaterialsStaticMesh(new Uri("DATA", "basicMaterial.vert", "loxelEngine"), new Uri("DATA", "basicMaterial.frag", "loxelEngine"), - // (EngineLight) this.env.getEngine(EngineLight.ENGINE_NAME))); - // this.env.addEntity(superGrass); - // } - // } - - final Camera mainView = new Camera(); - this.env.addCamera("default", mainView); - mainView.setPitch((float) Math.PI * -0.25f); - mainView.setPosition(new Vector3f(0, -5, 5)); - - this.simpleControl = new ControlCameraSimple(mainView); - this.env.addControlInterface(this.simpleControl); - - // start the engine. - this.env.setPropertyStatus(GameStatus.gameStart); - - this.basicRotation = Quaternion.fromEulerAngles(new Vector3f(0.005f, 0.005f, 0.01f)); - this.basicRotation2 = Quaternion.fromEulerAngles(new Vector3f(0.003f, 0.01f, 0.001f)); - // ready to let Gale & Ege manage the display - LOGGER.info("==> Init APPL (END)"); - } - - @Override - public void onDraw(final GaleContext context) { - //LOGGER.info("==> appl Draw ..."); - final Vector2f size = getSize(); - // Store openGl context. - OpenGL.push(); - // set projection matrix: - final Matrix4f tmpProjection = Matrix4f.createMatrixPerspective(3.14f * 0.5f, getAspectRatio(), 0.1f, 50000); - OpenGL.setMatrix(tmpProjection); - - // set the basic openGL view port: (Draw in all the windows...) - OpenGL.setViewPort(new Vector2f(0, 0), size); - - // clear background - final Color bgColor = new Color(0.0f, 1.0f, 0.0f, 1.0f); - OpenGL.clearColor(bgColor); - // real clear request: - OpenGL.clear(OpenGL.ClearFlag.clearFlag_colorBuffer); - OpenGL.clear(OpenGL.ClearFlag.clearFlag_depthBuffer); - OpenGL.enable(Flag.flag_depthTest); - - this.env.render(20, "default"); - - // Restore context of matrix - OpenGL.pop(); - } - - @Override - public void onKeyboard( - final KeySpecial special, - final KeyKeyboard type, - final Character value, - final KeyStatus state) { - this.env.onKeyboard(special, type, value, state); - } - - @Override - public void onPointer( - final KeySpecial special, - final KeyType type, - final int pointerID, - final Vector2f pos, - final KeyStatus state) { - this.env.onPointer(special, type, pointerID, new Vector3f(pos.x(), pos.y(), 0), state); - } - - @Override - public void onRegenerateDisplay(final GaleContext context) { - //LOGGER.trace("Regenerate Gale Application"); - //materialCube.setAmbientFactor(new Vector3f(1.0f,1.0f,1.0f)); - // apply a little rotation to show the element move - //objectPosition.getTransform().applyRotation(basicRotation); - //objectPosition.getTransform().applyRotation(basicRotation2); - this.angleLight += 0.01; - this.lightPosition.setTransform(this.lightPosition.getTransform().withPosition( - new Vector3f((float) Math.cos(this.angleLight) * 7.0f, (float) Math.sin(this.angleLight) * 7.0f, - this.lightPosition.getTransform().getPosition().z()))); - this.env.periodicCall(); - markDrawingIsNeeded(); - } -} diff --git a/samples/src/sample/atriasoft/ege/lowPoly/MainLowPoly.java b/samples/src/sample/atriasoft/ege/lowPoly/MainLowPoly.java deleted file mode 100644 index de58e54..0000000 --- a/samples/src/sample/atriasoft/ege/lowPoly/MainLowPoly.java +++ /dev/null @@ -1,19 +0,0 @@ -package sample.atriasoft.ege.lowPoly; - -import org.atriasoft.ege.Ege; -import org.atriasoft.etk.Uri; -import org.atriasoft.gale.Gale; - -import sample.atriasoft.ege.collisiontest.MainCollisionTest; - -public class MainLowPoly { - public static void main(final String[] args) { - Gale.init(); - Ege.init(); - Uri.setGroup("DATA", "data/"); - Uri.setGroup("RES", "res"); - Uri.addLibrary("loxelEngine", MainCollisionTest.class, "resources/testDataLoxelEngine"); - Uri.setApplication(MainCollisionTest.class, "resources/lowPoly"); - Gale.run(new LowPolyApplication(), args); - } -} diff --git a/samples/src/sample/atriasoft/ege/loxelEngine/LoxelApplicationPerso.java b/samples/src/sample/atriasoft/ege/loxelEngine/LoxelApplicationPerso.java deleted file mode 100644 index 193a680..0000000 --- a/samples/src/sample/atriasoft/ege/loxelEngine/LoxelApplicationPerso.java +++ /dev/null @@ -1,566 +0,0 @@ -package sample.atriasoft.ege.loxelEngine; - -import java.util.ArrayList; -import java.util.List; - -import org.atriasoft.ege.ControlCameraPlayer; -import org.atriasoft.ege.Entity; -import org.atriasoft.ege.Environement; -import org.atriasoft.ege.GameStatus; -import org.atriasoft.ege.Light; -import org.atriasoft.ege.Material; -import org.atriasoft.ege.camera.Camera; -import org.atriasoft.ege.components.ComponentGravityStatic; -import org.atriasoft.ege.components.ComponentLight; -import org.atriasoft.ege.components.ComponentLightSun; -import org.atriasoft.ege.components.ComponentMaterial; -import org.atriasoft.ege.components.ComponentPhysics; -import org.atriasoft.ege.components.ComponentPlayer; -import org.atriasoft.ege.components.ComponentPosition; -import org.atriasoft.ege.components.ComponentPositionPlayer; -import org.atriasoft.ege.components.ComponentRenderColoredStaticMesh; -import org.atriasoft.ege.components.ComponentRenderTexturedMaterialsStaticMesh; -import org.atriasoft.ege.components.ComponentRenderTexturedStaticMesh; -import org.atriasoft.ege.components.ComponentStaticMesh; -import org.atriasoft.ege.components.ComponentTexture; -import org.atriasoft.ege.components.PhysicBodyType; -import org.atriasoft.ege.engines.EngineLight; -import org.atriasoft.ege.map.MapVoxel; -import org.atriasoft.ege.tools.MeshGenerator; -import org.atriasoft.etk.Color; -import org.atriasoft.etk.Uri; -import org.atriasoft.etk.math.Matrix4f; -import org.atriasoft.etk.math.Quaternion; -import org.atriasoft.etk.math.Transform3D; -import org.atriasoft.etk.math.Vector2f; -import org.atriasoft.etk.math.Vector3f; -import org.atriasoft.gale.Gale; -import org.atriasoft.gale.GaleApplication; -import org.atriasoft.gale.backend3d.OpenGL; -import org.atriasoft.gale.backend3d.OpenGL.Flag; -import org.atriasoft.gale.context.GaleContext; -import org.atriasoft.gale.key.KeyKeyboard; -import org.atriasoft.gale.key.KeySpecial; -import org.atriasoft.gale.key.KeyStatus; -import org.atriasoft.gale.key.KeyType; -import org.atriasoft.gale.resource.ResourceColored3DObject; -import org.atriasoft.phyligram.PhysicBox; -import org.atriasoft.phyligram.PhysicSphere; -import org.atriasoft.phyligram.PhysicTriangle; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class LoxelApplicationPerso extends GaleApplication { - final static private Logger LOGGER = LoggerFactory.getLogger(LoxelApplicationPerso.class); - public static Vector3f box1HalfSize; - public static Vector3f box2HalfSize; - // public static ComponentPosition relativeTestPos; - // public static Box boxTest; - public static List testPoints = new ArrayList<>(); - public static List testPointsBox = new ArrayList<>(); - public static List testPointsCollide = new ArrayList<>(); - public static Quaternion testQTransfert; - public static Vector3f testRpos; - public boolean disable = false; - private float angleLight = 0; - private Quaternion basicRotation = Quaternion.IDENTITY; - private Quaternion basicRotation2 = Quaternion.IDENTITY; - private ResourceColored3DObject debugDrawProperty; - private Environement env; - private ComponentPosition lightPosition; - private MapVoxel map; - private ComponentPlayer objectPlayer; - private ComponentPosition objectPosition; - private ControlCameraPlayer simpleControl; - - public LoxelApplicationPerso() { - - } - - @Override - public void onCreate(final GaleContext context) { - // set the system global max speed - //ComponentPhysicsPerso.globalMaxSpeed = 3; - Gale.getContext().grabPointerEvents(true, new Vector2f(0, 0)); - this.env = new Environement(); - setSize(new Vector2f(1500, 1500)); - setTitle("Loxel sample"); - this.map = new MapVoxel(this.env); - // this.env.addEngine(map); - // map.init(); - - // simple sun to have a global light ... - final Entity globalGravity = new Entity(this.env); - globalGravity.addComponent(new ComponentGravityStatic(new Vector3f(0, 0, -1))); - this.env.addEntity(globalGravity); - - // simple sun to have a global light ... - final Entity sun = new Entity(this.env); - sun.addComponent(new ComponentPosition(new Transform3D(new Vector3f(1000, 1000, 1000)))); - sun.addComponent(new ComponentLightSun( - new Light(new Color(0.4f, 0.4f, 0.4f), new Vector3f(0, 0, 0), new Vector3f(0.8f, 0, 0)))); - this.env.addEntity(sun); - - // add a cube to show where in the light ... - final Entity localLight = new Entity(this.env); - this.lightPosition = new ComponentPosition(new Transform3D(new Vector3f(-10, -10, 17))); - // localLight.addComponent(lightPosition); - // localLight.addComponent(new ComponentStaticMesh(new Uri("RES", "cube.obj"))); - // localLight.addComponent(new ComponentTexture(new Uri("RES", "grass.png"))); - // localLight.addComponent(new ComponentLight(new Light(new Vector3f(0,1,0), new Vector3f(0,0,0), new Vector3f(0.8f,0.03f,0.002f)))); - // localLight.addComponent(new ComponentRenderTexturedStaticMesh( - // new Uri("DATA", "basic.vert"), - // new Uri("DATA", "basic.frag"))); - // env.addEntity(localLight); - if (this.disable) { - // add a cube to test collision ... - final Entity localBox = new Entity(this.env); - localBox.addComponent(new ComponentStaticMesh(new Uri("RES", "cube-one.obj"))); - localBox.addComponent(new ComponentTexture(new Uri("DATA", "blocks/clay.png", "loxelEngine"))); - localBox.addComponent(new ComponentLight( - new Light(new Color(0.0f, 1.0f, 0.0f), new Vector3f(0, 0, 0), new Vector3f(0.8f, 0.03f, 0.002f)))); - localBox.addComponent(new ComponentRenderTexturedStaticMesh(new Uri("DATA", "basic.vert", "loxelEngine"), - new Uri("DATA", "basic.frag", "loxelEngine"))); - localBox.addComponent(new ComponentPosition(new Transform3D(new Vector3f(0, 0, 5)))); - final ComponentPhysics physics2 = new ComponentPhysics(this.env); - final PhysicBox box2 = new PhysicBox(); - box2.setSize(new Vector3f(1.001f, 1.001f, 1.001f)); - box2.setOrigin(new Vector3f(0, 0, 0)); - box2.setMass(1); - physics2.addShape(box2); - localBox.addComponent(physics2); - this.env.addEntity(localBox); - } - if (this.disable) { - // add a cube to test collision ... - final Entity localBox = new Entity(this.env); - localBox.addComponent(new ComponentStaticMesh(new Uri("RES", "cube-one.obj"))); - localBox.addComponent(new ComponentTexture(new Uri("DATA", "blocks/clay.png", "loxelEngine"))); - localBox.addComponent(new ComponentLight( - new Light(new Color(0.0f, 1.0f, 0.0f), new Vector3f(0, 0, 0), new Vector3f(0.8f, 0.03f, 0.002f)))); - localBox.addComponent(new ComponentRenderTexturedStaticMesh(new Uri("DATA", "basic.vert", "loxelEngine"), - new Uri("DATA", "basic.frag", "loxelEngine"))); - localBox.addComponent(new ComponentPosition(new Transform3D(new Vector3f(0, 4, 2.5f)))); - final ComponentPhysics physics2 = new ComponentPhysics(this.env); - final PhysicBox box2 = new PhysicBox(); - box2.setSize(new Vector3f(2.0f, 2.0f, 2.0f)); - box2.setOrigin(new Vector3f(0, 0, 0)); - box2.setMass(1); - physics2.addShape(box2); - localBox.addComponent(physics2); - this.env.addEntity(localBox); - } - if (this.disable) { - // add a cube to test collision ... - final Entity localBox = new Entity(this.env); - localBox.addComponent(new ComponentStaticMesh(new Uri("RES", "cube-one.obj"))); - localBox.addComponent(new ComponentTexture(new Uri("DATA", "blocks/clay.png", "loxelEngine"))); - localBox.addComponent(new ComponentRenderTexturedStaticMesh(new Uri("DATA", "basic.vert", "loxelEngine"), - new Uri("DATA", "basic.frag", "loxelEngine"))); - localBox.addComponent(new ComponentPosition(new Transform3D(new Vector3f(-2, 2, 1.5f)))); - final ComponentPhysics physics2 = new ComponentPhysics(this.env); - final PhysicBox box2 = new PhysicBox(); - box2.setSize(new Vector3f(3.0f, 3.0f, 3.0f)); - box2.setOrigin(new Vector3f(0, 0, 0)); - box2.setMass(1); - physics2.addShape(box2); - localBox.addComponent(physics2); - this.env.addEntity(localBox); - } - - if (this.disable) { - // add a cube to test collision ... - final Entity localBox = new Entity(this.env); - localBox.addComponent(new ComponentStaticMesh(new Uri("RES", "cube-one.obj"))); - localBox.addComponent(new ComponentTexture(new Uri("DATA", "blocks/clay.png", "loxelEngine"))); - localBox.addComponent(new ComponentRenderTexturedStaticMesh(new Uri("DATA", "basic.vert", "loxelEngine"), - new Uri("DATA", "basic.frag", "loxelEngine"))); - localBox.addComponent(new ComponentPosition(new Transform3D(new Vector3f(-5, -5, 0)))); - final ComponentPhysics physics2 = new ComponentPhysics(this.env); - final PhysicBox box2 = new PhysicBox(); - box2.setSize(new Vector3f(2, 2, 2)); - box2.setOrigin(new Vector3f(0, 0, 0)); - box2.setMass(1); - physics2.addShape(box2); - localBox.addComponent(physics2); - this.env.addEntity(localBox); - } - if (this.disable) { - // add a cube to test collision ... - final Entity localBox = new Entity(this.env); - Quaternion orientation = new Quaternion(0.5f, 0.2f, 0.4f, 1); - orientation = orientation.normalize(); - localBox.addComponent(new ComponentStaticMesh(new Uri("RES", "cube-one.obj"))); - localBox.addComponent(new ComponentTexture(new Uri("DATA", "blocks/clay.png", "loxelEngine"))); - localBox.addComponent(new ComponentRenderTexturedStaticMesh(new Uri("DATA", "basic.vert", "loxelEngine"), - new Uri("DATA", "basic.frag", "loxelEngine"))); - localBox.addComponent(new ComponentPosition(new Transform3D(new Vector3f(15, 15, 0), orientation))); - final ComponentPhysics physics2 = new ComponentPhysics(this.env); - final PhysicBox box2 = new PhysicBox(); - box2.setSize(new Vector3f(4, 4, 4)); - box2.setOrigin(new Vector3f(0, 0, 0)); - box2.setMass(1); - physics2.addShape(box2); - localBox.addComponent(physics2); - this.env.addEntity(localBox); - } - if (this.disable) { - // add a cube to test collision ... - final Entity localBox = new Entity(this.env); - final Quaternion orientation = new Quaternion(0.3f, 1.3f, 0.4f, 1); - //orientation.normalize(); - localBox.addComponent(new ComponentStaticMesh(new Uri("RES", "cube-one.obj"))); - localBox.addComponent(new ComponentTexture(new Uri("DATA", "blocks/clay.png", "loxelEngine"))); - localBox.addComponent(new ComponentRenderTexturedStaticMesh(new Uri("DATA", "basic.vert", "loxelEngine"), - new Uri("DATA", "basic.frag", "loxelEngine"))); - localBox.addComponent(new ComponentPosition(new Transform3D(new Vector3f(2, -2, 0.2f), orientation))); - final ComponentPhysics physics2 = new ComponentPhysics(this.env); - // TODO: physics2.setAngularReactionEnable(false); - final PhysicBox box2 = new PhysicBox(); - box2.setSize(new Vector3f(0.5f, 0.5f, 0.5f)); - box2.setOrigin(new Vector3f(0, 0, 0)); - box2.setMass(1); - physics2.addShape(box2); - localBox.addComponent(physics2); - this.env.addEntity(localBox); - } - if (this.disable) { - // this is the floor - final Entity localBox = new Entity(this.env); - Quaternion orientation = new Quaternion(0, 0, 0, 1); - orientation = orientation.normalize(); - localBox.addComponent(new ComponentStaticMesh(new Uri("RES", "cube-one.obj"))); - localBox.addComponent(new ComponentTexture(new Uri("DATA", "blocks/dirt.png", "loxelEngine"))); - localBox.addComponent(new ComponentRenderTexturedStaticMesh(new Uri("DATA", "basic.vert", "loxelEngine"), - new Uri("DATA", "basic.frag", "loxelEngine"))); - localBox.addComponent(new ComponentPosition(new Transform3D(new Vector3f(0, 0, 0.0f), orientation))); - final ComponentPhysics physics2 = new ComponentPhysics(this.env); - physics2.setBodyType(PhysicBodyType.BODY_STATIC); - final PhysicBox box2 = new PhysicBox(); - box2.setSize(new Vector3f(20.0f, 20.0f, 0.5f)); - box2.setOrigin(new Vector3f(0, 0, 0)); - box2.setMass(0); - physics2.addShape(box2); - localBox.addComponent(physics2); - this.env.addEntity(localBox); - } - // { - // // add a cube to test collision ... - // Entity localBox = new Entity(this.env); - // relativeTestPos = new ComponentPosition(new Transform3D(new Vector3f(0,0,14),new Quaternion(0.5f,0.2f,0.4f,1))); - // localBox.addComponent(relativeTestPos); - //// localBox.addComponent(new ComponentStaticMesh(new Uri("RES", "cube-one.obj"))); - //// localBox.addComponent(new ComponentTexture(new Uri("DATA", "blocks/clay.png", "loxelEngine"))); - //// localBox.addComponent(new ComponentLight(new Light(new Vector3f(0,1,0), new Vector3f(0,0,0), new Vector3f(0.8f,0.03f,0.002f)))); - //// localBox.addComponent(new ComponentRenderTexturedStaticMesh( - //// new Uri("DATA", "basic.vert"), - //// new Uri("DATA", "basic.frag"))); - // ComponentPhysicsPerso physics2 = new ComponentPhysicsPerso(true); - // boxTest = new Box(); - // boxTest.setSize(new Vector3f(1,1,1)); - // boxTest.setOrigin(new Vector3f(0,0,0)); - // boxTest.setMass(1); - // physics2.addShape(boxTest); - // localBox.addComponent(physics2); - // env.addEntity(localBox); - // } - // { - // Entity localBox = new Entity(this.env); - // localBox.addComponent(new ComponentPosition(new Transform3D(new Vector3f(0,0,14)))); - // localBox.addComponent(new ComponentStaticMesh(new Uri("RES", "cube-one.obj"))); - // localBox.addComponent(new ComponentTexture(new Uri("DATA", "blocks/clay.png", "loxelEngine"))); - // localBox.addComponent(new ComponentRenderTexturedStaticMesh( - // new Uri("DATA", "basic.vert"), - // new Uri("DATA", "basic.frag"))); - // env.addEntity(localBox); - // } - boolean selectCase1 = true; - if (!this.disable) { - // add a cube to test collision ... - final Entity localBox = new Entity(this.env); - localBox.addComponent(new ComponentStaticMesh(new Uri("RES", "cube-one.obj"))); - localBox.addComponent(new ComponentTexture(new Uri("DATA", "blocks/clay.png", "loxelEngine"))); - localBox.addComponent(new ComponentLight( - new Light(new Color(0.0f, 1.0f, 0.0f), new Vector3f(0, 0, 0), new Vector3f(0.8f, 0.03f, 0.002f)))); - localBox.addComponent(new ComponentRenderTexturedStaticMesh(new Uri("DATA", "basic.vert", "loxelEngine"), - new Uri("DATA", "basic.frag", "loxelEngine"))); - localBox.addComponent(new ComponentPosition(new Transform3D(new Vector3f(0, 3, 0)))); - final ComponentPhysics physics2 = new ComponentPhysics(this.env); - physics2.setBodyType(PhysicBodyType.BODY_STATIC); - PhysicTriangle box2 = new PhysicTriangle(); - if (selectCase1) { - box2.setPoints(new Vector3f(4, 0, 0), new Vector3f(0, 4, 0), new Vector3f(-2, -2, 1)); - box2.setOrigin(new Vector3f(0, 0, 0)); - box2.setMass(0); - physics2.addShape(box2); - box2 = new PhysicTriangle(); - box2.setPoints(new Vector3f(4, 0, 0), new Vector3f(0, 4, 0), new Vector3f(600, 600, -100)); - box2.setOrigin(new Vector3f(0, 0, 0)); - box2.setMass(0); - box2.setFrictionCoefficient(1.0f); - box2.setBouncingCoefficient(0.5f); - } else { - box2.setPoints(new Vector3f(4, 0, 0), new Vector3f(0, 4, 0), new Vector3f(-2, -2, 1)); - box2.setOrigin(new Vector3f(0, 0, 0)); - box2.setMass(0); - box2.setBouncingCoefficient(0.5f); - } - physics2.addShape(box2); - localBox.addComponent(physics2); - this.env.addEntity(localBox); - } - if (selectCase1) { - // add a cube to test collision ... - final Entity localBox = new Entity(this.env); - localBox.addComponent(new ComponentStaticMesh(new Uri("RES", "cube-one.obj"))); - localBox.addComponent(new ComponentTexture(new Uri("DATA", "blocks/clay.png", "loxelEngine"))); - localBox.addComponent(new ComponentLight( - new Light(new Color(0.0f, 1.0f, 0.0f), new Vector3f(0, 0, 0), new Vector3f(0.8f, 0.03f, 0.002f)))); - localBox.addComponent(new ComponentRenderTexturedStaticMesh(new Uri("DATA", "basic.vert", "loxelEngine"), - new Uri("DATA", "basic.frag", "loxelEngine"))); - localBox.addComponent(new ComponentPosition(new Transform3D(new Vector3f(1.1f, 5.1f, 1.0f), - Quaternion.fromEulerAngles(new Vector3f(0.15f, 0.95f, 0.3f))))); - final ComponentPhysics physics2 = new ComponentPhysics(this.env); - final PhysicSphere box2 = new PhysicSphere(); - physics2.setBodyType(PhysicBodyType.BODY_STATIC); - box2.setSize(1.0f); - box2.setOrigin(new Vector3f(0, 0, 0)); - box2.setMass(0); - box2.setBouncingCoefficient(0.5f); - physics2.addShape(box2); - localBox.addComponent(physics2); - this.env.addEntity(localBox); - } - if (true) { - // add a cube to test collision ... - final Entity localBox = new Entity(this.env); - localBox.addComponent(new ComponentStaticMesh(new Uri("RES", "cube-one.obj"))); - localBox.addComponent(new ComponentTexture(new Uri("DATA", "blocks/clay.png", "loxelEngine"))); - localBox.addComponent(new ComponentLight( - new Light(new Color(0.0f, 1.0f, 0.0f), new Vector3f(0, 0, 0), new Vector3f(0.8f, 0.03f, 0.002f)))); - localBox.addComponent(new ComponentRenderTexturedStaticMesh(new Uri("DATA", "basic.vert", "loxelEngine"), - new Uri("DATA", "basic.frag", "loxelEngine"))); - localBox.addComponent(new ComponentPosition(new Transform3D(new Vector3f(1.8f, 5.8f, 4), - Quaternion.fromEulerAngles(new Vector3f(0.15f, 0.95f, 0.3f))))); - final ComponentPhysics physics2 = new ComponentPhysics(this.env); - physics2.setBodyType(PhysicBodyType.BODY_DYNAMIC); - final PhysicSphere box2 = new PhysicSphere(); - box2.setSize(1.0f); - box2.setOrigin(new Vector3f(0, 0, 0)); - box2.setMass(1); - physics2.addShape(box2); - localBox.addComponent(physics2); - this.env.addEntity(localBox); - } - - final Entity gird = new Entity(this.env); - gird.addComponent(new ComponentPosition(new Transform3D(new Vector3f(0, 0, 0)))); - gird.addComponent(new ComponentStaticMesh(MeshGenerator.createGrid(5))); - gird.addComponent(new ComponentRenderColoredStaticMesh(new Uri("DATA", "wireColor.vert", "ege"), - new Uri("DATA", "wireColor.frag", "ege"))); - this.env.addEntity(gird); - - final Entity player = new Entity(this.env); - if (false) { - final Transform3D playerTransform = new Transform3D(new Vector3f(0, -5, 1)); - //this.objectPosition = new ComponentPositionPlayer(); - //player.addComponent(this.objectPosition); - this.objectPlayer = new ComponentPlayer(); - player.addComponent(this.objectPlayer); - player.addComponent(new ComponentMaterial(new Material())); - //player.addComponent(new ComponentStaticMesh(new Uri("RES", "person.obj"))); - player.addComponent(new ComponentStaticMesh(new Uri("RES", "person_-yfw_zup.obj"))); - player.addComponent(new ComponentTexture(new Uri("RES", "playerTexture.png"))); - player.addComponent( - new ComponentRenderTexturedMaterialsStaticMesh(new Uri("DATA", "basicMaterial.vert", "loxelEngine"), - new Uri("DATA", "basicMaterial.frag", "loxelEngine"), - (EngineLight) this.env.getEngine(EngineLight.ENGINE_NAME))); - player.addComponent(new ComponentPosition(playerTransform)); - final ComponentPhysics physics = new ComponentPhysics(this.env); - physics.setBodyType(PhysicBodyType.BODY_DYNAMIC); - //physics.setAngularReactionEnable(false); - //physics.setSleepingEnable(false); - final PhysicBox box = new PhysicBox(); - box.setSize(new Vector3f(0.3f, 0.3f, 0.9f)); - box.setOrigin(new Vector3f(0, 0, 0.9f)); - box.setMass(1); - physics.addShape(box); - player.addComponent(physics); - this.env.addEntity(player); - } else { - final Transform3D playerTransform = new Transform3D(new Vector3f(0, -5, 0)); - this.objectPosition = new ComponentPositionPlayer(); - player.addComponent(this.objectPosition); - this.objectPlayer = new ComponentPlayer(); - player.addComponent(this.objectPlayer); - player.addComponent(new ComponentMaterial(new Material())); - //player.addComponent(new ComponentStaticMesh(new Uri("RES", "person.obj"))); - player.addComponent(new ComponentStaticMesh(new Uri("RES", "person_-yfw_zup.obj"))); - player.addComponent(new ComponentTexture(new Uri("RES", "playerTexture.png"))); - player.addComponent( - new ComponentRenderTexturedMaterialsStaticMesh(new Uri("DATA", "basicMaterial.vert", "loxelEngine"), - new Uri("DATA", "basicMaterial.frag", "loxelEngine"), - (EngineLight) this.env.getEngine(EngineLight.ENGINE_NAME))); - final ComponentPhysics physics = new ComponentPhysics(this.env); - physics.setBodyType(PhysicBodyType.BODY_DYNAMIC); - final PhysicBox box = new PhysicBox(); - box.setSize(new Vector3f(0.6f, 0.6f, 1.8f)); - box.setOrigin(new Vector3f(0, 0, 0.9f)); - box.setMass(0); - physics.addShape(box); - player.addComponent(physics); - this.env.addEntity(player); - } - final Camera mainView = new Camera(); - this.env.addCamera("default", mainView); - mainView.setPitch((float) Math.PI * -0.25f); - mainView.setPosition(new Vector3f(0, -5, 5)); - - this.simpleControl = new ControlCameraPlayer(mainView, player); - this.env.addControlInterface(this.simpleControl); - - // start the engine. - this.env.setPropertyStatus(GameStatus.gameStart); - - this.basicRotation = Quaternion.fromEulerAngles(new Vector3f(0.005f, 0.005f, 0.01f)); - this.basicRotation2 = Quaternion.fromEulerAngles(new Vector3f(0.003f, 0.01f, 0.001f)); - - // ready to let Gale & Ege manage the display - LOGGER.info("==> Init APPL (END)"); - } - - @Override - public void onDraw(final GaleContext context) { - //LOGGER.info("==> appl Draw ..."); - final Vector2f size = getSize(); - // Store openGl context. - OpenGL.push(); - // set projection matrix: - final Matrix4f tmpProjection = Matrix4f.createMatrixPerspective(3.14f * 0.5f, getAspectRatio(), 0.1f, 50000); - OpenGL.setMatrix(tmpProjection); - - // set the basic openGL view port: (Draw in all the windows...) - OpenGL.setViewPort(new Vector2f(0, 0), size); - - // clear background - final Color bgColor = new Color(0.18f, 0.43f, 0.95f, 1.0f); - OpenGL.clearColor(bgColor); - // real clear request: - OpenGL.clear(OpenGL.ClearFlag.clearFlag_colorBuffer); - OpenGL.clear(OpenGL.ClearFlag.clearFlag_depthBuffer); - OpenGL.enable(Flag.flag_depthTest); - - //LOGGER.info("==> appl Draw ..."); - this.env.render(20, "default"); - if (this.debugDrawProperty == null) { - this.debugDrawProperty = ResourceColored3DObject.create(); - } - // now render the point test collision ... - for (int iii = 0; iii < LoxelApplicationPerso.testPoints.size(); iii++) { - final Vector3f elem = LoxelApplicationPerso.testPoints.get(iii); - final boolean collide = LoxelApplicationPerso.testPointsCollide.get(iii); - if (collide) { - this.debugDrawProperty.drawSquare(new Vector3f(0.1f, 0.1f, 0.1f), - Matrix4f.IDENTITY.multiply( - Matrix4f.createMatrixTranslate(new Vector3f(elem.x(), elem.y(), elem.z() + 14))), - new Color(1, 0, 0, 1)); - } else if (iii == 0) { - this.debugDrawProperty.drawSquare(new Vector3f(0.05f, 0.05f, 0.05f), - Matrix4f.IDENTITY.multiply( - Matrix4f.createMatrixTranslate(new Vector3f(elem.x(), elem.y(), elem.z() + 14))), - new Color(0, 1, 0, 1)); - } else if (iii == 7) { - this.debugDrawProperty.drawSquare(new Vector3f(0.05f, 0.05f, 0.05f), - Matrix4f.IDENTITY.multiply( - Matrix4f.createMatrixTranslate(new Vector3f(elem.x(), elem.y(), elem.z() + 14))), - new Color(1, 1, 0, 1)); - } else { - this.debugDrawProperty.drawSquare(new Vector3f(0.1f, 0.1f, 0.1f), - Matrix4f.IDENTITY.multiply( - Matrix4f.createMatrixTranslate(new Vector3f(elem.x(), elem.y(), elem.z() + 14))), - new Color(1, 1, 1, 1)); - } - } - for (int iii = 0; iii < LoxelApplicationPerso.testPointsBox.size(); iii++) { - final Vector3f elem = LoxelApplicationPerso.testPointsBox.get(iii); - if (iii == 0) { - this.debugDrawProperty.drawSquare(new Vector3f(0.05f, 0.05f, 0.05f), - Matrix4f.IDENTITY.multiply( - Matrix4f.createMatrixTranslate(new Vector3f(elem.x(), elem.y(), elem.z() + 14))), - new Color(0, 1, 0, 1)); - } else if (iii == 7) { - this.debugDrawProperty.drawSquare(new Vector3f(0.05f, 0.05f, 0.05f), - Matrix4f.IDENTITY.multiply( - Matrix4f.createMatrixTranslate(new Vector3f(elem.x(), elem.y(), elem.z() + 14))), - new Color(1, 1, 0, 1)); - } else { - this.debugDrawProperty.drawSquare(new Vector3f(0.1f, 0.1f, 0.1f), - Matrix4f.IDENTITY.multiply( - Matrix4f.createMatrixTranslate(new Vector3f(elem.x(), elem.y(), elem.z() + 14))), - new Color(0, 0, 1, 1)); - } - } - - if (LoxelApplicationPerso.testRpos != null) { - //debugDrawProperty.drawSquare(box2HalfSize, testQTransfert.getMatrix4().multiplyNew(Matrix4f.createMatrixTranslate(new Vector3f(testRpos.x,testRpos.y,testRpos.z+14))), new Color(0,1,0,0.5f)); - //Matrix4f transformation = Matrix4f.createMatrixTranslate(new Vector3f(testRpos.x,testRpos.y,testRpos.z)).multiply(testQTransfert.getMatrix4()).multiply(Matrix4f.createMatrixTranslate(new Vector3f(0,0,14))); - //Matrix4f transformation = testQTransfert.getMatrix4().multiply(Matrix4f.createMatrixTranslate(new Vector3f(testRpos.x,testRpos.y,testRpos.z))).multiply(Matrix4f.createMatrixTranslate(new Vector3f(0,0,14))); - //Matrix4f transformation = testQTransfert.getMatrix4().multiply(Matrix4f.createMatrixTranslate(new Vector3f(testRpos.x,testRpos.y,testRpos.z))).multiply(Matrix4f.createMatrixTranslate(new Vector3f(0,0,14))); - final Matrix4f transformation = Matrix4f - .createMatrixTranslate(new Vector3f(LoxelApplicationPerso.testRpos.x(), - LoxelApplicationPerso.testRpos.y(), LoxelApplicationPerso.testRpos.z())) - .multiply(Matrix4f.createMatrixTranslate(new Vector3f(0, 0, 14))) - .multiply(LoxelApplicationPerso.testQTransfert.getMatrix4()); - // OK sans la box1 orientation ... - //Matrix4f transformation = Matrix4f.createMatrixTranslate(new Vector3f(testRpos.x,testRpos.y,testRpos.z)).multiply(testQTransfert.getMatrix4()).multiply(Matrix4f.createMatrixTranslate(new Vector3f(0,0,14))); - //Matrix4f transformation = Matrix4f.createMatrixTranslate(new Vector3f(testRpos.x,testRpos.y,testRpos.z)).multiply(testQTransfert.getMatrix4()).multiply(Matrix4f.createMatrixTranslate(new Vector3f(0,0,14))); - this.debugDrawProperty.drawSquare(LoxelApplicationPerso.box2HalfSize, transformation, - new Color(0, 1, 0, 0.5f)); - this.debugDrawProperty.drawSquare(LoxelApplicationPerso.box1HalfSize, - Matrix4f.createMatrixTranslate(new Vector3f(0, 0, 14)), new Color(0, 0, 1, 0.5f)); - } - - // Restore context of matrix - OpenGL.pop(); - } - - @Override - public void onKeyboard( - final KeySpecial special, - final KeyKeyboard type, - final Character value, - final KeyStatus state) { - if (type == KeyKeyboard.F1) { - Gale.getContext().grabPointerEvents(false, new Vector2f(0, 0)); - } - if (type == KeyKeyboard.F2) { - Gale.getContext().grabPointerEvents(true, new Vector2f(0, 0)); - } - if (type == KeyKeyboard.F12) { - Gale.getContext().setFullScreen(!Gale.getContext().getFullScreen()); - } - this.env.onKeyboard(special, type, value, state); - } - - @Override - public void onPointer( - final KeySpecial special, - final KeyType type, - final int pointerID, - final Vector2f pos, - final KeyStatus state) { - this.env.onPointer(special, type, pointerID, new Vector3f(pos.x(), pos.y(), 0), state); - } - - @Override - public void onRegenerateDisplay(final GaleContext context) { - //LOGGER.trace("Regenerate Gale Application"); - this.angleLight += 0.01; - this.lightPosition.setTransform(this.lightPosition.getTransform() - .withPosition(new Vector3f(5 + (float) Math.cos(this.angleLight) * 7.0f, - 5 + (float) Math.sin(this.angleLight) * 7.0f, - this.lightPosition.getTransform().getPosition().z()))); - this.env.periodicCall(); - markDrawingIsNeeded(); - } -} diff --git a/samples/src/sample/atriasoft/ege/loxelEngine/MainLoxelEnginePerso.java b/samples/src/sample/atriasoft/ege/loxelEngine/MainLoxelEnginePerso.java deleted file mode 100644 index feefc67..0000000 --- a/samples/src/sample/atriasoft/ege/loxelEngine/MainLoxelEnginePerso.java +++ /dev/null @@ -1,17 +0,0 @@ -package sample.atriasoft.ege.loxelEngine; - -import org.atriasoft.ege.Ege; -import org.atriasoft.etk.Uri; -import org.atriasoft.gale.Gale; - -public class MainLoxelEnginePerso { - public static void main(final String[] args) { - Gale.init(); - Ege.init(); - Uri.setGroup("DATA", "data"); - Uri.setGroup("RES", "res"); - Uri.addLibrary("loxelEngine", MainLoxelEnginePerso.class, "resources/testDataLoxelEngine"); - Uri.setApplication(MainLoxelEnginePerso.class, "resources"); - Gale.run(new LoxelApplicationPerso(), args); - } -} diff --git a/samples/src/sample/atriasoft/ege/mapFactory/Appl.java b/samples/src/sample/atriasoft/ege/mapFactory/Appl.java deleted file mode 100644 index 29720b8..0000000 --- a/samples/src/sample/atriasoft/ege/mapFactory/Appl.java +++ /dev/null @@ -1,72 +0,0 @@ -package sample.atriasoft.ege.mapFactory; - -import org.atriasoft.etk.Configs; -import org.atriasoft.etk.math.Vector2f; -import org.atriasoft.ewol.context.EwolApplication; -import org.atriasoft.ewol.context.EwolContext; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class Appl implements EwolApplication { - final static private Logger LOGGER = LoggerFactory.getLogger(Appl.class); - - private void localCreate(final EwolContext context) { - // parse all the argument of the application - for (int iii = 0; iii < context.getCmd().size(); iii++) { - String tmpppp = context.getCmd().get(iii); - if (tmpppp == "-h" || tmpppp == "--help") { - LOGGER.info(" -h/--help display this help"); - System.exit(0); - } - } - context.setSize(new Vector2f(800, 600)); - Configs.getConfigFonts().set("FreeSherif", 12); - // Create the windows - MainWindows basicWindows = new MainWindows(); - // configure the ewol context to use the new windows - context.setWindows(basicWindows); - } - - @Override - public void onCreate(final EwolContext context) { - LOGGER.info("Application onCreate: [BEGIN]"); - localCreate(context); - LOGGER.info("Application onCreate: [ END ]"); - } - - @Override - public void onDestroy(final EwolContext context) { - LOGGER.info("Application onDestroy: [BEGIN]"); - - LOGGER.info("Application onDestroy: [ END ]"); - } - - @Override - public void onPause(final EwolContext context) { - LOGGER.info("Application onPause: [BEGIN]"); - - LOGGER.info("Application onPause: [ END ]"); - } - - @Override - public void onResume(final EwolContext context) { - LOGGER.info("Application onResume: [BEGIN]"); - - LOGGER.info("Application onResume: [ END ]"); - } - - @Override - public void onStart(final EwolContext context) { - LOGGER.info("Application onStart: [BEGIN]"); - - LOGGER.info("Application onStart: [ END ]"); - } - - @Override - public void onStop(final EwolContext context) { - LOGGER.info("Application onStop: [BEGIN]"); - - LOGGER.info("Application onStop: [ END ]"); - } - -} \ No newline at end of file diff --git a/samples/src/sample/atriasoft/ege/mapFactory/ApplScene.java b/samples/src/sample/atriasoft/ege/mapFactory/ApplScene.java deleted file mode 100644 index d26e7f9..0000000 --- a/samples/src/sample/atriasoft/ege/mapFactory/ApplScene.java +++ /dev/null @@ -1,108 +0,0 @@ -package sample.atriasoft.ege.mapFactory; - -import org.atriasoft.ege.ControlCameraSimple; -import org.atriasoft.ege.ControlInterface; -import org.atriasoft.ege.Entity; -import org.atriasoft.ege.components.ComponentMesh; -import org.atriasoft.ege.components.ComponentPosition; -import org.atriasoft.ege.components.ComponentRenderMeshPalette; -import org.atriasoft.ege.components.ComponentTexturePalette; -import org.atriasoft.ege.engines.EngineLight; -import org.atriasoft.etk.Uri; -import org.atriasoft.etk.math.Transform3D; -import org.atriasoft.etk.math.Vector3f; -import org.atriasoft.ewol.event.EventEntry; -import org.atriasoft.ewol.event.EventInput; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import sample.atriasoft.ege.mapFactory.model.Map; -import sample.atriasoft.ege.mapFactory.tools.MapToolInterface; - -public class ApplScene extends EgeScene { - final static private Logger LOGGER = LoggerFactory.getLogger(ApplScene.class); - //Ground ground = new Ground(); - Map map = new Map(); - private ControlInterface simpleControl; - private MapToolInterface currentTool = null; - - /** - * Constructor - */ - public ApplScene() { - addGenericGird(); - // test entity - Entity groundEntity = new Entity(this.env); - ComponentPosition objectPosition = new ComponentPosition(new Transform3D(new Vector3f(0, 0, 0))); - groundEntity.addComponent(objectPosition); - //this.materialCube = new Material(); - //basicTree.addComponent(new ComponentMaterial(this.materialCube)); - //groundEntity.addComponent(new ComponentMesh(new Uri("DATA", "tree1.emf", "plop"))); - groundEntity.addComponent(new ComponentMesh(this.map.ground.createMesh())); - groundEntity.addComponent(new ComponentTexturePalette(new Uri("DATA", "palette_1.json"))); - //basicTree.addComponent(new ComponentRenderTexturedStaticMesh(new Uri("DATA", "basic.vert", "loxelEngine"), new Uri("DATA", "basic.frag", "loxelEngine"))); - groundEntity.addComponent(new ComponentRenderMeshPalette(new Uri("DATA", "basicPalette.vert"), - new Uri("DATA", "basicPalette.frag"), (EngineLight) this.env.getEngine(EngineLight.ENGINE_NAME))); - this.env.addEntity(groundEntity); - - this.map.updateMesh(); - this.simpleControl = new ControlCameraSimple(this.mainView); - this.env.addControlInterface(this.simpleControl); - - // add a cube to test collision ... - // final Entity localBox = new Entity(this.env); - // localBox.addComponent(new ComponentStaticMesh(new Uri("DATA", "cube-one.obj"))); - // localBox.addComponent(new ComponentTexture(new Uri("DATA", "clay.png"))); - // //localBox.addComponent(new ComponentLight(new Light(new Color(0.0f, 1.0f, 0.0f), new Vector3f(0, 0, 0), new Vector3f(0.8f, 0.03f, 0.002f)))); - // localBox.addComponent(new ComponentRenderTexturedStaticMesh(new Uri("DATA", "basic.vert"), new Uri("DATA", "basic.frag"))); - // this.posRay = new ComponentPosition(new Transform3D(new Vector3f(0, 4, 2.5f))); - // - // localBox.addComponent(this.posRay); - // //final ComponentPhysics physics2 = new ComponentPhysics(this.env); - // //final PhysicBox box2 = new PhysicBox(); - // //box2.setSize(new Vector3f(2.0f, 2.0f, 2.0f)); - // //box2.setOrigin(new Vector3f(0, 0, 0)); - // //box2.setMass(1); - // //physics2.addShape(box2); - // //localBox.addComponent(physics2); - // this.env.addEntity(localBox); - - } - - public MapToolInterface getCurrentTool() { - return this.currentTool; - } - - @Override - protected void onDrawScene() { - if (this.currentTool != null) { - this.currentTool.onDraw(this.map); - } - - } - - @Override - public boolean onEventEntry(final EventEntry event) { - if (this.currentTool != null) { - if (this.currentTool.onEventEntry(event, this.map, this)) { - return true; - } - } - return super.onEventEntry(event); - } - - @Override - public boolean onEventInput(final EventInput event) { - if (this.currentTool != null) { - if (this.currentTool.onEventInput(event, this.map, this)) { - return true; - } - } - - return super.onEventInput(event); - } - - public void setCurrentTool(MapToolInterface currentTool) { - this.currentTool = currentTool; - } -} \ No newline at end of file diff --git a/samples/src/sample/atriasoft/ege/mapFactory/EgeScene.java b/samples/src/sample/atriasoft/ege/mapFactory/EgeScene.java deleted file mode 100644 index fb30b24..0000000 --- a/samples/src/sample/atriasoft/ege/mapFactory/EgeScene.java +++ /dev/null @@ -1,157 +0,0 @@ -package sample.atriasoft.ege.mapFactory; - -import org.atriasoft.ege.Entity; -import org.atriasoft.ege.Environement; -import org.atriasoft.ege.camera.Camera; -import org.atriasoft.ege.camera.ProjectionInterface; -import org.atriasoft.ege.camera.ProjectionPerspective; -import org.atriasoft.ege.components.ComponentPosition; -import org.atriasoft.ege.components.ComponentRenderColoredStaticMesh; -import org.atriasoft.ege.components.ComponentStaticMesh; -import org.atriasoft.ege.tools.MeshGenerator; -import org.atriasoft.esignal.Connection; -import org.atriasoft.etk.Uri; -import org.atriasoft.etk.math.Transform3D; -import org.atriasoft.etk.math.Vector2f; -import org.atriasoft.etk.math.Vector3f; -import org.atriasoft.ewol.event.EventEntry; -import org.atriasoft.ewol.event.EventInput; -import org.atriasoft.ewol.event.EventTime; -import org.atriasoft.ewol.widget.Widget; -import org.atriasoft.gale.backend3d.OpenGL; -import org.atriasoft.gale.backend3d.OpenGL.Flag; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class EgeScene extends Widget { - final static private Logger LOGGER = LoggerFactory.getLogger(EgeScene.class); - - /** - * Periodic call to update grapgic display - * @param _event Time generic event - */ - protected static void periodicCall(final EgeScene self, final EventTime event) { - LOGGER.trace("Periodic call on Entry({});", event); - /* - if (!self.shape.periodicCall(event)) { - //LOGGER.error("end periodic call"); - self.periodicConnectionHanble.close(); - } - */ - self.markToRedraw(); - } - - // Widget display camera - public Camera mainView; - // Widget view mode - public ProjectionInterface projection; - // Environment model system. - protected Environement env; - - /// Periodic call handle to remove it when needed - protected Connection periodicConnectionHanble = new Connection(); - - /** - * Constructor - */ - public EgeScene() { - this.propertyCanFocus = true; - markToRedraw(); - // can not support multiple click... - setMouseLimit(2); - this.env = new Environement(); - - // default camera.... - this.mainView = new Camera(); - this.env.addCamera("default", this.mainView); - this.mainView.setPitch((float) Math.PI * -0.25f); - this.mainView.setPosition(new Vector3f(4, -5, 5)); - - this.projection = new ProjectionPerspective(); - - } - - public void addGenericGird() { - // Simple Gird - final Entity gird = new Entity(this.env); - gird.addComponent(new ComponentPosition(new Transform3D(new Vector3f(0, 0, 0)))); - gird.addComponent(new ComponentStaticMesh(MeshGenerator.createGrid(5))); - gird.addComponent(new ComponentRenderColoredStaticMesh(new Uri("DATA", "wireColor.vert", "ege"), - new Uri("DATA", "wireColor.frag", "ege"))); - this.env.addEntity(gird); - } - - @Override - public void calculateMinMaxSize() { - // call main class - super.calculateMinMaxSize(); - this.minSize = Vector3f.VALUE_128; - // verify the min max of the min size ... - checkMinSize(); - LOGGER.error("min size = {}", this.minSize); - } - - protected float getAspectRatio() { - return this.size.x() / this.size.y(); - } - - @Override - public void onChangeSize() { - super.onChangeSize(); - // update the projection matrix on the view size; - this.projection.updateMatrix(getSize()); - } - - @Override - protected void onDraw() { - // Store openGl context. - OpenGL.push(); - // set projection matrix: - OpenGL.setMatrix(this.projection.getMatrix()); - - // set the basic openGL view port: (Draw in all the windows...) - OpenGL.setViewPort(new Vector2f(0, 0), new Vector2f(getSize().x(), getSize().y())); - - // clear background - //final Color bgColor = new Color(0.0f, 1.0f, 0.0f, 1.0f); - //OpenGL.clearColor(bgColor); - // real clear request: - //OpenGL.clear(OpenGL.ClearFlag.clearFlag_colorBuffer); - OpenGL.clear(OpenGL.ClearFlag.clearFlag_depthBuffer); - OpenGL.enable(Flag.flag_depthTest); - this.env.render(20, "default"); - onDrawScene(); - OpenGL.disable(Flag.flag_depthTest); - OpenGL.clear(OpenGL.ClearFlag.clearFlag_depthBuffer); - - // Restore context of matrix - OpenGL.pop(); - } - - protected void onDrawScene() { - // nothing to do... - } - - @Override - public boolean onEventEntry(final EventEntry event) { - this.env.onKeyboard(event.specialKey(), event.type(), event.getChar(), event.status()); - return true; - } - - @Override - public boolean onEventInput(final EventInput event) { - keepFocus(); - Vector3f relPos = relativePosition(new Vector3f(event.pos().x(), event.pos().y(), 0)); - //LOGGER.warn("Event on Input ... {} relPos= {}", event, relPos); - this.env.onPointer(event.specialKey(), event.type(), event.inputId(), relPos, event.status()); - - return true; - } - - @Override - public void onRegenerateDisplay() { - this.env.periodicCall(); - markToRedraw(); - } - -} \ No newline at end of file diff --git a/samples/src/sample/atriasoft/ege/mapFactory/Ground.java b/samples/src/sample/atriasoft/ege/mapFactory/Ground.java deleted file mode 100644 index 034a1f5..0000000 --- a/samples/src/sample/atriasoft/ege/mapFactory/Ground.java +++ /dev/null @@ -1,101 +0,0 @@ -package sample.atriasoft.ege.mapFactory; - -import java.util.function.BiFunction; - -import org.atriasoft.etk.Color; -import org.atriasoft.etk.math.Transform3D; -import org.atriasoft.etk.math.Vector3f; -import org.atriasoft.etk.math.Vector4f; -import org.atriasoft.gale.resource.ResourceColored3DObject; -import org.atriasoft.loader3d.model.Material; -import org.atriasoft.loader3d.resources.ResourceMeshHeightMap; - -import toolbox.Maths; - -public class Ground { - int sizeX = 64; - int sizeY = 64; - float[][] heightMap = new float[this.sizeY][this.sizeX]; - String[][] colorMap = new String[this.sizeY][this.sizeX * 2]; - ResourceMeshHeightMap mesh = new ResourceMeshHeightMap(); - String baseNamePalette = "palette:grass_1"; - String baseNamePalette2 = "palette:grass_2"; - String baseNamePalette3 = "palette:grass_3"; - String baseNamePalette4 = "palette:grass_4"; - - public Ground() { - for (int yyy = 0; yyy < this.sizeY; yyy++) { - for (int xxx = 0; xxx < this.sizeX; xxx++) { - this.heightMap[yyy][xxx] = 0.0f; - if (xxx % 2 == 0) { - this.colorMap[yyy][xxx * 2] = this.baseNamePalette; - this.colorMap[yyy][xxx * 2 + 1] = this.baseNamePalette2; - } else { - this.colorMap[yyy][xxx * 2] = this.baseNamePalette3; - this.colorMap[yyy][xxx * 2 + 1] = this.baseNamePalette4; - } - } - } - } - - public void changeHeightOfElement(Vector3f position, float distance, BiFunction applyer) { - for (int yyy = 0; yyy < this.sizeY; yyy++) { - for (int xxx = 0; xxx < this.sizeX; xxx++) { - float offset = 0.0f; - if (xxx % 2 == 1) { - offset = 0.5f; - } - float dist2 = position.less(xxx, yyy + offset, 0).length2(); - if (dist2 < distance * distance) { - this.heightMap[yyy][xxx] = applyer.apply(this.heightMap[yyy][xxx], Maths.sqrt(dist2)); - } - } - } - updateMesh(); - } - - public ResourceMeshHeightMap createMesh() { - return this.mesh; - } - - public void drawDynamicElement(ResourceColored3DObject dynamicElement, Vector3f position, float distance) { - for (int yyy = 0; yyy < this.sizeY; yyy++) { - for (int xxx = 0; xxx < this.sizeX; xxx++) { - float dist2 = position.less(xxx, yyy, 0).length2(); - if (dist2 < distance * distance) { - float coneHeight = 0.6f; - float offset = 0.0f; - if (xxx % 2 == 1) { - offset = 0.5f; - } - Transform3D tmpTransform = new Transform3D(new Vector3f(xxx, yyy + offset, this.heightMap[yyy][xxx] + coneHeight * 0.5f)); - dynamicElement.drawCone(coneHeight * 0.5f, coneHeight, 10, 3, tmpTransform.getOpenGLMatrix(), Color.RED); - } - } - } - - } - - public void updateMesh() { - this.mesh.clearData(); - Material mat = new Material(); - this.mesh.addMaterial(this.baseNamePalette, mat); - mat.setAmbientFactor(new Vector4f(1, 0, 0, 1.0f)); - mat = new Material(); - this.mesh.addMaterial(this.baseNamePalette2, mat); - mat.setAmbientFactor(new Vector4f(0, 1, 0, 1.0f)); - mat = new Material(); - this.mesh.addMaterial(this.baseNamePalette3, mat); - mat.setAmbientFactor(new Vector4f(0, 0, 1, 1.0f)); - mat = new Material(); - this.mesh.addMaterial(this.baseNamePalette4, mat); - mat.setAmbientFactor(new Vector4f(1, 1, 0, 1.0f)); - try { - this.mesh.udateData(this.heightMap, this.colorMap, this.sizeX, this.sizeY); - } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - -} diff --git a/samples/src/sample/atriasoft/ege/mapFactory/MainWindows.java b/samples/src/sample/atriasoft/ege/mapFactory/MainWindows.java deleted file mode 100644 index c375238..0000000 --- a/samples/src/sample/atriasoft/ege/mapFactory/MainWindows.java +++ /dev/null @@ -1,65 +0,0 @@ -package sample.atriasoft.ege.mapFactory; - -import org.atriasoft.etk.math.Vector3b; -import org.atriasoft.ewol.widget.Button; -import org.atriasoft.ewol.widget.Sizer; -import org.atriasoft.ewol.widget.Sizer.DisplayMode; -import org.atriasoft.ewol.widget.Widget; -import org.atriasoft.ewol.widget.Windows; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import sample.atriasoft.ege.mapFactory.tools.MapToolInterface; -import sample.atriasoft.ege.mapFactory.tools.ToolMapHeight; - -public class MainWindows extends Windows { - final static private Logger LOGGER = LoggerFactory.getLogger(MainWindows.class); - - public static void eventButtonTool(final MainWindows self, Boolean value) { - //Vector2b state = self.testWidget.getPropertyFill(); - //self.testWidget.setPropertyFill(state.withY(!state.y())); - LOGGER.warn("event elements : {}", value); - if (value) { - self.scene.setCurrentTool(new ToolMapHeight()); - } else { - self.scene.setCurrentTool(null); - } - } - - Button heightButton; - Button toolButton; - ApplScene scene; - - public MainWindows() { - setPropertyTitle("Map Factory (create your dream world)"); - - Sizer sizerHoryMain = new Sizer(DisplayMode.HORIZONTAL); - sizerHoryMain.setPropertyExpand(Vector3b.TRUE); - sizerHoryMain.setPropertyFill(Vector3b.TRUE); - setSubWidget(sizerHoryMain); - - this.scene = new ApplScene(); - this.scene.setPropertyExpand(Vector3b.TRUE); - this.scene.setPropertyFill(Vector3b.TRUE); - sizerHoryMain.subWidgetAdd(this.scene); - - Sizer sizerMenu = new Sizer(DisplayMode.VERTICAL); - sizerMenu.setPropertyExpand(Vector3b.FALSE_TRUE_FALSE); - sizerMenu.setPropertyLockExpand(Vector3b.TRUE); - sizerMenu.setPropertyFill(Vector3b.TRUE); - sizerHoryMain.subWidgetAdd(sizerMenu); - - this.toolButton = Button.createToggleLabelButton("Heigher", "Brush"); - this.toolButton.setPropertyExpand(Vector3b.TRUE_FALSE_FALSE); - this.toolButton.setPropertyFill(Vector3b.TRUE); - sizerMenu.subWidgetAdd(this.toolButton); - this.toolButton.signalValue.connectAuto(this, MainWindows::eventButtonTool); - - // set default tools: - MapToolInterface tool = new ToolMapHeight(); - this.scene.setCurrentTool(tool); - Widget toolDisplay = tool.getWidget(); - sizerMenu.subWidgetAdd(toolDisplay); - } - -} \ No newline at end of file diff --git a/samples/src/sample/atriasoft/ege/mapFactory/MapFactoryMain.java b/samples/src/sample/atriasoft/ege/mapFactory/MapFactoryMain.java deleted file mode 100644 index 7cc7553..0000000 --- a/samples/src/sample/atriasoft/ege/mapFactory/MapFactoryMain.java +++ /dev/null @@ -1,22 +0,0 @@ -package sample.atriasoft.ege.mapFactory; - -import org.atriasoft.ege.Ege; -import org.atriasoft.etk.Uri; -import org.atriasoft.ewol.Ewol; -import org.atriasoft.gale.Gale; - -public class MapFactoryMain { - public static void main(final String[] args) { - Gale.init(); - Ewol.init(); - Ege.init(); - Uri.setGroup("DATA", "data"); - //Uri.setGroup("RES", "res"); - //Uri.addLibrary("loxelEngine", MapFactoryMain.class, "/resources/testDataLoxelEngine"); - //Uri.addLibrary("plop", Appl.class, "/resources/mapFactory"); - Uri.setApplication(Appl.class, "resources/mapFactory"); - Ewol.run(new Appl(), args); - } - - private MapFactoryMain() {} -} diff --git a/samples/src/sample/atriasoft/ege/mapFactory/model/Map.java b/samples/src/sample/atriasoft/ege/mapFactory/model/Map.java deleted file mode 100644 index 91b17bc..0000000 --- a/samples/src/sample/atriasoft/ege/mapFactory/model/Map.java +++ /dev/null @@ -1,12 +0,0 @@ -package sample.atriasoft.ege.mapFactory.model; - -import sample.atriasoft.ege.mapFactory.Ground; - -public class Map { - public Ground ground = new Ground(); - - public void updateMesh() { - this.ground.updateMesh(); - } - -} diff --git a/samples/src/sample/atriasoft/ege/mapFactory/tools/MapToolInterface.java b/samples/src/sample/atriasoft/ege/mapFactory/tools/MapToolInterface.java deleted file mode 100644 index 8d2a562..0000000 --- a/samples/src/sample/atriasoft/ege/mapFactory/tools/MapToolInterface.java +++ /dev/null @@ -1,19 +0,0 @@ -package sample.atriasoft.ege.mapFactory.tools; - -import org.atriasoft.ewol.event.EventEntry; -import org.atriasoft.ewol.event.EventInput; -import org.atriasoft.ewol.widget.Widget; - -import sample.atriasoft.ege.mapFactory.EgeScene; -import sample.atriasoft.ege.mapFactory.model.Map; - -public interface MapToolInterface { - Widget getWidget(); - - void onDraw(Map map); - - boolean onEventEntry(final EventEntry event, Map map, EgeScene widget); - - boolean onEventInput(final EventInput event, Map relPos, EgeScene widget); - -} \ No newline at end of file diff --git a/samples/src/sample/atriasoft/ege/mapFactory/tools/ToolMapHeight.java b/samples/src/sample/atriasoft/ege/mapFactory/tools/ToolMapHeight.java deleted file mode 100644 index 7b80389..0000000 --- a/samples/src/sample/atriasoft/ege/mapFactory/tools/ToolMapHeight.java +++ /dev/null @@ -1,184 +0,0 @@ -package sample.atriasoft.ege.mapFactory.tools; - -import org.atriasoft.ege.geometry.Ray; -import org.atriasoft.etk.Color; -import org.atriasoft.etk.Uri; -import org.atriasoft.etk.math.Transform3D; -import org.atriasoft.etk.math.Vector3f; -import org.atriasoft.ewol.event.EventEntry; -import org.atriasoft.ewol.event.EventInput; -import org.atriasoft.ewol.widget.Composer; -import org.atriasoft.ewol.widget.Slider; -import org.atriasoft.ewol.widget.Widget; -import org.atriasoft.gale.key.KeyStatus; -import org.atriasoft.gale.resource.ResourceColored3DObject; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import sample.atriasoft.ege.mapFactory.EgeScene; -import sample.atriasoft.ege.mapFactory.model.Map; -import toolbox.Maths; - -public class ToolMapHeight implements MapToolInterface { - final static private Logger LOGGER = LoggerFactory.getLogger(ToolMapHeight.class); - - protected static void onCallbackMaxChange(final ToolMapHeight self, final float value) { - LOGGER.warn("get new value {}", value); - self.onCallbackMax(value); - } - - protected static void onCallbackMinChange(final ToolMapHeight self, final float value) { - LOGGER.warn("get new value {}", value); - self.onCallbackMin(value); - } - - protected static void onCallbackWidthChange(final ToolMapHeight self, final float value) { - LOGGER.warn("get new value {}", value); - self.onCallbackValue(value); - } - - int uniqueID = 555245; - Vector3f positionRay = null; - - float widthBrush = 3.0f; - float maxBrush = 10.0f; - float minBrush = -10.0f; - ResourceColored3DObject dynamicElement; - - public ToolMapHeight() { - this.dynamicElement = ResourceColored3DObject.create(); - } - - @Override - public Widget getWidget() { - final Widget data = Composer.composerGenerateFile(new Uri("DATA", "ToolMapHeight.xml"), this.uniqueID); - - if (data.getSubObjectNamed( - "[" + Long.toString(this.uniqueID) + "]HeighMap:slider-width") instanceof final Slider tmp) { - tmp.signalValue.connectAuto(this, ToolMapHeight::onCallbackWidthChange); - } - if (data.getSubObjectNamed( - "[" + Long.toString(this.uniqueID) + "]HeighMap:slider-top") instanceof final Slider tmp) { - tmp.signalValue.connectAuto(this, ToolMapHeight::onCallbackMaxChange); - } - if (data.getSubObjectNamed( - "[" + Long.toString(this.uniqueID) + "]HeighMap:slider-bottom") instanceof final Slider tmp) { - tmp.signalValue.connectAuto(this, ToolMapHeight::onCallbackMinChange); - } - - return data; - } - - protected void onCallbackMax(final float value) { - this.maxBrush = value; - } - - protected void onCallbackMin(final float value) { - this.minBrush = value; - } - - protected void onCallbackValue(final float value) { - this.widthBrush = value; - } - - @Override - public void onDraw(Map map) { - // TODO Auto-generated method stub - if (this.positionRay != null) { - map.ground.drawDynamicElement(this.dynamicElement, this.positionRay, this.widthBrush); - float size = this.maxBrush - this.minBrush; - Transform3D tmpTransform = new Transform3D( - this.positionRay.add(new Vector3f(0.0f, 0.0f, this.minBrush + size * 0.5f))); - this.dynamicElement.drawCylinder(this.widthBrush, size, 10, 22, tmpTransform.getOpenGLMatrix(), - Color.AZURE.withA(0.5f), false, true); - } - - } - - @Override - public boolean onEventEntry(EventEntry event, Map map, EgeScene widget) { - // TODO Auto-generated method stub - return false; - } - - @Override - public boolean onEventInput(EventInput event, Map map, EgeScene widget) { - Vector3f globalPos = new Vector3f(event.pos().x(), event.pos().y(), 0); - Vector3f relPos = widget.relativePosition(globalPos); - // simple ray-cast on the ground - Ray mouseRay = widget.mainView.getRayFromScreen(widget.projection, widget.getSize(), relPos); - this.positionRay = mouseRay.intersectPlane(new Vector3f(0.0f, 0.0f, 1.0f), 0.0f); - /* - if (this.positionRay != null) { - this.posRay.setTransform(this.posRay.getTransform().withPosition(this.positionRay)); - } - */ - if (event.inputId() == 1 && (event.status() == KeyStatus.move || event.status() == KeyStatus.down)) { - if (this.positionRay != null) { - map.ground.changeHeightOfElement(this.positionRay, this.widthBrush, (value, distance) -> { - if (value > this.maxBrush) { - return value; - } - if (value < this.minBrush) { - return Maths.avg(-128.0f, value + 0.1f, this.maxBrush); - } - return Maths.avg(this.minBrush, value + 0.1f, this.maxBrush); - }); - } - return true; - } - if (event.inputId() == 3 && (event.status() == KeyStatus.move || event.status() == KeyStatus.down)) { - if (this.positionRay != null) { - map.ground.changeHeightOfElement(this.positionRay, this.widthBrush, (value, distance) -> { - if (value < this.minBrush) { - return value; - } - if (value > this.maxBrush) { - return Maths.avg(this.minBrush, value - 0.1f, 128.0f); - } - return Maths.avg(this.minBrush, value - 0.1f, this.maxBrush); - }); - } - return true; - } - // max brush - if (event.inputId() == 4 && event.status() == KeyStatus.down && (event.specialKey() != null - && event.specialKey().getAltLeft() && event.specialKey().getCtrlLeft())) { - this.maxBrush = Maths.avg(this.minBrush + 0.1f, this.maxBrush + 0.1f, 128.0f); - LOGGER.warn(" values: {} / {}", this.minBrush, this.maxBrush); - return true; - } - if (event.inputId() == 5 && event.status() == KeyStatus.down && (event.specialKey() != null - && event.specialKey().getAltLeft() && event.specialKey().getCtrlLeft())) { - this.maxBrush = Maths.avg(this.minBrush + 0.1f, this.maxBrush - 0.1f, 128.0f); - LOGGER.warn(" values: {} / {}", this.minBrush, this.maxBrush); - return true; - } - // min brush - if (event.inputId() == 4 && event.status() == KeyStatus.down - && (event.specialKey() != null && event.specialKey().getAltLeft())) { - this.minBrush = Maths.avg(-128.0f, this.minBrush + 0.1f, this.maxBrush - 0.1f); - LOGGER.warn(" values: {} / {}", this.minBrush, this.maxBrush); - return true; - } - if (event.inputId() == 5 && event.status() == KeyStatus.down - && (event.specialKey() != null && event.specialKey().getAltLeft())) { - this.minBrush = Maths.avg(-128.0f, this.minBrush - 0.1f, this.maxBrush - 0.1f); - LOGGER.warn(" values: {} / {}", this.minBrush, this.maxBrush); - return true; - } - // width brush - if (event.inputId() == 4 && event.status() == KeyStatus.down - && (event.specialKey() != null && event.specialKey().getCtrlLeft())) { - this.widthBrush = Maths.avg(0.1f, this.widthBrush + 0.1f, 30.0f); - return true; - } - if (event.inputId() == 5 && event.status() == KeyStatus.down - && (event.specialKey() != null && event.specialKey().getCtrlLeft())) { - this.widthBrush = Maths.avg(0.1f, this.widthBrush - 0.1f, 30.0f); - return true; - } - return false; - } - -} diff --git a/samples/src/sample/atriasoft/ege/oldTest/HelloWorld.java b/samples/src/sample/atriasoft/ege/oldTest/HelloWorld.java deleted file mode 100644 index 4d63b1e..0000000 --- a/samples/src/sample/atriasoft/ege/oldTest/HelloWorld.java +++ /dev/null @@ -1,110 +0,0 @@ -package sample.atriasoft.ege.oldTest; - -import java.nio.IntBuffer; - -import org.lwjgl.*; -import org.lwjgl.glfw.*; -import org.lwjgl.opengl.*; -import org.lwjgl.system.*; - -public class HelloWorld { - - public static void main(final String[] args) { - new HelloWorld().run(); - } - - // The window handle - private long window; - - private void init() { - // Setup an error callback. The default implementation - // will print the error message in System.err. - //GLFWErrorCallback.createPrint(System.err).set(); - - // Initialize GLFW. Most GLFW functions will not work before doing this. - if (!GLFW.glfwInit()) { - throw new IllegalStateException("Unable to initialize GLFW"); - } - - // Configure GLFW - GLFW.glfwDefaultWindowHints(); // optional, the current window hints are already the default - GLFW.glfwWindowHint(GLFW.GLFW_VISIBLE, GLFW.GLFW_FALSE); // the window will stay hidden after creation - GLFW.glfwWindowHint(GLFW.GLFW_RESIZABLE, GLFW.GLFW_TRUE); // the window will be resizable - - // Create the window - this.window = GLFW.glfwCreateWindow(300, 300, "Hello World!", MemoryUtil.NULL, MemoryUtil.NULL); - if (this.window == MemoryUtil.NULL) { - throw new RuntimeException("Failed to create the GLFW window"); - } - - // Setup a key callback. It will be called every time a key is pressed, repeated or released. - GLFW.glfwSetKeyCallback(this.window, (window, key, scancode, action, mods) -> { - if (key == GLFW.GLFW_KEY_ESCAPE && action == GLFW.GLFW_RELEASE) { - GLFW.glfwSetWindowShouldClose(window, true); // We will detect this in the rendering loop - } - }); - - // Get the thread stack and push a new frame - try (MemoryStack stack = MemoryStack.stackPush()) { - IntBuffer pWidth = stack.mallocInt(1); // int* - IntBuffer pHeight = stack.mallocInt(1); // int* - - // Get the window size passed to glfwCreateWindow - GLFW.glfwGetWindowSize(this.window, pWidth, pHeight); - - // Get the resolution of the primary monitor - GLFWVidMode vidmode = GLFW.glfwGetVideoMode(GLFW.glfwGetPrimaryMonitor()); - - // Center the window - GLFW.glfwSetWindowPos(this.window, (vidmode.width() - pWidth.get(0)) / 2, (vidmode.height() - pHeight.get(0)) / 2); - } // the stack frame is popped automatically - - // Make the OpenGL context current - GLFW.glfwMakeContextCurrent(this.window); - // Enable v-sync - GLFW.glfwSwapInterval(1); - - // Make the window visible - GLFW.glfwShowWindow(this.window); - } - - private void loop() { - // This line is critical for LWJGL's interoperation with GLFW's - // OpenGL context, or any context that is managed externally. - // LWJGL detects the context that is current in the current thread, - // creates the GLCapabilities instance and makes the OpenGL - // bindings available for use. - GL.createCapabilities(); - - // Set the clear color - GL11.glClearColor(1.0f, 0.0f, 0.0f, 0.0f); - - // Run the rendering loop until the user has attempted to close - // the window or has pressed the ESCAPE key. - while (!GLFW.glfwWindowShouldClose(this.window)) { - GL11.glClear(GL11.GL_COLOR_BUFFER_BIT | GL11.GL_DEPTH_BUFFER_BIT); // clear the framebuffer - - GLFW.glfwSwapBuffers(this.window); // swap the color buffers - - // Poll for window events. The key callback above will only be - // invoked during this call. - GLFW.glfwPollEvents(); - } - } - - public void run() { - System.out.println("Hello LWJGL " + Version.getVersion() + "!"); - - init(); - loop(); - - // Free the window callbacks and destroy the window - Callbacks.glfwFreeCallbacks(this.window); - GLFW.glfwDestroyWindow(this.window); - - // Terminate GLFW and free the error callback - GLFW.glfwTerminate(); - GLFW.glfwSetErrorCallback(null).free(); - } - -} \ No newline at end of file diff --git a/samples/src/sample/atriasoft/ege/oldTest/MainGameLoop.java b/samples/src/sample/atriasoft/ege/oldTest/MainGameLoop.java deleted file mode 100644 index 499a946..0000000 --- a/samples/src/sample/atriasoft/ege/oldTest/MainGameLoop.java +++ /dev/null @@ -1,175 +0,0 @@ -package sample.atriasoft.ege.oldTest; - -import java.util.ArrayList; -import java.util.List; -import java.util.Random; - -import org.atriasoft.ege.Ege; -import org.atriasoft.etk.Uri; -import org.atriasoft.etk.math.Vector2f; -import org.atriasoft.etk.math.Vector3f; -import org.atriasoft.gale.Gale; - -import entities.Camera; -import entities.Entity; -import entities.Light; -import entities.Player; -import guis.GuiRenderer; -import guis.GuiTexture; -import models.TexturedModel; -import renderEngine.DisplayManager; -import renderEngine.DisplayManagerDraw; -import renderEngine.Loader; -import renderEngine.MasterRenderer; -import renderEngine.OBJLoader; -import terrains.Terrain; -import terrains.TerrainTexture; -import terrains.TerrainTexturePack; -import textures.ModelTexture; - -/** - * This class contains the main method and is used to test the engine. - * - * @author Karl - * - */ -public class MainGameLoop { - - /** - * Loads up the position data for two triangles (which together make a quad) - * into a VAO. This VAO is then rendered to the screen every frame. - * - * @param args - */ - public static void main(final String[] args) { - Gale.init(); - Ege.init(); - Uri.setGroup("DATA", "data"); - Uri.setGroup("RES", "res"); - Uri.addLibrary("loxelEngine", MainGameLoop.class, "resources/testDataLoxelEngine"); - Uri.setApplication(MainGameLoop.class, "resources"); - - final DisplayManager manager = new DisplayManager(); - final Loader loader = new Loader(); - manager.init(); - - final List entities = new ArrayList<>(); - final Random random = new Random(); - - final TexturedModel staticModel = new TexturedModel( - OBJLoader.loadObjModel(new Uri("RES", "tree.obj", "sample"), loader), - new ModelTexture(loader.loadTexture("tree"))); - //ModelTexture texture = staticModel.getTexture(); - //texture.setShineDamper(10); - //texture.setReflectivity(1); - - final TexturedModel grassModel = new TexturedModel( - OBJLoader.loadObjModel(new Uri("RES", "grassModel.obj", "sample"), loader), - new ModelTexture(loader.loadTexture("grassTexture"))); - grassModel.getTexture().setHasTransparency(true); - grassModel.getTexture().setUseFakeLighting(true); - - final TexturedModel flowerModel = new TexturedModel( - OBJLoader.loadObjModel(new Uri("RES", "grassModel.obj", "sample"), loader), - new ModelTexture(loader.loadTexture("flower"))); - flowerModel.getTexture().setHasTransparency(true); - flowerModel.getTexture().setUseFakeLighting(true); - - final TexturedModel fernModel = new TexturedModel( - OBJLoader.loadObjModel(new Uri("RES", "fern.obj", "sample"), loader), - new ModelTexture(loader.loadTexture("fern_atlas"))); - fernModel.getTexture().setHasTransparency(true); - fernModel.getTexture().setNumberOfRows(2); - - final TexturedModel lampModel = new TexturedModel( - OBJLoader.loadObjModel(new Uri("RES", "lamp.obj", "sample"), loader), - new ModelTexture(loader.loadTexture("lamp"))); - //lampModel.getTexture().setHasTransparency(true); - lampModel.getTexture().setUseFakeLighting(true); // this permit to the light to glow - - final TexturedModel pineModel = new TexturedModel( - OBJLoader.loadObjModel(new Uri("RES", "pine.obj", "sample"), loader), - new ModelTexture(loader.loadTexture("pine"))); - - final List lights = new ArrayList<>(); - lights.add(new Light(new Vector3f(0, 10000, -7000), new Vector3f(0.4f, 0.4f, 0.4f))); - lights.add(new Light(new Vector3f(185, 10, -293), new Vector3f(2, 0, 0), new Vector3f(1, 0.01f, 0.002f))); - lights.add(new Light(new Vector3f(370, 17, -300), new Vector3f(0, 2, 2), new Vector3f(1, 0.01f, 0.002f))); - lights.add(new Light(new Vector3f(293, 7, -305), new Vector3f(2, 2, 0), new Vector3f(1, 0.01f, 0.002f))); - - entities.add(new Entity(lampModel, new Vector3f(185, -4.7f, -293), new Vector3f(0, 0, 0), 1)); - entities.add(new Entity(lampModel, new Vector3f(370, 4.2f, -300), new Vector3f(0, 0, 0), 1)); - entities.add(new Entity(lampModel, new Vector3f(293, -6.8f, -305), new Vector3f(0, 0, 0), 1)); - - final TerrainTexture backgroundTexture = new TerrainTexture(loader.loadTexture("grass")); - final TerrainTexture rTexture = new TerrainTexture(loader.loadTexture("dirt")); - final TerrainTexture gTexture = new TerrainTexture(loader.loadTexture("grassFlowers")); - final TerrainTexture bTexture = new TerrainTexture(loader.loadTexture("path")); - final TerrainTexturePack texturePack = new TerrainTexturePack(backgroundTexture, rTexture, gTexture, bTexture); - - final TerrainTexture blendMap = new TerrainTexture(loader.loadTexture("blendMap")); - - final Terrain terrain = new Terrain(0, -1, loader, texturePack, blendMap, "heightmap"); - - for (int iii = 0; iii < 250; iii++) { - final float x = random.nextFloat() * 800 - 400; - final float z = random.nextFloat() * -600; - final float y = terrain.getHeightOfTerrain(x, z); - entities.add(new Entity(staticModel, new Vector3f(x, y, z), new Vector3f(0, 0, 0), 3)); - } - for (int iii = 0; iii < 250; iii++) { - final float x = random.nextFloat() * 800 - 400; - final float z = random.nextFloat() * -600; - final float y = terrain.getHeightOfTerrain(x, z); - entities.add(new Entity(pineModel, new Vector3f(x, y, z), new Vector3f(0, 0, 0), 0.5f)); - } - for (int iii = 0; iii < 500; iii++) { - final float x = random.nextFloat() * 800 - 400; - final float z = random.nextFloat() * -600; - final float y = terrain.getHeightOfTerrain(x, z); - entities.add(new Entity(fernModel, random.nextInt(4), new Vector3f(x, y, z), new Vector3f(0, 0, 0), 0.6f)); - } - - final TexturedModel playerModel = new TexturedModel( - OBJLoader.loadObjModel(new Uri("RES", "person.obj", "sample"), loader), - new ModelTexture(loader.loadTexture("playerTexture"))); - - final Player player = new Player(playerModel, new Vector3f(180, terrain.getHeightOfTerrain(180, -250), -250), - new Vector3f(0, 3.14f, 0), 0.4f); - - final Camera camera = new Camera(player); - - final List guis = new ArrayList<>(); - final GuiTexture gui = new GuiTexture(loader.loadTexture("health"), new Vector2f(-0.75f, 0.9f), - new Vector2f(0.25f, 0.25f)); - guis.add(gui); - - final GuiRenderer guiRenderer = new GuiRenderer(loader); - final MasterRenderer renderer = new MasterRenderer(loader); - - manager.setDrawer(new DisplayManagerDraw() { - @Override - public void draw() { - //entity.increasePosition(0.0f, 0, -0.01f); - //entity.increaseRotation(0, 0, 0.01f); - //entity.increaseRotation(0.01f, 0.02f, 0.0f); - player.move(terrain); - camera.move(); - renderer.processTerrain(terrain); - renderer.processEntity(player); - for (final Entity entity : entities) { - entity.increaseRotation(0, 0.01f, 0.0f); - renderer.processEntity(entity); - } - renderer.render(lights, camera); - guiRenderer.render(guis); - } - }); - manager.loop(); - guiRenderer.cleanUp(); - renderer.cleanUp(); - loader.cleanUp(); - manager.unInit(); - } - -} diff --git a/samples/src/sample/atriasoft/ege/s1_texturedCube/Main.java b/samples/src/sample/atriasoft/ege/s1_texturedCube/Main.java deleted file mode 100644 index 10e6b85..0000000 --- a/samples/src/sample/atriasoft/ege/s1_texturedCube/Main.java +++ /dev/null @@ -1,23 +0,0 @@ -package sample.atriasoft.ege.s1_texturedCube; - -import org.atriasoft.ege.Ege; -import org.atriasoft.etk.Uri; -import org.atriasoft.gale.Gale; - -import sample.atriasoft.ege.collisiontest.MainCollisionTest; - -public class Main { - public static void main(final String[] args) { - Gale.init(); - Ege.init(); - Uri.setGroup("DATA", "data"); - Uri.setGroup("RES", "res"); - // Add some base path of the providers: - Uri.addLibrary("sample", MainCollisionTest.class, "/resources/s1_textured_cube"); - Uri.addLibrary("loxelEngine", MainCollisionTest.class, "/resources/testDataLoxelEngine"); - Uri.setApplication(MainCollisionTest.class, "/resources"); - Gale.run(new S1Application(), args); - } - - public Main() {} -} diff --git a/samples/src/sample/atriasoft/ege/s1_texturedCube/S1Application.java b/samples/src/sample/atriasoft/ege/s1_texturedCube/S1Application.java deleted file mode 100644 index 656ab1e..0000000 --- a/samples/src/sample/atriasoft/ege/s1_texturedCube/S1Application.java +++ /dev/null @@ -1,165 +0,0 @@ -package sample.atriasoft.ege.s1_texturedCube; - -import org.atriasoft.ege.ControlCameraSimple; -import org.atriasoft.ege.Entity; -import org.atriasoft.ege.Environement; -import org.atriasoft.ege.GameStatus; -import org.atriasoft.ege.camera.Camera; -import org.atriasoft.ege.components.ComponentPosition; -import org.atriasoft.ege.components.ComponentRenderColoredStaticMesh; -import org.atriasoft.ege.components.ComponentRenderTexturedStaticMesh; -import org.atriasoft.ege.components.ComponentStaticMesh; -import org.atriasoft.ege.components.ComponentTexture; -import org.atriasoft.ege.tools.MeshGenerator; -import org.atriasoft.etk.Color; -import org.atriasoft.etk.Uri; -import org.atriasoft.etk.math.Matrix4f; -import org.atriasoft.etk.math.Quaternion; -import org.atriasoft.etk.math.Transform3D; -import org.atriasoft.etk.math.Vector2f; -import org.atriasoft.etk.math.Vector3f; -import org.atriasoft.gale.GaleApplication; -import org.atriasoft.gale.backend3d.OpenGL; -import org.atriasoft.gale.backend3d.OpenGL.Flag; -import org.atriasoft.gale.context.GaleContext; -import org.atriasoft.gale.key.KeyKeyboard; -import org.atriasoft.gale.key.KeySpecial; -import org.atriasoft.gale.key.KeyStatus; -import org.atriasoft.gale.key.KeyType; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class S1Application extends GaleApplication { - final static private Logger LOGGER = LoggerFactory.getLogger(S1Application.class); - - private Quaternion basicRotation = Quaternion.IDENTITY; - private Quaternion basicRotation2 = Quaternion.IDENTITY; - private Environement env; - private Camera mainView; - private ComponentPosition objectPosition; - private boolean signe = false; - private ControlCameraSimple simpleControl; - - public S1Application() {} - - @Override - public void onCreate(final GaleContext context) { - LOGGER.info("On create .... [BEGIN]"); - this.env = new Environement(); - setSize(new Vector2f(800, 600)); - setTitle("Low Poly sample"); - - final Entity gird = new Entity(this.env); - gird.addComponent(new ComponentPosition(new Transform3D(new Vector3f(0, 0, 0)))); - gird.addComponent(new ComponentStaticMesh(MeshGenerator.createGrid(5))); - gird.addComponent(new ComponentRenderColoredStaticMesh(new Uri("DATA", "wireColor.vert", "ege"), - new Uri("DATA", "wireColor.frag", "ege"))); - this.env.addEntity(gird); - - final Entity basicTree = new Entity(this.env); - this.objectPosition = new ComponentPosition(new Transform3D(new Vector3f(0, 0, -5))); - basicTree.addComponent(this.objectPosition); - basicTree.addComponent(new ComponentStaticMesh(new Uri("RES", "cube.obj"))); - basicTree.addComponent(new ComponentTexture(new Uri("DATA", "blocks/dirt.png", "loxelEngine"))); - basicTree.addComponent(new ComponentRenderTexturedStaticMesh(new Uri("DATA", "basic.vert", "sample"), - new Uri("DATA", "basic.frag", "sample"))); - this.env.addEntity(basicTree); - - this.mainView = new Camera(); - this.env.addCamera("default", this.mainView); - //mainView.setPitch((float) Math.PI * -0.25f); - //mainView.setPosition(new Vector3f(0, 0, -5)); - - this.simpleControl = new ControlCameraSimple(this.mainView); - this.env.addControlInterface(this.simpleControl); - - // start the engine. - this.env.setPropertyStatus(GameStatus.gameStart); - - this.basicRotation = Quaternion.fromEulerAngles(new Vector3f(0, 0, 0.01f)); - this.basicRotation2 = Quaternion.fromEulerAngles(new Vector3f(0.003f, 0.01f, 0.001f)); - // ready to let Gale & Ege manage the display - LOGGER.info("==> Init APPL (END)"); - LOGGER.info("On create .... [ END ]"); - } - - @Override - public void onDraw(final GaleContext context) { - LOGGER.info("On draw .... [BEGIN]"); - //LOGGER.info("==> appl Draw ..."); - final Vector2f size = getSize(); - // Store openGl context. - OpenGL.push(); - // set projection matrix: - final Matrix4f tmpProjection = Matrix4f.createMatrixPerspective(3.14f * 0.5f, getAspectRatio(), 0.1f, 50000); - //final Matrix4f tmpProjection = Matrix4f.createMatrixOrtho(300, 300, 400, 400, -50000, 50000); - OpenGL.setMatrix(tmpProjection); - - // set the basic openGL view port: (Draw in all the windows...) - OpenGL.setViewPort(new Vector2f(0, 0), size); - - // clear background - final Color bgColor = new Color(0.0f, 1.0f, 0.0f, 1.0f); - OpenGL.clearColor(bgColor); - // real clear request: - OpenGL.clear(OpenGL.ClearFlag.clearFlag_colorBuffer); - OpenGL.clear(OpenGL.ClearFlag.clearFlag_depthBuffer); - OpenGL.enable(Flag.flag_depthTest); - - this.env.render(20, "default"); - // Restore context of matrix - OpenGL.pop(); - LOGGER.info("On draw .... [ END ]"); - } - - @Override - public void onKeyboard( - final KeySpecial special, - final KeyKeyboard type, - final Character value, - final KeyStatus state) { - this.env.onKeyboard(special, type, value, state); - } - - @Override - public void onPointer( - final KeySpecial special, - final KeyType type, - final int pointerID, - final Vector2f pos, - final KeyStatus state) { - this.env.onPointer(special, type, pointerID, new Vector3f(pos.x(), pos.y(), 0), state); - } - - @Override - public void onRegenerateDisplay(final GaleContext context) { - LOGGER.info("On Regenerate Display .... [BEGIN]"); - //LOGGER.trace("Regenerate Gale Application"); - - //this.mainView.setPitch((float) Math.PI * -0.25f); - this.mainView.setPitch(-0.7f); - this.mainView.setPosition(new Vector3f(0, -10, 10)); - //this.mainView.setPosition(Vector3f.ZERO); - - //this.objectPosition.setTransform(this.objectPosition.getTransform().withPosition(new Vector3f(2, -1, -5))); - if (this.signe == true) { - this.objectPosition.setTransform(this.objectPosition.getTransform() - .withPosition(this.objectPosition.getTransform().getPosition().add(new Vector3f(0, 0, -0.1f)))); - if (this.objectPosition.getTransform().getPosition().z() < -5) { - this.signe = false; - } - } else { - this.objectPosition.setTransform(this.objectPosition.getTransform() - .withPosition(this.objectPosition.getTransform().getPosition().add(new Vector3f(0, 0, 0.1f)))); - if (this.objectPosition.getTransform().getPosition().z() > 5) { - this.signe = true; - } - } - // apply a little rotation to show the element move - this.objectPosition.setTransform(this.objectPosition.getTransform().rotate(this.basicRotation)); - this.objectPosition.setTransform(this.objectPosition.getTransform().rotate(this.basicRotation2)); - this.env.periodicCall(); - markDrawingIsNeeded(); - LOGGER.info("On Regenerate Display .... [ END ]"); - } -} diff --git a/src/entities/Camera.java b/src/main/entities/Camera.java similarity index 100% rename from src/entities/Camera.java rename to src/main/entities/Camera.java diff --git a/src/entities/Entity.java b/src/main/entities/Entity.java similarity index 100% rename from src/entities/Entity.java rename to src/main/entities/Entity.java diff --git a/src/entities/Light.java b/src/main/entities/Light.java similarity index 100% rename from src/entities/Light.java rename to src/main/entities/Light.java diff --git a/src/entities/Player.java b/src/main/entities/Player.java similarity index 100% rename from src/entities/Player.java rename to src/main/entities/Player.java diff --git a/src/guis/GuiRenderer.java b/src/main/guis/GuiRenderer.java similarity index 100% rename from src/guis/GuiRenderer.java rename to src/main/guis/GuiRenderer.java diff --git a/src/guis/GuiShader.java b/src/main/guis/GuiShader.java similarity index 100% rename from src/guis/GuiShader.java rename to src/main/guis/GuiShader.java diff --git a/src/guis/GuiTexture.java b/src/main/guis/GuiTexture.java similarity index 100% rename from src/guis/GuiTexture.java rename to src/main/guis/GuiTexture.java diff --git a/src/guis/gui.frag b/src/main/guis/gui.frag similarity index 100% rename from src/guis/gui.frag rename to src/main/guis/gui.frag diff --git a/src/guis/gui.vert b/src/main/guis/gui.vert similarity index 100% rename from src/guis/gui.vert rename to src/main/guis/gui.vert diff --git a/src/models/RawModel.java b/src/main/models/RawModel.java similarity index 100% rename from src/models/RawModel.java rename to src/main/models/RawModel.java diff --git a/src/models/TexturedModel.java b/src/main/models/TexturedModel.java similarity index 100% rename from src/models/TexturedModel.java rename to src/main/models/TexturedModel.java diff --git a/src/org/atriasoft/eagle/CirclePointGenerator.java b/src/main/org/atriasoft/eagle/CirclePointGenerator.java similarity index 100% rename from src/org/atriasoft/eagle/CirclePointGenerator.java rename to src/main/org/atriasoft/eagle/CirclePointGenerator.java diff --git a/src/org/atriasoft/eagle/SpaceGenerator.java b/src/main/org/atriasoft/eagle/SpaceGenerator.java similarity index 100% rename from src/org/atriasoft/eagle/SpaceGenerator.java rename to src/main/org/atriasoft/eagle/SpaceGenerator.java diff --git a/src/org/atriasoft/eagle/generator/Bridge.java b/src/main/org/atriasoft/eagle/generator/Bridge.java similarity index 100% rename from src/org/atriasoft/eagle/generator/Bridge.java rename to src/main/org/atriasoft/eagle/generator/Bridge.java diff --git a/src/org/atriasoft/eagle/generator/Land.java b/src/main/org/atriasoft/eagle/generator/Land.java similarity index 100% rename from src/org/atriasoft/eagle/generator/Land.java rename to src/main/org/atriasoft/eagle/generator/Land.java diff --git a/src/org/atriasoft/eagle/generator/LocalGenerator.java b/src/main/org/atriasoft/eagle/generator/LocalGenerator.java similarity index 100% rename from src/org/atriasoft/eagle/generator/LocalGenerator.java rename to src/main/org/atriasoft/eagle/generator/LocalGenerator.java diff --git a/src/org/atriasoft/eagle/generator/Montain.java b/src/main/org/atriasoft/eagle/generator/Montain.java similarity index 100% rename from src/org/atriasoft/eagle/generator/Montain.java rename to src/main/org/atriasoft/eagle/generator/Montain.java diff --git a/src/org/atriasoft/eagle/generator/River.java b/src/main/org/atriasoft/eagle/generator/River.java similarity index 100% rename from src/org/atriasoft/eagle/generator/River.java rename to src/main/org/atriasoft/eagle/generator/River.java diff --git a/src/org/atriasoft/eagle/generator/Road.java b/src/main/org/atriasoft/eagle/generator/Road.java similarity index 100% rename from src/org/atriasoft/eagle/generator/Road.java rename to src/main/org/atriasoft/eagle/generator/Road.java diff --git a/src/org/atriasoft/eagle/model/MapChunk.java b/src/main/org/atriasoft/eagle/model/MapChunk.java similarity index 100% rename from src/org/atriasoft/eagle/model/MapChunk.java rename to src/main/org/atriasoft/eagle/model/MapChunk.java diff --git a/src/org/atriasoft/eagle/model/MetaMap.java b/src/main/org/atriasoft/eagle/model/MetaMap.java similarity index 100% rename from src/org/atriasoft/eagle/model/MetaMap.java rename to src/main/org/atriasoft/eagle/model/MetaMap.java diff --git a/src/org/atriasoft/eagle/model/TypeElement.java b/src/main/org/atriasoft/eagle/model/TypeElement.java similarity index 100% rename from src/org/atriasoft/eagle/model/TypeElement.java rename to src/main/org/atriasoft/eagle/model/TypeElement.java diff --git a/src/org/atriasoft/eagle/model/VoxelMap.java b/src/main/org/atriasoft/eagle/model/VoxelMap.java similarity index 100% rename from src/org/atriasoft/eagle/model/VoxelMap.java rename to src/main/org/atriasoft/eagle/model/VoxelMap.java diff --git a/src/org/atriasoft/ege/Component.java b/src/main/org/atriasoft/ege/Component.java similarity index 100% rename from src/org/atriasoft/ege/Component.java rename to src/main/org/atriasoft/ege/Component.java diff --git a/src/org/atriasoft/ege/ControlCameraPlayer.java b/src/main/org/atriasoft/ege/ControlCameraPlayer.java similarity index 100% rename from src/org/atriasoft/ege/ControlCameraPlayer.java rename to src/main/org/atriasoft/ege/ControlCameraPlayer.java diff --git a/src/org/atriasoft/ege/ControlCameraPlayerFPS.java b/src/main/org/atriasoft/ege/ControlCameraPlayerFPS.java similarity index 100% rename from src/org/atriasoft/ege/ControlCameraPlayerFPS.java rename to src/main/org/atriasoft/ege/ControlCameraPlayerFPS.java diff --git a/src/org/atriasoft/ege/ControlCameraSimple.java b/src/main/org/atriasoft/ege/ControlCameraSimple.java similarity index 100% rename from src/org/atriasoft/ege/ControlCameraSimple.java rename to src/main/org/atriasoft/ege/ControlCameraSimple.java diff --git a/src/org/atriasoft/ege/ControlInterface.java b/src/main/org/atriasoft/ege/ControlInterface.java similarity index 100% rename from src/org/atriasoft/ege/ControlInterface.java rename to src/main/org/atriasoft/ege/ControlInterface.java diff --git a/src/org/atriasoft/ege/CreatorEntity.java b/src/main/org/atriasoft/ege/CreatorEntity.java similarity index 100% rename from src/org/atriasoft/ege/CreatorEntity.java rename to src/main/org/atriasoft/ege/CreatorEntity.java diff --git a/src/org/atriasoft/ege/Ege.java b/src/main/org/atriasoft/ege/Ege.java similarity index 100% rename from src/org/atriasoft/ege/Ege.java rename to src/main/org/atriasoft/ege/Ege.java diff --git a/src/org/atriasoft/ege/Engine.java b/src/main/org/atriasoft/ege/Engine.java similarity index 100% rename from src/org/atriasoft/ege/Engine.java rename to src/main/org/atriasoft/ege/Engine.java diff --git a/src/org/atriasoft/ege/Entity.java b/src/main/org/atriasoft/ege/Entity.java similarity index 100% rename from src/org/atriasoft/ege/Entity.java rename to src/main/org/atriasoft/ege/Entity.java diff --git a/src/org/atriasoft/ege/EntityInteraction.java b/src/main/org/atriasoft/ege/EntityInteraction.java similarity index 100% rename from src/org/atriasoft/ege/EntityInteraction.java rename to src/main/org/atriasoft/ege/EntityInteraction.java diff --git a/src/org/atriasoft/ege/Environement.java b/src/main/org/atriasoft/ege/Environement.java similarity index 100% rename from src/org/atriasoft/ege/Environement.java rename to src/main/org/atriasoft/ege/Environement.java diff --git a/src/org/atriasoft/ege/GameStatus.java b/src/main/org/atriasoft/ege/GameStatus.java similarity index 100% rename from src/org/atriasoft/ege/GameStatus.java rename to src/main/org/atriasoft/ege/GameStatus.java diff --git a/src/org/atriasoft/ege/Light.java b/src/main/org/atriasoft/ege/Light.java similarity index 100% rename from src/org/atriasoft/ege/Light.java rename to src/main/org/atriasoft/ege/Light.java diff --git a/src/org/atriasoft/ege/Material.java b/src/main/org/atriasoft/ege/Material.java similarity index 100% rename from src/org/atriasoft/ege/Material.java rename to src/main/org/atriasoft/ege/Material.java diff --git a/src/org/atriasoft/ege/ResultNearestEntity.java b/src/main/org/atriasoft/ege/ResultNearestEntity.java similarity index 100% rename from src/org/atriasoft/ege/ResultNearestEntity.java rename to src/main/org/atriasoft/ege/ResultNearestEntity.java diff --git a/src/org/atriasoft/ege/Signal.java b/src/main/org/atriasoft/ege/Signal.java similarity index 100% rename from src/org/atriasoft/ege/Signal.java rename to src/main/org/atriasoft/ege/Signal.java diff --git a/src/org/atriasoft/ege/camera/Camera.java b/src/main/org/atriasoft/ege/camera/Camera.java similarity index 100% rename from src/org/atriasoft/ege/camera/Camera.java rename to src/main/org/atriasoft/ege/camera/Camera.java diff --git a/src/org/atriasoft/ege/camera/ProjectionInterface.java b/src/main/org/atriasoft/ege/camera/ProjectionInterface.java similarity index 100% rename from src/org/atriasoft/ege/camera/ProjectionInterface.java rename to src/main/org/atriasoft/ege/camera/ProjectionInterface.java diff --git a/src/org/atriasoft/ege/camera/ProjectionOrthogonal.java b/src/main/org/atriasoft/ege/camera/ProjectionOrthogonal.java similarity index 100% rename from src/org/atriasoft/ege/camera/ProjectionOrthogonal.java rename to src/main/org/atriasoft/ege/camera/ProjectionOrthogonal.java diff --git a/src/org/atriasoft/ege/camera/ProjectionPerspective.java b/src/main/org/atriasoft/ege/camera/ProjectionPerspective.java similarity index 100% rename from src/org/atriasoft/ege/camera/ProjectionPerspective.java rename to src/main/org/atriasoft/ege/camera/ProjectionPerspective.java diff --git a/src/org/atriasoft/ege/components/ComponentAI.java b/src/main/org/atriasoft/ege/components/ComponentAI.java similarity index 100% rename from src/org/atriasoft/ege/components/ComponentAI.java rename to src/main/org/atriasoft/ege/components/ComponentAI.java diff --git a/src/org/atriasoft/ege/components/ComponentDynamicMeshs.java b/src/main/org/atriasoft/ege/components/ComponentDynamicMeshs.java similarity index 100% rename from src/org/atriasoft/ege/components/ComponentDynamicMeshs.java rename to src/main/org/atriasoft/ege/components/ComponentDynamicMeshs.java diff --git a/src/org/atriasoft/ege/components/ComponentGravity.java b/src/main/org/atriasoft/ege/components/ComponentGravity.java similarity index 100% rename from src/org/atriasoft/ege/components/ComponentGravity.java rename to src/main/org/atriasoft/ege/components/ComponentGravity.java diff --git a/src/org/atriasoft/ege/components/ComponentGravityStatic.java b/src/main/org/atriasoft/ege/components/ComponentGravityStatic.java similarity index 100% rename from src/org/atriasoft/ege/components/ComponentGravityStatic.java rename to src/main/org/atriasoft/ege/components/ComponentGravityStatic.java diff --git a/src/org/atriasoft/ege/components/ComponentLight.java b/src/main/org/atriasoft/ege/components/ComponentLight.java similarity index 100% rename from src/org/atriasoft/ege/components/ComponentLight.java rename to src/main/org/atriasoft/ege/components/ComponentLight.java diff --git a/src/org/atriasoft/ege/components/ComponentLightSun.java b/src/main/org/atriasoft/ege/components/ComponentLightSun.java similarity index 100% rename from src/org/atriasoft/ege/components/ComponentLightSun.java rename to src/main/org/atriasoft/ege/components/ComponentLightSun.java diff --git a/src/org/atriasoft/ege/components/ComponentMap.java b/src/main/org/atriasoft/ege/components/ComponentMap.java similarity index 100% rename from src/org/atriasoft/ege/components/ComponentMap.java rename to src/main/org/atriasoft/ege/components/ComponentMap.java diff --git a/src/org/atriasoft/ege/components/ComponentMaterial.java b/src/main/org/atriasoft/ege/components/ComponentMaterial.java similarity index 100% rename from src/org/atriasoft/ege/components/ComponentMaterial.java rename to src/main/org/atriasoft/ege/components/ComponentMaterial.java diff --git a/src/org/atriasoft/ege/components/ComponentMaterials.java b/src/main/org/atriasoft/ege/components/ComponentMaterials.java similarity index 100% rename from src/org/atriasoft/ege/components/ComponentMaterials.java rename to src/main/org/atriasoft/ege/components/ComponentMaterials.java diff --git a/src/org/atriasoft/ege/components/ComponentMesh.java b/src/main/org/atriasoft/ege/components/ComponentMesh.java similarity index 100% rename from src/org/atriasoft/ege/components/ComponentMesh.java rename to src/main/org/atriasoft/ege/components/ComponentMesh.java diff --git a/src/org/atriasoft/ege/components/ComponentParticle.java b/src/main/org/atriasoft/ege/components/ComponentParticle.java similarity index 100% rename from src/org/atriasoft/ege/components/ComponentParticle.java rename to src/main/org/atriasoft/ege/components/ComponentParticle.java diff --git a/src/org/atriasoft/ege/components/ComponentPhysics.java b/src/main/org/atriasoft/ege/components/ComponentPhysics.java similarity index 100% rename from src/org/atriasoft/ege/components/ComponentPhysics.java rename to src/main/org/atriasoft/ege/components/ComponentPhysics.java diff --git a/src/org/atriasoft/ege/components/ComponentPlayer.java b/src/main/org/atriasoft/ege/components/ComponentPlayer.java similarity index 100% rename from src/org/atriasoft/ege/components/ComponentPlayer.java rename to src/main/org/atriasoft/ege/components/ComponentPlayer.java diff --git a/src/org/atriasoft/ege/components/ComponentPosition.java b/src/main/org/atriasoft/ege/components/ComponentPosition.java similarity index 100% rename from src/org/atriasoft/ege/components/ComponentPosition.java rename to src/main/org/atriasoft/ege/components/ComponentPosition.java diff --git a/src/org/atriasoft/ege/components/ComponentPositionPlayer.java b/src/main/org/atriasoft/ege/components/ComponentPositionPlayer.java similarity index 100% rename from src/org/atriasoft/ege/components/ComponentPositionPlayer.java rename to src/main/org/atriasoft/ege/components/ComponentPositionPlayer.java diff --git a/src/org/atriasoft/ege/components/ComponentRender.java b/src/main/org/atriasoft/ege/components/ComponentRender.java similarity index 100% rename from src/org/atriasoft/ege/components/ComponentRender.java rename to src/main/org/atriasoft/ege/components/ComponentRender.java diff --git a/src/org/atriasoft/ege/components/ComponentRenderColoredStaticMesh.java b/src/main/org/atriasoft/ege/components/ComponentRenderColoredStaticMesh.java similarity index 100% rename from src/org/atriasoft/ege/components/ComponentRenderColoredStaticMesh.java rename to src/main/org/atriasoft/ege/components/ComponentRenderColoredStaticMesh.java diff --git a/src/org/atriasoft/ege/components/ComponentRenderMeshPalette.java b/src/main/org/atriasoft/ege/components/ComponentRenderMeshPalette.java similarity index 100% rename from src/org/atriasoft/ege/components/ComponentRenderMeshPalette.java rename to src/main/org/atriasoft/ege/components/ComponentRenderMeshPalette.java diff --git a/src/org/atriasoft/ege/components/ComponentRenderTexturedMaterialsDynamicMeshs.java b/src/main/org/atriasoft/ege/components/ComponentRenderTexturedMaterialsDynamicMeshs.java similarity index 100% rename from src/org/atriasoft/ege/components/ComponentRenderTexturedMaterialsDynamicMeshs.java rename to src/main/org/atriasoft/ege/components/ComponentRenderTexturedMaterialsDynamicMeshs.java diff --git a/src/org/atriasoft/ege/components/ComponentRenderTexturedMaterialsStaticMesh.java b/src/main/org/atriasoft/ege/components/ComponentRenderTexturedMaterialsStaticMesh.java similarity index 100% rename from src/org/atriasoft/ege/components/ComponentRenderTexturedMaterialsStaticMesh.java rename to src/main/org/atriasoft/ege/components/ComponentRenderTexturedMaterialsStaticMesh.java diff --git a/src/org/atriasoft/ege/components/ComponentRenderTexturedMaterialsStaticMeshs.java b/src/main/org/atriasoft/ege/components/ComponentRenderTexturedMaterialsStaticMeshs.java similarity index 100% rename from src/org/atriasoft/ege/components/ComponentRenderTexturedMaterialsStaticMeshs.java rename to src/main/org/atriasoft/ege/components/ComponentRenderTexturedMaterialsStaticMeshs.java diff --git a/src/org/atriasoft/ege/components/ComponentRenderTexturedStaticMesh.java b/src/main/org/atriasoft/ege/components/ComponentRenderTexturedStaticMesh.java similarity index 100% rename from src/org/atriasoft/ege/components/ComponentRenderTexturedStaticMesh.java rename to src/main/org/atriasoft/ege/components/ComponentRenderTexturedStaticMesh.java diff --git a/src/org/atriasoft/ege/components/ComponentStaticMesh.java b/src/main/org/atriasoft/ege/components/ComponentStaticMesh.java similarity index 100% rename from src/org/atriasoft/ege/components/ComponentStaticMesh.java rename to src/main/org/atriasoft/ege/components/ComponentStaticMesh.java diff --git a/src/org/atriasoft/ege/components/ComponentStaticMeshs.java b/src/main/org/atriasoft/ege/components/ComponentStaticMeshs.java similarity index 100% rename from src/org/atriasoft/ege/components/ComponentStaticMeshs.java rename to src/main/org/atriasoft/ege/components/ComponentStaticMeshs.java diff --git a/src/org/atriasoft/ege/components/ComponentTexture.java b/src/main/org/atriasoft/ege/components/ComponentTexture.java similarity index 100% rename from src/org/atriasoft/ege/components/ComponentTexture.java rename to src/main/org/atriasoft/ege/components/ComponentTexture.java diff --git a/src/org/atriasoft/ege/components/ComponentTexturePack.java b/src/main/org/atriasoft/ege/components/ComponentTexturePack.java similarity index 100% rename from src/org/atriasoft/ege/components/ComponentTexturePack.java rename to src/main/org/atriasoft/ege/components/ComponentTexturePack.java diff --git a/src/org/atriasoft/ege/components/ComponentTexturePalette.java b/src/main/org/atriasoft/ege/components/ComponentTexturePalette.java similarity index 100% rename from src/org/atriasoft/ege/components/ComponentTexturePalette.java rename to src/main/org/atriasoft/ege/components/ComponentTexturePalette.java diff --git a/src/org/atriasoft/ege/components/ComponentTextures.java b/src/main/org/atriasoft/ege/components/ComponentTextures.java similarity index 100% rename from src/org/atriasoft/ege/components/ComponentTextures.java rename to src/main/org/atriasoft/ege/components/ComponentTextures.java diff --git a/src/org/atriasoft/ege/components/GlLightIndex.java b/src/main/org/atriasoft/ege/components/GlLightIndex.java similarity index 100% rename from src/org/atriasoft/ege/components/GlLightIndex.java rename to src/main/org/atriasoft/ege/components/GlLightIndex.java diff --git a/src/org/atriasoft/ege/components/PhysicBodyType.java b/src/main/org/atriasoft/ege/components/PhysicBodyType.java similarity index 100% rename from src/org/atriasoft/ege/components/PhysicBodyType.java rename to src/main/org/atriasoft/ege/components/PhysicBodyType.java diff --git a/src/org/atriasoft/ege/components/part/LightRender.java b/src/main/org/atriasoft/ege/components/part/LightRender.java similarity index 100% rename from src/org/atriasoft/ege/components/part/LightRender.java rename to src/main/org/atriasoft/ege/components/part/LightRender.java diff --git a/src/org/atriasoft/ege/components/part/MaterialRender.java b/src/main/org/atriasoft/ege/components/part/MaterialRender.java similarity index 100% rename from src/org/atriasoft/ege/components/part/MaterialRender.java rename to src/main/org/atriasoft/ege/components/part/MaterialRender.java diff --git a/src/org/atriasoft/ege/components/part/MaterialRenderBase.java b/src/main/org/atriasoft/ege/components/part/MaterialRenderBase.java similarity index 100% rename from src/org/atriasoft/ege/components/part/MaterialRenderBase.java rename to src/main/org/atriasoft/ege/components/part/MaterialRenderBase.java diff --git a/src/org/atriasoft/ege/components/part/MaterialsRender.java b/src/main/org/atriasoft/ege/components/part/MaterialsRender.java similarity index 100% rename from src/org/atriasoft/ege/components/part/MaterialsRender.java rename to src/main/org/atriasoft/ege/components/part/MaterialsRender.java diff --git a/src/org/atriasoft/ege/components/part/PartRenderInterface.java b/src/main/org/atriasoft/ege/components/part/PartRenderInterface.java similarity index 100% rename from src/org/atriasoft/ege/components/part/PartRenderInterface.java rename to src/main/org/atriasoft/ege/components/part/PartRenderInterface.java diff --git a/src/org/atriasoft/ege/components/part/PositionningInterface.java b/src/main/org/atriasoft/ege/components/part/PositionningInterface.java similarity index 100% rename from src/org/atriasoft/ege/components/part/PositionningInterface.java rename to src/main/org/atriasoft/ege/components/part/PositionningInterface.java diff --git a/src/org/atriasoft/ege/components/part/TransformRender.java b/src/main/org/atriasoft/ege/components/part/TransformRender.java similarity index 100% rename from src/org/atriasoft/ege/components/part/TransformRender.java rename to src/main/org/atriasoft/ege/components/part/TransformRender.java diff --git a/src/org/atriasoft/ege/engines/EngineAI.java b/src/main/org/atriasoft/ege/engines/EngineAI.java similarity index 100% rename from src/org/atriasoft/ege/engines/EngineAI.java rename to src/main/org/atriasoft/ege/engines/EngineAI.java diff --git a/src/org/atriasoft/ege/engines/EngineDynamicMeshs.java b/src/main/org/atriasoft/ege/engines/EngineDynamicMeshs.java similarity index 100% rename from src/org/atriasoft/ege/engines/EngineDynamicMeshs.java rename to src/main/org/atriasoft/ege/engines/EngineDynamicMeshs.java diff --git a/src/org/atriasoft/ege/engines/EngineGravity.java b/src/main/org/atriasoft/ege/engines/EngineGravity.java similarity index 100% rename from src/org/atriasoft/ege/engines/EngineGravity.java rename to src/main/org/atriasoft/ege/engines/EngineGravity.java diff --git a/src/org/atriasoft/ege/engines/EngineLight.java b/src/main/org/atriasoft/ege/engines/EngineLight.java similarity index 100% rename from src/org/atriasoft/ege/engines/EngineLight.java rename to src/main/org/atriasoft/ege/engines/EngineLight.java diff --git a/src/org/atriasoft/ege/engines/EngineMap.java b/src/main/org/atriasoft/ege/engines/EngineMap.java similarity index 100% rename from src/org/atriasoft/ege/engines/EngineMap.java rename to src/main/org/atriasoft/ege/engines/EngineMap.java diff --git a/src/org/atriasoft/ege/engines/EngineParticle.java b/src/main/org/atriasoft/ege/engines/EngineParticle.java similarity index 100% rename from src/org/atriasoft/ege/engines/EngineParticle.java rename to src/main/org/atriasoft/ege/engines/EngineParticle.java diff --git a/src/org/atriasoft/ege/engines/EnginePhysics.java b/src/main/org/atriasoft/ege/engines/EnginePhysics.java similarity index 100% rename from src/org/atriasoft/ege/engines/EnginePhysics.java rename to src/main/org/atriasoft/ege/engines/EnginePhysics.java diff --git a/src/org/atriasoft/ege/engines/EnginePlayer.java b/src/main/org/atriasoft/ege/engines/EnginePlayer.java similarity index 100% rename from src/org/atriasoft/ege/engines/EnginePlayer.java rename to src/main/org/atriasoft/ege/engines/EnginePlayer.java diff --git a/src/org/atriasoft/ege/engines/EngineRender.java b/src/main/org/atriasoft/ege/engines/EngineRender.java similarity index 100% rename from src/org/atriasoft/ege/engines/EngineRender.java rename to src/main/org/atriasoft/ege/engines/EngineRender.java diff --git a/src/org/atriasoft/ege/geometry/AABB.java b/src/main/org/atriasoft/ege/geometry/AABB.java similarity index 100% rename from src/org/atriasoft/ege/geometry/AABB.java rename to src/main/org/atriasoft/ege/geometry/AABB.java diff --git a/src/org/atriasoft/ege/geometry/Geometry3D.java b/src/main/org/atriasoft/ege/geometry/Geometry3D.java similarity index 100% rename from src/org/atriasoft/ege/geometry/Geometry3D.java rename to src/main/org/atriasoft/ege/geometry/Geometry3D.java diff --git a/src/org/atriasoft/ege/geometry/Line.java b/src/main/org/atriasoft/ege/geometry/Line.java similarity index 100% rename from src/org/atriasoft/ege/geometry/Line.java rename to src/main/org/atriasoft/ege/geometry/Line.java diff --git a/src/org/atriasoft/ege/geometry/OBB.java b/src/main/org/atriasoft/ege/geometry/OBB.java similarity index 100% rename from src/org/atriasoft/ege/geometry/OBB.java rename to src/main/org/atriasoft/ege/geometry/OBB.java diff --git a/src/org/atriasoft/ege/geometry/Plane.java b/src/main/org/atriasoft/ege/geometry/Plane.java similarity index 100% rename from src/org/atriasoft/ege/geometry/Plane.java rename to src/main/org/atriasoft/ege/geometry/Plane.java diff --git a/src/org/atriasoft/ege/geometry/Plane____.java b/src/main/org/atriasoft/ege/geometry/Plane____.java similarity index 100% rename from src/org/atriasoft/ege/geometry/Plane____.java rename to src/main/org/atriasoft/ege/geometry/Plane____.java diff --git a/src/org/atriasoft/ege/geometry/Ray.java b/src/main/org/atriasoft/ege/geometry/Ray.java similarity index 100% rename from src/org/atriasoft/ege/geometry/Ray.java rename to src/main/org/atriasoft/ege/geometry/Ray.java diff --git a/src/org/atriasoft/ege/geometry/Sphere.java b/src/main/org/atriasoft/ege/geometry/Sphere.java similarity index 100% rename from src/org/atriasoft/ege/geometry/Sphere.java rename to src/main/org/atriasoft/ege/geometry/Sphere.java diff --git a/src/org/atriasoft/ege/geometry/Triangle.java b/src/main/org/atriasoft/ege/geometry/Triangle.java similarity index 100% rename from src/org/atriasoft/ege/geometry/Triangle.java rename to src/main/org/atriasoft/ege/geometry/Triangle.java diff --git a/src/org/atriasoft/ege/map/ComponentDynamicMeshsVoxelMap.java b/src/main/org/atriasoft/ege/map/ComponentDynamicMeshsVoxelMap.java similarity index 100% rename from src/org/atriasoft/ege/map/ComponentDynamicMeshsVoxelMap.java rename to src/main/org/atriasoft/ege/map/ComponentDynamicMeshsVoxelMap.java diff --git a/src/org/atriasoft/ege/map/ComponentRenderVoxelMesh.java b/src/main/org/atriasoft/ege/map/ComponentRenderVoxelMesh.java similarity index 100% rename from src/org/atriasoft/ege/map/ComponentRenderVoxelMesh.java rename to src/main/org/atriasoft/ege/map/ComponentRenderVoxelMesh.java diff --git a/src/org/atriasoft/ege/map/MapVoxel.java b/src/main/org/atriasoft/ege/map/MapVoxel.java similarity index 100% rename from src/org/atriasoft/ege/map/MapVoxel.java rename to src/main/org/atriasoft/ege/map/MapVoxel.java diff --git a/src/org/atriasoft/ege/map/Voxel.java b/src/main/org/atriasoft/ege/map/Voxel.java similarity index 100% rename from src/org/atriasoft/ege/map/Voxel.java rename to src/main/org/atriasoft/ege/map/Voxel.java diff --git a/src/org/atriasoft/ege/map/VoxelChunk.java b/src/main/org/atriasoft/ege/map/VoxelChunk.java similarity index 100% rename from src/org/atriasoft/ege/map/VoxelChunk.java rename to src/main/org/atriasoft/ege/map/VoxelChunk.java diff --git a/src/org/atriasoft/ege/map/VoxelType.java b/src/main/org/atriasoft/ege/map/VoxelType.java similarity index 100% rename from src/org/atriasoft/ege/map/VoxelType.java rename to src/main/org/atriasoft/ege/map/VoxelType.java diff --git a/src/org/atriasoft/ege/todo_sample.md b/src/main/org/atriasoft/ege/todo_sample.md similarity index 100% rename from src/org/atriasoft/ege/todo_sample.md rename to src/main/org/atriasoft/ege/todo_sample.md diff --git a/src/org/atriasoft/ege/tools/MeshGenerator.java b/src/main/org/atriasoft/ege/tools/MeshGenerator.java similarity index 100% rename from src/org/atriasoft/ege/tools/MeshGenerator.java rename to src/main/org/atriasoft/ege/tools/MeshGenerator.java diff --git a/src/org/atriasoft/phyligram/ColisionPoint.java b/src/main/org/atriasoft/phyligram/ColisionPoint.java similarity index 100% rename from src/org/atriasoft/phyligram/ColisionPoint.java rename to src/main/org/atriasoft/phyligram/ColisionPoint.java diff --git a/src/org/atriasoft/phyligram/Collision.java b/src/main/org/atriasoft/phyligram/Collision.java similarity index 100% rename from src/org/atriasoft/phyligram/Collision.java rename to src/main/org/atriasoft/phyligram/Collision.java diff --git a/src/org/atriasoft/phyligram/DebugDisplay.java b/src/main/org/atriasoft/phyligram/DebugDisplay.java similarity index 100% rename from src/org/atriasoft/phyligram/DebugDisplay.java rename to src/main/org/atriasoft/phyligram/DebugDisplay.java diff --git a/src/org/atriasoft/phyligram/GravityMap.java b/src/main/org/atriasoft/phyligram/GravityMap.java similarity index 100% rename from src/org/atriasoft/phyligram/GravityMap.java rename to src/main/org/atriasoft/phyligram/GravityMap.java diff --git a/src/org/atriasoft/phyligram/PhysicBox.java b/src/main/org/atriasoft/phyligram/PhysicBox.java similarity index 100% rename from src/org/atriasoft/phyligram/PhysicBox.java rename to src/main/org/atriasoft/phyligram/PhysicBox.java diff --git a/src/org/atriasoft/phyligram/PhysicHeightMapChunk.java b/src/main/org/atriasoft/phyligram/PhysicHeightMapChunk.java similarity index 100% rename from src/org/atriasoft/phyligram/PhysicHeightMapChunk.java rename to src/main/org/atriasoft/phyligram/PhysicHeightMapChunk.java diff --git a/src/org/atriasoft/phyligram/PhysicMapVoxel.java b/src/main/org/atriasoft/phyligram/PhysicMapVoxel.java similarity index 100% rename from src/org/atriasoft/phyligram/PhysicMapVoxel.java rename to src/main/org/atriasoft/phyligram/PhysicMapVoxel.java diff --git a/src/org/atriasoft/phyligram/PhysicShape.java b/src/main/org/atriasoft/phyligram/PhysicShape.java similarity index 100% rename from src/org/atriasoft/phyligram/PhysicShape.java rename to src/main/org/atriasoft/phyligram/PhysicShape.java diff --git a/src/org/atriasoft/phyligram/PhysicSphere.java b/src/main/org/atriasoft/phyligram/PhysicSphere.java similarity index 100% rename from src/org/atriasoft/phyligram/PhysicSphere.java rename to src/main/org/atriasoft/phyligram/PhysicSphere.java diff --git a/src/org/atriasoft/phyligram/PhysicTriangle.java b/src/main/org/atriasoft/phyligram/PhysicTriangle.java similarity index 100% rename from src/org/atriasoft/phyligram/PhysicTriangle.java rename to src/main/org/atriasoft/phyligram/PhysicTriangle.java diff --git a/src/org/atriasoft/phyligram/math/Ray.java b/src/main/org/atriasoft/phyligram/math/Ray.java similarity index 100% rename from src/org/atriasoft/phyligram/math/Ray.java rename to src/main/org/atriasoft/phyligram/math/Ray.java diff --git a/src/org/atriasoft/phyligram/math/ToolCollisionOBBWithOBB.java b/src/main/org/atriasoft/phyligram/math/ToolCollisionOBBWithOBB.java similarity index 100% rename from src/org/atriasoft/phyligram/math/ToolCollisionOBBWithOBB.java rename to src/main/org/atriasoft/phyligram/math/ToolCollisionOBBWithOBB.java diff --git a/src/org/atriasoft/phyligram/math/ToolCollisionSphereWithHeightMapChunk.java b/src/main/org/atriasoft/phyligram/math/ToolCollisionSphereWithHeightMapChunk.java similarity index 100% rename from src/org/atriasoft/phyligram/math/ToolCollisionSphereWithHeightMapChunk.java rename to src/main/org/atriasoft/phyligram/math/ToolCollisionSphereWithHeightMapChunk.java diff --git a/src/org/atriasoft/phyligram/math/ToolCollisionSphereWithSphere.java b/src/main/org/atriasoft/phyligram/math/ToolCollisionSphereWithSphere.java similarity index 100% rename from src/org/atriasoft/phyligram/math/ToolCollisionSphereWithSphere.java rename to src/main/org/atriasoft/phyligram/math/ToolCollisionSphereWithSphere.java diff --git a/src/org/atriasoft/phyligram/math/ToolCollisionSphereWithTriangle.java b/src/main/org/atriasoft/phyligram/math/ToolCollisionSphereWithTriangle.java similarity index 100% rename from src/org/atriasoft/phyligram/math/ToolCollisionSphereWithTriangle.java rename to src/main/org/atriasoft/phyligram/math/ToolCollisionSphereWithTriangle.java diff --git a/src/org/atriasoft/phyligram/shape/AABB.java b/src/main/org/atriasoft/phyligram/shape/AABB.java similarity index 100% rename from src/org/atriasoft/phyligram/shape/AABB.java rename to src/main/org/atriasoft/phyligram/shape/AABB.java diff --git a/src/org/atriasoft/phyligram/shape/Box.java b/src/main/org/atriasoft/phyligram/shape/Box.java similarity index 100% rename from src/org/atriasoft/phyligram/shape/Box.java rename to src/main/org/atriasoft/phyligram/shape/Box.java diff --git a/src/org/atriasoft/phyligram/shape/Capsule.java b/src/main/org/atriasoft/phyligram/shape/Capsule.java similarity index 100% rename from src/org/atriasoft/phyligram/shape/Capsule.java rename to src/main/org/atriasoft/phyligram/shape/Capsule.java diff --git a/src/org/atriasoft/phyligram/shape/Concave.java b/src/main/org/atriasoft/phyligram/shape/Concave.java similarity index 100% rename from src/org/atriasoft/phyligram/shape/Concave.java rename to src/main/org/atriasoft/phyligram/shape/Concave.java diff --git a/src/org/atriasoft/phyligram/shape/Cone.java b/src/main/org/atriasoft/phyligram/shape/Cone.java similarity index 100% rename from src/org/atriasoft/phyligram/shape/Cone.java rename to src/main/org/atriasoft/phyligram/shape/Cone.java diff --git a/src/org/atriasoft/phyligram/shape/ConvexHull.java b/src/main/org/atriasoft/phyligram/shape/ConvexHull.java similarity index 100% rename from src/org/atriasoft/phyligram/shape/ConvexHull.java rename to src/main/org/atriasoft/phyligram/shape/ConvexHull.java diff --git a/src/org/atriasoft/phyligram/shape/Cylinder.java b/src/main/org/atriasoft/phyligram/shape/Cylinder.java similarity index 100% rename from src/org/atriasoft/phyligram/shape/Cylinder.java rename to src/main/org/atriasoft/phyligram/shape/Cylinder.java diff --git a/src/org/atriasoft/phyligram/shape/HeightMapChunk.java b/src/main/org/atriasoft/phyligram/shape/HeightMapChunk.java similarity index 100% rename from src/org/atriasoft/phyligram/shape/HeightMapChunk.java rename to src/main/org/atriasoft/phyligram/shape/HeightMapChunk.java diff --git a/src/org/atriasoft/phyligram/shape/Shape.java b/src/main/org/atriasoft/phyligram/shape/Shape.java similarity index 100% rename from src/org/atriasoft/phyligram/shape/Shape.java rename to src/main/org/atriasoft/phyligram/shape/Shape.java diff --git a/src/org/atriasoft/phyligram/shape/Sphere.java b/src/main/org/atriasoft/phyligram/shape/Sphere.java similarity index 100% rename from src/org/atriasoft/phyligram/shape/Sphere.java rename to src/main/org/atriasoft/phyligram/shape/Sphere.java diff --git a/src/org/atriasoft/phyligram/tree/CallbackOverlapping.java b/src/main/org/atriasoft/phyligram/tree/CallbackOverlapping.java similarity index 100% rename from src/org/atriasoft/phyligram/tree/CallbackOverlapping.java rename to src/main/org/atriasoft/phyligram/tree/CallbackOverlapping.java diff --git a/src/org/atriasoft/phyligram/tree/CallbackRaycast.java b/src/main/org/atriasoft/phyligram/tree/CallbackRaycast.java similarity index 100% rename from src/org/atriasoft/phyligram/tree/CallbackRaycast.java rename to src/main/org/atriasoft/phyligram/tree/CallbackRaycast.java diff --git a/src/org/atriasoft/phyligram/tree/DTree.java b/src/main/org/atriasoft/phyligram/tree/DTree.java similarity index 100% rename from src/org/atriasoft/phyligram/tree/DTree.java rename to src/main/org/atriasoft/phyligram/tree/DTree.java diff --git a/src/org/atriasoft/phyligram/tree/DTreeLeafData.java b/src/main/org/atriasoft/phyligram/tree/DTreeLeafData.java similarity index 100% rename from src/org/atriasoft/phyligram/tree/DTreeLeafData.java rename to src/main/org/atriasoft/phyligram/tree/DTreeLeafData.java diff --git a/src/org/atriasoft/phyligram/tree/DTreeLeafInt.java b/src/main/org/atriasoft/phyligram/tree/DTreeLeafInt.java similarity index 100% rename from src/org/atriasoft/phyligram/tree/DTreeLeafInt.java rename to src/main/org/atriasoft/phyligram/tree/DTreeLeafInt.java diff --git a/src/org/atriasoft/phyligram/tree/DTreeNode.java b/src/main/org/atriasoft/phyligram/tree/DTreeNode.java similarity index 100% rename from src/org/atriasoft/phyligram/tree/DTreeNode.java rename to src/main/org/atriasoft/phyligram/tree/DTreeNode.java diff --git a/src/org/atriasoft/phyligram/tree/DynamicAABBTree.java b/src/main/org/atriasoft/phyligram/tree/DynamicAABBTree.java similarity index 100% rename from src/org/atriasoft/phyligram/tree/DynamicAABBTree.java rename to src/main/org/atriasoft/phyligram/tree/DynamicAABBTree.java diff --git a/src/org/atriasoft/phyligram/tree/PairDTree.java b/src/main/org/atriasoft/phyligram/tree/PairDTree.java similarity index 100% rename from src/org/atriasoft/phyligram/tree/PairDTree.java rename to src/main/org/atriasoft/phyligram/tree/PairDTree.java diff --git a/src/renderEngine/DisplayManager.java b/src/main/renderEngine/DisplayManager.java similarity index 100% rename from src/renderEngine/DisplayManager.java rename to src/main/renderEngine/DisplayManager.java diff --git a/src/renderEngine/DisplayManagerDraw.java b/src/main/renderEngine/DisplayManagerDraw.java similarity index 100% rename from src/renderEngine/DisplayManagerDraw.java rename to src/main/renderEngine/DisplayManagerDraw.java diff --git a/src/renderEngine/EntityRenderer.java b/src/main/renderEngine/EntityRenderer.java similarity index 100% rename from src/renderEngine/EntityRenderer.java rename to src/main/renderEngine/EntityRenderer.java diff --git a/src/renderEngine/Loader.java b/src/main/renderEngine/Loader.java similarity index 100% rename from src/renderEngine/Loader.java rename to src/main/renderEngine/Loader.java diff --git a/src/renderEngine/MasterRenderer.java b/src/main/renderEngine/MasterRenderer.java similarity index 100% rename from src/renderEngine/MasterRenderer.java rename to src/main/renderEngine/MasterRenderer.java diff --git a/src/renderEngine/OBJLoader.java b/src/main/renderEngine/OBJLoader.java similarity index 100% rename from src/renderEngine/OBJLoader.java rename to src/main/renderEngine/OBJLoader.java diff --git a/src/renderEngine/TerrainRenderer.java b/src/main/renderEngine/TerrainRenderer.java similarity index 100% rename from src/renderEngine/TerrainRenderer.java rename to src/main/renderEngine/TerrainRenderer.java diff --git a/src/shaders/ShaderProgram.java b/src/main/shaders/ShaderProgram.java similarity index 100% rename from src/shaders/ShaderProgram.java rename to src/main/shaders/ShaderProgram.java diff --git a/src/shaders/StaticShader.java b/src/main/shaders/StaticShader.java similarity index 100% rename from src/shaders/StaticShader.java rename to src/main/shaders/StaticShader.java diff --git a/src/shaders/TerrainShader.java b/src/main/shaders/TerrainShader.java similarity index 100% rename from src/shaders/TerrainShader.java rename to src/main/shaders/TerrainShader.java diff --git a/src/shaders/static.frag b/src/main/shaders/static.frag similarity index 100% rename from src/shaders/static.frag rename to src/main/shaders/static.frag diff --git a/src/shaders/static.vert b/src/main/shaders/static.vert similarity index 100% rename from src/shaders/static.vert rename to src/main/shaders/static.vert diff --git a/src/shaders/terrain.frag b/src/main/shaders/terrain.frag similarity index 100% rename from src/shaders/terrain.frag rename to src/main/shaders/terrain.frag diff --git a/src/shaders/terrain.vert b/src/main/shaders/terrain.vert similarity index 100% rename from src/shaders/terrain.vert rename to src/main/shaders/terrain.vert diff --git a/src/skybox/SkyboxRenderer.java b/src/main/skybox/SkyboxRenderer.java similarity index 100% rename from src/skybox/SkyboxRenderer.java rename to src/main/skybox/SkyboxRenderer.java diff --git a/src/skybox/SkyboxShader.java b/src/main/skybox/SkyboxShader.java similarity index 100% rename from src/skybox/SkyboxShader.java rename to src/main/skybox/SkyboxShader.java diff --git a/src/skybox/skybox.frag b/src/main/skybox/skybox.frag similarity index 100% rename from src/skybox/skybox.frag rename to src/main/skybox/skybox.frag diff --git a/src/skybox/skybox.vert b/src/main/skybox/skybox.vert similarity index 100% rename from src/skybox/skybox.vert rename to src/main/skybox/skybox.vert diff --git a/src/terrains/Terrain.java b/src/main/terrains/Terrain.java similarity index 100% rename from src/terrains/Terrain.java rename to src/main/terrains/Terrain.java diff --git a/src/terrains/TerrainTexture.java b/src/main/terrains/TerrainTexture.java similarity index 100% rename from src/terrains/TerrainTexture.java rename to src/main/terrains/TerrainTexture.java diff --git a/src/terrains/TerrainTexturePack.java b/src/main/terrains/TerrainTexturePack.java similarity index 100% rename from src/terrains/TerrainTexturePack.java rename to src/main/terrains/TerrainTexturePack.java diff --git a/src/textures/ModelTexture.java b/src/main/textures/ModelTexture.java similarity index 100% rename from src/textures/ModelTexture.java rename to src/main/textures/ModelTexture.java diff --git a/src/textures/TextureData.java b/src/main/textures/TextureData.java similarity index 100% rename from src/textures/TextureData.java rename to src/main/textures/TextureData.java diff --git a/src/toolbox/Maths.java b/src/main/toolbox/Maths.java similarity index 100% rename from src/toolbox/Maths.java rename to src/main/toolbox/Maths.java diff --git a/src/module-info.java b/src/module-info.java deleted file mode 100644 index 9233a06..0000000 --- a/src/module-info.java +++ /dev/null @@ -1,34 +0,0 @@ -/** Basic module interface. - * - * @author Edouard DUPIN */ - -open module org.atriasoft.ege { - exports org.atriasoft.ege; - exports org.atriasoft.ege.camera; - exports org.atriasoft.ege.components; - exports org.atriasoft.ege.engines; - exports org.atriasoft.ege.geometry; - exports org.atriasoft.ege.map; - exports org.atriasoft.ege.tools; - exports org.atriasoft.phyligram; - exports org.atriasoft.phyligram.shape; - exports org.atriasoft.phyligram.math; - exports org.atriasoft.phyligram.tree; - exports entities; - exports guis; - exports models; - exports renderEngine; - exports shaders; - exports skybox; - exports terrains; - exports textures; - exports toolbox; - - requires transitive java.desktop; // todo: remove this deprecated element... - requires transitive org.atriasoft.gale; - requires transitive org.atriasoft.etk; - requires transitive org.atriasoft.ewol; - //requires transitive org.atriasoft.ephysics; - requires transitive org.atriasoft.loader3d; - requires org.atriasoft.iogami; -} diff --git a/src/resources/resources/ege/data/simple3D.frag b/src/resources/resources/ege/data/simple3D.frag deleted file mode 100644 index 4bf4c15..0000000 --- a/src/resources/resources/ege/data/simple3D.frag +++ /dev/null @@ -1,16 +0,0 @@ -#version 400 core - -#ifdef GL_ES -precision mediump float; -precision mediump int; -#endif - -in vec4 io_color; - -// output: -out vec4 out_Color; - -void main(void) { - out_Color = io_color; -} - diff --git a/src/resources/resources/ege/data/simple3D.vert b/src/resources/resources/ege/data/simple3D.vert deleted file mode 100644 index 985abb4..0000000 --- a/src/resources/resources/ege/data/simple3D.vert +++ /dev/null @@ -1,21 +0,0 @@ -#version 400 core - -#ifdef GL_ES -precision mediump float; -precision mediump int; -#endif - -// Input : -in vec3 in_position; -uniform vec4 in_colors; -uniform mat4 in_matrixTransformation; -uniform mat4 in_matrixProjection; -uniform mat4 in_matrixView; - -// output : -out vec4 io_color; - -void main(void) { - gl_Position = in_matrixProjection * in_matrixView * in_matrixTransformation * vec4(in_position, 1.0); - io_color = vec4(in_colors.xyz, 0.3); -} diff --git a/src/resources/resources/ege/data/wireColor.frag b/src/resources/resources/ege/data/wireColor.frag deleted file mode 100644 index 2a8ac6b..0000000 --- a/src/resources/resources/ege/data/wireColor.frag +++ /dev/null @@ -1,16 +0,0 @@ -#version 400 core - -#ifdef GL_ES -precision mediump float; -precision mediump int; -#endif - -in vec4 io_color; - -// output: -out vec4 out_Color; - -void main(void) { - out_Color = vec4(1.0,0.0,0.0,1.0); - // io_color; -} diff --git a/src/resources/resources/ege/data/wireColor.vert b/src/resources/resources/ege/data/wireColor.vert deleted file mode 100644 index e674f99..0000000 --- a/src/resources/resources/ege/data/wireColor.vert +++ /dev/null @@ -1,21 +0,0 @@ -#version 400 core - -#ifdef GL_ES -precision mediump float; -precision mediump int; -#endif - -// Input: -in vec3 in_position; -in vec4 in_colors; -uniform mat4 in_matrixTransformation; -uniform mat4 in_matrixProjection; -uniform mat4 in_matrixView; - -// output: -out vec4 io_color; - -void main(void) { - gl_Position = in_matrixProjection * in_matrixView * in_matrixTransformation * vec4(in_position, 1.0); - io_color = in_colors; -} diff --git a/test/src/test/atriasoft/ege/.keep b/src/test/test/atriasoft/ege/.keep similarity index 100% rename from test/src/test/atriasoft/ege/.keep rename to src/test/test/atriasoft/ege/.keep diff --git a/test/src/test/atriasoft/ege/TestTransformation3D.java b/src/test/test/atriasoft/ege/TestTransformation3D.java similarity index 100% rename from test/src/test/atriasoft/ege/TestTransformation3D.java rename to src/test/test/atriasoft/ege/TestTransformation3D.java diff --git a/src/test/test/atriasoft/phyligram/TestCollisionSphereTriangle.java b/src/test/test/atriasoft/phyligram/TestCollisionSphereTriangle.java new file mode 100644 index 0000000..72fb772 --- /dev/null +++ b/src/test/test/atriasoft/phyligram/TestCollisionSphereTriangle.java @@ -0,0 +1,74 @@ +package test.atriasoft.phyligram; + +import org.atriasoft.etk.math.Transform3D; +import org.atriasoft.etk.math.Vector3f; +import org.atriasoft.phyligram.PhysicSphere; +import org.atriasoft.phyligram.PhysicTriangle; +import org.atriasoft.phyligram.math.ToolCollisionSphereWithTriangle; +import org.atriasoft.phyligram.shape.AABB; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class TestCollisionSphereTriangle { + + // static Stream generateData() { + // return Stream.of( // ... + // Arguments.of(1, new Vector3f(0.0f, 0.0f, 1.001f), false), // test just on top Z + // Arguments.of(2, new Vector3f(0.0f, 0.0f, -1.001f), false), // test just on bottom Z + // Arguments.of(2, new Vector3f(2.001f, 0.0f, 0.0f), false), // test on the top X + // Arguments.of(2, new Vector3f(-2.001f, 0.0f, 0.0f), false), // test on the bottom X + // Arguments.of(2, new Vector3f(0.0f, 1.7f, 0.0f), false), // test on the top Y + // Arguments.of(2, new Vector3f(0.0f, -1.7f, 0.0f), false), // test on the bottom Y + // // test collision + // Arguments.of(2, new Vector3f(0.0f, 0.0f, 0.9f), true), // in center + // Arguments.of(1, new Vector3f(0.0f, 0.0f, 0.999f), true), // test just on top Z + // Arguments.of(2, new Vector3f(0.0f, 0.0f, -0.999f), true), // test just on bottom Z + // Arguments.of(2, new Vector3f(1.999f, 0.0f, 0.0f), true), // test on the top X + // Arguments.of(2, new Vector3f(-1.999f, 0.0f, 0.0f), true), // test on the bottom X + // Arguments.of(2, new Vector3f(0.0f, 1.5f, 0.0f), true), // test on the top Y + // Arguments.of(2, new Vector3f(0.0f, -1.5f, 0.0f), true), // test on the bottom Y + // Arguments.of(2, new Vector3f(1.5f, 1.5f, 0.0f), true), // test on corner A + // Arguments.of(2, new Vector3f(1.5f, -1.5f, 0.0f), true) // test on corner B + // ); + // } + // + // @ParameterizedTest + // @MethodSource("generateData") + // void testsphereOut(final int testId, final Vector3f position, final boolean resultTheoricValue) { + // System.out.println("AAAAA "); + // final float testCoefficient = 1.0f; + // final PhysicSphere sphere = new PhysicSphere(); + // sphere.setSize(testCoefficient); + // final PhysicTriangle triangle = new PhysicTriangle(); + // triangle.setPoints(new Vector3f(testCoefficient, testCoefficient, 0.0f), + // new Vector3f(testCoefficient, -testCoefficient, 0.0f), new Vector3f(-testCoefficient, 0.0f, 0.0f)); + // final Transform3D transformGlobalTriangle = Transform3D.IDENTITY; + // final Transform3D transformGlobalsphere = new Transform3D(position.multiply(testCoefficient)); + // final AABB aabb = new AABB(); + // sphere.updateAABB(transformGlobalsphere, aabb); + // sphere.updateForNarrowCollision(transformGlobalsphere); + // triangle.updateAABB(transformGlobalTriangle, aabb); + // triangle.updateForNarrowCollision(transformGlobalTriangle); + // final boolean result = ToolCollisionSphereWithTriangle.testCollide(sphere, triangle); + // Assertions.assertEquals(resultTheoricValue, result); + // } + + @Test + void testsphereOutTop() { + final float testCoefficient = 2.0f; + final PhysicSphere sphere = new PhysicSphere(); + sphere.setSize(testCoefficient); + final PhysicTriangle triangle = new PhysicTriangle(); + triangle.setPoints(new Vector3f(testCoefficient, testCoefficient, 0.0f), + new Vector3f(testCoefficient, -testCoefficient, 0.0f), new Vector3f(-testCoefficient, 0.0f, 0.0f)); + final Transform3D transformGlobalTriangle = Transform3D.IDENTITY; + final Transform3D transformGlobalsphere = new Transform3D(new Vector3f(0.0f, 0.0f, testCoefficient + 0.001f)); + final AABB aabb = new AABB(); + sphere.updateAABB(transformGlobalsphere, aabb); + sphere.updateForNarrowCollision(transformGlobalsphere); + triangle.updateAABB(transformGlobalTriangle, aabb); + triangle.updateForNarrowCollision(transformGlobalTriangle); + final boolean result = ToolCollisionSphereWithTriangle.testCollide(sphere, triangle); + Assertions.assertFalse(result); + } +} diff --git a/test/src/resources/simplelogger.properties b/src/testResources/simplelogger.properties similarity index 100% rename from test/src/resources/simplelogger.properties rename to src/testResources/simplelogger.properties diff --git a/test/src/test/atriasoft/phyligram/TestCollisionSphereTriangle.java b/test/src/test/atriasoft/phyligram/TestCollisionSphereTriangle.java deleted file mode 100644 index a94bc37..0000000 --- a/test/src/test/atriasoft/phyligram/TestCollisionSphereTriangle.java +++ /dev/null @@ -1,76 +0,0 @@ -package test.atriasoft.phyligram; - -import java.util.stream.Stream; - -import org.atriasoft.etk.math.Transform3D; -import org.atriasoft.etk.math.Vector3f; -import org.atriasoft.phyligram.PhysicSphere; -import org.atriasoft.phyligram.PhysicTriangle; -import org.atriasoft.phyligram.math.ToolCollisionSphereWithTriangle; -import org.atriasoft.phyligram.shape.AABB; -import org.junit.jupiter.api.Assertions; -import org.junit.jupiter.api.Test; - -public class TestCollisionSphereTriangle { - - static Stream generateData() { - return Stream.of( // ... - Arguments.of(1, new Vector3f(0.0f, 0.0f, 1.001f), false), // test just on top Z - Arguments.of(2, new Vector3f(0.0f, 0.0f, -1.001f), false), // test just on bottom Z - Arguments.of(2, new Vector3f(2.001f, 0.0f, 0.0f), false), // test on the top X - Arguments.of(2, new Vector3f(-2.001f, 0.0f, 0.0f), false), // test on the bottom X - Arguments.of(2, new Vector3f(0.0f, 1.7f, 0.0f), false), // test on the top Y - Arguments.of(2, new Vector3f(0.0f, -1.7f, 0.0f), false), // test on the bottom Y - // test collision - Arguments.of(2, new Vector3f(0.0f, 0.0f, 0.9f), true), // in center - Arguments.of(1, new Vector3f(0.0f, 0.0f, 0.999f), true), // test just on top Z - Arguments.of(2, new Vector3f(0.0f, 0.0f, -0.999f), true), // test just on bottom Z - Arguments.of(2, new Vector3f(1.999f, 0.0f, 0.0f), true), // test on the top X - Arguments.of(2, new Vector3f(-1.999f, 0.0f, 0.0f), true), // test on the bottom X - Arguments.of(2, new Vector3f(0.0f, 1.5f, 0.0f), true), // test on the top Y - Arguments.of(2, new Vector3f(0.0f, -1.5f, 0.0f), true), // test on the bottom Y - Arguments.of(2, new Vector3f(1.5f, 1.5f, 0.0f), true), // test on corner A - Arguments.of(2, new Vector3f(1.5f, -1.5f, 0.0f), true) // test on corner B - ); - } - - @ParameterizedTest - @MethodSource("generateData") - void testsphereOut(final int testId, final Vector3f position, final boolean resultTheoricValue) { - System.out.println("AAAAA "); - final float testCoefficient = 1.0f; - final PhysicSphere sphere = new PhysicSphere(); - sphere.setSize(testCoefficient); - final PhysicTriangle triangle = new PhysicTriangle(); - triangle.setPoints(new Vector3f(testCoefficient, testCoefficient, 0.0f), - new Vector3f(testCoefficient, -testCoefficient, 0.0f), new Vector3f(-testCoefficient, 0.0f, 0.0f)); - final Transform3D transformGlobalTriangle = Transform3D.IDENTITY; - final Transform3D transformGlobalsphere = new Transform3D(position.multiply(testCoefficient)); - final AABB aabb = new AABB(); - sphere.updateAABB(transformGlobalsphere, aabb); - sphere.updateForNarrowCollision(transformGlobalsphere); - triangle.updateAABB(transformGlobalTriangle, aabb); - triangle.updateForNarrowCollision(transformGlobalTriangle); - final boolean result = ToolCollisionSphereWithTriangle.testCollide(sphere, triangle); - Assertions.assertEquals(resultTheoricValue, result); - } - - @Test - void testsphereOutTop() { - final float testCoefficient = 2.0f; - final PhysicSphere sphere = new PhysicSphere(); - sphere.setSize(testCoefficient); - final PhysicTriangle triangle = new PhysicTriangle(); - triangle.setPoints(new Vector3f(testCoefficient, testCoefficient, 0.0f), - new Vector3f(testCoefficient, -testCoefficient, 0.0f), new Vector3f(-testCoefficient, 0.0f, 0.0f)); - final Transform3D transformGlobalTriangle = Transform3D.IDENTITY; - final Transform3D transformGlobalsphere = new Transform3D(new Vector3f(0.0f, 0.0f, testCoefficient + 0.001f)); - final AABB aabb = new AABB(); - sphere.updateAABB(transformGlobalsphere, aabb); - sphere.updateForNarrowCollision(transformGlobalsphere); - triangle.updateAABB(transformGlobalTriangle, aabb); - triangle.updateForNarrowCollision(transformGlobalTriangle); - final boolean result = ToolCollisionSphereWithTriangle.testCollide(sphere, triangle); - Assertions.assertFalse(result); - } -}