#include "../Common/Common.h"
#include "../Common/GeometryUtility.h"
#define SAMPLE_FILENAME "ExportShader.fbx"
#define CGFX_SHADERFILE "xfSkyBox.cgfx" 
#define HLSL_SHADERFILE "glass.fx"
#define TEXTURE_FILE    "Default_reflection.dds"
int main(int argc, char** argv)
{
    bool lResult;
    
    InitializeSdkObjects(lSdkManager, lScene);
    
    lResult = CreateScene(lSdkManager, lScene);
    if(lResult == false)
    {
        FBXSDK_printf("\n\nAn error occurred while creating the scene...\n");
        DestroySdkObjects(lSdkManager, lResult);
        return 0;
    }
    
    
    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, -1, true);
    if(lResult == false)
    {
        FBXSDK_printf("\n\nAn error occurred while saving the scene...\n");
        DestroySdkObjects(lSdkManager, lResult);
        return 0;
    }
    
    DestroySdkObjects(lSdkManager, lResult);
    return 0;
}
{
    
    sceneInfo->
mTitle = 
"Example scene";
 
    sceneInfo->
mSubject = 
"Illustrates the creation of shader.";
 
    sceneInfo->
mAuthor = 
"ExportShader sample program.";
 
    sceneInfo->
mComment = 
"no particular comments required.";
 
    
    FbxNode* lCgfxNode = CreateCube(pScene, 
"CgfxCube", lCgfxTranslation);
 
    
    FbxNode* lHlslNode = CreateCube(pScene, 
"HlslCube", lHlslTranslation);
 
    
    return true;
}
{
    
    
    
    CreateTableEntry(lTable, lProp); 
    
    
    CreateTableEntry(lTable, lProp);
    
    CreateTableEntry(lTable, lProp);
    
    return lCgfxMat;
}
{
    
    
    
    
    CreateTableEntry(lTable, lProp);
        
    
    CreateTableEntry(lTable, lProp);
    
    CreateTableEntry(lTable, lProp);
    
    CreateTableEntry(lTable, lProp);
    
    CreateTableEntry(lTable, lProp);
    
    CreateTableEntry(lTable, lProp);
    return lHlslMat;
}
{
    
    
    
    
    lDst.SetSemantic( pProp.
GetName() );
 
}