[DEV] add test of lutin builder
This commit is contained in:
parent
4e0fa632c8
commit
7bbd3a4254
167
lutin_org-atriasoft-ege.py
Normal file
167
lutin_org-atriasoft-ege.py
Normal file
@ -0,0 +1,167 @@
|
||||
#!/usr/bin/python
|
||||
import realog.debug as debug
|
||||
import lutin.tools as tools
|
||||
import realog.debug as debug
|
||||
import lutin.image as image
|
||||
import os
|
||||
import lutin.multiprocess as lutinMultiprocess
|
||||
|
||||
|
||||
def get_type():
|
||||
return "LIBRARY_DYNAMIC"
|
||||
|
||||
def get_desc():
|
||||
return "Ewol Tool Kit"
|
||||
|
||||
def get_licence():
|
||||
return "MPL-2"
|
||||
|
||||
def get_compagny_type():
|
||||
return "org"
|
||||
|
||||
def get_compagny_name():
|
||||
return "atria-soft"
|
||||
|
||||
#def get_maintainer():
|
||||
# return "authors.txt"
|
||||
|
||||
#def get_version():
|
||||
# return "version.txt"
|
||||
|
||||
def configure(target, my_module):
|
||||
|
||||
my_module.add_src_file([
|
||||
'src/entities/Light.java',
|
||||
'src/entities/Player.java',
|
||||
'src/entities/Entity.java',
|
||||
'src/entities/Camera.java',
|
||||
'src/shaders/ShaderProgram.java',
|
||||
'src/shaders/StaticShader.java',
|
||||
'src/shaders/TerrainShader.java',
|
||||
'src/renderEngine/DisplayManagerDraw.java',
|
||||
'src/renderEngine/DisplayManager.java',
|
||||
'src/renderEngine/TerrainRenderer.java',
|
||||
'src/renderEngine/EntityRenderer.java',
|
||||
'src/renderEngine/MasterRenderer.java',
|
||||
'src/renderEngine/Loader.java',
|
||||
'src/renderEngine/OBJLoader.java',
|
||||
'src/module-info.java',
|
||||
'src/org/atriasoft/ege/physics/shape/Sphere.java',
|
||||
'src/org/atriasoft/ege/physics/shape/Box.java',
|
||||
'src/org/atriasoft/ege/physics/shape/Capsule.java',
|
||||
'src/org/atriasoft/ege/physics/shape/ConvexHull.java',
|
||||
'src/org/atriasoft/ege/physics/shape/Concave.java',
|
||||
'src/org/atriasoft/ege/physics/shape/Shape.java',
|
||||
'src/org/atriasoft/ege/physics/shape/Cone.java',
|
||||
'src/org/atriasoft/ege/physics/shape/Cylinder.java',
|
||||
'src/org/atriasoft/ege/Ege.java',
|
||||
'src/org/atriasoft/ege/CreatorEntity.java',
|
||||
'src/org/atriasoft/ege/Light.java',
|
||||
'src/org/atriasoft/ege/EntityInteraction.java',
|
||||
'src/org/atriasoft/ege/engines/EngineParticle.java',
|
||||
'src/org/atriasoft/ege/engines/EngineDynamicMeshs.java',
|
||||
'src/org/atriasoft/ege/engines/EngineMap.java',
|
||||
'src/org/atriasoft/ege/engines/EngineAI.java',
|
||||
'src/org/atriasoft/ege/engines/EnginePhysics.java',
|
||||
'src/org/atriasoft/ege/engines/EnginePlayer.java',
|
||||
'src/org/atriasoft/ege/engines/EngineGravity.java',
|
||||
'src/org/atriasoft/ege/engines/EngineRender.java',
|
||||
'src/org/atriasoft/ege/engines/EngineLight.java',
|
||||
'src/org/atriasoft/ege/ControlCameraPlayerFPS.java',
|
||||
'src/org/atriasoft/ege/internal/Log.java',
|
||||
'src/org/atriasoft/ege/geometry/AABB.java',
|
||||
'src/org/atriasoft/ege/geometry/Sphere.java',
|
||||
'src/org/atriasoft/ege/geometry/Ray.java',
|
||||
'src/org/atriasoft/ege/geometry/Plane.java',
|
||||
'src/org/atriasoft/ege/geometry/OBB.java',
|
||||
'src/org/atriasoft/ege/geometry/Geometry3D.java',
|
||||
'src/org/atriasoft/ege/geometry/Line.java',
|
||||
'src/org/atriasoft/ege/geometry/Triangle.java',
|
||||
'src/org/atriasoft/ege/ControlCameraPlayer.java',
|
||||
'src/org/atriasoft/ege/Material.java',
|
||||
'src/org/atriasoft/ege/ResultNearestEntity.java',
|
||||
'src/org/atriasoft/ege/Component.java',
|
||||
'src/org/atriasoft/ege/Environement.java',
|
||||
'src/org/atriasoft/ege/Signal.java',
|
||||
'src/org/atriasoft/ege/map/MapVoxel.java',
|
||||
'src/org/atriasoft/ege/map/VoxelType.java',
|
||||
'src/org/atriasoft/ege/map/VoxelChunk.java',
|
||||
'src/org/atriasoft/ege/map/ComponentDynamicMeshsVoxelMap.java',
|
||||
'src/org/atriasoft/ege/map/Voxel.java',
|
||||
'src/org/atriasoft/ege/map/ComponentRenderVoxelMesh.java',
|
||||
'src/org/atriasoft/ege/camera/Camera.java',
|
||||
'src/org/atriasoft/ege/Entity.java',
|
||||
'src/org/atriasoft/ege/Engine.java',
|
||||
'src/org/atriasoft/ege/components/ComponentTextures.java',
|
||||
'src/org/atriasoft/ege/components/ComponentMaterials.java',
|
||||
'src/org/atriasoft/ege/components/ComponentRender.java',
|
||||
'src/org/atriasoft/ege/components/ComponentMaterial.java',
|
||||
'src/org/atriasoft/ege/components/ComponentTexturePalette.java',
|
||||
'src/org/atriasoft/ege/components/ComponentRenderTexturedStaticMesh.java',
|
||||
'src/org/atriasoft/ege/components/ComponentLightSun.java',
|
||||
'src/org/atriasoft/ege/components/ComponentTexturePack.java',
|
||||
'src/org/atriasoft/ege/components/ComponentRenderColoredStaticMesh.java',
|
||||
'src/org/atriasoft/ege/components/ComponentMap.java',
|
||||
'src/org/atriasoft/ege/components/ComponentRenderTexturedMaterialsStaticMesh.java',
|
||||
'src/org/atriasoft/ege/components/ComponentPhysics.java',
|
||||
'src/org/atriasoft/ege/components/ComponentDynamicMeshs.java',
|
||||
'src/org/atriasoft/ege/components/ComponentMesh.java',
|
||||
'src/org/atriasoft/ege/components/ComponentPlayer.java',
|
||||
'src/org/atriasoft/ege/components/ComponentRenderMeshPalette.java',
|
||||
'src/org/atriasoft/ege/components/ComponentGravityStatic.java',
|
||||
'src/org/atriasoft/ege/components/ComponentRenderTexturedMaterialsStaticMeshs.java',
|
||||
'src/org/atriasoft/ege/components/ComponentGravity.java',
|
||||
'src/org/atriasoft/ege/components/ComponentPositionPlayer.java',
|
||||
'src/org/atriasoft/ege/components/ComponentLight.java',
|
||||
'src/org/atriasoft/ege/components/part/LightRender.java',
|
||||
'src/org/atriasoft/ege/components/part/MaterialRenderBase.java',
|
||||
'src/org/atriasoft/ege/components/part/MaterialsRender.java',
|
||||
'src/org/atriasoft/ege/components/part/PartRenderInterface.java',
|
||||
'src/org/atriasoft/ege/components/part/TransformRender.java',
|
||||
'src/org/atriasoft/ege/components/part/MaterialRender.java',
|
||||
'src/org/atriasoft/ege/components/part/PositionningInterface.java',
|
||||
'src/org/atriasoft/ege/components/GlLightIndex.java',
|
||||
'src/org/atriasoft/ege/components/ComponentStaticMeshs.java',
|
||||
'src/org/atriasoft/ege/components/ComponentPosition.java',
|
||||
'src/org/atriasoft/ege/components/ComponentAI.java',
|
||||
'src/org/atriasoft/ege/components/PhysicBodyType.java',
|
||||
'src/org/atriasoft/ege/components/ComponentRenderTexturedMaterialsDynamicMeshs.java',
|
||||
'src/org/atriasoft/ege/components/ComponentTexture.java',
|
||||
'src/org/atriasoft/ege/components/ComponentStaticMesh.java',
|
||||
'src/org/atriasoft/ege/components/ComponentParticle.java',
|
||||
'src/org/atriasoft/ege/tools/MeshGenerator.java',
|
||||
'src/org/atriasoft/ege/ControlCameraSimple.java',
|
||||
'src/org/atriasoft/ege/ControlInterface.java',
|
||||
'src/org/atriasoft/ege/GameStatus.java',
|
||||
'src/skybox/SkyboxShader.java',
|
||||
'src/skybox/SkyboxRenderer.java',
|
||||
'src/terrains/TerrainTexture.java',
|
||||
'src/terrains/TerrainTexturePack.java',
|
||||
'src/terrains/Terrain.java',
|
||||
'src/guis/GuiTexture.java',
|
||||
'src/guis/GuiRenderer.java',
|
||||
'src/guis/GuiShader.java',
|
||||
'src/textures/ModelTexture.java',
|
||||
'src/textures/TextureData.java',
|
||||
'src/toolbox/Maths.java',
|
||||
'src/models/RawModel.java',
|
||||
'src/models/TexturedModel.java',
|
||||
])
|
||||
my_module.add_path('src/', type='java')
|
||||
|
||||
my_module.add_depend([
|
||||
'org-atriasoft-ewol',
|
||||
'org-atriasoft-ephysics',
|
||||
'org-atriasoft-loader3d',
|
||||
])
|
||||
|
||||
#my_module.add_path([
|
||||
# 'lib/spotbugs-annotations-4.2.2.jar'
|
||||
# ],
|
||||
# type='java',
|
||||
# export=True
|
||||
#);
|
||||
my_module.add_flag('java', "RELEASE_15_PREVIEW");
|
||||
|
||||
return True
|
||||
|
@ -90,7 +90,7 @@ public class CollisionTestApplication extends GaleApplication {
|
||||
// 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 Vector3f(0.4f, 0.4f, 0.4f), Vector3f.ZERO, new Vector3f(0.8f, 0, 0))));
|
||||
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 ...
|
||||
|
@ -61,7 +61,7 @@ public class LightTestApplication extends GaleApplication {
|
||||
// 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 Vector3f(0.4f, 0.4f, 0.4f), new Vector3f(0, 0, 0), new Vector3f(0.8f, 0, 0))));
|
||||
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 ...
|
||||
@ -70,7 +70,7 @@ public class LightTestApplication extends GaleApplication {
|
||||
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 Vector3f(0, 2, 0), new Vector3f(0, 0, 0), new Vector3f(0.8f, 0.01f, 0.002f))));
|
||||
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);
|
||||
|
||||
|
@ -93,7 +93,7 @@ public class LoxelApplication extends GaleApplication {
|
||||
// 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 Vector3f(0.4f, 0.4f, 0.4f), new Vector3f(0, 0, 0), new Vector3f(0.8f, 0, 0))));
|
||||
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 ...
|
||||
@ -112,7 +112,7 @@ public class LoxelApplication extends GaleApplication {
|
||||
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), new Vector3f(0, 0, 0), new Vector3f(0.8f, 0.03f, 0.002f))));
|
||||
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")));
|
||||
final ComponentPhysics physics2 = new ComponentPhysics(this.env);
|
||||
physics2.setTransform(new Transform3D(new Vector3f(0, 0, 5)));
|
||||
@ -129,7 +129,7 @@ public class LoxelApplication extends GaleApplication {
|
||||
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), new Vector3f(0, 0, 0), new Vector3f(0.8f, 0.03f, 0.002f))));
|
||||
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")));
|
||||
final ComponentPhysics physics2 = new ComponentPhysics(this.env);
|
||||
physics2.setTransform(new Transform3D(new Vector3f(0, 4, 12.5f)));
|
||||
|
@ -21,6 +21,7 @@ open module org.atriasoft.ege {
|
||||
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;
|
||||
|
@ -1,11 +1,12 @@
|
||||
package org.atriasoft.ege;
|
||||
|
||||
import java.time.Clock;
|
||||
import java.time.Duration;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.atriasoft.echrono.Clock;
|
||||
import org.atriasoft.ege.camera.Camera;
|
||||
import org.atriasoft.ege.engines.EngineAI;
|
||||
import org.atriasoft.ege.engines.EngineDynamicMeshs;
|
||||
@ -54,13 +55,14 @@ public class Environement {
|
||||
private final List<Entity> listEntity = new ArrayList<>(); // !< List of all entity added in the Game
|
||||
|
||||
List<ControlInterface> controls = new ArrayList<>();
|
||||
Clock lastCallTime;
|
||||
long lastCallTime = 0;
|
||||
// ! list of all camera in the world
|
||||
protected Map<String, Camera> listCamera = new HashMap<>();
|
||||
|
||||
protected long gameTime = 0; // !< time of the game running
|
||||
|
||||
Clock startTime;
|
||||
|
||||
long startTime = 0;
|
||||
Clock startClock = null;
|
||||
|
||||
//protected List<Mesh> listMeshToDrawFirst = new ArrayList<Mesh>();
|
||||
public Environement() {
|
||||
@ -72,6 +74,7 @@ public class Environement {
|
||||
addEngine(new EnginePhysics(this));
|
||||
addEngine(new EngineParticle(this));
|
||||
addEngine(new EngineLight(this));
|
||||
startClock = Clock.systemUTC();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -325,18 +328,19 @@ public class Environement {
|
||||
}
|
||||
|
||||
public void periodicCall() {
|
||||
if (this.lastCallTime == null) {
|
||||
this.startTime = Clock.now();
|
||||
if (this.lastCallTime == 0) {
|
||||
this.startTime = System.nanoTime();
|
||||
this.lastCallTime = this.startTime;
|
||||
}
|
||||
final Clock lastUpdate = this.lastCallTime;
|
||||
this.lastCallTime = Clock.now();
|
||||
final EventTime event = new EventTime(this.lastCallTime, this.startTime, this.lastCallTime.less(lastUpdate), this.lastCallTime.less(lastUpdate));
|
||||
final long lastUpdate = this.lastCallTime;
|
||||
this.lastCallTime = System.nanoTime();
|
||||
Clock currentClock = Clock.systemUTC();
|
||||
final EventTime event = new EventTime(currentClock, this.startClock, this.lastCallTime , this.startTime, Duration.ofNanos(this.lastCallTime - lastUpdate), Duration.ofNanos(this.lastCallTime - lastUpdate));
|
||||
for (final ControlInterface elem : this.controls) {
|
||||
elem.periodicCall(event);
|
||||
}
|
||||
for (final Engine engine : this.engines) {
|
||||
engine.update(this.lastCallTime.less(lastUpdate).get() / 100);
|
||||
engine.update((long)((this.lastCallTime - lastUpdate)/1000000));
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -16,8 +16,8 @@ import org.lwjgl.opengl.GL15;
|
||||
import org.lwjgl.opengl.GL20;
|
||||
import org.lwjgl.opengl.GL30;
|
||||
|
||||
import de.matthiasmann.twl.utils.PNGDecoder;
|
||||
import de.matthiasmann.twl.utils.PNGDecoder.Format;
|
||||
import org.atriasoft.pngdecoder.PNGDecoder;
|
||||
import org.atriasoft.pngdecoder.PNGDecoder.Format;
|
||||
import models.RawModel;
|
||||
import textures.TextureData;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user