Is there any viable way to use textures with SCNProgram shaders in Scenekit? As far as I can tell there's no way to access the default SCNMaterial textures from within an SCNProgram (I know I can access them from shader modifiers, but unfortunately as far as I can tell there's no way I can do what I need to do with shader modifiers).
Managing my own textures is not easy, because the obvious place to bind them - in the material.handleBindingOfSymbol block - gets called once for every bit of geometry rendered with the material. In my case this is tens of thousands of times per frame, which seems crazy for something that only need be done once if the scene graph sorts the rendering state properly.
I had assumed that there would be a way to attach a texture to an SCNProgram or to the SCNMaterial so that the scengraph could manage the rendering state, but for the life of me I can't find anything like that.
Am I missing something, or are textures basically unusable with SCNprograms?