This may be pretty specific but I’d like it if users could access or send pixel data to GUIs that have image support.
As an example of how this would be used:
local array = ... --length of buffer would be width*height*4 (RGBA)
local width = 32
local height = 32
gui:UpdateBuffer(array, width, height)
If we pair this with allowing users to fetch pixel data from decals and GUIs we can do interesting stuff like adding effects to interfaces with things like blending and warping.
local buffer = decal:GetBuffer()
gui:UpdateBuffer(ImageEffectAlgorithm(buffer.pixels, buffer.width, buffer.height), buffer.width, buffer.height)
I think this would not work as well in real-time if the interface and manipulation function is in Lua. Maybe it is a better idea to request certain image operations that you’d like to be able to perform so they can be implemented in C++ or using transformations in the rendering software directly.
Yeah I’d imagine some C side functions would be made for standard manipulation stuff.
Also I think people generally keep their image guis relatively small so speed wouldn’t be too much of a problem unless you plan to actively populate a half screen sized gui with pixels.
But the real problem is that lua just wouldn’t be fast enough for real-time image effects. I could see the possibilities of providing some canned effects though, such as drop-shadow, Gaussian blur, hue-shift, monochrome, contrast, etc. etc.
Right now people who make dynamic images/patterns do this with lots of gui objects so I doubt this would be much more of a threat, but hey you know more than I do so who am I to fight back.
This is probably equally as niche, but I’ve always wanted to be able to extrude decals in-game into 3D objects (player-uploaded personal emblems that float around in their ship where a bobblehead would be, 3D emblems of my group logo in-game updatr when I change the logo on the site) and make 3D objects 2D (make character icons like the one you see in PMd out of player characters and NPC characters dynamically)