blob: e9bf2e8023c3fe48632e6de272ec7d785cd67993 [file] [log] [blame]
{
"worldPosition": {
"outputs": [
"worldPosition"
],
"rules": [
{
"format": {
"api": "OpenGLES",
"major": 2,
"minor": 0
},
"substitution": "highp vec3 $worldPosition = worldPosition;",
"headerSnippets": [ "varying highp vec3 worldPosition;" ]
},
{
"format": {
"api": "OpenGLCoreProfile",
"major": 3,
"minor": 2
},
"substitution": "vec3 $worldPosition = worldPosition;",
"headerSnippets": [ "in vec3 worldPosition;" ]
}
]
},
"texture": {
"outputs": [
"texture"
],
"rules": [
{
"format": {
"api": "OpenGLES",
"major": 2,
"minor": 0
},
"substitution": "sampler2D $texture = texture;",
"headerSnippets": [ "uniform sampler2D texture;" ]
},
{
"format": {
"api": "OpenGLCoreProfile",
"major": 3,
"minor": 2
},
"substitution": "sampler2D $texture = texture;",
"headerSnippets": [ "uniform sampler2D texture;" ]
}
]
},
"texCoord": {
"outputs": [
"texCoord"
],
"rules": [
{
"format": {
"api": "OpenGLES",
"major": 2,
"minor": 0
},
"substitution": "highp vec2 $texCoord = texCoord;",
"headerSnippets": [ "varying highp vec2 texCoord;" ]
},
{
"format": {
"api": "OpenGLCoreProfile",
"major": 3,
"minor": 2
},
"substitution": "vec2 $texCoord = texCoord;",
"headerSnippets": [ "in vec2 texCoord;" ]
}
]
},
"lightIntensity": {
"outputs": [
"lightIntensity"
],
"rules": [
{
"format": {
"api": "OpenGLES",
"major": 2,
"minor": 0
},
"substitution": "highp float $lightIntensity = lightIntensity;",
"headerSnippets": [ "uniform highp float lightIntensity;" ]
},
{
"format": {
"api": "OpenGLCoreProfile",
"major": 3,
"minor": 2
},
"substitution": "float $lightIntensity = lightIntensity;",
"headerSnippets": [ "uniform float lightIntensity;" ]
}
]
},
"exposure": {
"outputs": [
"exposure"
],
"rules": [
{
"format": {
"api": "OpenGLES",
"major": 2,
"minor": 0
},
"substitution": "highp float $exposure = exposure;",
"headerSnippets": [ "uniform highp float exposure;" ]
},
{
"format": {
"api": "OpenGLCoreProfile",
"major": 3,
"minor": 2
},
"substitution": "float $exposure = exposure;",
"headerSnippets": [ "uniform float exposure;" ]
}
]
},
"fragColor": {
"inputs": [
"fragColor"
],
"rules": [
{
"format": {
"api": "OpenGLES",
"major": 2,
"minor": 0
},
"substitution": "gl_fragColor = $fragColor;"
},
{
"format": {
"api": "OpenGLCoreProfile",
"major": 3,
"minor": 2
},
"substitution": "fragColor = $fragColor;",
"headerSnippets": [ "out vec4 fragColor;" ]
}
]
},
"sampleTexture": {
"inputs": [
"sampler",
"coord"
],
"outputs": [
"color"
],
"rules": [
{
"format": {
"api": "OpenGLES",
"major": 2,
"minor": 0
},
"substitution": "highp vec4 $color = texture2D($sampler, $coord);"
},
{
"format": {
"api": "OpenGLCoreProfile",
"major": 3,
"minor": 2
},
"substitution": "vec4 $color = texture2D($sampler, $coord);"
}
]
},
"lightModel": {
"inputs": [
"baseColor",
"position",
"lightIntensity"
],
"outputs": [
"outputColor"
],
"rules": [
{
"format": {
"api": "OpenGLES",
"major": 2,
"minor": 0
},
"substitution": "highp vec4 $outputColor = lightModel($baseColor, $position, $lightIntensity);",
"headerSnippets": [ "#pragma include lightmodel.es2.inc" ]
},
{
"format": {
"api": "OpenGLCoreProfile",
"major": 3,
"minor": 2
},
"substitution": "vec4 $outputColor = lightModel($baseColor, $position, $lightIntensity);",
"headerSnippets": [ "#pragma include lightmodel.gl3.inc" ]
}
]
},
"exposureFunction": {
"inputs": [
"inputColor",
"exposure"
],
"outputs": [
"outputColor"
],
"rules": [
{
"format": {
"api": "OpenGLES",
"major": 2,
"minor": 0
},
"substitution": "highp vec4 $outputColor = $inputColor * pow(2.0, $exposure);",
"headerSnippets": [ "#pragma include :/lightmodel.es2.inc" ]
},
{
"format": {
"api": "OpenGLCoreProfile",
"major": 3,
"minor": 2
},
"substitution": "vec4 $outputColor = $inputColor * pow(2.0, $exposure);",
"headerSnippets": [ "#pragma include :/lightmodel.gl3.inc" ]
}
]
}
}