Home » Community » Forums » » Texture Splatting in Direct3D
  Intel sponsors gamedev.net search:   
[Control Panel] [Register] [Bookmarks] [Who's Online] [Active Topics] [Stats] [FAQ] [Search]

Add Forum to Favorites |  Send Topic To a Friend | View Forum FAQ | Track this topic


 Last Thread Next Thread 
 Texture Splatting in Direct3D
Post Reply 
Source code link not working.

Lizard

 User Rating: 1071   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

I was looking forward to a good article, but sadly disappointed. IMHO the Bloom article is excellent. In fact I implemented the technique beautifully into our engine from Bloom's article. This new article does not really add to, or simplify Bloom's original article in any way as it seems to me.

In fact, the sample application is very poor, I thought. All it does is render a single quad using a few different textures and pre-generated alphamaps. This is not "splatting". The idea of splatting is that the alphamaps are created on the fly (at run-time) based on a textures influnce at any point on the terrain. Any monkey can create some alphamaps in photoshop and render textures on a quad using them.

Glasser even goes on to mention a flaw in the system (i.e. seems) that he has not found an elegant solution for. This makes me wonder if he has even read Bloom's article? Bloom solves this problem quite well by creating alphamaps not just based on the current chunk, but also the eight surrounding chunks. This ensure that the alphamaps matches at the edges, eliminating the seems.

If anyone is serious about implementing texture splatting, just stick with Bloom's article. You can't go wrong.

 User Rating: 230   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

I enjoyed the article. As the artist on my team, it helped me figure out what the coders are talking about when they say "chunks" and "splats".

 User Rating: 1015    Report this Post to a Moderator | Link

Quote:
Original post by sandy
I was looking forward to a good article, but sadly disappointed. IMHO the Bloom article is excellent. In fact I implemented the technique beautifully into our engine from Bloom's article. This new article does not really add to, or simplify Bloom's original article in any way as it seems to me.

In fact, the sample application is very poor, I thought. All it does is render a single quad using a few different textures and pre-generated alphamaps. This is not "splatting". The idea of splatting is that the alphamaps are created on the fly (at run-time) based on a textures influnce at any point on the terrain. Any monkey can create some alphamaps in photoshop and render textures on a quad using them.

Glasser even goes on to mention a flaw in the system (i.e. seems) that he has not found an elegant solution for. This makes me wonder if he has even read Bloom's article? Bloom solves this problem quite well by creating alphamaps not just based on the current chunk, but also the eight surrounding chunks. This ensure that the alphamaps matches at the edges, eliminating the seems.

If anyone is serious about implementing texture splatting, just stick with Bloom's article. You can't go wrong.

You can generate the alphamaps on the fly, but there is also no reason you can't precompute them. I find the second option more flexible, so that's why I chose to use it. The core of splatting is with the blending. I really wanted to keep the demo simple. While I could have done something more elaborate, it would have only been bloat in the code. In hindsight I probably shouldn't have called the technique the true texture splatting, but the end effect is very similar.

About the seams... There is a solution to it. You can use a 34x34 texture and have the borders be shared, or you can stick with 32x32 and have a 30x30 usable area. Again, I didn't want to make things too complicated, and the solution is less than ideal. I've gone through Bloom's method, and while the seams aren't as apparent, they are still there for the same reason. It doesn't end up being a huge problem once you get ground cover in things on. As a bit of a comparison, I noticed WoW doesn't even deal with them.

Sorry you didn't find it helpful.

 User Rating: 1186   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

In your example with the Fixed function pipleline you set the alpha value at stage 0, based on a texture and then do your terrain textures in the next stages. If your alpha texture is going to be used for 4 different terrain textures as you talked about in the article how would you specify which component of the alpha texture to use (r,g,b,a). For example I want to use the r component for my dirt texture, the g component for grass, b for snow and so on.

 User Rating: 1044   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

anyone got any sample on how to implement this in a terrain?

 User Rating: 1004   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

[quote]
dxdotnet1 Member since: 10/30/2004 From: Korea
Posted - 9/18/2005 11:10:56 PM
anyone got any sample on how to implement this in a terrain?



NO

 User Rating: 1015    Report this Post to a Moderator | Link

Good tutorial, helped to simplfy (and with shiny pictures). The sample works for me, it runs more then twice as fast with the pixel shader as using the FFP.

[Edited by - Aiursrage2k on November 6, 2005 3:35:38 PM]

 User Rating: 1147   |  Rate This User  Send Private MessageView ProfileView Journal Report this Post to a Moderator | Link

Im sorry if Im interrupting this thread with a somewhat stupid question.

I've been looking for a good tutorial on making bloom effects w/DX in C++, but the only one I can find is just a source code example in C#, and I just can't get it.

And I think that article by 'bloom' may be of some good use, since I just need an article, regardless of the language (for context purposes).

 User Rating: 1015    Report this Post to a Moderator | Link

All times are ET (US)

Post Reply
 Last Thread Next Thread 
Forum Rules:
You may not post new threads
You may post replies
You may not edit your posts
You may not use HTML in your posts
Jump To:
Administrative Options: