Intel开源光线跟踪软件包embree。
http://software.intel.com/en-us/articles/embree-photo-realistic-ray-tracing-kernels/
Piaoger把源代码download下来Build一把,却发现有问题。
下面是解决方案:
--------------------------------------------------------------------------------------
d:\embree-1.0beta\embree-1.0beta\common\sys\platform.h
//#if defined(_MSC_VER) && !defined(__SSE4_2__)
//#define __SSE4_2__ //! activates SSE4.2 support
//#endif
#pragma message("Using workaround to avoid crashing embree by Piaoger")
#if defined(_MSC_VER) && !defined(__SSE4_2__)
//#define __SSE4_2__ //! activates SSE4.2 support
#endif
//
d:\embree-1.0beta\embree-1.0beta\common\simd\smmintrin_emu.h
#ifndef __GNUC__
#pragma message (" --- Intel remark: SSE4 intrinsics are emulated with SSE3 ---")
#endif
#pragma message("Using workaround to avoid crashing embree by Piaoger")
// Begin workaround
#define _mm_blendv_ps __emu_mm_blendv_ps
#define _mm_blend_ps __emu_mm_blend_ps
#define _mm_blendv_epi8 __emu_mm_blendv_epi8
#define _mm_mullo_epi32 __emu_mm_mullo_epi32
#define _mm_min_epi32 __emu_mm_min_epi32
#define _mm_max_epi32 __emu_mm_max_epi32
#define _mm_extract_epi32 __emu_mm_extract_epi32
#define _mm_insert_epi32 __emu_mm_insert_epi32
#define _mm_extract_ps __emu_mm_extract_ps
#define _mm_insert_ps __emu_mm_insert_ps
#define _mm_round_ps __emu_mm_round_ps
#define _mm_insert_epi64 __emu_mm_insert_epi64
#define _mm_extract_epi64 __emu_mm_extract_epi64
// End workaround
---------------------------------------------------------------------------------------
Updates:
Introducing Embree on drdobbs: