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

Postby Dade » Tue Aug 02, 2016 8:55 am

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 :|
User avatar
Dade
Developer
 
Posts: 8404
Joined: Sat Apr 19, 2008 6:04 pm
Location: Italy

Re: LuxCore: new features

Postby sharlybg » Fri Aug 05, 2016 10:33 am

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.
User avatar
sharlybg
 
Posts: 730
Joined: Tue Nov 02, 2010 10:22 am
Location: Ivory coast

Re: LuxCore: new features

Postby Dade » Mon Aug 08, 2016 9:49 am

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.
User avatar
Dade
Developer
 
Posts: 8404
Joined: Sat Apr 19, 2008 6:04 pm
Location: Italy

Re: LuxCore: new features

Postby jensverwiebe » Mon Aug 08, 2016 12:53 pm

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
User avatar
jensverwiebe
Developer
 
Posts: 3429
Joined: Wed Apr 02, 2008 4:34 pm

Re: LuxCore: new features

Postby B.Y.O.B. » Mon Aug 08, 2016 12:55 pm

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).
User avatar
B.Y.O.B.
Developer
 
Posts: 5181
Joined: Wed Nov 10, 2010 4:10 pm
Location: Germany

Re: LuxCore: new features

Postby jensverwiebe » Mon Aug 08, 2016 1:05 pm

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
User avatar
jensverwiebe
Developer
 
Posts: 3429
Joined: Wed Apr 02, 2008 4:34 pm

Re: LuxCore: new features

Postby Dade » Mon Aug 08, 2016 3:26 pm

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).
User avatar
Dade
Developer
 
Posts: 8404
Joined: Sat Apr 19, 2008 6:04 pm
Location: Italy

Re: LuxCore: new features

Postby jensverwiebe » Mon Aug 08, 2016 3:39 pm

Dade wrote:
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
User avatar
jensverwiebe
Developer
 
Posts: 3429
Joined: Wed Apr 02, 2008 4:34 pm

Re: LuxCore: new features

Postby kalel » Fri Aug 12, 2016 9:31 pm

Dade wrote:
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

Postby Dade » Sat Aug 13, 2016 8:29 am

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.
User avatar
Dade
Developer
 
Posts: 8404
Joined: Sat Apr 19, 2008 6:04 pm
Location: Italy

PreviousNext

Return to Architecture & Design

Who is online

Users browsing this forum: No registered users and 1 guest