I have been thinking about this for a while now...
In a "current gen" game(engine). Would it increase or lower the overall performance if one were to use this technique (see image below)
to lower the polycount on objects that otherwise would have alot of "unnessesary" triangles on flat areas(cylindrical shaps for example)
![Xgz9k.jpg](http://i.imgur.com/Xgz9k.jpg)
![qdXUS.jpg](http://i.imgur.com/qdXUS.jpg)
-will it even look right in a scene that uses dynamic lightning?
-will mipmapping become a big issue?
-Is it "just not worth it" if there only is a couple of objects using this this technique versus lets say 100?
( I
did get a better
fps with the alpha cylinder in a quick test with 12 non-alpha VS alpha cylinders, inside Blender Ge)
-To decrease the risk of getting jagged corners. Is it worth having a large(1024>) alphamap shared among various objects (so that each object has two different UV-maps) with "basics" shapes like this?
![YGuwG.jpg](http://i.imgur.com/YGuwG.jpg)
This is some of the questions that have been floating around my head for a while now.
If someone has a good answer regarding this feel free to fill me in :poly121:
Replies
Where transparency may work out better is if this stuff appears really far in the distance, at which point it takes up so few pixels that the verts become more expensive. (But arguably a bigger bonus would be that you get "free" antialiasing because of the mips.)
Less draw calls, less overdraw, less textures, less transparency testing. Geometry is cheap
But unless you are making Wheel Wars in Cylindertopia these are going to only ever be a fraction of your scene. The tri count saving is so small that the extra texture space you would take up and the faffing around matching the circle radiuses make the no alpha version way better
It's an extra shader instruction, and it does mean you're filling extra pixels that you wouldn't otherwise need to shade. But you don't need to alpha sort them and you don't need an extra draw call (unless you're saying you'd use two different passes for the two parts of the cylinder, but you wouldn't because of the extra draw call.)
I imagine it'd be an extra draw call because it'd be a new shader and/or a different texture.
and if the OP is worried about the performance difference between the 2, well wtf.
Doing so though however requires a separate batch to be sent up, thus a separate draw call as you say.
Also, I don't know if UDK would be intelligent enough to notice that two materials are identical save for one flag being different, might do the relatively expensive shader switch regardless. Or if there's another way to switch the alpha test state.
Also, a batch with just a plane in it, is not terribly efficient.