Edit: ignore this. I realized that there are much better ways to try to reverse WoW's polygon cache, such as the TraceLine function, which by definition has to find various terrain intersections. Reversing it through a non-static like the movement fields is not a good choice.
Edit2: looks like TraceLine is using D37E24 as a tri cache, but this can't be a global terrain cache because at one point we call qsort on it (sorting by distance from the intersect point, I'm thinking). The loop at 006C46E0->006C4924 is definitely scaling through this list 0xC bytes (three floats, one tri) at a time. There's no way we could be re-sorting the ENTIRE terrain cache for every TraceLine, is there? I wish I could get WoW live so I could look at the contents of D37E24 and how we source this information.
Yeah, D37E20 is the count. Only thing I'm not sure of is who sets these, since IDA shows no meaningful xrefs to D37E20 or D37E24, and no writes at all (which makes no sense, since qsort would trap on null; so this has to be an IDA failure.)
Edit3: looks like the actual structure is at D37E1C, as we use it as a "this" pointer in at least one place. I think that there's maybe a linked list of tri lists? afterwards. I'm guessing that this is maybe the current map tile?