[Buzz.Today]Intel开源Embree

Intel开源光线跟踪软件包embree。

http://software.intel.com/en-us/articles/embree-photo-realistic-ray-tracing-kernels/

http://software.intel.com/en-us/articles/embree-highly-optimized-visibility-algorithms-for-monte-carlo-ray-tracing/

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:

http://drdobbs.com/go-parallel/blogs/tools/231001621

posted on 2011-07-16 08:48  飘行天下  阅读(642)  评论(0编辑  收藏  举报

导航