Import('env', 'plugins') # Basic library of smooth and rough materials plugins += env.SharedLibrary('diffuse', ['diffuse.cpp']) plugins += env.SharedLibrary('dielectric', ['dielectric.cpp']) plugins += env.SharedLibrary('conductor', ['conductor.cpp']) plugins += env.SharedLibrary('plastic', ['plastic.cpp']) plugins += env.SharedLibrary('roughdiffuse', ['roughdiffuse.cpp']) plugins += env.SharedLibrary('roughdielectric', ['roughdielectric.cpp']) plugins += env.SharedLibrary('roughconductor', ['roughconductor.cpp']) plugins += env.SharedLibrary('roughplastic', ['roughplastic.cpp']) # Materials that act as modifiers plugins += env.SharedLibrary('twosided', ['twosided.cpp']) plugins += env.SharedLibrary('mask', ['mask.cpp']) plugins += env.SharedLibrary('mixturebsdf', ['mixturebsdf.cpp']) plugins += env.SharedLibrary('blendbsdf', ['blendbsdf.cpp']) plugins += env.SharedLibrary('coating', ['coating.cpp']) plugins += env.SharedLibrary('roughcoating', ['roughcoating.cpp']) plugins += env.SharedLibrary('bump', ['bump.cpp']) # Other materials plugins += env.SharedLibrary('ward', ['ward.cpp']) plugins += env.SharedLibrary('phong', ['phong.cpp']) plugins += env.SharedLibrary('difftrans', ['difftrans.cpp']) plugins += env.SharedLibrary('hk', ['hk.cpp']) plugins += env.SharedLibrary('dipolebrdf', ['dipolebrdf.cpp']) plugins += env.SharedLibrary('rmbrdf', ['rmbrdf.cpp']) # The Irawan-Marschner plugin uses a Boost::Spirit parser, which makes it # pretty heavy stuff to compile. Go easy on the compiler flags: irawanEnv = env.Clone() irawanEnv.RelaxCompilerSettings() plugins += irawanEnv.SharedLibrary('irawan', ['irawan.cpp']) Export('plugins')