Search Unity

Lux-an-open-source-physically-based-shading-framework

Discussion in 'Assets and Asset Store' started by larsbertram1, Mar 19, 2014.

  1. Beardbotnik

    Beardbotnik

    Joined:
    Jul 27, 2013
    Posts:
    49
    I will rate and stuff I think once I get a graphics card in my new computer. Since I only really use forward rendering I was thinking of using Skyshop and this for some portfolio pieces. It's looking really good! :D
     
  2. FuzzyQuills

    FuzzyQuills

    Joined:
    Jun 8, 2013
    Posts:
    2,871
    Hey lars, a bit of help on the skin shader and how to use it? i gave it a shot with a makehuman model, but it came out really weird... :(
     
  3. william9518

    william9518

    Joined:
    Jun 7, 2013
    Posts:
    2
    Hey lars... I am unable to use your shaders because it says there is a compiler error on line 1040 of your cubemap generator script. If I delete that script, I am unable to use cubemaps which kills the purpose of the physically based shader. Please fix soon.

    Thanks in advance,
    William
     
  4. EddieChristian

    EddieChristian

    Joined:
    Oct 9, 2012
    Posts:
    725
    Was curious about a few things. First I have pink objects in several of your sample scenes. The eyeball scene when imported is just pink with nothing attached to the materials. And a sphere and several boulders in the terrain scene are pink as well.

    Also in the terrain scene there is this weird black stippling of shadows past a certain point. Be aware that I changed the platform setting to Android and am using Unity free with the latest files from Git Hub.

    $LuxErrors_001.jpg


    Also I get a Build Error on the Terrain scene when I try to build for Android:

    Code (csharp):
    1. Assets/Lux/Lux Scripts/Lux Cubemapper/Scripts/LuxCubeProcessor.cs(1040,8): error CS8025: Parsing error
     
    Last edited: Apr 6, 2014
  5. larsbertram1

    larsbertram1

    Joined:
    Oct 7, 2008
    Posts:
    6,900
    hi there,

    you will have to setup all needed textures properly.
    but i might come up with a sample in the nearby future to give you an idea of how they should look like.

    lars
     
  6. EddieChristian

    EddieChristian

    Joined:
    Oct 9, 2012
    Posts:
    725
    larsbertram1 I'm glad your online. That android build error has brought things to a stop for me and am hoping you can sort it out.
     
  7. larsbertram1

    larsbertram1

    Joined:
    Oct 7, 2008
    Posts:
    6,900
    hi william,

    i have just tested the script from the repo and it compiles just fine (tested with unity 4.3.4 on mac os x).
    so i have no idea what causes your problem.
    please download it directly and try it again.

    lars
     
  8. larsbertram1

    larsbertram1

    Joined:
    Oct 7, 2008
    Posts:
    6,900
    hi there,
    of course pink surfaces should not appear at all – but as i had to repac the package several times to get it approved there might be some materials that got lost… so pink surfaces just mark missing materials but everything should work fine if you redefine those materials manually.

    pink boulders: those use the "vertex lit" shader that overwrites the built in one and i have noticed this problem sometimes too.
    solve it by simply reimporting the "terrain" -> "details" -> "vertexlit" shader.



    Also in the terrain scene there is this weird black stippling of shadows past a certain point. Be aware that I changed the platform setting to Android and am using Unity free with the latest files from Git Hub.[/QUOTE]

    weird black stippling: that looks like shadow acne. please try to adjust the shadow bias of your directional light.
    do you use any other extension like shadow softener or so?

    that fits to the problem reported by william. and i have to admit that i haven’t tested the framework with ios or android as target platform.
    well, everything works nicely for mac or pc. right now i am switching to ios – what will take a while.
    nevertheless: you do not need the cubemapper in the final built as it is an editor extension only.
    so you just might wrap the whole script with: "#if UNITY_EDITOR" and "#endif"

    lars
     
  9. EddieChristian

    EddieChristian

    Joined:
    Oct 9, 2012
    Posts:
    725
    Haven't used any Shadow softeners at all. It is the sample terrain scene with no changes other then I added Control Freak for a Quick joystick for movement. I will check the shadow bias but it is set at the default as of right now.

    nevertheless: you do not need the cubemapper in the final built as it is an editor extension only.
    so you just might wrap the whole script with: "#if UNITY_EDITOR" and "#endif"


    I'll have to look this code up. I haven't ever used it before.
     
  10. EddieChristian

    EddieChristian

    Joined:
    Oct 9, 2012
    Posts:
    725
    Added the command and tried another Android build and got these errors now:

    Code (csharp):
    1. Assets/Lux/Lux Scripts/Lux Cubemapper/Scripts/LuxEnvProbe.cs(70,12): error CS0246: The type or namespace name `List`1' could not be found. Are you missing a using directive or an assembly reference?
    2.  
    3. Assets/Lux/Lux Scripts/Lux Cubemapper/Scripts/LuxEnvProbe.cs(460,29): error CS0246: The type or namespace name `SerializedObject' could not be found. Are you missing a using directive or an assembly reference?
     
  11. EddieChristian

    EddieChristian

    Joined:
    Oct 9, 2012
    Posts:
    725
    Added "#if UNITY_EDITOR" and "#endif"

    To both those scripts LuxEnvProbe.cs and LuxCubeProcessor.cs and git it to compile on a Nexus 7. Not sure if it needed the LuxEnvProbe.cs though?

    $Lux_Screenshot_001.jpg

    And weirdly the shadows work better on my android devices then my overpriced laptop with an Intel video card.
     
  12. larsbertram1

    larsbertram1

    Joined:
    Oct 7, 2008
    Posts:
    6,900
    so you should add this directives to the "LuxEnvProbe.cs" too.
    add: "#if UNITY_EDITOR" as first line.
    and "#endif" as last line.

    lars
     
  13. larsbertram1

    larsbertram1

    Joined:
    Oct 7, 2008
    Posts:
    6,900
    thanks for your patience.
    and i am glad that shows work too.

    i have just updated the repo: now both scripts are wrapped by "#if UNITY_EDITOR"

    lars
     
  14. EddieChristian

    EddieChristian

    Joined:
    Oct 9, 2012
    Posts:
    725
    Here is a shot with a pink boulder in the background. But I am more interested in the rocks in the foreground. In the Unity editor they work but are missing on Android.

    $LuxErrors_002.jpg
     
  15. EddieChristian

    EddieChristian

    Joined:
    Oct 9, 2012
    Posts:
    725
    One last thing. I know you are SUPER BUSY. But if possible I could use a screen shot of the proper setup for the eye. Because I intend to use this scene to test UMA characters with Lux. Also I will make the .APK file available on my site for interested parties as it develops.
     
  16. larsbertram1

    larsbertram1

    Joined:
    Oct 7, 2008
    Posts:
    6,900
    strange: the big rock uses a regular lux spec bumped shader and is added as game object. does it miss its material?
    whereas the small rocks are added to the terrain using the vertex lit shader.
    you may have to include the shader to your built manually: "edit" -> "project settings" -> "graphics" -> "always included shaders".
    add the lux vertex lit shader to the list.

    lars
     
  17. EddieChristian

    EddieChristian

    Joined:
    Oct 9, 2012
    Posts:
    725
    The big Boulders are even broken in the editor. There is nothing on their material on import into Unity. I actually don't know what they had or their settings. I will try the fix for the small rocks.
     
  18. larsbertram1

    larsbertram1

    Joined:
    Oct 7, 2008
    Posts:
    6,900
    that is how my setup for the eye shader looks:

    $Bildschirmfoto 2014-04-07 um 01.40.19.png
     
  19. EddieChristian

    EddieChristian

    Joined:
    Oct 9, 2012
    Posts:
    725
    Adding the shader did work. I noticed it was in a folder called "Hidden" which doesn't show up on an Asset Search. Wondering how that was done and if it caused the issue?

    As Promised here is the Adroid APK http://www.solomakeart.com/forum/topic/10

    If you find this Interesting or Useful please take the time to join my site and help me build a Creative Community there.
     
  20. Grimwolf

    Grimwolf

    Joined:
    Oct 12, 2013
    Posts:
    296
    I'm trying to use this with Substance Designer, but having an issue with importing Substances.
    When I import a Substance, it defaults automatically to a basic bumped diffuse shader, and utilizes only the diffuse and normal maps. If I then change it to a Lux PBR shader after import, it will not afterward add the metal/rough maps from the original Substance.
    I can't find a way to add them in manually, either. Since they're locked inside the Substance.
     
  21. larsbertram1

    larsbertram1

    Joined:
    Oct 7, 2008
    Posts:
    6,900
    hi there,

    i do not use substance designer and do not have much experience with substances either.
    but another user has even ported lux for substance designer, so he might be the one to ask:
    http://forum.unity3d.com/members/533624-hd_

    this is the link to his repo where you can find the substance shader:
    https://github.com/hdunderscore/Lux4SD

    i hope this helps,

    lars
     
  22. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,862
    Conflicting "Internal/Lighting-PrePass.shader" for deferred lighting in project can be not only Alloy. I've just realized (testing RTP with Lux) that Shadow Softener also redefines this shader. I found softener actually works even when we remove Assets/Shadow Softener/Shaders/Deferred/Resources/Internal-PrePassLighting.shader. It's probably put there for compatibility with Sunshine only.

    Tom
     
    Last edited: Apr 8, 2014
  23. larsbertram1

    larsbertram1

    Joined:
    Oct 7, 2008
    Posts:
    6,900
    hi there,

    i have made some changes to the hair shader as there were some conflicts with the built in skybox shader (?!).
    but now anything should just work fine.
    make sure you get the latest version from the repo:
    https://github.com/larsbertram69/Lux

    you also have to update the "LuxLightingAmbient.cginc" in case you want to make the shader work with spherical harmonics.

    lars
     
  24. FuzzyQuills

    FuzzyQuills

    Joined:
    Jun 8, 2013
    Posts:
    2,871
    Thanks, that would be great. :D I figured wrong textures was the problem... Anyway, at least an example of the "BDRF lookup" and the "Spec, Rough, SSS" textures would be nice! Sorry to bother you, as i can see you are SUPER busy!
     
  25. larsbertram1

    larsbertram1

    Joined:
    Oct 7, 2008
    Posts:
    6,900
    hi there,

    the "BDRF lookup" texture is part of the package. please make sure that its import settings are correct (according to the documentation: clamp, bypass srgb).
    "Spec, Rough, SSS, AO" is pretty much forward and looks as shown a while ago:

    $lux_skin_tex.jpg

    specular color (r)
    just a single, dark gray as skin is a dielectric material (in fact it should be much darken than in the picture above).
    you could add some details here e.g. for "wet" parts of the face like lips.

    roughness (g)
    a regular gray scale roughness texture (most important)

    sss (b)
    a gray scale tex defining the "thickness" of the skin and the underlaying muscles etc.
    ambient occlusion (a) (missing in the picture)a gray scale ao map

    lars
     
  26. pointcache

    pointcache

    Joined:
    Sep 22, 2012
    Posts:
    579
    Hi guys, im getting into Lux and pbs in general and i am fully confused, because i am not able to achieve anything that is written in documentation.
    Like for example i use Box type shader on object and have lux lightprobe, gen maps, and... nothing happens... Tested for 30 minutes tried everything, suddenly script bugged out, and i was unable to place any gameobject into slot for game object.

    Then i gave up on that, moved to new empty scene and used same box shader but with point light, when i turn hard shadows shader becomes almost white
    without
     
  27. larsbertram1

    larsbertram1

    Joined:
    Oct 7, 2008
    Posts:
    6,900
    hi there,

    if you want to use box projected cube maps you will have to:

    - add the setuplux script to your scene. it always has to be present as it controls the shaders.
    - add some props to your scene
    - add some lights to your scene
    - add the plane to your scene which should use the box projected cubemap.
    - add an empty game object, assign the environment probe script, place the game object correctly
    - bake probe (and make sure that the probe settings fit with the setuplux (hdr, linear)), convolve cube maps
    - set cube map mode to: box
    - assign your plane

    but before you play around with box projected cube maps i would always recommend to get familiar with the base settings and shaders:
    linear and gamma lighting, hdr and ldr cube maps, roughness and specular color textures as those are the basics.

    lars
     
  28. pointcache

    pointcache

    Joined:
    Sep 22, 2012
    Posts:
    579
    Now can you believe that before i wrote my post i did every single one of those and a lot more of tries? Really? I can read documentation.
     
  29. virror

    virror

    Joined:
    Feb 3, 2012
    Posts:
    2,963
    Then you should also be smart enough to include that in your thread : p
     
  30. larsbertram1

    larsbertram1

    Joined:
    Oct 7, 2008
    Posts:
    6,900
    sorry, i did not want to insult you.
    so i guess you have already managed to setup a "simple" scene? using the cube maps included in the package or rendered your own?

    lars
     
  31. larsbertram1

    larsbertram1

    Joined:
    Oct 7, 2008
    Posts:
    6,900
    hi there,

    unfortunately a had to publish another hot fix.
    this one deals with trees and and the terrain using fog, multiple lights and (in case of the terrain) forward lighting.
    you might have noticed washed out trees or even strange flares around certain terrain tiles.
    but now fog should just work fine – no matter how the lighting conditions look like.

    get the latest versions of the shader from the repo:
    https://github.com/larsbertram69/Lux

    lars
     
  32. LaneFox

    LaneFox

    Joined:
    Jun 29, 2011
    Posts:
    7,521
    Hey Lars!

    Awesome work, I didn't replace this in my current project but did go about with some tinkering to get an idea of what U5 might offer on this.

    Linear mode is recommended, but is there a significant loss to using Gamma? I'm not terribly familiar with the difference but when I switched to Linear I noticed there was a major change to the general appearance of the entire game, including fog, light, fx, etc... so I'm pretty leary about that. Any insight on this or what we might be able to expect in U5's PBS? I figured changing over all the shaders and looking into a switch to Linear would be a waste if I had to do it all over again for Unity's shaders so I put this on the backburner but am still concerned about the change as a whole.

    Thanks
     
  33. larsbertram1

    larsbertram1

    Joined:
    Oct 7, 2008
    Posts:
    6,900
    hi lanefox,

    linear lighting and hdr rendering combined with tonemapping (pro only) are the keys to physically based shading.
    but you are right: switching to linear just corrupts all of your visuals as far as they are authored for gamma based lighting.
    (not to mention all the – sorry for blaming someone else – bugs there are in unity as far as linear lighting is concerned.)

    so gamma is very convenient to work with as we are just used to it.
    but linear will give you much more details and will take full advantage of lux’s spec power which is 2048 compared to 128 which is the built in one.
    however it is very picky to work with as you have to take care of how e.g. the textures are imported: so any not diffuse or normal textures (like any combined spec normal whatsoever texture) has to bypass srgb sampling for example.

    personally i think it is worth doing the switch. but if you are in the middle of your project with already a lot of texture work done i can imagine that it will be very painful.
    even more painful than the switch to physically based shading is anyway.

    lars
     
  34. william9518

    william9518

    Joined:
    Jun 7, 2013
    Posts:
    2
    Hey Lars,
    Can you in the future add a slider for specularity? Currently all my metal looks like super shiny metal and there is no specularity slider to make it less specular.
     
  35. pointcache

    pointcache

    Joined:
    Sep 22, 2012
    Posts:
    579
    Please Lars, can you make a video showing full process of box mode set up?
    Im struggling here i don't know what im doing wrong but it looks awful.
     
  36. Reanimate_L

    Reanimate_L

    Joined:
    Oct 10, 2009
    Posts:
    2,788
    Just curious, are your objects static?
     
  37. larsbertram1

    larsbertram1

    Joined:
    Oct 7, 2008
    Posts:
    6,900
    hi there,

    i am sorry, but i will not add that slider because it would make the shaders less fast and would break the basics of physically based rendering where everything is controlled by the roughness and specular reflectivity maps based on "real" values.
    please have a look at the look up chart that is provided with the package to find the "right" values for roughness and specular color.

    nevertheless you can test your textures using the "lux bumped specular materialtest" shader which has sliders to lower roughness and let’s you multiply a color on top of the specular reflectivity map.

    lars
     
  38. larsbertram1

    larsbertram1

    Joined:
    Oct 7, 2008
    Posts:
    6,900
    hi there,

    i have just updated the skin and hair shader to get rid of a nasty bug when using directX + deferred lighting + only one directional light + fog.
    you will find the updated shaders in the repo:
    https://github.com/larsbertram69/Lux

    make sure you also get the „LuxCustomFog.cginc“ (in "LuxCore").

    lars
     
  39. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    After fixing a bug in UMA, the UMA + Lux integration got a little further.
    $uma_lux_01.png

    I choose to use the regular bumped specular shader for skin, even though it's not quite as pretty it still produces decent results and it allows the use of UMA overlay clothing as seen on the wireframe below.
    $uma_lux_01_wireframe.png
    So skin + clothing is just one draw call and skin tight clothing without artifacts are trivial. Please don't mention the bad skin specular maps, it's really just a single gray color. So final results will look way better, but this is a start.
     
  40. makeshiftwings

    makeshiftwings

    Joined:
    May 28, 2011
    Posts:
    3,350
    Can UMA only support a single shader on the body? I thought it was supposed to combine similar materials but still allowed multiple if you wanted it.
     
  41. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    Well just like everything else it's one shader per mesh. But each uma character can be as many meshes/shaders as you want. But each slot you add to the UMA character will use exactly one material/shader.

    The hair is actually using the lux hair shader.
    (Sorry about making the hair look so bad, I forgot to read the paper on how to use the hair shader!)

    What the uma overlay system does is actually taking the body texture and adding the pants texture and shirt texture on top inside the atlas for the character. This means that there is now one mesh with one material rendering the five slot meshes of the body and face, as well as the five overlays that makes up the skin, eyebrows, shirt, pants.
     
  42. makeshiftwings

    makeshiftwings

    Joined:
    May 28, 2011
    Posts:
    3,350
    That makes sense... I guess people just need to start making more actual mesh clothes for UMA bodies so that skin shaders can be used. I feel like overlay on the base atlas should just be for underwear.
     
  43. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,684
    Or maybe not even underwear, but tattoos, freckles, and scars ...?
     
  44. lazygunn

    lazygunn

    Joined:
    Jul 24, 2011
    Posts:
    2,749
    As i understood it from that, could you alter UMA yourself, given the above, to create 2 atlasses and 2 drawcalls per avatar, and then have both skin and bumped diffuse shaders for the avatar anyway? Don't have to wait for mesh clothing or anything, just get stuck into the system, it's just difficult for a UMA dev to present alterations to a key UMA concept, which is that smart atlassing system, that takes away from the understanding of something that you can, then, alter yourself as you need. I really haven't looked at UMA as closely as I should but i'm guessing an additional slot could be the same mesh but the initial body only have textures for the skin (for example), and the new slot just have textures for the clothes with the material of your choice, or vice versa?

    It might be worth, when you have a good representative of the solid one drawcall 'official' UMA mesh with Lux, to demonstrate how the slot system can be used to easily create a slightly heavier avatar with seperate (and visually distinct) material for skin than clothing. That might actually help the understanding of the UMA system as i have it, as well as look very pretty for the eyecandy lovers, as it's not entirely straightforward and i was finding a bit too confusing to approach myself. I do think i'll be having to get aquainted with it soon though, possibly. I might have it all wrong and i need to get more sleep though
     
  45. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    Hehe, well it's funny that you have such strong opinions about what UMA should be. UMA is a very flexible tool capable of doing many things and you haven't yet mentioned anything that UMA can't do.

    About eye candy, I could have chosen a more subtle body overlay but without proper specular maps it will still not show the proper potential. So I prefer to wait until I have the needed textures on hand.
     
  46. lazygunn

    lazygunn

    Joined:
    Jul 24, 2011
    Posts:
    2,749
    Ahh no, i'm quite aware it's extremely flexible, i think i expected something a lot less than it was initially when i first read about it, in fact, and the more i've learnt the more impressive it is, and a great asset to Unity - just making gatherings of people are a pain in the neck for games, if you want to think of any actual 'asset' that provides the variety of appearances that typify what you'll see if you walk to the shops. And thats the use i'll be using it for most likely, funny enough - making a public - although it could be used for, as you say, a ton of things, and it's very efficient with it, so i'm sorry if i seemed dismissive that wasn't the case, i was trying to say that if i'd known more quickly how it operated and what it could be used for, i'd be very familiar with it by now - it really would/will make so many situations easier, i'm hoping to get acquainted with pbr first in an environment sense first, then i think concentrating on a 'public maker' with UMA would be extremely useful for future work, in my particular circumstance, but in it's most initial sense anything that needs one or more characters, can consider it, so it was a genuine expression of wanting more to be known about it sooner.

    The more familiar people are with it the more it gets used, the more content gets made and it becomes possibly a quintessential thing, because eventually it could result in a situation where for anything needing at least varieties of things, why use anything else? (I'm considering it neednt be humans, bipeds or even living things with limbs that can benefit from that core functionality, what if you want to specialise in an Eve-like MMO with every craft unique? just as an example)

    I probably should get more sleep if i'm coming across that negatively, i was just trying to clear up some functionality without seeming ignorant!
     
  47. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    I'm way ahead of you there. The samples I made for Power Rigger was animals, but I plan to add the Angry Bot quadroped bot in there, and am also planning a target that will be a static mesh without animations, useful for cars, statues, weapons, spacecrafts, etc.

    http://glscene.com/unity/PowerRigger/AnimalsWebPlayer/AnimalsWebPlayer.html
     
  48. lazygunn

    lazygunn

    Joined:
    Jul 24, 2011
    Posts:
    2,749
    I like it! And i'm presuming you could customise each animal individually too, could populate an entire countryside with everything in it, how well would it go with procedural tree making? Is it feasible to tie it into tree maker parameters? I'm thinking like using it to one-click author landscape features with the asset desired, so you can click-out unique random, parameterised objects of every type, including all your trees and plants, your buildings (procedural building growth buildr style or stretching bones to change proportions or rearranging building features, based on a theme), and of course the fauna and the locals

    There's a product in that for sure. I don't even know how likely/unlikely the idea of the treemaker or buildr style procedural building thing is, but there's a lot there, it's only on thinking about it how far sighted it is, although i will say my initial point earlier was to point out to the other folk that they didnt need to wait until mesh-based clothes before they could enjoy multi-material UMA guys. But yeah, this is great stuff, for what it matters i'll be looking into it a lot further, and i don't think it's being pushed enough, possibly

    In the subject of mesh-based clothing, however, chris west, the guy who did megafiers also did an asset called Mega Daz which imports daz 3d model morphs into Unity, which can be applied to imported and decimated daz models as needed, and even using megafiers' other features to fit the clothing too. I do find poser in itself like a doll toy simulator but the art on the daz store can be amazing at times - If all that can be leveraged in something like UMA that would be quite something, someone should probably tell Chris. Or you guys should talk, or something
     
  49. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    Use the much hidden right click feature in the webplayer to select an animal and see the sliders... I apologize for the horrible ui, but in the UMA project we have a long tradition for not making anything obvious. :D
     
  50. lazygunn

    lazygunn

    Joined:
    Jul 24, 2011
    Posts:
    2,749
    Haha i've noticed the nothing obvious bit, you're a protean giant being all shinobi at the moment. I suppose it's best to wait (although a bit chicken and egg) until theres a bit more asset store material and for example the lux shaders and relevant textures are in place and looking the business then make some noise, but this is really great

    Also i just right clicked in the unity player (noone right clicks in unity players! you know what happens when you right click and you dont want to go fullscreen) and that is amazing, can you attach that behaviour to further parameters than bone dimensions (i read that was how you got the body tweaking)? Like I say you could use it for absolutely anything in a power-rigger context, i suppose outside the scope of such an app but taking the earlier example of the landscape populating, you could place and tweak your randomly generated anything, from the bone dimensions (or whatever method you use there) on your humanimals to your L-tree parameters (presuming can't use tree creator so use own L-tree based tree generation system), proportions, base-texture and colour tint(s) assuming you didn't like the randomly generated option and so on. It really is pretty neat.

    I do seem to be kind of stuck on the foliage idea but since at least altering proportions is in context with the previous examples of 'tweaking' and further parameterisation seems a natural fit, and bringing the convo nicely back onto the subject of the thread, lars has written some gems of foliage shaders some of which now grace lux! seems like a strong marriage for both whatever the situation