★★ Helios v0.0.4 ★★ Turbowarp recommended: https://turbowarp.org/1067668720?fps=60 --------- Controls --------- > WASD QE - Move Camera > Arrow Keys - Rotate Camera > Hover your mouse over the bottom to adjust settings Helios is a 3D rendering engine that is extremely primitive, where the only thing you can define are triangles and meshes. However, the flexibility of the Vector operations makes it exceptionally easy to add new features. For version, feature and extra information click "see inside" and go to the "Thumbnail" sprite -------------------- How the 'Engine' works ----------------- In the Helios engine, you can define variables in the code with the block [Vector: New (v) = (x, y, z)]. This block creates a new vector, and stores it in the stack. For example, I run the block [Vector: New {p0} = {1, 0, 0}]. Now, I can reference "p0" in any of the Vector operations. For example, I can define another Vector "p1" and use the following block to add them together: [Vector: {p2} = {p0} + {p1}] Let us dissect this block. Basically, this block creates a new Vector called "p2" and assigns it the sum of the Vectors "p0" and "p1" Most of the Vector operation blocks in this project work like this, with the following blocks: [New (v) = (x, y, z)] [Delete (v)] [(result) = (v0) + (v1)] [(result) = (v0) - (v1)] [(result) = (v) * (s)] [(result) = (v) / (s)] [(result) = normalise (v)] [(result) = (v0) cross (v1)] [(result) = (v) rotated by (s)] And blocks that return scalars: [Length: (v)] [(v0) dot (v1)] -------------------------- Notes -------------------------- All code made by me ( @SolarFlurry ) Credit if you use this project (no idea why you would though) Inspired by @ggenije and @jenton2001 #3d #math #vector