On Monday, 26 October 2020 at 23:38:22 UTC, Joel wrote:
```
struct vec3d
{
        float x, y, z;
}

struct triangle
{
        vec3d[3] p;
}

struct mesh
{
        triangle[] tris;
}

// This here
meshCube.tris = {

                // SOUTH
{ 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, 1.0f, 0.0f }, { 0.0f, 0.0f, 0.0f, 1.0f, 1.0f, 0.0f, 1.0f, 0.0f, 0.0f },

                // EAST
{ 1.0f, 0.0f, 0.0f, 1.0f, 1.0f, 0.0f, 1.0f, 1.0f, 1.0f }, { 1.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 1.0f },

                // NORTH
{ 1.0f, 0.0f, 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 1.0f, 1.0f }, { 1.0f, 0.0f, 1.0f, 0.0f, 1.0f, 1.0f, 0.0f, 0.0f, 1.0f },

                // WEST
{ 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, 1.0f, 0.0f, 1.0f, 0.0f }, { 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f },

                // TOP
{ 0.0f, 1.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f }, { 0.0f, 1.0f, 0.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 0.0f },

                // BOTTOM
{ 1.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f }, { 1.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f },

                };
```

See:
https://youtu.be/ih20l3pJoeU
https://github.com/OneLoneCoder/videos/blob/master/OneLoneCoder_olcEngine3D_Part1.cpp

This is what I came up with:

meshCube.tris =

        // south
[triangle(vec3d(0f,0f,0f)), triangle(vec3d(0f,1f,0f)), triangle(vec3d(1f,1f,0f)), triangle(vec3d(0f,0f,0f)), triangle(vec3d(1f,1f,0f)), triangle(vec3d(1f,0f,0f)),

        // east
triangle(vec3d(1f,0f,0f)), triangle(vec3d(1f,1f,0f)), triangle(vec3d(1f,1f,1f)), triangle(vec3d(1f,0f,0f)), triangle(vec3d(1f,1f,1f)), triangle(vec3d(1f,0f,1f)),

        // north
triangle(vec3d(1f,0f,1f)), triangle(vec3d(1f,1f,1f)), triangle(vec3d(0f,1f,1f)), triangle(vec3d(1f,0f,1f)), triangle(vec3d(0f,1f,1f)), triangle(vec3d(0f,0f,1f)),

        // west
triangle(vec3d(0f,0f,1f)), triangle(vec3d(0f,1f,1f)), triangle(vec3d(0f,1f,0f)), triangle(vec3d(0f,0f,1f)), triangle(vec3d(0f,1f,0f)), triangle(vec3d(0f,0f,0f)),

        // top
triangle(vec3d(0f,1f,0f)), triangle(vec3d(0f,1f,1f)), triangle(vec3d(1f,1f,1f)), triangle(vec3d(0f,1f,0f)), triangle(vec3d(1f,1f,1f)), triangle(vec3d(1f,1f,0f)),

        // bottom
triangle(vec3d(1f,0f,1f)), triangle(vec3d(0f,0f,1f)), triangle(vec3d(0f,0f,0f)), triangle(vec3d(1f,0f,1f)), triangle(vec3d(0f,0f,0f)), triangle(vec3d(1f,0f,0f))];

Reply via email to