//This file is automatically rebuilt by the Cesium build process. /*global define*/ define(function() { "use strict"; return "uniform vec4 lightWoodColor;\n\ uniform vec4 darkWoodColor;\n\ uniform float ringFrequency;\n\ uniform vec2 noiseScale;\n\ uniform float grainFrequency;\n\ \n\ czm_material czm_getMaterial(czm_materialInput materialInput)\n\ {\n\ czm_material material = czm_getDefaultMaterial(materialInput);\n\ \n\ //Based on wood shader from OpenGL Shading Language (3rd edition) pg. 455\n\ vec2 st = materialInput.st;\n\ \n\ vec2 noisevec;\n\ noisevec.x = czm_snoise(st * noiseScale.x);\n\ noisevec.y = czm_snoise(st * noiseScale.y);\n\ \n\ vec2 location = st + noisevec;\n\ float dist = sqrt(location.x * location.x + location.y * location.y);\n\ dist *= ringFrequency;\n\ \n\ float r = fract(dist + noisevec[0] + noisevec[1]) * 2.0;\n\ if(r > 1.0)\n\ r = 2.0 - r;\n\ \n\ vec4 color = mix(lightWoodColor, darkWoodColor, r);\n\ \n\ //streaks\n\ r = abs(czm_snoise(vec2(st.x * grainFrequency, st.y * grainFrequency * 0.02))) * 0.2;\n\ color.rgb += lightWoodColor.rgb * r;\n\ \n\ material.diffuse = color.rgb;\n\ material.alpha = color.a;\n\ \n\ return material;\n\ }"; });