Thaellin
04-23-2001, 11:50 AM
Not the HP extension, though.
I think it's silly to have to implement a software-based buffer for something that is already (mostly) being done in hardware.
The idea would be that you set an array (similar to 'vertex array') with simplified geometry, and use the standard arrays for your detailed representation. When the occlusion array is assigned, its data is pulled (or is could be triggered via an 'enable' like lights are). Data will be pulled from standard arrays based on whether the depth test would have passed for the occlusion geometry or not.
If the occlusion geometry fails the depth test, the 'standard' arrays aren't touched.
This approach does not require the programmer to know the results of the test, so it does not require the much dreaded 'round trip'. It is transparent to current implementations, requires at most two new tokens (one for the buffer in 'enableclientstate' and one for the test in 'enable') and could be adapted to VAR with little effort...
Opinions?
-- Jeff
[This message has been edited by Thaellin (edited 04-23-2001).]
I think it's silly to have to implement a software-based buffer for something that is already (mostly) being done in hardware.
The idea would be that you set an array (similar to 'vertex array') with simplified geometry, and use the standard arrays for your detailed representation. When the occlusion array is assigned, its data is pulled (or is could be triggered via an 'enable' like lights are). Data will be pulled from standard arrays based on whether the depth test would have passed for the occlusion geometry or not.
If the occlusion geometry fails the depth test, the 'standard' arrays aren't touched.
This approach does not require the programmer to know the results of the test, so it does not require the much dreaded 'round trip'. It is transparent to current implementations, requires at most two new tokens (one for the buffer in 'enableclientstate' and one for the test in 'enable') and could be adapted to VAR with little effort...
Opinions?
-- Jeff
[This message has been edited by Thaellin (edited 04-23-2001).]