PDA

View Full Version : genre of shaders/mappings


horseshoe
07-15-2005, 04:15 PM
I know that there are many shaders/mappings (so far I know of HRDI and specular; don't know if the former is a shader, sorry for my ignorance), and I've tried to find some infos about shaders/mappings in the forum, but failed to find any, probably 'cause I don't know how many shaders can be used for games (infacts, I put as keywords "shaders" and "mapping", generically).

Going shorten (so I may finetune the research, even outside the forum), how many there are outta here? What is their purpose, and what are the generic guidelines/methods to implement 'em, independently from the engine which supports 'em (I guess that today almost all engines support them; or not?)?

Getting into specific: if I build a character which should have

1) reflective and glowing parts on some areas of the body, and reflections on the hair
2) "realistic" skin (I mean, the translucent effect on the "natural" skin)
3) "realistic" eyes and lips

what shaders/mappings should I use, and how to?

EricChadwick
07-15-2005, 10:21 PM
Hi horseshoe!

Shaders, simply put, handle the way effects are rendered onto a surface. In a game, the less shader elements you use, generally the better it runs framerate-wise (gross generalization!). So you learn to pick and choose wisely which effects will work best in a given situation.

BTW, good article about considerations when creating game assets:
http://www.ericchadwick.com/examples/provost/byf1.html

Usually game developers have dedicated artists/programmers who write all the shaders ahead of time, and the artists pick from that list to create each surface, whether a character or a pool of water or a gun or whatever. The artists can tweak settings in a shader, but usually cannot add/remove elements. Shaders are usually written to run fast on certain classes of graphics hardware, so you need to be savvy about how that works if you want to actually write new shaders.

Typically game shaders use these kinds of elements:
Color map
Specular color map
Opacity map
Bump map
Reflection map
etc.
Though there are many possible elements to use within a shader.

The list of shaders supported in Unreal Engine 2
http://udn.epicgames.com/Two/MaterialsShaders#Shaders

A nice overview of how to implement special-effects shaders in Quake III.
http://www.planetquake.com/polycount/cottages/qbranch/tutorials/shaders-1.shtml
More details here...
http://www.heppler.com/shader/

Many tools out there for creating shaders...
ATI's Rendermonkey
http://www.ati.com/developer/rendermonkey/index.html
Nvidia's FX Composer
http://developer.nvidia.com/object/fx_composer_home.html
But a good way to get started is to start editing content in an engine like Unreal Tournament 2004, since they make it real easy.

Ben Cloward shares some wonderful shaders on his site, and gives a nice rundown of the components within each one.
http://www.monitorstudios.com/bcloward/resources_shaders.html

I hope this helps you get started!

(P.S. I'm going to be gone for a week or so, so I may not be able to respond for awhile.)

horseshoe
07-16-2005, 07:57 AM
Hi Eric,

as usual, you are a motherlode of informations for me. Right now I'm checking out some of the data you provided; keep you posted. Thanks.

horseshoe
07-24-2005, 02:39 PM
Hello Eric.

So far I've tried to implement the pipeline as described in the tutes that you suggested, but I'm facing some issues.

(I'm using the LW nm plugin)

Pratically, if I try to normal map a half a face (wich will be mirrored), the mapping comes sloppy. Perhaps the face must be forcibly a entire one?

Second: in the mappings types' tute, I've seen that the bumping is done via scripting inside the game code, and this is the same also for the remainder "shaders"; this means that I cannot view the bumping in real time, outside the game engine?

EricChadwick
07-28-2005, 02:06 PM
Normal mapping half the face: A good way to do this is to UV half the face, then mirror the geometry itself (which also mirrors the UVs), then select the mirrored side of the face and offset its UVs by 1 on the U axis... this hides it from the normal-map-baking process, but still allows the game to use the same texture space for both sides of the face.

Bumping is done via scripting inside the game code: Yes, you probably need to examine your model in-game to see the proper effect. If you don't have a game engine to play with, try Doom III, it works pretty well as a previewer...
http://boards.polycount.net/showflat.php?Cat=0&Number=54059&an=0&page=0

CGTalk Moderation
07-28-2005, 02:06 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.