Speedtree support.

Development feedback for early adopters.
Post Reply
Vincenzo
Posts: 8
Joined: Thu May 19, 2016 12:27 pm

Speedtree support.

Post by Vincenzo »

Hey awesome guys at Amplify.

For the last years our project has been using Amplify Textures, with great success. and were getting closer to release.
(How else can we have 16 GB of textures in our game... :) )

Since I remember I've been converting some shaders into amplified versions, and every time i upgrade the version of amplify or Unity, I have to 3 way merge it together again.

The main shader I am missing as amplified is the Speedtree shader.

With some simple hooks into the unity shader source I am able to create an amplified version of it. and I've been doing this for a while now.

I wonder, can you guys not just supply the amplified version of the speedtree shader with every amplify/unity release?
That would sure save me lots of time.

There is some other thing that I cannot get working through about speedtree amplified, this is the speedtree billboard shader, whenever I apply the usual hooks, The billboard texture rendered is of extreme low MIP level, and nothing with my limited shader knowledge managed to fix that. maybe you guys can look into it? I think it's simply the amplify not requesting the right MIP level somehow... THe rest of the billboard shader seems to work correct, it is changing the texture part rendered correctly around..

Thanks!

Maxim.
User avatar
Ricardo Teixeira
Posts: 954
Joined: Fri Aug 09, 2013 2:26 pm

Re: Speedtree support.

Post by Ricardo Teixeira »

Vincenzo wrote:Hey awesome guys at Amplify.

For the last years our project has been using Amplify Textures, with great success. and were getting closer to release.
(How else can we have 16 GB of textures in our game... :) )

Since I remember I've been converting some shaders into amplified versions, and every time i upgrade the version of amplify or Unity, I have to 3 way merge it together again.

The main shader I am missing as amplified is the Speedtree shader.

With some simple hooks into the unity shader source I am able to create an amplified version of it. and I've been doing this for a while now.

I wonder, can you guys not just supply the amplified version of the speedtree shader with every amplify/unity release?
That would sure save me lots of time.

There is some other thing that I cannot get working through about speedtree amplified, this is the speedtree billboard shader, whenever I apply the usual hooks, The billboard texture rendered is of extreme low MIP level, and nothing with my limited shader knowledge managed to fix that. maybe you guys can look into it? I think it's simply the amplify not requesting the right MIP level somehow... THe rest of the billboard shader seems to work correct, it is changing the texture part rendered correctly around..

Thanks!

Maxim.

Hello Maxim,

Great to hear from you, thank you for your continuous support.

It is possible to support Speedtree shaders, at least for materials that are Opaque or Transparent Cutout. The reason we haven't done it yet, is because texture virtualization relies on additional code that adds a bit of complexity to shaders. This is usually not a problem for opaque surfaces that have low overdraw. Vegetation, on the other hand, can have quite a bit of overdraw during pre-pass or g-buffer rendering. Any slight increase in shader complexity will have a much stronger negative effect.

Unless you're planning to only virtualize the tree trunks, we don't really recommend using AT2 for trees or grass.

We're currently unable to provide a Speedtree compatible shader, supporting 3rd-party shader has proven to be quite problematic in the past; for easy shader development we recommend using our own editor, the Amplify Shader Editor. (Speedtree support will be available soon, it should be possible to simply plug AT2 nodes)

Apologies for the inconvenience.
Sales & Customer Relations at Amplify Creations
Learn more about our offering: Amplify Creations Products
Amplify Shader Editor won the Asset Store Best Tool Award - Thank you for your support!
Vincenzo
Posts: 8
Joined: Thu May 19, 2016 12:27 pm

Re: Speedtree support.

Post by Vincenzo »

Yes, we use it exactly like that, cut out shader and opaque.

I have not profiled performance difference with/without amplified versions of speedtrees.
That is a good point, did you profile it before and what was the performance inpact?

Since were handling graphics cards with limited memory and our grass, skybox, and terrain is not amplified we have quite a limited budget of memory, so having all our speedtree plants and trees also in constant texture memory that is quite problematic.. it's the reason we went with AT. It is absolutely needed for our game..

I see you cannot supply amplified versions of speedtree, but you say that speedtree is not an external shader or plugin, its not.. its just native unity build in shaders right? :)
User avatar
Ricardo Teixeira
Posts: 954
Joined: Fri Aug 09, 2013 2:26 pm

Re: Speedtree support.

Post by Ricardo Teixeira »

Vincenzo wrote:Yes, we use it exactly like that, cut out shader and opaque.

I have not profiled performance difference with/without amplified versions of speedtrees.
That is a good point, did you profile it before and what was the performance inpact?

Since were handling graphics cards with limited memory and our grass, skybox, and terrain is not amplified we have quite a limited budget of memory, so having all our speedtree plants and trees also in constant texture memory that is quite problematic.. it's the reason we went with AT. It is absolutely needed for our game..

I see you cannot supply amplified versions of speedtree, but you say that speedtree is not an external shader or plugin, its not.. its just native unity build in shaders right? :)
We profiled it a couple of years back for one of our users, the idea was abandoned soon after we saw the performance hit - the same is true for other vegetation shaders.

How much exactly are you spending on vegetation? We would love to see an example.

We consider SpeedTree, like Substance Support, to be a third-party integration that requires custom development.

Apologies for the inconvenience.
Sales & Customer Relations at Amplify Creations
Learn more about our offering: Amplify Creations Products
Amplify Shader Editor won the Asset Store Best Tool Award - Thank you for your support!
Vincenzo
Posts: 8
Joined: Thu May 19, 2016 12:27 pm

Re: Speedtree support.

Post by Vincenzo »

Alright no problem, I will keep converting the shader myself.

Cheers!
User avatar
Ricardo Teixeira
Posts: 954
Joined: Fri Aug 09, 2013 2:26 pm

Re: Speedtree support.

Post by Ricardo Teixeira »

Vincenzo wrote:Alright no problem, I will keep converting the shader myself.

Cheers!
I don't recommend it, there's a strong chance it might affect your performance. Do take into account the pre-pass that determines which textures to stream, it adds to your overall draw call count.

Thanks!
Sales & Customer Relations at Amplify Creations
Learn more about our offering: Amplify Creations Products
Amplify Shader Editor won the Asset Store Best Tool Award - Thank you for your support!
Post Reply