51 lines
1.3 KiB
Plaintext
51 lines
1.3 KiB
Plaintext
version 1 .
|
|
|
|
Sprite = <sprite @name string @shape Shape> .
|
|
|
|
Shape = Mesh / Light / Scale / Move / Rotate / @many [Shape ...] / Texture / Color / Name / Floor / Nonphysical / CSG .
|
|
|
|
Mesh = Sphere / Box / Ground / Plane .
|
|
|
|
Sphere = <sphere> .
|
|
Box = <box> .
|
|
Plane = <plane> .
|
|
Ground = <ground @size Vector2> .
|
|
|
|
Light = <hemispheric-light @v Vector3> .
|
|
|
|
Vector2 = <v @x double @y double> .
|
|
Vector3 = <v @x double @y double @z double> .
|
|
Quaternion = <q @a double @b double @c double @d double> .
|
|
|
|
Scale = <scale @v Vector3 @shape Shape> .
|
|
Move = <move @v Vector3 @shape Shape> .
|
|
Rotate = @euler <rotate @v Vector3 @shape Shape> / @quaternion <rotate @q Quaternion @shape Shape> .
|
|
|
|
Texture = <texture @spec TextureSpec @shape Shape> .
|
|
TextureSpec =
|
|
/ @simple [@path string]
|
|
/ @uv [@path string @scale Vector2 @offset Vector2]
|
|
/ @uvAlpha [@path string @scale Vector2 @offset Vector2 @alpha double]
|
|
.
|
|
|
|
Color =
|
|
/ @opaque <color @r double @g double @b double @shape Shape>
|
|
/ @transparent <color @r double @g double @b double @alpha double @shape Shape>
|
|
.
|
|
|
|
Name = <name @base string @shape Shape> .
|
|
|
|
Floor = <floor @shape Shape> .
|
|
|
|
Nonphysical = <nonphysical @shape Shape> .
|
|
|
|
CSG = <csg @expr CSGExpr> .
|
|
|
|
CSGExpr =
|
|
/ <mesh @shape Shape>
|
|
/ <subtract @base CSGExpr @more [CSGExpr ...]>
|
|
/ <union @shapes [CSGExpr ...]>
|
|
/ <intersect @shapes [CSGExpr ...]>
|
|
/ <invert @shape CSGExpr>
|
|
.
|