dynload.cpp File Reference

#include "dynload.h"
#include "paramset.h"
#include "shape.h"
#include "material.h"
#include <dlfcn.h>
#include <map>

Go to the source code of this file.

Classes

class  Plugin
class  ShapePlugin
class  MaterialPlugin
class  TexturePlugin
class  LightPlugin
class  VolumeRegionPlugin
class  AreaLightPlugin
class  SurfaceIntegratorPlugin
class  VolumeIntegratorPlugin
class  AcceleratorPlugin
class  SamplerPlugin
class  CameraPlugin
class  FilterPlugin
class  ToneMapPlugin
class  FilmPlugin

Functions

static string SearchPath (const string &searchpath, const string &filename)
template<class D>
D * GetPlugin (const string &name, map< string, D * > &loadedPlugins, const string &searchPath)
COREDLL void UpdatePluginPath (const string &newpath)
COREDLL Reference< ShapeMakeShape (const string &name, const Transform &object2world, bool reverseOrientation, const ParamSet &paramSet)
COREDLL Reference< MaterialMakeMaterial (const string &name, const Transform &mtl2world, const TextureParams &mp)
COREDLL Reference< Texture
< float > > 
MakeFloatTexture (const string &name, const Transform &tex2world, const TextureParams &tp)
COREDLL Reference< Texture
< Spectrum > > 
MakeSpectrumTexture (const string &name, const Transform &tex2world, const TextureParams &tp)
COREDLL LightMakeLight (const string &name, const Transform &light2world, const ParamSet &paramSet)
COREDLL AreaLightMakeAreaLight (const string &name, const Transform &light2world, const ParamSet &paramSet, const Reference< Shape > &shape)
COREDLL VolumeRegionMakeVolumeRegion (const string &name, const Transform &volume2world, const ParamSet &paramSet)
COREDLL SurfaceIntegratorMakeSurfaceIntegrator (const string &name, const ParamSet &paramSet)
COREDLL VolumeIntegratorMakeVolumeIntegrator (const string &name, const ParamSet &paramSet)
COREDLL PrimitiveMakeAccelerator (const string &name, const vector< Reference< Primitive > > &prims, const ParamSet &paramSet)
COREDLL CameraMakeCamera (const string &name, const ParamSet &paramSet, const Transform &world2cam, Film *film)
COREDLL SamplerMakeSampler (const string &name, const ParamSet &paramSet, const Film *film)
COREDLL FilterMakeFilter (const string &name, const ParamSet &paramSet)
COREDLL ToneMapMakeToneMap (const string &name, const ParamSet &paramSet)
COREDLL FilmMakeFilm (const string &name, const ParamSet &paramSet, Filter *filter)

Variables

static string PluginSearchPath
static map< string, ShapePlugin * > shapePlugins
static map< string,
FilterPlugin * > 
filterPlugins
static map< string,
MaterialPlugin * > 
materialPlugins
static map< string,
TexturePlugin * > 
texturePlugins
static map< string, FilmPlugin * > filmPlugins
static map< string, LightPlugin * > lightPlugins
static map< string,
AreaLightPlugin * > 
arealightPlugins
static map< string,
VolumeRegionPlugin * > 
volumePlugins
static map< string,
SurfaceIntegratorPlugin * > 
surf_integratorPlugins
static map< string,
VolumeIntegratorPlugin * > 
vol_integratorPlugins
static map< string,
ToneMapPlugin * > 
tonemapPlugins
static map< string,
AcceleratorPlugin * > 
acceleratorPlugins
static map< string,
CameraPlugin * > 
cameraPlugins
static map< string,
SamplerPlugin * > 
samplerPlugins


Function Documentation

template<class D>
D* GetPlugin ( const string &  name,
map< string, D * > &  loadedPlugins,
const string &  searchPath 
) [inline]

Definition at line 41 of file dynload.cpp.

References Error(), and SearchPath().

COREDLL Primitive* MakeAccelerator ( const string &  name,
const vector< Reference< Primitive > > &  prims,
const ParamSet paramSet 
)

COREDLL AreaLight* MakeAreaLight ( const string &  name,
const Transform light2world,
const ParamSet paramSet,
const Reference< Shape > &  shape 
)

COREDLL Camera* MakeCamera ( const string &  name,
const ParamSet paramSet,
const Transform world2cam,
Film film 
)

COREDLL Film* MakeFilm ( const string &  name,
const ParamSet paramSet,
Filter filter 
)

COREDLL Filter* MakeFilter ( const string &  name,
const ParamSet paramSet 
)

COREDLL Reference<Texture<float> > MakeFloatTexture ( const string &  name,
const Transform tex2world,
const TextureParams tp 
)

COREDLL Light* MakeLight ( const string &  name,
const Transform light2world,
const ParamSet paramSet 
)

COREDLL Reference<Material> MakeMaterial ( const string &  name,
const Transform mtl2world,
const TextureParams mp 
)

COREDLL Sampler* MakeSampler ( const string &  name,
const ParamSet paramSet,
const Film film 
)

COREDLL Reference<Shape> MakeShape ( const string &  name,
const Transform object2world,
bool  reverseOrientation,
const ParamSet paramSet 
)

COREDLL Reference<Texture<Spectrum> > MakeSpectrumTexture ( const string &  name,
const Transform tex2world,
const TextureParams tp 
)

COREDLL SurfaceIntegrator* MakeSurfaceIntegrator ( const string &  name,
const ParamSet paramSet 
)

COREDLL ToneMap* MakeToneMap ( const string &  name,
const ParamSet paramSet 
)

COREDLL VolumeIntegrator* MakeVolumeIntegrator ( const string &  name,
const ParamSet paramSet 
)

COREDLL VolumeRegion* MakeVolumeRegion ( const string &  name,
const Transform volume2world,
const ParamSet paramSet 
)

static string SearchPath ( const string &  searchpath,
const string &  filename 
) [static]

Definition at line 286 of file dynload.cpp.

References PBRT_PATH_SEP.

Referenced by GetPlugin().

COREDLL void UpdatePluginPath ( const string &  newpath  ) 

Definition at line 262 of file dynload.cpp.

References PluginSearchPath.

Referenced by pbrtSearchPath(), and RenderOptions::RenderOptions().


Variable Documentation

map<string, AcceleratorPlugin *> acceleratorPlugins [static]

Definition at line 91 of file dynload.cpp.

Referenced by MakeAccelerator().

map<string, AreaLightPlugin *> arealightPlugins [static]

Definition at line 86 of file dynload.cpp.

Referenced by MakeAreaLight().

map<string, CameraPlugin *> cameraPlugins [static]

Definition at line 92 of file dynload.cpp.

Referenced by MakeCamera().

map<string, FilmPlugin *> filmPlugins [static]

Definition at line 84 of file dynload.cpp.

Referenced by MakeFilm().

map<string, FilterPlugin *> filterPlugins [static]

Definition at line 81 of file dynload.cpp.

Referenced by MakeFilter().

map<string, LightPlugin *> lightPlugins [static]

Definition at line 85 of file dynload.cpp.

Referenced by MakeLight().

map<string, MaterialPlugin *> materialPlugins [static]

Definition at line 82 of file dynload.cpp.

Referenced by MakeMaterial().

string PluginSearchPath [static]

map<string, SamplerPlugin *> samplerPlugins [static]

Definition at line 93 of file dynload.cpp.

Referenced by MakeSampler().

map<string, ShapePlugin *> shapePlugins [static]

Definition at line 80 of file dynload.cpp.

Referenced by MakeShape().

Definition at line 88 of file dynload.cpp.

Referenced by MakeSurfaceIntegrator().

map<string, TexturePlugin *> texturePlugins [static]

Definition at line 83 of file dynload.cpp.

Referenced by MakeFloatTexture(), and MakeSpectrumTexture().

map<string, ToneMapPlugin *> tonemapPlugins [static]

Definition at line 90 of file dynload.cpp.

Referenced by MakeToneMap().

Definition at line 89 of file dynload.cpp.

Referenced by MakeVolumeIntegrator().

map<string, VolumeRegionPlugin *> volumePlugins [static]

Definition at line 87 of file dynload.cpp.

Referenced by MakeVolumeRegion().


Generated on Mon Jul 20 17:31:53 2009 for pbrt by  doxygen 1.5.6