Huge demos update
-moved C stdlib function definitions to ecs_utils.utils -added function to calculate mix(linear interpolation) and rsqrt(fast inverse sqrt) -added some math to vec2 (length, normalize...) -improved renderer with possibility to use multiple materials (one per block, not perfect solution for parallel compute, but works with some requirements) -added blending support for material (opaque, additive, mixed) -added Android support -added gprahical representation for mouse tools (tool_circle.d) -added initial support for editing template components variables -better Component and Templates listing -added possibility to add/removes components using mouse -move CLocation to game_core.basic and reuse in every test -moved tools code from demos to App (now code is fully separated from demos!) -some improvement and fixes in Snake demo, with additional systems to handle adding and removing entities -added new demo: Particles. By now demo has several particles to spawn and support for attractors and vortexes (calculation is made as every attractor with every entity) -fixed bug with window hover and tools -improved tool behaviour -added new material -now window is always opened as maximized windowed mode -some minor fixes and improvements
This commit is contained in:
parent
13e6ed8fd5
commit
e76c5ccdb2
20 changed files with 1804 additions and 288 deletions
|
|
@ -1,5 +1,7 @@
|
|||
module ecs_utils.math.vector;
|
||||
|
||||
import ecs_utils.utils;
|
||||
|
||||
struct vec2
|
||||
{
|
||||
this(float v) @nogc nothrow
|
||||
|
|
@ -71,6 +73,26 @@ struct vec2
|
|||
}
|
||||
else static assert(0, "Operator "~op~" not implemented");
|
||||
}
|
||||
|
||||
float length2()
|
||||
{
|
||||
return x*x + y*y;
|
||||
}
|
||||
|
||||
float length()
|
||||
{
|
||||
return sqrtf(length2);
|
||||
}
|
||||
|
||||
float fastSqrLength()
|
||||
{
|
||||
return rsqrt(length2);
|
||||
}
|
||||
|
||||
vec2 normalize()
|
||||
{
|
||||
return this * fastSqrLength();
|
||||
}
|
||||
}
|
||||
|
||||
struct vec4
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue