11 #ifndef __HUSD_RenderSettings__
12 #define __HUSD_RenderSettings__
33 class HUSD_HuskEngine;
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);
107 void storeTfToken(
const char *token,
const char *
val);
115 virtual const HUSD_HuskEngine *
huskEngine()
const {
return nullptr; }
138 int raster_index)
const
143 int raster_index)
const
148 int raster_index)
const
155 const char *p = overridePurpose();
156 return p ? p :
"geometry,render";
182 virtual fpreal startFrame()
const = 0;
190 virtual const std::vector<fpreal> *
frameList()
const {
return nullptr; }
193 virtual fpreal evalTime()
const = 0;
198 const PXR_NS::XUSD_RenderSettingsContext &
impl()
const {
return *myImpl; }
199 PXR_NS::XUSD_RenderSettingsContext &
impl() {
return *myImpl; }
201 PXR_NS::XUSD_RenderSettingsContext *myImpl;
215 v->copyDataFrom(*
this);
233 bool lookup(
const char *token,
int64 &
val)
const;
234 bool lookup(
const char *token,
fpreal64 &
val)
const;
246 PXR_NS::XUSD_RenderVar *myOwner;
251 return UTmakeUnique<HUSD_RenderVar>();
273 bool lookup(
const char *token,
int64 &
val)
const;
274 bool lookup(
const char *token,
fpreal64 &
val)
const;
305 bool isRaster()
const;
317 PXR_NS::XUSD_RenderProduct *myOwner;
333 time_t file_timestamp);
337 static bool makeFilePathDirs(
const char *
path);
347 bool init(
const HUSD_HuskEngine &engine,
353 static const char *huskNullRasterName();
367 bool resolveProducts(
const HUSD_HuskEngine &engine,
381 bool make_product_directories,
382 bool process_delegate_products,
387 bool lookup(
const char *token,
int64 &
val)
const;
388 bool lookup(
const char *token,
fpreal64 &
val)
const;
419 {
return cameraPath(productInGroup(product_group)); }
421 {
return shutterOpen(productInGroup(product_group)); }
423 {
return shutterClose(productInGroup(product_group)); }
424 int xres(
int product_group)
const
425 {
return xres(productInGroup(product_group)); }
426 int yres(
int product_group)
const
427 {
return yres(productInGroup(product_group)); }
429 {
return res(productInGroup(product_group)); }
431 {
return pixelAspect(productInGroup(product_group)); }
433 {
return dataWindowF(productInGroup(product_group)); }
435 {
return dataWindow(productInGroup(product_group)); }
446 void printSettings()
const;
452 exint productGroupSize()
const;
455 void productGroup(
int product_group, ProductGroup &products)
const;
464 PXR_NS::XUSD_RenderSettings *myOwner;
474 exint totalProductCount()
const;
475 void allProducts(ProductGroup &group)
const;
480 void removeProduct(
exint i);
virtual int frameCount() const
Return the number of frames being rendered.
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
XUSD_RenderSettings contains the HdRenderSettings for the render.
GLsizei const GLchar *const * string
virtual const char * tileSuffix() const
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()
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
virtual fpreal overridePixelAspect(fpreal pa) const
virtual int tileIndex() 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
virtual const HUSD_HuskEngine * huskEngine() const
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.