11 #ifndef __HUSD_RenderSettings__
12 #define __HUSD_RenderSettings__
31 class HUSD_HuskEngine;
38 namespace HUSD_RenderTokens
77 bool lookup(
const char *token,
int64 &
val)
const;
80 bool lookup(
const char *token,
fpreal64 &
val)
const;
95 void store(
const char *token,
bool val);
96 void store(
const char *token,
int32 val);
97 void store(
const char *token,
int64 val);
100 void store(
const char *token,
const char *
val);
105 void storeTfToken(
const char *token,
const char *
val);
113 virtual const HUSD_HuskEngine *
huskEngine()
const {
return nullptr; }
136 int raster_index)
const
141 int raster_index)
const
146 int raster_index)
const
153 const char *p = overridePurpose();
154 return p ? p :
"geometry,render";
180 virtual fpreal startFrame()
const = 0;
189 virtual fpreal evalTime()
const = 0;
194 const PXR_NS::XUSD_RenderSettingsContext &
impl()
const {
return *myImpl; }
195 PXR_NS::XUSD_RenderSettingsContext &
impl() {
return *myImpl; }
197 PXR_NS::XUSD_RenderSettingsContext *myImpl;
211 v->copyDataFrom(*
this);
229 bool lookup(
const char *token,
int64 &
val)
const;
230 bool lookup(
const char *token,
fpreal64 &
val)
const;
242 PXR_NS::XUSD_RenderVar *myOwner;
247 return UTmakeUnique<HUSD_RenderVar>();
269 bool lookup(
const char *token,
int64 &
val)
const;
270 bool lookup(
const char *token,
fpreal64 &
val)
const;
301 bool isRaster()
const;
313 PXR_NS::XUSD_RenderProduct *myOwner;
329 time_t file_timestamp);
333 static bool makeFilePathDirs(
const char *
path);
343 bool init(
const HUSD_HuskEngine &engine,
349 static const char *huskNullRasterName();
363 bool resolveProducts(
const HUSD_HuskEngine &engine,
365 bool create_dummy_raster_product);
377 bool make_product_directories,
378 bool process_delegate_products,
379 bool create_dummy_render_product);
383 bool lookup(
const char *token,
int64 &
val)
const;
384 bool lookup(
const char *token,
fpreal64 &
val)
const;
415 {
return cameraPath(productInGroup(product_group)); }
417 {
return shutterOpen(productInGroup(product_group)); }
419 {
return shutterClose(productInGroup(product_group)); }
420 int xres(
int product_group)
const
421 {
return xres(productInGroup(product_group)); }
422 int yres(
int product_group)
const
423 {
return yres(productInGroup(product_group)); }
425 {
return res(productInGroup(product_group)); }
427 {
return pixelAspect(productInGroup(product_group)); }
429 {
return dataWindowF(productInGroup(product_group)); }
431 {
return dataWindow(productInGroup(product_group)); }
442 void printSettings()
const;
448 exint productGroupSize()
const;
451 void productGroup(
int product_group, ProductGroup &products)
const;
460 PXR_NS::XUSD_RenderSettings *myOwner;
470 exint totalProductCount()
const;
471 void allProducts(ProductGroup &group)
const;
476 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
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.