Disccusion : rendering plugin with external api

Hi there,

I was wondering if we could offer rendering screenshots for players with middle/low-end configuration.

As we can get what players see ingame, maybe it could be possible to send some kind of scene coordinates (position, angle) to a rendering software like Chunk which accepts json parameters.

So that we would type somethinkg like /render then coordinates are sent to an url which will take care of rendering and will return an image link.

We could go further and add a limit per hour, a bypass command.

To sumup, it it possible to send “player POV” datas to an url ?

Edit : As mentionned by @DosMike there is a java rendering software https://chunky.llbit.se/
(which is really nice btw)

As you said “external API”: Do you mean that API being hosted on the same server or somewhere else?
Because to render a “screenshot” you also need all the block-information about the current world, which could not be sent as URL-data ^^

But:

If it’s only about position and rotation, sure why not?! :smiley:

1 Like

I see two cases :

  • Distant rendering server with a synchronised world (or a way to send map info)

  • Local server with delayed render to avoid lag ingame

Chunky does have an API but I don’t know what could be the limits.

This idea came to mind because I am planning to get a high-end processor and I want to exploit its power :sweat_smile:

1 Like

I see the ways to do this:

A system that runs minecraft clients, that connect to the server, get vanished and tped to the location, the client takes a screenshot and disconnects.
Problem: The login/session servers wont like that; modded games would take forever to produce a screenshot as the modpack has to be installed
Pros: the client could install any shader specified by the initial command.

Writing an actual external renderer, and streaming necessary chunks (FOV, viewdistance).
Problem: writing a software that renders the game; Shaders might not be reusable
Pros: probably easier on mojang server; a forge mod might be able to send texture/model chache

Third method: letting the tool from method 2 run locally and directly read world data
Pros: can directly access mod assets.

Maybe you can use MCEdit as rendering tool?

Edit: someone wrote this renderer https://chunky.llbit.se/