00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef LUX_DYNLOAD_H
00024 #define LUX_DYNLOAD_H
00025
00026 #include <map>
00027
00028 #include "lux.h"
00029
00030 namespace lux
00031 {
00032
00033
00034 void UpdatePluginPath(const string &newpath);
00035 boost::shared_ptr<Shape> MakeShape(const string &name,
00036 const Transform &object2world, bool reverseOrientation, const ParamSet ¶mSet,
00037 std::map<string, boost::shared_ptr<Texture<float> > > *floatTextures = NULL);
00038 boost::shared_ptr<Material> MakeMaterial(const string &name,
00039 const Transform &mtl2world, const TextureParams &mp);
00040 boost::shared_ptr<Texture<float> > MakeFloatTexture(const string &name,
00041 const Transform &tex2world, const TextureParams &tp);
00042 boost::shared_ptr<Texture<Spectrum> > MakeSpectrumTexture(const string &name,
00043 const Transform &tex2world, const TextureParams &tp);
00044 Light *MakeLight(const string &name,
00045 const Transform &light2world, const ParamSet ¶mSet);
00046 AreaLight *MakeAreaLight(const string &name,
00047 const Transform &light2world,
00048 const ParamSet ¶mSet, const boost::shared_ptr<Shape> &shape);
00049 VolumeRegion *MakeVolumeRegion(const string &name,
00050 const Transform &light2world, const ParamSet ¶mSet);
00051 SurfaceIntegrator *MakeSurfaceIntegrator(const string &name,
00052 const ParamSet ¶mSet);
00053 VolumeIntegrator *MakeVolumeIntegrator(const string &name,
00054 const ParamSet ¶mSet);
00055 Primitive *MakeAccelerator(const string &name,
00056 const vector<Primitive* > &prims,
00057 const ParamSet ¶mSet);
00058 Camera *MakeCamera(const string &name,
00059 const ParamSet ¶mSet, const Transform &world2cam, Film *film);
00060 Sampler *MakeSampler(const string &name,
00061 const ParamSet ¶mSet, const Film *film);
00062 Filter *MakeFilter(const string &name,
00063 const ParamSet ¶mSet);
00064 ToneMap *MakeToneMap(const string &name,
00065 const ParamSet ¶mSet);
00066 Film *MakeFilm(const string &name,
00067 const ParamSet ¶mSet, Filter *filt);
00068
00069 }
00070
00071 #endif // LUX_DYNLOAD_H