Mantis Bugtracker
  

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0000839 [Croquet] Any minor always 01-19-05 17:05 01-23-05 14:30
Reporter grit View Status public  
Assigned To
Priority normal Resolution open  
Status feedback  
Summary 0000839: TRay doesn't work for TFrames in a TQuadTree
Description You can't pick objects in a TQuadTree because TRay tests only work if the TRay is a downRay.
Additional Information
Attached Files

- Relationships

- Notes
(0001093 - 423 - 453 - 453 - 453 - 453 - 453)
Croqueteer
01-23-05 02:28

This is correct. TQuadTrees are an optimization for rendering a picking downwards. To pick requires that a TQuadTree be rendered normally, ignoring the quad tree structure. There are two possible ways to fix this:
1. Check for the pointer down event and force the system to figure out what was picked by rendering normally for one frame.

2. Add a ray test to TQuadTree renderFrame:.

The second might be easier to do.
 
(0001095 - 578 - 598 - 598 - 598 - 598 - 598)
bert
01-23-05 14:30

But the problem with rendering would only apply to general rays because it might hit objects outside the viewing frustum, which get culled by the QuadTree. However, in the restricted case of the ray being the pointer of the active camera, we know the ray is inside the frustum and everything should work, no? As long as I can *see* the object it means it was rendered, so why wouldn't a "normal" pick test in the rendering work? Of course, walking the tree cells along the ray would be more efficient, but you know, "make it run, make it right, make it fast - in that order" ;-)
 

- Issue History
Date Modified Username Field Change
01-19-05 17:05 grit New Issue
01-23-05 02:28 Croqueteer Note Added: 0001093
01-23-05 14:30 bert Note Added: 0001095
01-23-05 14:30 bert Status new => feedback


Mantis 1.0.8[^]
Copyright © 2000 - 2007 Mantis Group
38 total queries executed.
31 unique queries executed.
Powered by Mantis Bugtracker