I guess option 3 would be the most viable in the long run. The options based on D3D interoperability would also require that both D3D and CAL share the same rendering context, which does not seem possible at this time.
Or am I missing something?
lpw, we are working on a graphics interoperability sample to showcase how to use it in CAL. This will be part of one of our future releases.
As for occlusion queries. There really is no support for it at the CAL level because CAL is following the compute model and not the graphics model. Only things that are directly related to compute are exposed. CAL also does not directly access the framebuffer, but always writes out results to a memory locaiton, similiar to render to texture in the graphics world. There is a valid discard instruction in CAL, but there is no way to count the number of threads that are killed. You may write your own algorithm to do this, but is not exposed via the CAL interface.
Originally posted by: MicahVillmow lpw, we are working on a graphics interoperability sample to showcase how to use it in CAL. This will be part of one of our future releases.
Is there such sample available yet? If not in the SDK, but somewhere on the net?