#pragma once
#ifndef CONFIG_H__
#define CONFIG_H__

#define THREAD_NUM 64

#define ENZYME
#define ENZYME_BOUNDARY_DIRECT
#define ENZYME_BOUNDARY_INDIRECT
#define ENZYME_BOUNDARY_PRIMARY
#define MIS
#define ALGORITHM1
#define VOLPATH
#define PATH
#define PTRACER

/* normal related */
/* preprocess the normal instead of computing it on the fly */
// ! do not use with FORWARD
// #define NORMAL_PREPROCESS


// constexpr double ShadowEpsilon = 1e-3f;
//! 1e-3 could cause self intersection
constexpr double ShadowEpsilon = 1e-2f;
constexpr double AngleEpsilon = 1e-4f;
constexpr double EdgeEpsilon = 1e-8;

#endif