Your comments

According to the error message I see in the console, it looks like that tree is missing a material that my script is expecting. Could you click on that error message and post a screenshot of the full error message for me?

Here's a link to download a zip file containing all the updated deferred shaders, and the draw calls should be fixed: https://drive.google.com/file/d/0B4P0TMlg5whueWxacndwc3NHNkE/view?usp=sharing


I will be submitting version 0.76 to the Asset Store which will contain this fix.


If you see any further problems relating to this issue, please let me know.

Yea, normally you don't directly edit the trees and you're supposed to use the manager for everything, but in the case of blend probes it is perfectly safe to search the hierarchy for LOD_0 or LOD_1, select them all, and modify the blend probe setting. It won't mess anything up to edit the blend probes.

Looks fine to me :)


I'll get to work updating the rest of the deferred shaders then...

Alright I may have a fix that might work... I updated just the billboard shader that's used on the lowest quality setting (like when you click the "highest performance" button). Here's the updated shader: https://drive.google.com/file/d/0B4P0TMlg5whuNFphTEFRN0I2bVU/view?usp=sharing


If you can, please create a backup of your LushLOD Trees/Internal Files/Shaders folder, in case you need to undo the changes we're about to make.


And then before you copy the updated shader into your project, run the demo first... and set the camera to deferred, and the manager to deferred, and click the highest performance button, and get a good view of the trees, and take a screenshot so you know exactly what they looked like.


Then, without moving the camera at all, with the game still running, copy the shader from the above link into the LushLOD Trees/Internal Files/Shaders/Resources folder. And go back to the game, and click the Game tab to be sure Unity has focus, and it should instantly update to use the new shader (no need to restart the game). You should see absolutely nothing change in appearance or color of the trees, except the draw calls should drop back down to normal instead of being 1000+. And then take another screenshot.


Main thing to look for in terms of differences between the two screenshots is any change in the color of the trees. In the updated shader, I had to completely rework the lighting method in the shader but I think I got it looking identical to the way it looked before, so you should see no difference except the draw calls dropping.


If it looks and works great for you, then I'll go ahead and update the rest of the deferred shaders (for each of the quality settings), but I'll wait to hear from you before I go and do all of that.

On my low end laptop I saw it drop from 21 FPS to 13 FPS when I switch to deferred manager, deferred camera and the setpass calls jump up over 7k... so seems to be a real issue and not just the profiler. I'm checking some things to see if I can isolate the cause. Thanks for reporting this by the way. :)

I was able to reproduce it on my end, I see the high draw calls now. Lemme see if I can figure out why. EDIT: and it does reduce my frame rates when the draw calls are high like that, so it's not just a glitch in the profiler. So disregard my previous comment about frame rates not being affected.

Oops nevermind, I'm dumb, I had forgotten to click "Apply" after changing the manager to deferred. That fixed the trees looking like rubbish. Of course, I still see the setpass calls being low even if deferred. One thing though, I'm using a very low end laptop and my frame rate is exact 18 frames with every billboard in the demo scene visible on my screen, and that's for deferred. And for forward, it's 18-19 frames per second, almost identical. So I can't imagine it's got a difference of 1000+ draw calls, if the frame rate is coming up almost exactly the same. Are you able to see your exact frames per second? Or is it stuck at exactly 60 frames per second... I know some users have told me the demo won't go over 60 frames per second and I haven't figured out how to tell Unity to remove the frame rate limit.

Ah, I didn't know that about the setpass being a forward thing. Well you could run a test and see if you set the camera to deferred, but leave the manager in forward. That will cause the trees to continue to use the forward shaders, and basically the trees won't do anything different at all.... and see if the draw calls still go up. 


Also you could try setting the manager to deferred, but leave the camera in forward... which would make the trees switch to my custom deferred shaders (even though the camera is rendering in forward)... and see if the draw calls go up in that case. 


Either of those things will result in the trees probably not rendering or transitioning correctly, so I don't recommend you actually keep it that way, but just as a test to see what happens with the draw calls. If you set camera to deferred, and manager to forward, and the draw calls go up high... then there is a high probability that the issue is something on Unity's end, because my trees in that case would be using the same settings and same forward shaders... only thing different in that case would be the camera being set to deferred, which is something on Unity's end.


But if you set the manager to deferred, and camera to forward, and the draw calls are high then definitely the issue is entirely something wrong with my deferred shaders (my fault).


This of course is assuming that when my trees are set to forward, and the camera is also set to forward, that the draw calls are much lower.


Anyway, I do see some horrible rendering problems in the trees in Unity 2017, I'm surprised they look as good as they do on your computer because they look like rubbish on mine, so I'm also looking into that now.