runtime loadShaderSource func