Pixel Shaders? Can Blitz do them? Should it?

Community Forums/Developer Stations/Pixel Shaders? Can Blitz do them? Should it?

WarpZone(Posted 2004) [#1]
Pixel shaders are something I was exposed to while modding the Serious Sam engine recreationally, and I understand Quake or UT or some other game that's not Half-Life also uses them.

Basically, you create a special greyscale texture for your model, and then any areas that are exactly the same shade of grey get rendered with exactly the same lighting values. The practical use of this is that if you do it right, models don't show seams where two faces meet, regardless of whether or not they're welded, part of the same smoothing group, etc.

Does Blitz support this natively? I'm sure it would be possible to create a routine to do it (Blitz can do ANYTHING if you teach it to!) but it might be more trouble than it's worth.

Also, since Normal Mapping calculates such detailed per-pixel lighting anyway, would that just make the seams go away without using Pixel Shaders?


Rob(Posted 2004) [#2]
All the games you mention do not have pixel shaders.


Gabriel(Posted 2004) [#3]
You're not even describing pixel shaders. Vertex normals are what prevents two faces having a seam between them and of course Blitz supports them. Normal mapping is also not required, though it is possible with Blitz, setting the smoothing groups or vertex normals within your modelling program and then exporting to b3d will ensure that there are no seams where there should not be ( and conversely that there are seams where you want seams. )


Isaac P(Posted 2004) [#4]
I think what you are thinking of are texture shaders that are available in quake3 and UT, and this indeed are possible if you look in the forums i beleive Halo posted examples of how to do them not too long ago


Michael Reitzenstein(Posted 2004) [#5]
Actually I think he is talking about a special render mode implemented with pixel shaders.


WarpZone(Posted 2004) [#6]
Guys, seriously... I have no IDEA what I am talking about!

Sybixsus, the whole point of the effect I am thinking of (we'll call it texture shaders, for now... I think Marc might be right about the name...) is that you apply it to a model to get rid of seams that, for whatever reason (usually having to do with a model's format, or texture application issues) you CAN'T really eliminate using smoothing groups. So you apply this effect to make it LOOK like there are no seems, even though there are, technically.

I think Marc is the closest to what I was talking about. I'll take a look at Halo's examples. But if normal-mapping will eliminate seems without regard to smoothing groups, I'll probably just do it that way, since I want to use normal mapping in all my games anyway.


Gabriel(Posted 2004) [#7]
There's no such thing as a seam you can't eliminate, so I guess you mean you want some kind of smoothing effect to interpolate between vertices on a low poly model. In that case, I suppose a normal map ( which can but need not be applied with shaders ) is probably what you want.


Rob(Posted 2004) [#8]
Sybixsus... you have "shaders" in your bowling game :>


Gabriel(Posted 2004) [#9]
This is true. They're pixel shaders too.


Michael Reitzenstein(Posted 2004) [#10]
You use WritePixelFast to do after rendering effects!?


Gabriel(Posted 2004) [#11]
No. :)


jhocking(Posted 2004) [#12]
If you use the b3d file format there is no issue with smoothing. Vertex normals/smoothing groups are supported by b3d file format, and you don't have to worry about seams due to UV coordinates.