Sign in to follow this  

normal mapping question

This topic is 3630 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I am a little curious as to games running normal mapping. Specificly the performance. Normal mapping is becoming extremely common now with all the recent games, but I do not think I have seen a mmo with normal mapping. Are there any? I assumed due to the unpredictability of population within a vicinity made things like normal mapping quite difficult, and could cause big performance problems. But that is a quick conclusion I have came to. Can anyone shed some light on this for me?

Share this post


Link to post
Share on other sites
Hi,

Normal mapping could double the amount of texture memory required for 3d models, plus it takes a bit more gpu cycles when drawing. If used wisely, it shouldn't lower the performance too much.

As far as I know, certain mmo games use vertex animation to speed up rendering, adding normal mapping to that, some extra information is required per vertex thus increasing the memory requirements.

All in all, I don't see it totally impossible to have normal mapping in mmo games, but I think that the benefits (slightly better visual quality) of having them is not worth of the trouble (increased memory foot print + prolonged loading times). After all, providing the latest visual candy isn't always the point of mmo's.

Best regards!

Share this post


Link to post
Share on other sites
Quote:
Original post by GoDoG23
In addition you need a dynamic lightning model to use normal mapping. Tha increase the complexity.


Actually, normal mapping alone doesn't really increase the complexity of the lighting model. And using a dynamic lighting model isn't necessary either.

Normal mapping just moves the lighting calculations from the vertex shader to the pixel shader, ie. instead of using per vertex normals, you'll use per pixel normal. Otherwise, the lighting model can be the same. Of course, this does make each fragment heavier to calculate.

You can do per pixel lighting / dynamic lighting even without normal maps.

Cheers!

Share this post


Link to post
Share on other sites
"Normal mapping could double the amount of texture memory required for 3d models, plus it takes a bit more gpu cycles when drawing. If used wisely, it shouldn't lower the performance too much."
Correct.

"As far as I know, certain mmo games use vertex animation to speed up rendering, adding normal mapping to that, some extra information is required per vertex thus increasing the memory requirements."
Incorrect and incorrect. Skeletal animation is far faster and simpler than vertex animation. Furthermore, normal mapping doesn't require any additional data per vertex.

"All in all, I don't see it totally impossible to have normal mapping in mmo games, but I think that the benefits (slightly better visual quality) of having them is not worth of the trouble (increased memory foot print + prolonged loading times). After all, providing the latest visual candy isn't always the point of mmo's."
I would definately not say that is accurate.

The problem comes mostly from compatibility. As said, normal mapping at least doubles texture memory required. Consider that many integrated graphics cards (and some not) have barely over 100 MB of video memory now- WoW released more than 3 years ago. This is one of the major issues we are running into running our game on, say, an old laptop with integrated graphics card, half the textures are black because we run out of texture memory.

Any game that relies most on social interaction (MMO's), as of a few years ago, needed to worry about really crappy cards and shader support. Plenty of people were still using FFP with no shader support. Fortunately for graphics developers, Vista now requires a 2.0 compatible shader card, so that will become the new minimum.

Remember that WoW and many other games you are looking at came out a few years ago; think of the people that play these games and the hardware they need to be played on, and you can understand why the games need to cater to the lowest common denominator. If you look through a gaming magazine at upcoming MMO's, yes, there are many of them coming with normal mapping now, because the requirements for it are much more common now (simply look at Tabula Rasa or Hellgate and any MMO's coming down the pike).

Share this post


Link to post
Share on other sites
Quote:

Skeletal animation is far faster and simpler than vertex animation.


Well, you'll need to proof that. Considering all the matrix calculations involved, skinned meshes, your statement is incorrect. Also, when considering things such as facial expressions vertex animation is far more efficient and easier to implement.

Quote:

Furthermore, normal mapping doesn't require any additional data per vertex.


incorrect again, unless you use object space normal mapping. Otherwise you'll need to store tangent(+bitangent possibly) in the vertex.

Besides, I was answering Jaikkanen's question about why he hasn't seen normal mapping in the games he has played. Possibly because they are older and at that time common hardware wasn't able to handle it?
Cheers!

Ps. learn to use quotes. They make your messages clearer.

Share this post


Link to post
Share on other sites
>>Well, you'll need to proof that. Considering all the matrix calculations involved, skinned meshes, your statement is incorrect.

No, I don't think you understand game development pipelines or animation if you are going to tell me vertex animation (morph targets or vertex animation) is faster than skeletal. Vertex animation (Quake-style) is not used in any new games, for the past several years. The storage requirements are absolutely huge for the amount of animation required, it is a nightmare to manage from the pipeline perspective, and is completely inflexible. Morph targets/blendshapes are far more expensive than skeletal animation, as well as making things incredibly complex and useless. They require less storage than vert animation (not saying much) but still as much or more than skeletal animation and is not at all flexible. Any game nowadays, especially a customizable one, requires a skeleton to equip equipment to, and a variety of other things, such as swappable equipment (basically placing the same skinned object on a number of skeletons, or parenting a rigid accessory to a bone). Difficult, but in a practical sense impossible, for a mainstream game especially in the RPG genre, due to the mere number of assets and possibilities.

I don't have the foggiest clue where you got the idea vertex animation was used in the past few years in any mainstream game. Concerning performance, the skinning in skeletal animation is done on the GPU normally now, which is very fast (on the CPU, vertex animation wins out... but that doesn't take into account any of the numerous other factors why skeletal animation is superior). And implementation of it is very scalable and flexible from 1.1 to 3.0 models and now 4.0. I'd like to know where you have seen vertex animation used recently.

>>Also, when considering things such as facial expressions vertex animation is far more efficient and easier to implement.

That is, first of all, morph targets/blendshapes. That is not 'vertex animation' as is normally discussed. Second, the requirements for facial animation is far different from skeletal animation, not to mention that plenty of games use facial bone rigs. Why? Because they are easier, not more difficult, to implement. You can't get as complex animation, but they are much easier. I speak from experience from both the art and code perspective- where is your experience coming from? It is a common thing I hear from (no offense) people that have not worked in a professional game development studio... like people who use .x . I know Doom3 and games based on it use bone facial rigs, and it has been popular for a long time before morph targets were feasible.

>>incorrect again, unless you use object space normal mapping. Otherwise you'll need to store tangent(+bitangent possibly) in the vertex.
You're correct. My mistake. Still, that isn't a very significant increase (an extra vector to store in the model and pass into the vertex is not very significant).

>>Possibly because they are older and at that time common hardware wasn't able to handle it?
I will point you to the last three paragraphs of my last response.

Edit: I'm sorry if my post came off as harsh or aggressive, but people without experience giving false information, or people who have obsolete experience giving false information, really get under my skin. I'd prefer if the former learned more and the latter taught less.

Share this post


Link to post
Share on other sites

This topic is 3630 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this