## LuxCore: new features

Discussion related to the implementation of new features & algorithms to the Core Engine.

Moderators: Dade, jromang, tomb, zcott, coordinators

### Re: LuxCore: new features

sharlybg wrote:do some of you (DEVs) know when we will be able to have biased opencl path splited kernel.

Eeeeeh, if I had the time

Posts: 8404
Joined: Sat Apr 19, 2008 6:04 pm
Location: Italy

### Re: LuxCore: new features

Eeeeeh, if I had the time

I hope life will be more easy for you ! however big thanks for all your contribution to this amazing renderer !
i7 6700k + 32 Gb DDR4 + 2X R9 390 sapphir nitro.

sharlybg

Posts: 730
Joined: Tue Nov 02, 2010 10:22 am
Location: Ivory coast

### Re: LuxCore: new features

I have merged the for_v1.7 branch intro the main so the under development v1.7 is the main code. You need to compile with a special/custom version of Embree: https://github.com/Dade916/embree

The windows_deps repository has been already updated with the custom Embree v2.8. Otherwise, you can compile the LuxRays sources with the standard Embree v2.8 and disable a new feature by defining the LUXCORE_DISABLE_EMBREE_BVH_BUILDER preprocessor symbol.

Posts: 8404
Joined: Sat Apr 19, 2008 6:04 pm
Location: Italy

### Re: LuxCore: new features

FYI: my last attempt to render scenes bigger than screen with luxcoreui is not correct yet, still wrangling my brain how i can determin "screen minus menubar" best.

Jens

jensverwiebe

Posts: 3429
Joined: Wed Apr 02, 2008 4:34 pm

### Re: LuxCore: new features

In my humble opinion the window size should be completely independent from the image size (like it is in the Classic GUI and in basically every other program out there).

B.Y.O.B.

Posts: 5181
Joined: Wed Nov 10, 2010 4:10 pm
Location: Germany

### Re: LuxCore: new features

B.Y.O.B. wrote:In my humble opinion the window size should be completely independent from the image size (like it is in the Classic GUI and in basically every other program out there).

The problem i try to solve here is different: if you have a render 2560 x 1440 on a screen with this resolution, the LuxCoreApp::AdjustFilmResolution()
would get 2560 + 1381 instead, cause glfwGetFramebufferSize is the client area aka full window minus menue bar. On OSX i had a selector for this,
even to determine if the "dock" is visible or not. As a result the calculated ratio is always wrong then, thus you cannot render an image bigger than your scree size
succesfully with luxcoreui. My wrong patch stays with the original ratio, but it should only overide framebuffer aspect from glfw when the above condition takes place. Must thinkl a bit about this,

Jens

jensverwiebe

Posts: 3429
Joined: Wed Apr 02, 2008 4:34 pm

### Re: LuxCore: new features

B.Y.O.B. wrote:In my humble opinion the window size should be completely independent from the image size (like it is in the Classic GUI and in basically every other program out there).

It is like LuxCoreUI works (before Jens commits) with the only addition of changing the image width/height ratio to much the screen ratio (to avoid black band top/bottom or left/right). The image is than always scaled to fill the window (reduced or enlarged). The only other options are to have image pan like in classic Lux or black band to match the window width/height ratio.

As far as I know LuxCoreUI menu bar is drawn over the image so is not part of the equation (like the bottom label with stats).

Posts: 8404
Joined: Sat Apr 19, 2008 6:04 pm
Location: Italy

### Re: LuxCore: new features

B.Y.O.B. wrote:In my humble opinion the window size should be completely independent from the image size (like it is in the Classic GUI and in basically every other program out there).

It is like LuxCoreUI works (before Jens commits) with the only addition of changing the image width/height ratio to much the screen ratio (to avoid black band top/bottom or left/right). The image is than always scaled to fill the window (reduced or enlarged). The only other options are to have image pan like in classic Lux or black band to match the window width/height ratio.

As far as I know LuxCoreUI menu bar is drawn over the image so is not part of the equation (like the bottom label with stats).

I simplyfied this anyway now just to be able to render film bigger than window correct, way less intrusive now. I also should not affect anything as long as you
stay within the screensize. Also rolled back the "use screen resolution" change, in between i think you wanted exactly this, not the screen size.
Perhaps i overlooked something which can be done smarter ? I looked up other glfw functions to detect the usable screensize to no avail.
Try yourself with former code, you will get odd ratios.

Seeing means beleaving ( former code ):
Code: Select all
luxcoreui -o render.cfg -w 3840 -e 2160.....Film size adjusted: 3840x2073 (Frame buffer size: 2558x1381)

..new code:
Code: Select all
luxcoreui -o render.cfg -w 3840 -e 2160.....Film size adjusted: 3840x2160 (Frame buffer size: 2558x1381)

EDIT:
I added another check to get back former behavior when resizing windows aka framebuffer < screensize.
I takes also into acount the borders but not the desktop menubar, which is hard to get reliabel on linux as far as i investigated.
( in maximized window case something like: screensize height - (glfwGetWindowFrameSize top + bottom) - glfwGetWindowPosition y )
Found no better solution right now, but it should work in 99% of all usecases now.

Testing bigger than sceen render:
luxcoreui -o render.cfg -w 3840 -e 2160 -> Film size adjusted: 3840x2160 (Frame buffer size: 2558x1381) // film ratio used
Resizing to 1/4 screen: Film size adjusted: 3840x2032 (Frame buffer size: 1279x677) // framebuffer ratio used
Resized to 1/4 + "Use screen resolution": Film size adjusted: 1279x677 (Frame buffer size: 1279x677) // framebuffer ratio used + reduced to buffer res
The written output image was always as expected. Some oddnes was there before that did not change
I still wonder if we should keep the wysiwyg kinda filewrite or rather should change the framebuffer with its ratio but always keep the (even) film dimensions for output.

Jens

jensverwiebe

Posts: 3429
Joined: Wed Apr 02, 2008 4:34 pm

### Re: LuxCore: new features

B.Y.O.B. wrote:In my humble opinion the window size should be completely independent from the image size (like it is in the Classic GUI and in basically every other program out there).

It is like LuxCoreUI works (before Jens commits) with the only addition of changing the image width/height ratio to much the screen ratio (to avoid black band top/bottom or left/right). The image is than always scaled to fill the window (reduced or enlarged). The only other options are to have image pan like in classic Lux or black band to match the window width/height ratio.

As far as I know LuxCoreUI menu bar is drawn over the image so is not part of the equation (like the bottom label with stats).

Thanks for explaining this. I have a screen size of 2560 x 1080 and tried a render at 100% and one at 200% to see what the film gets resized to (according to the log):
100% - Film resolution 2560 x 1047
200% - Film resolution 5120 x 2094

Frame buffer size 2554 x 1045

Clicking on the "use screen resolution" button produced an image of 2554 x 1045, the same as the frame buffer size, but different from 100% (Screen resolution set in blender, then rendered with LuxCore UI).
In any case, the actual screen resolution is not used when we click on this button, at least on my computer, the frame buffer size seems to be used, which by pure assumption might be screen size - window border/titlebar and anything else like that might contribute.
kalel

Posts: 258
Joined: Sun Jul 17, 2016 6:35 am

### Re: LuxCore: new features

kalel wrote:Clicking on the "use screen resolution" button produced an image of 2554 x 1045, the same as the frame buffer size, but different from 100% (Screen resolution set in blender, then rendered with LuxCore UI).
In any case, the actual screen resolution is not used when we click on this button, at least on my computer, the frame buffer size seems to be used, which by pure assumption might be screen size - window border/titlebar and anything else like that might contribute.

"use screen resolution" means "use all pixels available in your current window" so it works as intended if you factor window title, etc. LuxCoreUI is intended a demo for developers and mostly like a LuxVR-like tool (for interactive/full-screen rendering) but it seems it is currently used as an stand alone rendering tool due the lack of an alternative solution.

Posts: 8404
Joined: Sat Apr 19, 2008 6:04 pm
Location: Italy

PreviousNext

### Who is online

Users browsing this forum: No registered users and 1 guest