DarkAngel wrote:
There was a bit of a discussion about this previously:
viewtopic.php?f=2&t=1014Thanks - I missed that.
Quote:
I'd like it if either the API let you retieve any of the vertex attributes, or have it return enough data for the application to do this itself...
At least texture coordinates and normals/tangents - that is enough to implement decals, texture-painting and GUI interaction, not to mention simple collision detection (not that I would recommend doing collision detection in this manner

).
Quote:
Perhaps model-nodes could also have some kind of bit-mask that specifies which vertex attributes will be kept in RAM (are tex-coords kept around in system ram at the moment? or are they just sent to the GPU?). When performing a ray-cast, you could specify your own bit-mask for the attributes you want to be returned, and data will only be computed for attributes that are set in both bit-masks (the ray's and the model's).
Good idea. I think that texture coordinates are only kept in GPU memory right now - we need something like Ogre's 'shadow' option to keep a copy of a vertex buffer in main memory.
The sticky question is what to do with GPU-skinned models? Either we should not allow raycasts against these, or we must fallback to software skinning for the intersection test - neither or which seems particularly pleasant at this moment.