---@class cc.ShaderCache :cc.Ref local ShaderCache={ } cc.ShaderCache=ShaderCache ---* Remove all unused shaders. ---@return cc.backend.ShaderCache function ShaderCache:removeUnusedShader () end ---* purges the cache. It releases the retained instance. ---@return cc.backend.ShaderCache function ShaderCache:destroyInstance () end ---* Create a vertex shader module and add it to cache.
---* If it is created before, then just return the cached shader module.
---* param shaderSource The source code of the shader. ---@param shaderSource string ---@return cc.backend.ShaderModule function ShaderCache:newVertexShaderModule (shaderSource) end ---* Create a fragment shader module.
---* If it is created before, then just return the cached shader module.
---* param shaderSource The source code of the shader. ---@param shaderSource string ---@return cc.backend.ShaderModule function ShaderCache:newFragmentShaderModule (shaderSource) end ---* returns the shared instance ---@return cc.backend.ShaderCache function ShaderCache:getInstance () end