We know put all the vertices together and call drawXXX() can draw all the triangles.
But if each triangles have different ,what should i do?DX9 doesn't has texture array.
And if we use pixel shader ,i know use pixel shader can sample texture.But pixel shader 2.0 only has 16 sampler.
I think it is use for multiple texture.But how to pass texture into pixel shader?Could anybody give me a example or a idea?
For P.S. 2 we're pretty much screwed.
Running out of resources is really easy (especially instruction count) and with no real branching the only thing we can do is to sample all textures... which is still not going to work on some old PS2 hardware.
My advice, from experience: give up. At least PS2_a or better, PS3.
In particular, PS3 hardware has a nice set of orthogonal features, especially in terms of HDR rendering.
I suggest to give up. Yes, that's it. That's a performance optimization not worth pursuing. Unless you have real data obtained by profiling tools.