00001 00002 #ifndef __graphics_cache_interface_hpp__ 00003 #define __graphics_cache_interface_hpp__ 00004 00005 #include <crbn/basic/ray.hpp> 00006 #include <crbn/basic/intersection.hpp> 00007 #include <crbn/basic/packed.h> 00008 00022 class GraphicsCacheInterface 00023 { 00024 public: 00025 virtual ~GraphicsCacheInterface() {} 00026 00036 virtual bool intersect( uint32 graphics_id, ray& r, float& distance, packed& data ) = 0; 00037 00045 virtual void compute_intersection( uint32 graphics_id, ray& r, intersection& inter, packed& data ) = 0; 00046 00048 00054 virtual void sample_surface( uint32 graphics_id, uint32 number, vec3* vtab, vec3* ntab ) = 0; 00055 }; 00056 00057 #endif // __graphics_cache_interface_hpp__