I was wondering if it was possible to create an OpenGL context within MUSHClient?
I've been developing a plugin(s) for the Discworld MUD specifically an auto-mapping component.
I've got it working very well (yes I know the lack of room IDs makes it very hard but I've developed a heuristics approach which converges on the true position combined with automatic data stitching to correct false assumptions)
The map renders in real-time with smooth animation, allowing the user to drag around and zoom in and out.
I'm a game engine developer normally and I've used every trick I know to improve performance without developing a quad-tree based image caching system - which I believe can be achieved with hidden mini windows as off-screen buffers and the MUSH functions for capturing a mini window as an image - build up data across a number of frames to keep things smooth and use image re-scaling during zooming until the new data is ready.
However such a system will take a while to write and benchmarks suggest I'm not going to get the performance I'd like when zooming out to the kinds of scales I'd like.
It would be fantastic if I could create an OpenGL context and offload expensive raster operations to the GPU, I see that MUSH + Lua supports com objects so perhaps there's a solution there but does anybody have a working solution?
I can use the socket functions of lua to just pipe map/movement data to a program of my own and render things there but ideally I'd like to keep everything inside MUSH.
Any thoughts? ideas?
Also do multiple plugins run in multiple threads? I know of lua co-routines but my understanding is that they don't actually make use of multiple threads and are in fact just managed by a type of scheduler sitting on the Lua VM.
If there's a way I can use multiple threads and render to separate images from each thread then that'll also be fine.
Can I use DLL's in scripts? (not a great help as I don't want to transfer data via files as the delays will be unacceptable and the per-pixel access provided for images isn't going to be fast enough, certainly not when using a script as the go-between between my DLL and MUSH's images)
Is any one scripting language faster for MUSH's rendering functions?
I've been developing a plugin(s) for the Discworld MUD specifically an auto-mapping component.
I've got it working very well (yes I know the lack of room IDs makes it very hard but I've developed a heuristics approach which converges on the true position combined with automatic data stitching to correct false assumptions)
The map renders in real-time with smooth animation, allowing the user to drag around and zoom in and out.
I'm a game engine developer normally and I've used every trick I know to improve performance without developing a quad-tree based image caching system - which I believe can be achieved with hidden mini windows as off-screen buffers and the MUSH functions for capturing a mini window as an image - build up data across a number of frames to keep things smooth and use image re-scaling during zooming until the new data is ready.
However such a system will take a while to write and benchmarks suggest I'm not going to get the performance I'd like when zooming out to the kinds of scales I'd like.
It would be fantastic if I could create an OpenGL context and offload expensive raster operations to the GPU, I see that MUSH + Lua supports com objects so perhaps there's a solution there but does anybody have a working solution?
I can use the socket functions of lua to just pipe map/movement data to a program of my own and render things there but ideally I'd like to keep everything inside MUSH.
Any thoughts? ideas?
Also do multiple plugins run in multiple threads? I know of lua co-routines but my understanding is that they don't actually make use of multiple threads and are in fact just managed by a type of scheduler sitting on the Lua VM.
If there's a way I can use multiple threads and render to separate images from each thread then that'll also be fine.
Can I use DLL's in scripts? (not a great help as I don't want to transfer data via files as the delays will be unacceptable and the per-pixel access provided for images isn't going to be fast enough, certainly not when using a script as the go-between between my DLL and MUSH's images)
Is any one scripting language faster for MUSH's rendering functions?
