#include "../Common/Common.h"
#define SAMPLE_FILENAME "Layers.fbx"
#define BACKGROUND_IMAGE_NAME "Spotty"
#define BACKGROUND_IMAGE      "spotty.jpg"
#define GEO1_IMAGE_NAME     "One"
#define GEO1_IMAGE          "1.jpg"
#define GEO2_IMAGE_NAME     "Waffle"
#define GEO2_IMAGE          "waffle.jpg"
typedef double Vector4[4];
typedef double Vector2[2];
int main(int argc, char** argv)
{
    bool lResult;
    
    InitializeSdkObjects(lSdkManager, lScene);
    
    FbxNode* lCube = CreateCube(lScene, 
"Cube");
 
    
    
    
    const char* lSampleFileName = 
NULL;
 
    for( int i = 1; i < argc; ++i )
    {
        if( FBXSDK_stricmp(argv[i], "-test") == 0 ) continue;
        else if( !lSampleFileName ) lSampleFileName = argv[i];
    }
    if( !lSampleFileName ) lSampleFileName = SAMPLE_FILENAME;
    lResult = SaveScene(lSdkManager, lScene, lSampleFileName);
    if(lResult == false)
    {
        FBXSDK_printf("\n\nAn error occurred while saving the scene...\n");
        DestroySdkObjects(lSdkManager, lResult);
        return 0;
    }
    
    DestroySdkObjects(lSdkManager, lResult);
    return 0;
}
{
    
    static int vtxId[24] = {
        0,1,2,3, 
        1,5,6,2, 
        5,4,7,6, 
        4,0,3,7, 
        0,4,5,1, 
        3,2,6,7  
    };
    
    static Vector4 lControlPoints[8] = {
        { -50.0,  0.0,  50.0, 1.0}, {  50.0,  0.0,  50.0, 1.0},    {  50.0,100.0,  50.0, 1.0},    { -50.0,100.0,  50.0, 1.0}, 
        { -50.0,  0.0, -50.0, 1.0}, {  50.0,  0.0, -50.0, 1.0}, {  50.0,100.0, -50.0, 1.0},    { -50.0,100.0, -50.0, 1.0} 
    };
    
    static Vector4 lNormals[8] = {
        {-0.577350258827209,-0.577350258827209, 0.577350258827209, 1.0}, 
        { 0.577350258827209,-0.577350258827209, 0.577350258827209, 1.0}, 
        { 0.577350258827209, 0.577350258827209, 0.577350258827209, 1.0},
        {-0.577350258827209, 0.577350258827209, 0.577350258827209, 1.0}, 
        {-0.577350258827209,-0.577350258827209,-0.577350258827209, 1.0}, 
        { 0.577350258827209,-0.577350258827209,-0.577350258827209, 1.0},
        { 0.577350258827209, 0.577350258827209,-0.577350258827209, 1.0},
        {-0.577350258827209, 0.577350258827209,-0.577350258827209, 1.0}
    };
    
    static Vector2 lUVs0[14] = {
        { 0.0, 0.0}, 
        { 1.0, 0.0}, 
        { 0.0, 1.0},
        { 1.0, 1.0}, 
        { 0.0, 2.0},
        { 1.0, 2.0},
        { 0.0, 3.0},
        { 1.0, 3.0},
        { 0.0, 4.0},
        { 1.0, 4.0},
        { 2.0, 0.0},
        { 2.0, 1.0},
        {-1.0, 0.0},
        {-1.0, 1.0}
    };
    static Vector2 lUVs1[14] = {
        { 0.0, 1.0}, 
        { 1.0, 0.0}, 
        { 0.0, 0.0},
        { 1.0, 1.0}
    };
    
    static int uvsId[24] = {
        0,1,3,2,2,3,5,4,4,5,7,6,6,7,9,8,1,10,11,3,12,0,2,13
    };
    
    static Vector4 lColors[8] = {
        
        {1.0, 1.0, 1.0, 1.0},
        {1.0, 1.0, 0.0, 1.0},
        {1.0, 0.0, 1.0, 1.0},
        {0.0, 1.0, 1.0, 1.0},
        {0.0, 0.0, 1.0, 1.0},
        {1.0, 0.0, 0.0, 1.0},
        {0.0, 1.0, 0.0, 1.0},
        {0.0, 0.0, 0.0, 1.0},
    };
    
    
    memcpy((
void*)vertex, (
void*)lControlPoints, 8*
sizeof(
FbxVector4));
 
    
    
    
    int vId = 0;
    for (int f=0; f<6; f++)
    {
        for (int v=0; v<4; v++)
    }
    
    for (int n=0; n<8; n++)
    
    
    for (int c=0; c<8; c++)
        lVertexColorElement->
GetDirectArray().Add(
FbxColor(lColors[c][0]*.8, lColors[c][1]*0.8, lColors[c][2]*.8, lColors[c][3]*.8));
 
    
    
 
    
    
    FBX_ASSERT( lUVElement0 != 
NULL);
 
    int i;
    for (i = 0; i<14; i++)
    for (i = 0; i<24; i++)
    
    
    
    for (i = 0; i < 6; i++ )
    {
        lMaterialName += i;
        
        
    }
    
    lTexture[0] = CreateTexture(pScene, BACKGROUND_IMAGE_NAME, BACKGROUND_IMAGE);
    
    
    
    FBX_ASSERT( lUVElement1 != 
NULL);
 
    for (i = 0; i <4; i++)
    for (i = 0; i<24; i++)
    lTexture[1] = CreateTexture(pScene, GEO1_IMAGE_NAME, GEO1_IMAGE);
    
    FBX_ASSERT( lUVElement2 != 
NULL);
 
    
    *lUVElement2 = *lUVElement0;  
    lTexture[2] = CreateTexture(pScene, GEO2_IMAGE_NAME, GEO2_IMAGE);
    
    
    
    
    
    
    
    
    for (i = 0; i < 3; i++)
    {
        if (i < 2)
        {
        }
    }
    
    
    lMaterial[0]->
Diffuse.ConnectSrcObject(lLayeredTexture[0]);
 
    for (i = 1; i < 6; i++)
    return lNode;
}
{
    return lTexture;
}