SpeedTree Interview: Admiring the Forest for the Virtual Trees

IDV's Kevin Meredith talks about SpeedTree's existence in the midst of upcoming trends.

Not many know it but all that beautiful foliage generated in The Witcher 3: Wild Hunt, Batman: Arkham Knight, Destiny, Far Cry Primal, H1Z1 and countless other titles all have something in common – they were all created using Interactive Data Visualization’s SpeedTree. The software has been so adept at creating virtual vegetation that’s even been used in films like Birdman, Life of Pi and Iron Man 3. What does the future hold for SpeedTree especially with so many different technologies on the horizon? GamingBolt spoke to Kevin Meredith, director of business development at IDV, about the same.

"There are a lot of ways that SpeedTree gains awareness in the marketplace, we have found, but definitely the most significant is appearing in great games like The Witcher 3."

What can you tell us about the recent launch of SpeedTree on Unity and the Unreal Engine 4 free/subscription product?

Our monthly subscription products have been very popular and seem to have met a need in a way our earlier, more expensive products couldn’t. We can finally give SpeedTree to indies, hobbyists, students and teachers, something we’ve wanted to do for a long time.

How does it feel to win a Scientific and Technical Academy Award and an Engineering Emmy? How important do you think that achievement is?

2015 was an amazing year for us, and that recognition was a huge part of it. Particularly important is that we were chosen for those awards by our peers – other professionals in the animation and entertainment industries – who took a hard look at our underlying technology and interface, not just at the number of games and movies we’ve been featured in.

What are your thoughts on photogrammetry and its usage in Star Wars Battlefront? How could such a system integrate with SpeedTree for better looking foliage and an overall better look to games?

The version 7 SpeedTree Modeler can import photogrammetry meshes and, with some tweaking and hand-modeling, incorporate those meshes into full tree or plant models. And SpeedTree’s ability to more efficiently work with that kind of mesh is a current development focus.

Last time we spoke about the advances made from Witcher to Witcher 2 in terms of the foliage quality and how it impacted gameplay. With SpeedTree having been used in Witcher 3, could you enlighten us on some of the evolutions seen to the foliage that further distinguish it from its predecessor (aside from looking more detailed)?

CD Projekt would be the best source for insight here, but we can say we were really impressed with the quantity and quality of vegetation in the game. And they did the wind beautifully too. With games like Witcher 3 having achieved a high level of success and lauded for their use of foliage, has SpeedTree been given a larger exposure than before?

There are a lot of ways that SpeedTree gains awareness in the marketplace, we have found, but definitely the most significant is appearing in great games like The Witcher 3. It should be noted though that SpeedTree’s job is to be both ubiquitous and invisible. As in the real world, you should just take our trees for granted and not think about where they came from. So most players have never heard of SpeedTree. In fact, one of the most common interactions with experienced game players at trade shows is: “You’re SpeedTree? What’s that?” followed by “So, is anyone using you?”

"The SpeedTree SDK is a team player. That is, it is designed to work with any rendering system or platform, and to deliver consistent results on all of them."

What new features has SpeedTree incorporated in the past few months and what are your current plans for the technology?

We are well into version 7 for games, having launched it in early 2015 (and in late 2013 for movies/animation), so we haven’t introduced any major features recently. We’re of course always working on cool new things, though, so stay tuned. We might have an announcement in 2016 or ’17.

Which game do you think will be the next big thing when it comes to showing off foliage and the use of SpeedTree in video games?

We’re really looking forward to seeing the great games that will feature SpeedTree in 2016. But we’d hesitate to pick just one.

Several years ago, we talked about the potential of SpeedTree with regards to cloud computing. With the reveal of Crackdown 3 last year, do you believe there will be a use for SpeedTree when it comes to streaming large swathes of foliage over the cloud in the coming years?

Yes, the cloud should enable computationally-intensive features like tree destruction and other physics effects, which can impact both aesthetics and gameplay. We’d like to think SpeedTree offers a lot of options for customers who cloud-stream their games.

What are your thoughts on DX12 usage with SpeedTree? What kind of benefits it could possibly bring to the foliage system?

The SpeedTree SDK is a team player. That is, it is designed to work with any rendering system or platform, and to deliver consistent results on all of them. Because of this, we can’t always take advantage of certain advanced features a particular renderer allows. However, that doesn’t preclude someone from using those things if their game only targets a particular rendering system. For instance, in SpeedTree v7 we introduced subdivision surfaces.

These sub-d cages can easily be taken through hardware tessellation, if your game supports it. We’re always on the lookout for these new features, though, because many of them will eventually become standard. For a long time we couldn’t depend on hardware instancing being available, for example, but the SpeedTree SDK now uses it heavily to render extremely large forests.

"In general, every improvement to hardware over the last 15 years has meant better vegetation in three key areas: more trees and plants, more detailed trees and plants, and improved wind effects."

What are your thoughts on SpeedTree with regards to its usage in VR?

We’ve always tried to remain hardware agnostic, to just make good tree modeling/rendering software and then let our customers put them wherever they need to. So we really look forward to seeing how SpeedTree gets used in VR.

What kind of optimizations have you done to the middleware in the last few months? How are you reducing memory overhead?

The last major version we released, SpeedTree for Games version 7 in early 2015, included a number of optimizations we discovered while working with one of our customers on a major game a few years ago.  The render loop as a whole has been improved with the addition of a sorting step for draw calls. Shader constant and instance streaming have been dramatically improved. We also worked to bring OpenGL performance up to par with DirectX. Basically, we are always working on the SDK to make it faster, which eventually results in forests that are bigger and more detailed.

What are your thoughts on console hardware like the PS4 and Xbox One two years after their initial launch?

We’ve been very proud to be part of both consoles from day one, and to be in close to a dozen next-gen games at launch or soon after. More great SpeedTree games are on the way. And see the next answer for some technical comments on consoles.

"We’ve never tried to lock in any developer to exclusive SpeedTree use, and are glad to be here when they turn to us, or to admire and learn from their vegetation when they go in-house or choose another solution."

Consoles seem to be unlocking more of their potential for developers to use, like the additional cores that can now be accessed on the Xbox One and PS4. How does this affect the utility of software like SpeedTree, especially when it comes to incorporating more effects?

In general, every improvement to hardware over the last 15 years has meant better vegetation in three key areas: more trees and plants, more detailed trees and plants, and improved wind effects. Not only that, but doing these things has become easier because console hardware is getting more and more like a regular computer with each generation. Bottom line, technical strides on the consoles mean vegetation that’s increasingly more like what you find in the real world.

While there continues to be a debate on 1080p resolution vs. 60 FPS in video games, some games like Need for Speed and Star Wars Battlefront are taking a different route, focusing on alpha effects, image quality and post-processing. What are your thoughts on this and how do you see SpeedTree fitting into this alternate graphics scenario?

We’ve always tried to develop SpeedTree so it works great in any game, whether it’s a twitchy first person shooter or the latest Sims game. Artists can design trees in the SpeedTree Modeler for the particular look-and-feel they’re after, and tweaking the rendering code in the SDK is something we encourage.

Bethesda have traditionally used SpeedTree for their games but with Fallout 4 they dropped it and went for a custom solution instead. Can you provide any specifics why they dropped SpeedTree for Fallout 4?

We’ve never tried to lock in any developer to exclusive SpeedTree use, and are glad to be here when they turn to us, or to admire and learn from their vegetation when they go in-house or choose another solution. Bethesda is an outstanding developer we’ve been proud to be involved with in the past, and we’ve been very impressed with their Fallout 4 environments.

Interactive Data VisualizationSpeedTreeThe Witcher 3: Wild Hunt