BlendLuxCore Development

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

Re: BlendLuxCore Development

Post by B.Y.O.B. » Thu Jan 09, 2020 11:15 am

Ah, I misunderstood you. Alt+D instances are already instanced in BlendLuxCore, they are just not going through the DuplicateObjects() function. But their mesh is only exported once (when no deforming modifiers are used).

Anyway, I haven't created many scenes lately, but I do put single chairs or tables into collections and then instance them with collection instances.
It's nice because you can later add objects to the collection, e.g. some elements to a chair, and they automatically appear on all instances as well. And I can use modifiers on them, like subsurf or so, and still be sure they are instanced in the renderer (be that Cycles or LuxCore).

marcatore
Donor
Posts: 415
Joined: Wed Jan 10, 2018 8:04 am

Re: BlendLuxCore Development

Post by marcatore » Thu Jan 09, 2020 11:36 am

B.Y.O.B. wrote:
Thu Jan 09, 2020 10:46 am
About Alt+D instances, they are not a priority for me right now. It might be possible to accelerate them a bit (at least when no deforming modifiers are used on them), but usually you don't have tens of thousands of them in a scene. The other methods for instancing produce more stuff I think.
My daily scene is the kingdom of the Alt+D. I have not so much base objects duplicated many and many times.
I can't imagine another way to take a relative small filesize and to organize my job.
I can make "bigger" furniture modules attaching more elements but it's not so flexible and, in anycase, I have to repeat them many times.

Every kind of speeding up on export is more than welcome.

EDIT: Sorry, I've see you reply after I've posted. So it's already at it best as export speed. right?
Interesting the collection instancing. I'll give it a test.

juangea
Donor
Posts: 145
Joined: Thu Jan 02, 2020 6:23 pm

Re: BlendLuxCore Development

Post by juangea » Thu Jan 09, 2020 11:56 am

@marcatore I recommend you to create a collection with each chair you need to duplicate and then duplicate it with an instanced collection, this will give you the best performance in both viewport and render :)

(I think it's what @B.Y.O.B. said)

User avatar
lacilaci
Donor
Posts: 1928
Joined: Fri May 04, 2018 5:16 am

Re: BlendLuxCore Development

Post by lacilaci » Thu Jan 09, 2020 12:09 pm

B.Y.O.B. wrote:
Thu Jan 09, 2020 11:15 am
... but I do put single chairs or tables into collections and then instance them with collection instances.
It's nice because you can later add objects to the collection, e.g. some elements to a chair, and they automatically appear on all instances as well. And I can use modifiers on them, like subsurf or so, and still be sure they are instanced in the renderer (be that Cycles or LuxCore).
Ok, thank you. This is important. If duplicated collections in master scene are instanced for luxcore then I'm safe. :lol:

User avatar
Sharlybg
Donor
Posts: 2077
Joined: Mon Dec 04, 2017 10:11 pm
Location: Ivory Coast

Re: BlendLuxCore Development

Post by Sharlybg » Tue Jan 21, 2020 12:16 pm

Please any possibility to display full number in node socket for value like :

100000000 or 0.00000001
Support LuxCoreRender project with salts and bounties

Portfolio : https://www.behance.net/DRAVIA

User avatar
u3dreal
Developer
Posts: 411
Joined: Tue Dec 03, 2019 3:23 pm
Location: Ulm
Contact:

Re: BlendLuxCore Development

Post by u3dreal » Tue Jan 21, 2020 1:31 pm

Sharlybg wrote:
Tue Jan 21, 2020 12:16 pm
Please any possibility to display full number in node socket for value like :

100000000 or 0.00000001
Yes it has to be stated when the gui draws the property.

Code: Select all

bpy.props.FloatProperty(name="", description="", default=0.0, min=-3.402823e+38, max=3.402823e+38, soft_min=-3.402823e+38, soft_max=3.402823e+38, step=3, precision=2, options={'ANIMATABLE'}, tags={}, subtype='NONE', unit='NONE', update=None, get=None, set=None)
precision is the one here up to 6 decimals is possible. default is 2

Code: Select all

precision (int) – Maximum number of decimal digits to display, in [0, 6].
In our case this would have to be added to sockets.py in line 32 if i understand right.
so

Code: Select all

layout.prop(self, "default_value", text=text, slider=self.slider)
becomes

Code: Select all

layout.prop(self, "default_value", text=text, slider=self.slider, precision=6 )
Would it make sense to come up with a global PRECISION variable that could be set in the prefs panel ?

But it is a tradeoff since 1.0 would be displayed as 1.000000
Last edited by u3dreal on Tue Jan 21, 2020 1:36 pm, edited 1 time in total.
check out my newest stuff http://q3de.com/research/
portfolio http://q3de.com/


MB Pro i7 2.3Ghz, IrisPro 1.5GB, GTX750m 2GB - High Sierra
Xeon X5650@4Ghz, 2x GTX 770 Phantom RX 5700 - Catalina / High Sierra, Windows 10, Ubuntu 18.04

User avatar
B.Y.O.B.
Developer
Posts: 3614
Joined: Mon Dec 04, 2017 10:08 pm
Location: Germany
Contact:

Re: BlendLuxCore Development

Post by B.Y.O.B. » Tue Jan 21, 2020 1:33 pm

Sharlybg wrote:
Tue Jan 21, 2020 12:16 pm
Please any possibility to display full number in node socket for value like :

100000000 or 0.00000001
For big values, you can try to make the node wider, it should help in most cases.
For very small values, we need a feature in Blender to automatically show more decimal places as needed, because the way it works now, we would have to show 8 decimal places everywhere all the time. That's how it was in the old LuxBlend, and I did not like that, it makes everything hard to read:
Attachments
Capture.PNG

User avatar
B.Y.O.B.
Developer
Posts: 3614
Joined: Mon Dec 04, 2017 10:08 pm
Location: Germany
Contact:

Re: BlendLuxCore Development

Post by B.Y.O.B. » Tue Jan 21, 2020 1:37 pm

u3dreal wrote:
Tue Jan 21, 2020 1:31 pm
In our case this would have to be added to sockets.py in line 32 if i understand right.
No, you can't change the precision during UI drawing unfortunately, it has to be specified when the FloatProperty is declared. So, for example in line 180 in sockets.py: https://github.com/LuxCoreRender/BlendL ... ts.py#L180

User avatar
Sharlybg
Donor
Posts: 2077
Joined: Mon Dec 04, 2017 10:11 pm
Location: Ivory Coast

Re: BlendLuxCore Development

Post by Sharlybg » Tue Jan 21, 2020 1:38 pm

But after 0.001 the last number is always invisible no matter how wide the node is.
Support LuxCoreRender project with salts and bounties

Portfolio : https://www.behance.net/DRAVIA

User avatar
B.Y.O.B.
Developer
Posts: 3614
Joined: Mon Dec 04, 2017 10:08 pm
Location: Germany
Contact:

Re: BlendLuxCore Development

Post by B.Y.O.B. » Tue Jan 21, 2020 1:45 pm

Sharlybg wrote:
Tue Jan 21, 2020 1:38 pm
But after 0.001 the last number is always invisible no matter how wide the node is.
Yes, making the node wider only works for big numbers, not small ones.

I have now pushed a commit that changes the UI precision from 2 to 3 decimal places for node sockets (same as Cycles uses).

Post Reply