I am looking into developing a Photoshop plugin. The plugin would be for helping artists develop multiple maps for a single image, all of which will eventually be fed into a realtime shader for a game.
Ideally, I would create a separate panel, which reads pixel data from separate layers (or, ideally, layer groups) in a document the artist is working on. I would apply some calculations to the multiple images and render a final result in the panel. As the artist draws, the image would be recalculated and redisplayed on the fly, greatly aiding the process of fine-tuning the texture maps. I'm hoping to also create some sliders so the artist can modify how the rendered result is lit.
I'm wondering what the best way to go about this is. It seems possible with a Stack Renderer Module. My concern is that the Stack Renderer depends on a Smart Object, which to my knowledge can't be updated in realtime as the user draws (they have to press Ctrl+S every time). What I want is real-time updating similar to how texture map painting works when you have the 3D mesh open in another document (except I don't need anything 3D... just 2D is fine).
If there was some kind of general-purpose "panel" interface, I could try to feel my way around from there. But when I look through Plugin Types, it seems they are all specialized for certain scenarios like the Stack Renderer. Is it possible to create a plugin panel which samples pixel data from a currently edited PSD, and re-renders it in realtime as the user draws (including some sliders to modify how it is rendered)?