11 #ifndef __HUSD_RenderSettings__
12 #define __HUSD_RenderSettings__
33 class HUSD_HuskImaging;
40 namespace HUSD_RenderTokens
79 bool lookup(
const char *token,
int64 &
val)
const;
82 bool lookup(
const char *token,
fpreal64 &
val)
const;
97 void store(
const char *token,
bool val);
98 void store(
const char *token,
int32 val);
99 void store(
const char *token,
int64 val);
102 void store(
const char *token,
const char *
val);
103 void store(
const char *token,
const std::string &
val);
107 void storeTfToken(
const char *token,
const char *
val);
115 virtual const HUSD_HuskImaging *
huskEngine()
const {
return nullptr; }
137 int raster_index)
const
142 int raster_index)
const
147 int raster_index)
const
154 const char *p = overridePurpose();
155 return p ? p :
"geometry,render";
181 virtual fpreal startFrame()
const = 0;
189 virtual const std::vector<fpreal> *
frameList()
const {
return nullptr; }
192 virtual fpreal evalTime()
const = 0;
197 const PXR_NS::XUSD_RenderSettingsContext &
impl()
const {
return *myImpl; }
198 PXR_NS::XUSD_RenderSettingsContext &
impl() {
return *myImpl; }
200 PXR_NS::XUSD_RenderSettingsContext *myImpl;
214 v->copyDataFrom(*
this);
232 bool lookup(
const char *token,
int64 &
val)
const;
233 bool lookup(
const char *token,
fpreal64 &
val)
const;
247 PXR_NS::XUSD_RenderVar *myOwner;
252 return UTmakeUnique<HUSD_RenderVar>();
274 bool lookup(
const char *token,
int64 &
val)
const;
275 bool lookup(
const char *token,
fpreal64 &
val)
const;
313 const char *
path =
nullptr);
316 bool isRaster()
const;
328 PXR_NS::XUSD_RenderProduct *myOwner;
344 time_t file_timestamp);
348 static bool makeFilePathDirs(
const char *
path);
351 static bool makeDirPathDirs(
const char *dir_path);
361 bool init(
const HUSD_HuskImaging &engine,
366 bool getKarmaRandomSeed(
int64 &seed,
371 static const char *huskNullRasterName();
385 bool resolveProducts(
const HUSD_HuskImaging &engine,
399 bool process_delegate_products,
404 bool lookup(
const char *token,
int64 &
val)
const;
405 bool lookup(
const char *token,
fpreal64 &
val)
const;
437 {
return cameraPath(productInGroup(product_group)); }
439 {
return shutterOpen(productInGroup(product_group)); }
441 {
return shutterClose(productInGroup(product_group)); }
442 int xres(
int product_group)
const
443 {
return xres(productInGroup(product_group)); }
444 int yres(
int product_group)
const
445 {
return yres(productInGroup(product_group)); }
447 {
return res(productInGroup(product_group)); }
449 {
return pixelAspect(productInGroup(product_group)); }
451 {
return dataWindowF(productInGroup(product_group)); }
453 {
return dataWindow(productInGroup(product_group)); }
467 void printSettings()
const;
473 exint productGroupSize()
const;
476 void productGroup(
int product_group, ProductGroup &products)
const;
485 PXR_NS::XUSD_RenderSettings *myOwner;
491 bool delegate_products);
496 exint totalProductCount()
const;
497 void allProducts(ProductGroup &group)
const;
502 void removeProduct(
exint i);
virtual int frameCount() const
Return the number of frames being rendered.
virtual UT_StringHolder addTileSuffix(const UT_StringHolder &fname) const
bool disableMotionBlur(int product_group) const
GT_API const UT_StringHolder filename
const PXR_NS::XUSD_RenderSettingsContext & impl() const
UT_Vector4 dataWindowF(int product_group) const
virtual const HUSD_HuskImaging * huskEngine() const
XUSD_RenderSettings contains the HdRenderSettings for the render.
#define PXR_NAMESPACE_OPEN_SCOPE
GLsizei const GLchar *const * path
double shutterClose(int product_group) const
virtual const char * overrideSnapshotSuffix(const HUSD_RenderProduct &p, int raster_index) const
Override the snapshot suffix (in husk)
Class which writes ASCII or binary JSON streams.
UT_DimRect dataWindow(int product_group) const
HUSD_API const char * aspectRatioConformPolicy()
virtual const char * overrideProductName(const HUSD_RenderProduct &p, int raster_index) const
std::unique_ptr< T, Deleter > UT_UniquePtr
A smart pointer for unique ownership of dynamically allocated objects.
UT_UniquePtr< HUSD_RenderVar > clone() const
Method to clone this render var to another render product.
double shutterOpen(int product_group) const
virtual const char * overrideSnapshotPath(const HUSD_RenderProduct &p, int raster_index) const
virtual void setDefaultSettings(const HUSD_RenderSettings &settings, storeProperty &writer) const
PXR_NS::XUSD_RenderSettingsContext & impl()
virtual bool overrideDisableMotionBlur(bool is) const
virtual UT_Vector4 overrideDataWindow(const UT_Vector4 &v) const
int yres(int product_group) const
HUSD_API const char * color()
virtual fpreal frameInc() const
Frame increment, when computing sequences.
HUSD_API const char * raster()
HUSD_API const char * resolution()
GLuint const GLchar * name
virtual UT_StringHolder overrideCamera() const
HUSD_API const char * pixelAspectRatio()
virtual const char * defaultProductName() const
virtual const std::vector< fpreal > * frameList() const
Return a list of frames (if available)
HUSD_API const char * cameraDepth()
virtual fpreal overridePixelAspect(fpreal pa) const
virtual void overrideSettings(const HUSD_RenderSettings &settings, storeProperty &writer) const
virtual void initFromSettings(const lookupSetting &lookup)
File options for manipulating image data on load or save. This class allows you to modify the incomin...
virtual bool allowCameraless() const
Allow render options to be applied without a camera present.
#define PXR_NAMESPACE_CLOSE_SCOPE
UT_StringHolder cameraPath(int product_group) const
UT_Vector2i res(int product_group) const
GLubyte GLubyte GLubyte GLubyte w
lookupSetting(const void *data)
HUSD_API const char * productType()
virtual UT_UniquePtr< HUSD_RenderVar > doClone() const
Create a new sub-class of HUSD_RenderVar.
HUSD_API const char * dataWindowNDC()
int xres(int product_group) const
fpreal pixelAspect(int product_group) const
virtual const char * overridePurpose() const
HUSD_API const char * dataType()
HUSD_API const char * productName()
virtual const char * defaultPurpose() const
virtual fpreal fps() const
Return the FPS.
storeProperty(void *data)
virtual UT_Vector2i overrideResolution(const UT_Vector2i &res) const
HUSD_API const char * disableMotionBlur()
virtual UT_StringHolder defaultFilename() const
Provide a default filename.