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__