On 1 Dec 2008, at 15:59, Erik Buck wrote:
I use Core Data to store large amounts of 3D vector data. I solved
your problem in the following way:
I have a "Vector3D" entity that you can think of as an "end point"
in your model. My Vector3D entity has x,y,z attributes.
I have a "Vector3DReference" entity.
Vector3D has a "to many" relationship to Vector3DReference which has
a "to one" relationship to Vector3D. I can ask any Vector3D for all
of its references, and I can as a reference for its Vector3D.
Vector3DReference is abstract. I have derived Vector3DReference for
all of the cases where I have other entities with relationships to
Vector3DReference. For example, I have a Billboard entity that has
a "to one" relationship to BillboardAnchorVector3DReference which
has a reciprocal "to one" relationship back to Billboard.
It is common in 3D systems to have a large collection or database of
points/vectors and then reference the points/vectors for index or
ID. E.g. consider multiple triangles that all share a vertex. When
the vertex changes, all of the triangles that share the vertex are
updated. Sharing vertex data also reduces the storage required vs.
lots of copies of the vertex.
It's most common for 3D apps to pack the vertecies into arrays, and
then create index arrays that index into the vertex/normal/tex coord
arrays to get at the data. These can then be uploaded so that all the
lookups etc happen on the graphics card, and no data need be fetched
from system memory when you try to draw.
You should look at glVertexArray and related functions.
Bob
_______________________________________________
Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com
This email sent to [EMAIL PROTECTED]