{ "nodes": [ { "uuid": "{00000000-0000-0000-0000-000000000001}", "type": "input", "parameters": { "name": "worldPosition", "qualifier": { "type": "QShaderLanguage::StorageQualifier", "value": "QShaderLanguage::Input" }, "type": { "type": "QShaderLanguage::VariableType", "value": "QShaderLanguage::Vec3" } } }, { "uuid": "{00000000-0000-0000-0000-000000000002}", "type": "eyePosition" }, { "uuid": "{00000000-0000-0000-0000-000000000003}", "type": "input", "parameters": { "name": "worldNormal", "qualifier": { "type": "QShaderLanguage::StorageQualifier", "value": "QShaderLanguage::Input" }, "type": { "type": "QShaderLanguage::VariableType", "value": "QShaderLanguage::Vec3" } } }, { "uuid": "{00000000-0000-0000-0000-000000000004}", "type": "input", "layers": ["normalTexture"], "parameters": { "name": "worldTangent", "qualifier": { "type": "QShaderLanguage::StorageQualifier", "value": "QShaderLanguage::Input" }, "type": { "type": "QShaderLanguage::VariableType", "value": "QShaderLanguage::Vec4" } } }, { "uuid": "{00000000-0000-0000-0000-000000000005}", "type": "input", "layers": ["diffuseTexture", "specularTexture", "normalTexture"], "parameters": { "name": "texCoord", "qualifier": { "type": "QShaderLanguage::StorageQualifier", "value": "QShaderLanguage::Input" }, "type": { "type": "QShaderLanguage::VariableType", "value": "QShaderLanguage::Vec2" } } }, { "uuid": "{00000000-0000-0000-0000-000000000006}", "type": "input", "parameters": { "name": "ka", "qualifier": { "type": "QShaderLanguage::StorageQualifier", "value": "QShaderLanguage::Uniform" }, "type": { "type": "QShaderLanguage::VariableType", "value": "QShaderLanguage::Vec4" } } }, { "uuid": "{00000000-0000-0000-0000-000000000007}", "type": "input", "layers": ["diffuse"], "parameters": { "name": "kd", "qualifier": { "type": "QShaderLanguage::StorageQualifier", "value": "QShaderLanguage::Uniform" }, "type": { "type": "QShaderLanguage::VariableType", "value": "QShaderLanguage::Vec4" } } }, { "uuid": "{00000000-0000-0000-0000-000000000008}", "type": "sampleTexture", "layers": ["diffuseTexture"], "parameters": { "name": "diffuseTexture" } }, { "uuid": "{00000000-0000-0000-0000-000000000009}", "type": "input", "layers": ["specular"], "parameters": { "name": "ks", "qualifier": { "type": "QShaderLanguage::StorageQualifier", "value": "QShaderLanguage::Uniform" }, "type": { "type": "QShaderLanguage::VariableType", "value": "QShaderLanguage::Vec4" } } }, { "uuid": "{00000000-0000-0000-0000-000000000010}", "layers": ["specularTexture"], "type": "sampleTexture", "parameters": { "name": "specularTexture" } }, { "uuid": "{00000000-0000-0000-0000-000000000011}", "type": "input", "parameters": { "name": "shininess", "qualifier": { "type": "QShaderLanguage::StorageQualifier", "value": "QShaderLanguage::Uniform" }, "type": { "type": "QShaderLanguage::VariableType", "value": "QShaderLanguage::Float" } } }, { "uuid": "{00000000-0000-0000-0000-000000000012}", "type": "subtract", "parameters": { "type": { "type": "QShaderLanguage::VariableType", "value": "QShaderLanguage::Vec3" } } }, { "uuid": "{00000000-0000-0000-0000-000000000013}", "type": "normalize", "parameters": { "type": { "type": "QShaderLanguage::VariableType", "value": "QShaderLanguage::Vec3" } } }, { "uuid": "{00000000-0000-0000-0000-000000000014}", "type": "normalize", "parameters": { "type": { "type": "QShaderLanguage::VariableType", "value": "QShaderLanguage::Vec3" } } }, { "uuid": "{00000000-0000-0000-0000-000000000015}", "type": "worldSpaceToTangentSpaceMatrix", "layers": ["normalTexture"] }, { "uuid": "{00000000-0000-0000-0000-000000000016}", "type": "transpose", "layers": ["normalTexture"], "parameters": { "type": { "type": "QShaderLanguage::VariableType", "value": "QShaderLanguage::Mat3" } } }, { "uuid": "{00000000-0000-0000-0000-000000000017}", "type": "sampleTexture", "layers": ["normalTexture"], "parameters": { "name": "normalTexture" } }, { "uuid": "{00000000-0000-0000-0000-000000000018}", "type": "swizzle", "layers": ["normalTexture"], "parameters": { "fields": "rgb", "type": { "type": "QShaderLanguage::VariableType", "value": "QShaderLanguage::Vec3" } } }, { "uuid": "{00000000-0000-0000-0000-000000000019}", "type": "constant", "layers": ["normalTexture"], "parameters": { "constant": "2.0", "type": { "type": "QShaderLanguage::VariableType", "value": "QShaderLanguage::Float" } } }, { "uuid": "{00000000-0000-0000-0000-000000000020}", "type": "multiply", "layers": ["normalTexture"], "parameters": { "type": { "type": "QShaderLanguage::VariableType", "value": "QShaderLanguage::Vec3" } } }, { "uuid": "{00000000-0000-0000-0000-000000000021}", "type": "constant", "layers": ["normalTexture"], "parameters": { "constant": "1.0", "type": { "type": "QShaderLanguage::VariableType", "value": "QShaderLanguage::Vec3" } } }, { "uuid": "{00000000-0000-0000-0000-000000000022}", "type": "subtract", "parameters": { "type": { "type": "QShaderLanguage::VariableType", "value": "QShaderLanguage::Vec3" } } }, { "uuid": "{00000000-0000-0000-0000-000000000023}", "type": "multiply", "parameters": { "type": { "type": "QShaderLanguage::VariableType", "value": "QShaderLanguage::Vec3" } } }, { "uuid": "{00000000-0000-0000-0000-000000000024}", "type": "phongFunction" }, { "uuid": "{00000000-0000-0000-0000-000000000025}", "type": "fragColor" } ], "edges": [ { "sourceUuid": "{00000000-0000-0000-0000-000000000001}", "sourcePort": "value", "targetUuid": "{00000000-0000-0000-0000-000000000024}", "targetPort": "worldPosition" }, { "sourceUuid": "{00000000-0000-0000-0000-000000000001}", "sourcePort": "value", "targetUuid": "{00000000-0000-0000-0000-000000000012}", "targetPort": "subtrahend" }, { "sourceUuid": "{00000000-0000-0000-0000-000000000002}", "sourcePort": "eyePosition", "targetUuid": "{00000000-0000-0000-0000-000000000012}", "targetPort": "minuend" }, { "sourceUuid": "{00000000-0000-0000-0000-000000000012}", "sourcePort": "difference", "targetUuid": "{00000000-0000-0000-0000-000000000013}", "targetPort": "input" }, { "sourceUuid": "{00000000-0000-0000-0000-000000000013}", "sourcePort": "output", "targetUuid": "{00000000-0000-0000-0000-000000000024}", "targetPort": "worldView" }, { "sourceUuid": "{00000000-0000-0000-0000-000000000003}", "sourcePort": "value", "targetUuid": "{00000000-0000-0000-0000-000000000014}", "targetPort": "input", "layers": ["normal"] }, { "sourceUuid": "{00000000-0000-0000-0000-000000000003}", "sourcePort": "value", "targetUuid": "{00000000-0000-0000-0000-000000000015}", "targetPort": "worldNormal", "layers": ["normalTexture"] }, { "sourceUuid": "{00000000-0000-0000-0000-000000000004}", "sourcePort": "value", "targetUuid": "{00000000-0000-0000-0000-000000000015}", "targetPort": "worldTangent", "layers": ["normalTexture"] }, { "sourceUuid": "{00000000-0000-0000-0000-000000000015}", "sourcePort": "matrix", "targetUuid": "{00000000-0000-0000-0000-000000000016}", "targetPort": "input", "layers": ["normalTexture"] }, { "sourceUuid": "{00000000-0000-0000-0000-000000000016}", "sourcePort": "output", "targetUuid": "{00000000-0000-0000-0000-000000000023}", "targetPort": "first", "layers": ["normalTexture"] }, { "sourceUuid": "{00000000-0000-0000-0000-000000000005}", "sourcePort": "value", "targetUuid": "{00000000-0000-0000-0000-000000000017}", "targetPort": "coord", "layers": ["normalTexture"] }, { "sourceUuid": "{00000000-0000-0000-0000-000000000017}", "sourcePort": "color", "targetUuid": "{00000000-0000-0000-0000-000000000018}", "targetPort": "input", "layers": ["normalTexture"] }, { "sourceUuid": "{00000000-0000-0000-0000-000000000018}", "sourcePort": "output", "targetUuid": "{00000000-0000-0000-0000-000000000020}", "targetPort": "first", "layers": ["normalTexture"] }, { "sourceUuid": "{00000000-0000-0000-0000-000000000019}", "sourcePort": "value", "targetUuid": "{00000000-0000-0000-0000-000000000020}", "targetPort": "second", "layers": ["normalTexture"] }, { "sourceUuid": "{00000000-0000-0000-0000-000000000020}", "sourcePort": "product", "targetUuid": "{00000000-0000-0000-0000-000000000022}", "targetPort": "minuend", "layers": ["normalTexture"] }, { "sourceUuid": "{00000000-0000-0000-0000-000000000021}", "sourcePort": "value", "targetUuid": "{00000000-0000-0000-0000-000000000022}", "targetPort": "subtrahend", "layers": ["normalTexture"] }, { "sourceUuid": "{00000000-0000-0000-0000-000000000022}", "sourcePort": "difference", "targetUuid": "{00000000-0000-0000-0000-000000000023}", "targetPort": "second", "layers": ["normalTexture"] }, { "sourceUuid": "{00000000-0000-0000-0000-000000000023}", "sourcePort": "product", "targetUuid": "{00000000-0000-0000-0000-000000000014}", "targetPort": "input", "layers": ["normalTexture"] }, { "sourceUuid": "{00000000-0000-0000-0000-000000000014}", "sourcePort": "output", "targetUuid": "{00000000-0000-0000-0000-000000000024}", "targetPort": "worldNormal" }, { "sourceUuid": "{00000000-0000-0000-0000-000000000006}", "sourcePort": "value", "targetUuid": "{00000000-0000-0000-0000-000000000024}", "targetPort": "ambient" }, { "sourceUuid": "{00000000-0000-0000-0000-000000000007}", "sourcePort": "value", "targetUuid": "{00000000-0000-0000-0000-000000000024}", "targetPort": "diffuse", "layers": ["diffuse"] }, { "sourceUuid": "{00000000-0000-0000-0000-000000000005}", "sourcePort": "value", "targetUuid": "{00000000-0000-0000-0000-000000000008}", "targetPort": "coord", "layers": ["diffuseTexture"] }, { "sourceUuid": "{00000000-0000-0000-0000-000000000008}", "sourcePort": "color", "targetUuid": "{00000000-0000-0000-0000-000000000024}", "targetPort": "diffuse", "layers": ["diffuseTexture"] }, { "sourceUuid": "{00000000-0000-0000-0000-000000000009}", "sourcePort": "value", "targetUuid": "{00000000-0000-0000-0000-000000000024}", "targetPort": "specular", "layers": ["specular"] }, { "sourceUuid": "{00000000-0000-0000-0000-000000000005}", "sourcePort": "value", "targetUuid": "{00000000-0000-0000-0000-000000000010}", "targetPort": "coord", "layers": ["specularTexture"] }, { "sourceUuid": "{00000000-0000-0000-0000-000000000010}", "sourcePort": "color", "targetUuid": "{00000000-0000-0000-0000-000000000024}", "targetPort": "specular", "layers": ["specularTexture"] }, { "sourceUuid": "{00000000-0000-0000-0000-000000000011}", "sourcePort": "value", "targetUuid": "{00000000-0000-0000-0000-000000000024}", "targetPort": "shininess" }, { "sourceUuid": "{00000000-0000-0000-0000-000000000024}", "sourcePort": "outputColor", "targetUuid": "{00000000-0000-0000-0000-000000000025}", "targetPort": "fragColor" } ] }