ROAM datastructure
I''m trying to implement frame-coherent ROAM. In the original paper (paragraph 5.2 Merge Queue) there is the sentence "Remove from Qm any diamonds whose children were split". It seems to me that this means you need a pointer in the triangle bintree datastructure to its parent, because when you split a triangle you must check if its parent is in the merge queue. So my question is: do you need a parent pointer in the triangle bintree structure or is there another way to find the diamonds whose children were split?
typedef struct tri {
struct tri *left;
struct tri *right;
struct tri *base;
struct tri *parent;
int level;
} TRI;
Something like that maybe. It's been a while since I messed around with ROAM and the ROAM paper.
Edited by - bishop_pass on November 1, 2000 9:53:27 AM
struct tri *left;
struct tri *right;
struct tri *base;
struct tri *parent;
int level;
} TRI;
Something like that maybe. It's been a while since I messed around with ROAM and the ROAM paper.
Edited by - bishop_pass on November 1, 2000 9:53:27 AM
So you are saying that a parent pointer is necessary in frame-coherent ROAM? In split only ROAM is seems unnecessary to me.
qed,
From my experience frame-coherent ROAM needs a parent pointer.
You need to be able to incrementally cut back on tris (merge) so the pointer is necessary to get to a parent.
Kallen
From my experience frame-coherent ROAM needs a parent pointer.
You need to be able to incrementally cut back on tris (merge) so the pointer is necessary to get to a parent.
Kallen
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement