From: Keith W. <ke...@va...> - 2001-01-30 02:25:57
|
Andrew Richardson wrote: > > On Tuesday 30 January 2001 02:53, you wrote: > > Andrew Richardson wrote: > > > Dear all, > > > > > > Im hacking around inside MESA and was wondering firstly what the > > > relation ship between the VB and IM is. VB gets filled then emptied when > > > full and is an array, IM is one shot? Also VB->Start gives a handle on > > > which verticies are transformed, from ONE end of a loop. Which variable > > > is then at the other end of the loop. for(int i=VB->Start;i< ??what?? > > > ;i++){} : even implicitly this is what seems to be happening, right? > > > > It sounds like you are looking at 3.4? > > > > An IM is a struct filled only via calls like 'glVertex', and consists of a > > bunch of fixed size arrays. These are filled in such a way that no > > information is lost from the original calls, so that the IM structs can be > > stored in displaylists and replayed later. They are also filled in a very > > efficient manner, so that they can be used as intermediate storage in > > normal execution of begin/end objects. > > > > A VB is the intermediate storage and state during the transformation of > > vertices. This data can come from either IM structs (normal execution and > > the replay of display lists) or from vertex arrays. > > > > So EVERYTHING passes through VB at one time or another? Yes, but bear in mind that 3.4 has 2 vb's, one specially for CVA transformation. In 3.5, there is only one that does everything. Keith |