Skip to content
Arsen Tufankjian edited this page Apr 7, 2016 · 49 revisions

Scene

Render Pass

{
     // List of render texture GUIDs in a SPECIFIC order
     // i.e. color, normal, etc.
     // Basically, it has to match the order of the shaders
    "Input": [
        "PATH",
        "PATH",
        "PATH"    
    ],
    "Output": [
        "PATH",
        "PATH"
    ]
}

Render Target

{
    "Width": ...,    //Unsigned int (uint32_t); Use 0 to specify that it should match the screen's width
    "Height": ...,   //Unsigned int (uint32_t); Use 0 to specify that it should match the screen's height
    "Format": "BGRA" //"BGRA" and "RGBA" available for now
}

Pipeline

{
    "Shaders": {
        "spv": {
            "Vertex":"raptor_VS.spv",
            "Fragment":"raptor_FS.spv",
            "Geometry":"",
            "Tess_Control":"",
            "Tess_Eval":"",
            "Compute":""
        },
        "cso": {
            "Vertex":"",
            "Fragment": "",
            "Geometry":"",
            "Tess_Control":"",
            "Tess_Eval":"",
            "Compute":""
        }
    },
    "ShaderVariables": [
        
    ],
    "InputLayout": [
        {
            "SemanticName": "POSITION",
            "SemanticIndex": 0,
            "Format": "R32G32B32_FLOAT",
            "Slot": 0,
        }
        {
            "SemanticName": "NORMAL",
            "SemanticIndex": 0,
            "Format": "R32G32B32_FLOAT",
            "Slot": 0,
        }
        {
            "SemanticName": "COLOR",
            "SemanticIndex": 0,
            "Format": "R32G32B32A32_FLOAT",
            "Slot": 0,
        }
    ]
    "RasterState": {
        "PolygonMode": "Solid",
        "CullMode": "Back",
        "FrontCounterClockwise": true,
        "DepthClampEnable": true,
        "DiscardEnable": false,
        "LineWidth": 1.0
    },
    "MultisampleState": {
        "SampleCount": 1,            
        "MinSamples": 1.0,
        "PerSampleShading": false      
    }    
}

Material

{
    // This is the GUID of the parent pipeline
    "Pipeline": "PATH",

    // This is the GUID of the parent pipeline's render pass
    "RenderPass": "PATH",

    // This should be an array because that way binding order is preserved
    "ShaderVariables": [
        {
            "Name": "...",
            "Type": "...",
            "Value": "..."
        }
    ],
    
    "Textures" : [
        "PATH",
        "PATH"
    ]
}

Sampler

{
    "FilterMode" : "Bilinear", //Options are Nearest and Bilinear
    "WrapMode" : "Repeat",     //Options are Clamp and Repeat
    "ColorSpace" : "Linear"    //Options are Linear and Gamma
}
Clone this wiki locally