LuxCore GUI Proposal/Idea Collection

Discussion related to the Engine functionality, implementations and API.
Post Reply
User avatar
B.Y.O.B.
Developer
Posts: 3020
Joined: Mon Dec 04, 2017 10:08 pm
Location: Germany
Contact:

LuxCore GUI Proposal/Idea Collection

Post by B.Y.O.B. » Mon Apr 22, 2019 2:50 pm

(This is a copy of a post I made in the old luxrender forum. I am reposting it here because some people (e.g. nigec) have started to write their own UIs for LuxCore, and my ideas might be interesting for them)

I want to show you my thoughts on what a future LuxCore GUI could look like.
No mockups for now, I'm still collecting ideas on functionality and features. Any comments are welcome.

Previous research
This is not an attempt to create a Lux Studio. That would be a far more massive amount of work, we would need an OpenGL viewport, all sorts of 3D manipulators, import of various 3D model formats etc., basically a tiny Blender. This is too much work to be reasonable (at least for me) and I also don't like that idea too much workflow-wise.

Instead it should be modern version of the old LuxRender GUI that can be used to load CFG/SCN files, change tonemapping (imagepipeline) settings, change render configuration and edit some parts of the scene.

I'd like to have a strong emphasize on workflow and usability. Usability includes things like being able to abort even heavy calculation at any point (UI should stay responsive), undo history, reset values to default, intuitive interface etc.

Possible Features

Scene Editing
Camera editing should be possible with a fly mode like in Blender:
WASD for camera position editing, moving the mouse for looking around (rotation editing).
It could also be useful to edit the sun rotation, e.g. to make renders during various times of the day.

(optional, needs testing) Low-resolution rendering during camera movement

Lightgroups and light editing
Similar to the old GUI, it should be possible to alter the gain of whole lightgroups.
But it would also be useful to be able to edit each light separately, including all its parameters.

Scene Snapshots
Save the properties of camera and light sources (position, color, gain etc.).
Snapshots can be loaded at any time.
It should be possible to add snapshots to a rendering queue.

Example usage: Make sky darker, make interior lights brighter, then take a snapshot - you have an evening setting. Make sky brighter, turn interior lights off, maybe add a sun, then take a snapshot - you have a day setting. Next you could add both to the queue, start it and LuxCore renders both snapshots.
Another use case would be multiple camera positions in the same scene.

Slots
Rendered images should go to a list of slots. Each slot contains all corresponding passes (AOVs), too.
Slots can be compared with various view modes, e.g. side-by-side

Editing Lock
Button to lock all transformations of the current snapshot/all snapshots to prevent editing by mistake.
After rendering for a certain time, the snapshot should be auto-locked (e.g. after 1 minute).

Renderconfig settings
Settings for renderengine, sampler, filter etc.

Direct editing of CFG/SCN files
It should be possible to hand-edit the CFG/SCN files and restart the render (option for developers and advanced users).

Log
Similar to the one in the old GUI, with log levels. Warnings/errors should be collected in an extra tab so they are not overlooked among the other messages.

Material Editor
A (possibly node based) editor for materials and textures.
It would be a lot of work, and there's the problem of getting changed materials back into the 3D program, so it's probably better to leave this to the 3D program addon/plugin.

Border rendering
Partial re-rendering of a portion of the image (without resetting the rest of the image).
Update of all passes/AOVs, too.

Control from 3D program
Geometry transform/material editing could be done from the 3D program that was used to export the scene, e.g. via telnet. Exporter and GUI would need telnet support.

In case you wonder why I didn't include geometry editing here: We would need some way to highlight the currently active object, and I don't think that information is available. We can't draw an outline around it or something. Accessing objects by name is also not good, many people don't even name their objects and even when they do, it's impossible to match names to hundreds of objects.
So I think we can't easily make geometry editing possible and should leave that field to the 3D programs and exporters.

Small features
  • Image saving: current slot/all slots, with passes/without passes, exr/jpg/png
  • load/resume/save film
  • time/samples/noise halt conditions, with estimated remaining time
Support LuxCoreRender project with salts and bounties

User avatar
alpistinho
Developer
Posts: 175
Joined: Thu Jul 05, 2018 11:38 pm
Location: Rio de Janeiro

Re: LuxCore GUI Proposal/Idea Collection

Post by alpistinho » Mon Apr 22, 2019 3:26 pm

If someone that would like to tackle this but is more comfortable with doing it using a web interface, I would be willing to write a webserver to work as the backend for this.
Support LuxCoreRender project with salts and bounties

User avatar
epilectrolytics
Donor
Posts: 605
Joined: Thu Oct 04, 2018 6:06 am

Re: LuxCore GUI Proposal/Idea Collection

Post by epilectrolytics » Mon Apr 22, 2019 6:08 pm

LuxCore UI is not bad as it is already (also Fox has demonstrated several improvements).

Two things are really annoying (not UI related):
- Resize problem. Once a file is opened, its resolution should be applied and rendered.
- Autostart problem. Autostart should be disabled by default so that various settings can be changed and checked before starting the render manually.
This is important especially when a cache is to be build, a process that cannot be interrupted and should not be started automatically.
Also more options to reuse/load/save caches need to be made available, which should be easier in LuxCore than in LuxBlend.
(This leads to the question of how to do animations.)

I think currently LuxBlend 2.8 transition and principled shader should be prioritised because that's what folks are asking for repeatedly on Blenderartist but improving and refining Luxcore is very welcome and could be probably done simultaneously at a slow pace in the background.

I wish I had learned coding when I was young so I could help with things but while growing older capabilities for learning new stuff are decreasing sadly :(
MBPro 15" 16GB i7-4850HQ GT750M, MacOS 10.13.6 & Win10Pro PC 16GB Ryzen 2700X, 2 x RTX 2070

User avatar
nigec
Posts: 141
Joined: Mon Mar 11, 2019 8:50 am

Re: LuxCore GUI Proposal/Idea Collection

Post by nigec » Tue Apr 23, 2019 7:50 am

I think you need importers, every one who asks me "what are you doing?" asks me what if they don't use Blender

I agree with epilectrolytics the current ui has issues

Post Reply