Search Unity

Jove 2.0: DX11 Rendering System (Alpha Release)

Discussion in 'Assets and Asset Store' started by Aieth, Aug 17, 2014.

  1. Aieth

    Aieth

    Joined:
    Apr 13, 2013
    Posts:
    805
    The first image does look weird. Does this occur in editor or during play? If during play, can I get you to upload something so I can reproduce it? Some errors appear in the editor only but not in play due to the temporal reprojection and the fact that the editor doesn't render if it doesn't need to.

    EDIT: The second image, while looking not ideal, is actually a limitation of the technique. You can play with the pixel thickness values to reduce the artifacts.
     
    Last edited: Apr 2, 2015
  2. Tiny-Man

    Tiny-Man

    Joined:
    Mar 22, 2014
    Posts:
    482
    Thanks for the reply, I'll send you the object over a message. Restarting unity improved things quite a bit, but there are a few things I want to go over with to make some things clear for me.
     
  3. Aieth

    Aieth

    Joined:
    Apr 13, 2013
    Posts:
    805
    What is hopefully the last release candidate (3) is now online for all the beta testers!
     
    Tiny-Man, Licarell and chiapet1021 like this.
  4. IanStanbridge

    IanStanbridge

    Joined:
    Aug 26, 2013
    Posts:
    334
    Hi Aieth the latest version seems to have fixed all the strange performance results I was getting and is running at the proper speed again. Only thing I have noticed is that if you remove the global ambient cube map, ambient translucency stops working. Is that intended as surely the cube map has nothing to do with translucency ? It does work if I leave a cube map present and then set all the ambient values to 0 so the cubemap doesn't affect the scene though so isn't major. What is the correct way to setup jove if you want a completely black scene that you can then light purely with translucent objects and other lights other than the sun ?

    Also what would be the correct way of doing laser lights in jove ? Would it be best to add global fog and then just use a spline of moving point lights in the fog or should I add translucent spheres over each light in the spline and use the light to make the spheres glow ?
     
  5. Aieth

    Aieth

    Joined:
    Apr 13, 2013
    Posts:
    805
    That is completely intended behavior :) Just as the ambient diffuse comes from the cubemap, so does the translucent lighting. Otherwise, if they were decoupled, you could easily end up in a situation where one side of a leaf is a lot brighter than another for no good reason. So if you want a scene with no diffuse and no specular (what are you making? :p) the way you did it would be the way to do it.

    I'm not sure what you mean by laser lights? Do you mean some thing like star wars laser guns? I guess that depends on if you want them to cast lighting or not. And that depends on the amount of active lights at one time. Ideally each laser would be a tube light, with a mesh attached (don't use the debug render for this, it is a debug render, there's performance implications and visual ones). If you don't want/can't afford them to cast lighting, just use an emissive shader on a tube mesh.
     
  6. IanStanbridge

    IanStanbridge

    Joined:
    Aug 26, 2013
    Posts:
    334
    The scene I want to make is an indoor tron like neon enviroment with most of the light coming from the glowing objects. Your global cubemap seems to be more geared towards outdoor enviroments. I was assuming if I wantted a dark indoor enviroment I would be better disabling it and just using Jove with proxy GI to give a dynamic GI look. My game idea is fully dynamic with destructible walls and things so the lighting needs to be dynamic.

    In Jove is the lighting from tube lights as accurate as from point lights ? Also if I added fog into a room and added a long thin high intensity tube light would it show up by llighting the fog or would I need to add a translucent mesh over it as well for it to be visible in the air?
     
  7. mittense

    mittense

    Joined:
    Jul 25, 2013
    Posts:
    168
    Would it be possible to accomplish of the Jove rendering systems on non-DX11 platforms?

    Namely, I'm interested in the lit particles.
     
  8. Aieth

    Aieth

    Joined:
    Apr 13, 2013
    Posts:
    805
    Yeah the tube lights are very accurate. E.g if you make it long it "reaches around" objects. For the fog all light types are using far cheaper methods, tube and sphere are treated as point lights (e.g no area) and rect and disc like spot lights (again, no area). It would show up by lighting the fog, that's an interesting approach to take. I'm gonna have to experiment with that, I had not thought of using the scattering system to add light to a dark scene. But I guess it depends on how visible you want it, if you want star wars lasers you are gonna need a mesh.

    I'm afraid that wouldn't work, at least not inside Unity. You would need to cull the lights per particle system and then render it once per light (like Unity does in forward mode for regular objects). It would quickly become very expensive even if it worked.
     
  9. mittense

    mittense

    Joined:
    Jul 25, 2013
    Posts:
    168
    This may already have been answered in the thread, but if it was I couldn't find it: I keep getting this error (as well as one about destroyed buffers):

    Trying to access pass 1, but material 'Hidden/JoveESMBlur' subshader (0) has only 1 valid passes.
    UnityEngine.Material:SetPass(Int32)
    JoveGraphics:Blit(Rect, Material, Int32) (at Assets/Jove/Scripts/JoveGraphics.cs:284)
    Jove.JoveShadowCascades:BlitBlur(Rect, Int32, RenderTexture, RenderTexture, RenderTextureFormat, Int32) (at Assets/Jove/Scripts/JoveShadowCascades.cs:564)
    Jove.JoveShadowCascades:prefilterBlurCascade(Int32) (at Assets/Jove/Scripts/JoveShadowCascades.cs:584)
    Jove.JoveShadowCascades:RenderCascades() (at Assets/Jove/Scripts/JoveShadowCascades.cs:314)
    Jove.JoveShadowCascades:performAction() (at Assets/Jove/Scripts/JoveShadowCascades.cs:246)
    Jove.JoveRenderer:RenderCascadedShadows() (at Assets/Jove/Scripts/JoveRenderer.cs:158)
    Jove.JoveRenderer:Render(JoveCamera, RenderTexture) (at Assets/Jove/Scripts/JoveRenderer.cs:58)
    Jove.JoveCamera:RenderToDest(RenderTexture) (at Assets/Jove/Scripts/JoveCamera.cs:973)
    Jove.JoveCamera:OnRenderImage(RenderTexture, RenderTexture) (at Assets/Jove/Scripts/JoveCamera.cs:978)
     
  10. Aieth

    Aieth

    Joined:
    Apr 13, 2013
    Posts:
    805
    If youre using Unity 5, the asset store version has not yet been updated, so its not compatible. If you want access to the almost finished beta, PM me your invoice
     
  11. Aieth

    Aieth

    Joined:
    Apr 13, 2013
    Posts:
    805
    A new beta is up for the beta testers! Contains:
    * Fix for switching between light types
    * Reworked particle shaders. There are now only 3 particle shaders (Standard, Emissive Lit and Emissive Unlit)
    * Removed the need for forward and deferred layers. You can now use any shader on any layer
    * Increased SSR temporal frequency bias. It's now less likely to flicker but can blur instead. Tweak using slider.
     
    Last edited: Apr 6, 2015
    8Infinite8 likes this.
  12. braaad

    braaad

    Joined:
    Oct 4, 2012
    Posts:
    102
    Yes! I was having to go through each new version and change the layers in the Demo scene as mine were always slightly different to what you had on your end for some reason.
     
    Aieth likes this.
  13. Aieth

    Aieth

    Joined:
    Apr 13, 2013
    Posts:
    805
    Uploaded another beta. Contains a much sought after feature, scene camera integration. Now, it isn't perfect, the method for accomplishing this is pretty hacky. The performance of it isn't great, since I can't really turn off the scene camera so I just have to do my thing on top of it. It will also give you an error message about flare layers every time you leave play mode. And it can't display gizmos or highlight the selected mesh :) (but it can display the transform handles, e.g the red blue and green arrows).

    You can always just turn it off if you don't like it! Here's a picture of a gun I've been texturing to celebrate (note: texturing, not modeling, that's way above me :p)
    Populator.png
     
    blueivy, braaad and bac9-flcl like this.
  14. bac9-flcl

    bac9-flcl

    Joined:
    Dec 5, 2012
    Posts:
    829
  15. SteveB

    SteveB

    Joined:
    Jan 17, 2009
    Posts:
    1,451
    OMFG I have NOT laughed that hard in a long time...easily a day! :D
     
  16. Ben-BearFish

    Ben-BearFish

    Joined:
    Sep 6, 2011
    Posts:
    1,204
    @Aieth, I know you've been quite busy with the latest updates to Jove, but I was wondering if you ever had a chance to look at the custom skewed projection matrices in Jove?
     
  17. chiapet1021

    chiapet1021

    Joined:
    Jun 5, 2013
    Posts:
    605
    @Aieth, could we trouble you for an update--and some more pretty images? :)
     
    Tiny-Man likes this.
  18. Tiny-Man

    Tiny-Man

    Joined:
    Mar 22, 2014
    Posts:
    482
    Just pretty images would do :p
     
    chiapet1021 likes this.
  19. Elecman

    Elecman

    Joined:
    May 5, 2011
    Posts:
    1,373
    @Aieth,
    I understand that you have a new terrain system in the works. Will it support a coordinate reset system to get around the floating point range issue when flying far form the origin?
     
  20. blueivy

    blueivy

    Joined:
    Mar 4, 2013
    Posts:
    633
    Hey Aieth! :D How is evrything going with JOVE?
     
  21. Aieth

    Aieth

    Joined:
    Apr 13, 2013
    Posts:
    805
    Hey, sorry about the late reply!
    I know how it can be done, but unfortunately it is no small task. The easiest approach is to modify the projection matrix to ensure it produces correct depth values. If that's possible without ruining the effect, that is. Jove is dependent on the system variable SV_Position to function correctly.
    I've been doing some prototyping work of which I'm not talking about yet :) That, and chasing some very illusive bugs. The patch is finally ready with updated documentation anyway. It took a lot longer than I had hoped to, but at least other parts have progressed along side it.
    The new terrain system hasn't left the drawing board yet, and won't for some time :)
    It's moving along :) Going to have a lot more time on ~1 month.
     
    blueivy likes this.
  22. blueivy

    blueivy

    Joined:
    Mar 4, 2013
    Posts:
    633
    Only interesting things can come from you prototyping Aieth :p
     
  23. Dolkar

    Dolkar

    Joined:
    Jun 8, 2013
    Posts:
    576
    It's so interesting most of the time is actually spent persuading me that it's worth it :p
     
    chiapet1021, blueivy and braaad like this.
  24. blueivy

    blueivy

    Joined:
    Mar 4, 2013
    Posts:
    633
    Hahaha Well I hope he does a good job at that, I love to see what you two cook up. :D
     
    chiapet1021 likes this.
  25. Ben-BearFish

    Ben-BearFish

    Joined:
    Sep 6, 2011
    Posts:
    1,204
    Is that something I can currently do with Jove, or did you mean that's something you'd have to implement on your side?
     
  26. Aieth

    Aieth

    Joined:
    Apr 13, 2013
    Posts:
    805
    I don't think it's possible to achieve the same result by tweaking the matrix. What you are gonna have to do, which would require custom vertex shaders (and getting rid of the dependency on SV_Position... which would be hard) is calculate the position inside the vertex shader using your custom matrix. Then you also calculate the world position of that fragment and use that for lighting. It can't be done in Jove, as Jove relies on a uniform distribution width and height wise to interpolate between the corners of the screen. It would probably be equally hard to get it into Unitys deferred. Your best bet is hand written forward shaders.
     
    Ben-BearFish likes this.
  27. Aieth

    Aieth

    Joined:
    Apr 13, 2013
    Posts:
    805
    Patch 2.2 is now live!

    - Adding rectangular and tube area lights
    - Moved all lighting over to photometric values
    - Added screen space reflections
    - Added automatic exposure
    - Improved bloom, flickering now nonexistant
    - Correct light wrapping for large area lights
    - Improved ambient BRDF (especially diffuse)
    - Changed the diffuse BRDF to another with higher quality
    - Removed the need for working with layers
    - Added reflectance as a parameter to non metallic objects
    - Reworked translucency, now only dependent on a single texture channel
    - Added builtin vignette and grain image effects
    - Kind of functioning Jove in Scene View
    - Many more small changes and fixes
     
    Last edited: Apr 30, 2015
    8Infinite8, braaad, mittense and 3 others like this.
  28. chiapet1021

    chiapet1021

    Joined:
    Jun 5, 2013
    Posts:
    605
    Very awesome! Congrats on the update, @Aieth! :)
     
  29. Tiny-Man

    Tiny-Man

    Joined:
    Mar 22, 2014
    Posts:
    482
    Dank stuff Aieth, will try it soon asap
     
  30. niosop2

    niosop2

    Joined:
    Jul 23, 2009
    Posts:
    1,059
    How's the 2.2 release compare to the last beta? If there's a difference, which is better to use?
     
  31. Aieth

    Aieth

    Joined:
    Apr 13, 2013
    Posts:
    805
    Minor differences, but it's (almost) always better to have the latest version :)
     
  32. StaffanEk

    StaffanEk

    Joined:
    Jul 13, 2012
    Posts:
    380
    How do the screen space reflections work with the Oculus Rift? Is there a benefit to use Jove shared shadows with the Rift?
     
  33. Aieth

    Aieth

    Joined:
    Apr 13, 2013
    Posts:
    805
    There will be performance advantages once Jove is compatible with Oculus Rift. At the moment Jove does not support Oculus Rift though.
     
  34. Remiel

    Remiel

    Joined:
    Oct 17, 2012
    Posts:
    105
    Sorry, I'm kinda late to the party so I apologize if this has been answered before:
    Does the current version of Jove support Relief Terrain Pack (RTP)? If not, what exactly doesn't work? If I did use them together, would my terrain look the same as it usually does in RTP? Would having them together cause errors or artefacts?
    I am required to choose between Jove and RTP?
     
  35. Tiny-Man

    Tiny-Man

    Joined:
    Mar 22, 2014
    Posts:
    482
    Gotta choose between the two
     
  36. Discord

    Discord

    Joined:
    Mar 19, 2009
    Posts:
    1,008
    Apologies for what is likely to be a dumb question, I just want to make sure I get this right before I buy the asset. With Jove, custom shaders that worked with Unity's pipeline will not work with Jove's pipline, correct? For instance, I have a shader for using vertex colors on my models instead of using textures on the material. Would I have to roll out a new shader to work with Jove?
     
  37. niosop2

    niosop2

    Joined:
    Jul 23, 2009
    Posts:
    1,059
    Yes, you need to rewrite shaders to work w/ Jove. But Jove does include a vertex color shader that works great.
     
  38. Discord

    Discord

    Joined:
    Mar 19, 2009
    Posts:
    1,008
    Great, thanks!
     
  39. Tiny-Man

    Tiny-Man

    Joined:
    Mar 22, 2014
    Posts:
    482
    Hey Aieth, I don't know if this is from the new update but reflections feel a tad bit too strong then what they feel like they should be.

    Talking about the cubemap here and not the light itself. It feels too sharp.
     
  40. Aieth

    Aieth

    Joined:
    Apr 13, 2013
    Posts:
    805
    You're right, the global cubemap is behaving weirdly. I'll publish a fix within a few days, the issue isn't as simple to fix as I'd like :) In the meantime you can work around it by using a sphere probe with a huge radius (say 10 000) instead of the global
     
  41. Tiny-Man

    Tiny-Man

    Joined:
    Mar 22, 2014
    Posts:
    482
    Ill try it out, thanks aieth.

    Edit: Tried it out, results are better but still feels too sharp. I feel like it should be more like the unity 5 or marmoset cubemap reflections, could it be from a lack of mipmaps? or does Jove not use mipmaps at all in the cubemaps?
     
    Last edited: May 6, 2015
  42. Aieth

    Aieth

    Joined:
    Apr 13, 2013
    Posts:
    805
    Jove uses mipmaps, but the roughness remapping is different. Jove doesn't use the same BRDF (technical term for fancy lighting math) as neither Unity nor SkyShop, so the behavior won't be identical. Jove behaves more like UE4/Frostbite than it does Unity.
    I published a fix for all issues relating to probes and the global cubemap (I found another one as well). It should be up within a few days, Unity have been really quick at Asset Store updates lately.
     
    braaad and Tiny-Man like this.
  43. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,684
    In the Unity universe, is Alloy the most similar thing to Jove?
     
  44. chiapet1021

    chiapet1021

    Joined:
    Jun 5, 2013
    Posts:
    605
    @hopeful I don't think there's any single asset that approaches what Jove does as an all-inclusive rendering engine. Alloy is primarily a set of custom PBR shaders. Jove has that, but the lighting approach is also custom. You also get area lights, translucency, screenspace reflections, the list goes on and on.

    You should probably think of Jove as the equivalent of combining a whole bunch of assets designed to make your game "look better," except at the end of the day, Jove probably looks even better, runs faster, and functions much more harmoniously than trying to get a bunch of disparate assets to play nicely with each other.

    The main "tradeoff" with Jove (besides not being able to integrate it with most of the existing assets like RTP and Alloy) is that it's DX11 only (or maybe DX 10.1+ now?). No DX9 compatibility. Also, Jove is still in development, so there are things like RTP or TrueSky for which there isn't equivalent functionality in Jove yet.
     
  45. Aieth

    Aieth

    Joined:
    Apr 13, 2013
    Posts:
    805
    To be honest I'm not overly familiar with Alloy. Looking at their forum thread they're running a blinn-phong BRDF, which means the answer is "no" :) IIRC Unity runs blinn-phong as well, unless they switched in late beta (I know they switched something, but I don't think it was the BRDF, only the roughness remapping).
    Lighting wise, anything running a GGX BRDF should be fairly similar. However, if you're looking for tools/applications that treat roughness maps the same, I know of only UE4/Frostbite that treats it like I do. That is, the value presented to artists and used in textures, is the square root of the inverse roughness.
     
  46. Aieth

    Aieth

    Joined:
    Apr 13, 2013
    Posts:
    805
    It should be DX10.1 now :) I can't verify it myself, but everything is compiled with a #pragma target 4.0. I'm not sure how Unity handles compute shaders under DX10.1 though, but it should run on DX10.1.
     
  47. chiapet1021

    chiapet1021

    Joined:
    Jun 5, 2013
    Posts:
    605
    I can't verify it either. My computers run DX11. And with Windows 10 and DX12 looming, I suspect the DX11 caveat will become much less of a barrier for the wider gamer audience in the near future.
     
  48. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,684
    I have Jove, but I don't have Alloy, and Alloy is currently on sale. I was wondering if it would be worthwhile to get Alloy, if there is any advantage in workflow or passing materials from Alloy to Jove. Like, is Alloy in any way more compatible with Jove, is Alloy likely to make its shaders work with Jove, etc.

    Basically, Jove is in beta for a while, and I'm wondering if using Unity PBR till Jove matures is fine, or if I would be better off using Alloy for some reason.
     
  49. Aieth

    Aieth

    Joined:
    Apr 13, 2013
    Posts:
    805
    @hopeful
    I see. Unfortunately tweaking your stuff for a blinn-phong BRDF and then moving it into Jove won't give you the result you're looking for. Best would be if you could modify Unity to run on GGX, it shouldn't be that hard. Surprised I have not seen anyone do it yet.
     
  50. chiapet1021

    chiapet1021

    Joined:
    Jun 5, 2013
    Posts:
    605
    Says the genius Jove developer. :)
     
    Licarell and hopeful like this.