How to apply shader on individual sprites added to batch node?

scene~~>addchild;

myBatchNode~~>addChild(sprite1);

myBatchNode~~>addChild;

gameLayer~~>addChild(myBatchNode);

//this shows no change to sprite
sprite2~~>setShaderProgram;
//this changes all sprites under batch node
sprite2~~>getBatchNode()->setShaderProgram(myShaderProgram);


What I want is to be able to keep the sprites under a batch node for “better performance” but to be able to change the shader of individual sprites. Please help. Any input is much appreciated. Thank you.


So far I am just going with skipping on the batch node and just adding my sprites directly to the cclayer.