HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GUI_DisplayOption.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * NAME: GUI_DisplayOption.h ( GUI Library, C++)
7  *
8  * COMMENTS: This class contains the options for all the different types
9  * of details (templates, footprints, etc.) and options that
10  * are common to them.
11  */
12 
13 #ifndef __GUI_DisplayOption__
14 #define __GUI_DisplayOption__
15 
16 #include "GUI_API.h"
17 #include <UT/UT_Rect.h>
18 #include <UT/UT_Vector2.h>
19 #include <UT/UT_UniquePtr.h>
20 #include <RE/RE_RenderContext.h>
21 #include <RE/RE_TextureMap.h>
22 #include <UI/UI_Value.h>
23 #include <GR/GR_Defines.h>
24 #include <GR/GR_CommonDispOption.h>
25 #include <GR/GR_DisplayOption.h>
26 #include "GUI_RenderCommon.h"
27 
28 #ifdef USE_VULKAN
29 #include <RV/RV_Type.h>
30 class RV_Render;
31 #endif
32 
33 class OPUI_RotoscopeData;
34 class GR_DisplayOption;
35 
36 const int GUI_NUM_DISPLAY_SETS = 6;
39 
40 /// Context specific display options for geometry states
42 {
46  // ---- obj/model break
50 };
51 
52 #define ANY_FLAG_ACTIVE_IN_SETS(METHOD) \
53  bool METHOD##Any() const \
54  { return ((*this)[GUI_SCENE_OBJECT].METHOD() || \
55  (*this)[GUI_SELECTED_SCENE_OBJECT].METHOD() || \
56  (*this)[GUI_GHOST_SCENE_OBJECT].METHOD() || \
57  (*this)[GUI_DISPLAY_MODEL].METHOD() || \
58  (*this)[GUI_CURRENT_MODEL].METHOD() || \
59  (*this)[GUI_TEMPLATE_MODEL].METHOD()); }
60 
61 
62 /// Display options object that contains all high-level viewport display
63 /// settings, and contains the objects with context-specific display options
64 /// and common drawing options.
66 {
67 public:
68  GUI_DisplayOption(bool for_lops_view);
70 
71  GUI_DisplayOption &operator=(const GUI_DisplayOption &opt);
72 
73  /// Context-specific geometry-specific display options. If a display set
74  /// follows another set, it will be remapped to return that set.
75  /// @{
77  { return *myDisplaySet[myDisplaySetMap[type]]; }
79  { return *myDisplaySet[myDisplaySetMap[type]]; }
80  /// @}
81 
82  /// Direct cccess to the display set, without any mapping.
84  { return *myDisplaySet[type]; }
85 
86  /// Low-level drawing display options common to all geometry contexts
87  /// @{
88  const GR_CommonDispOption &common() const { return myCommonOptions; }
89  GR_CommonDispOption &common() { return myCommonOptions; }
90  /// @}
91 
92  /// Return true if the load/save was successful, and false otherwise.
93  /// @{
94  bool save(std::ostream &) const;
95  bool load(UT_IStream &);
96  /// @}
97 
98  /// Remap the display option set to another set.
100  GUI_DisplaySetType reference)
101  { myDisplaySetMap[follower] = reference; }
102 
103  /// Query which display set this set is following. If none, it will refer
104  /// to itself.
106  { return myDisplaySetMap[t]; }
107 
108  /// Scene custom display option support - set and query scene options
109  /// @{
110  void enableSceneOption(const char *name, bool enable);
111  bool isSceneOptionEnabled(const char *name) const;
112  /// @}
113 
115  { myRenderType = t; }
116  GR_RenderVersion getRenderType() const { return myRenderType; }
117 
118  // These flags are stored here because they deal with different concepts
119  // unknown to GR. The flags at the GR level should only be used by GR when
120  // it renders a specific detail.
121  bool showSelected() const { return myFlags.showSelected; }
122  bool showNonSelected() const { return myFlags.showNonSelected; }
123  bool showTemplates() const { return myFlags.showTemplates; }
124  bool showFootprints() const { return myFlags.showFootprints; }
125  bool showCurrentOutput() const { return myFlags.showCurrentOutput; }
126  bool showDisplay() const { return myFlags.showDisplay; }
127  bool showGuides() const { return myFlags.showGuides; }
128  bool showObjectNames() const { return myFlags.showObjectNames; }
129  bool showFullNames() const { return myFlags.showFullNames; }
130  bool drawOrigin() const { return myFlags.drawOrigin; }
131  bool drawStickyOrigin() const { return myFlags.drawStickyOrigin; }
132  bool drawViewPivot() const { return myFlags.drawViewPivot; }
133  bool drawWalls() const { return myFlags.drawWalls; }
134  bool drawXYPlane() const { return myFlags.drawXYPlane; }
135  bool drawXZPlane() const { return myFlags.drawXZPlane; }
136  bool drawYZPlane() const { return myFlags.drawYZPlane; }
137  bool drawFieldGuide() const { return myFlags.drawFieldGuide; }
138  bool drawSafeArea() const { return myFlags.drawSafeArea; }
139  bool drawBackgrounds() const { return myFlags.drawBackgrounds; }
140  bool drawEnvironmentMaps() const
141  { return myFlags.drawEnvironmentMaps; }
143  { return myFlags.drawFilteredBackgrounds; }
144  bool showIKCriticalZones() const
145  { return myFlags.showIKCriticalZones; }
146  bool getDrawCameraMask() const
147  { return myFlags.drawCameraMask; }
148  bool drawBadges() const { return myFlags.drawBadges; }
149 
150  bool drawVertexAttrib2D() const
151  { return myFlags.drawVertexAttrib2D; }
153  { return myFlags.autoDetectAttribType2D; }
154 
155  bool drawSpecular() const { return myFlags.drawSpecular; }
156  bool drawMultiTexture() const { return common().drawMultiTexture();}
157 
158  bool applySelectMask() const { return myFlags.applySelectMask; }
159 
160  bool drawXRay() const { return myFlags.drawXRay; }
161  bool xrayQuality() const { return myFlags.xrayQuality; }
162  bool drawObjectOrigins() const { return myFlags.drawObjOrigins; }
163  bool showMaterials() const { return common().showMaterials(); }
164  bool useMaterialOverrides() const { return myFlags.useOverrides; }
165  bool mssEnable() const { return myFlags.mssEnable; }
166  bool mssPerPrim() const { return myFlags.mssPerPrim; }
167  bool mssPacked() const { return myFlags.mssPacked; }
168  int objectMaterialLimit() const { return myObjectMaterialLimit; }
169  fpreal xrayWireStrength() const { return myXRayWireStrength; }
170 
172  {
173  MAT_ALWAYS = 0,
174  MAT_NO_PLAYBACK = 1,
175  MAT_MANUAL = 2
176  };
177  gui_MatAssignMode materialAssignMode() const { return myMatAssignMode; }
179  { myMatAssignMode = mode; }
180  bool materialUpdate() const { return myMatUpdate; }
181  void materialUpdate(bool update) { myMatUpdate = update; }
182 
183 
184  // the threshold a shading mode is set to change when modifying view
185 
186  void showSelected(bool onoff) { myFlags.showSelected =onoff;}
187  void showNonSelected(bool onoff) { myFlags.showNonSelected =onoff;}
188  void showTemplates(bool onoff) { myFlags.showTemplates =onoff;}
189  void showFootprints(bool onoff) { myFlags.showFootprints =onoff;}
190  void showCurrentOutput(bool onoff)
191  { myFlags.showCurrentOutput = onoff;}
192  void showDisplay(bool onoff) { myFlags.showDisplay =onoff;}
193  void showGuides(bool onoff) { myFlags.showGuides =onoff;}
194  void showObjectNames(bool onoff) { myFlags.showObjectNames =onoff;}
195  void showFullNames(bool onoff) { myFlags.showFullNames =onoff;}
196  void drawOrigin(bool onoff) { myFlags.drawOrigin =onoff;}
197  void drawStickyOrigin(bool onoff) { myFlags.drawStickyOrigin=onoff;}
198  void drawViewPivot(bool onoff) { myFlags.drawViewPivot =onoff;}
199  void drawWalls(bool onoff) { myFlags.drawWalls =onoff;}
200  void drawXYPlane(bool onoff) { myFlags.drawXYPlane =onoff;}
201  void drawXZPlane(bool onoff) { myFlags.drawXZPlane =onoff;}
202  void drawYZPlane(bool onoff) { myFlags.drawYZPlane =onoff;}
203  void drawFieldGuide(bool onoff) { myFlags.drawFieldGuide =onoff;}
204  void drawSafeArea(bool onoff) { myFlags.drawSafeArea =onoff;}
205  void drawBackgrounds(bool onoff) { myFlags.drawBackgrounds =onoff;}
206  void drawEnvironmentMaps(bool onoff)
207  { myFlags.drawEnvironmentMaps =onoff;}
208  void drawFilteredBackgrounds(bool onoff)
209  { myFlags.drawFilteredBackgrounds=onoff;}
210  void showIKCriticalZones(bool onoff)
211  { myFlags.showIKCriticalZones =onoff;}
212  void setDrawCameraMask(bool onoff)
213  { myFlags.drawCameraMask =onoff;}
214  void drawBadges(bool onoff) { myFlags.drawBadges =onoff;}
215  void drawVertexAttrib2D(bool onoff)
216  { myFlags.drawVertexAttrib2D = onoff; }
217  void autoDetectAttribType2D(bool onoff)
218  { myFlags.autoDetectAttribType2D = onoff; }
219  void drawSpecular(bool onoff)
220  { myFlags.drawSpecular = onoff; }
221  void drawMultiTexture(bool onoff)
222  { common().drawMultiTexture(onoff); }
223  void applySelectMask(bool onoff)
224  { myFlags.applySelectMask = onoff; }
225  void drawXRay(bool xray) { myFlags.drawXRay = xray; }
226  void xrayQuality(bool q) { myFlags.xrayQuality = q; }
227  void xrayWireStrength(fpreal w) { myXRayWireStrength = w; }
228  void drawObjectOrigins(bool org) { myFlags.drawObjOrigins = org; }
229  void showMaterials(bool show) { common().showMaterials(show); }
230  void useMaterialOverrides(bool ovr) { myFlags.useOverrides = ovr; }
231  void mssEnable(bool mss) { myFlags.mssEnable = mss; }
232  void mssPerPrim(bool mpp) { myFlags.mssPerPrim = mpp; }
233  void mssPacked(bool mp) { myFlags.mssPacked = mp; }
235  { myObjectMaterialLimit=SYSmax(1,m); }
236 
237  void handleHighlightSize(int hl)
238  { myHandleHighlightSize = SYSclamp(hl, 0, 2); }
239  int handleHighlightSize() const { return myHandleHighlightSize; }
241  { myOriginGnomonSize = SYSmax(size, 0.0); }
242  fpreal originGnomonSize() const { return myOriginGnomonSize; }
243 
244  /// set/query enable/disable of shading mode change
245  /// @{
246  void moveModeOn(bool onoff) { myMoveModeOn = onoff; }
247  bool moveModeOn() const { return myMoveModeOn; }
248  /// @}
249 
250  void setUVMapFile(const UT_StringRef &uvmap);
251  const UT_StringRef &getUVMapFile() const { return myUVMapFile; }
252 
253  void setUVMapScale(fpreal scale);
254  fpreal getUVMapScale() const { return myUVMapScale; }
255 
256  /// Rotoscoping background image set/query methods
257  /// @{
258  RE_TextureHolder getRotoTexture(RE_Render *r,
260  float &quality,
261  float &aspect_ratio,
262  UT_DimRect *udim_area = nullptr) const;
263 
264 #ifdef USE_VULKAN
265  bool getRotoVkTexture(RV_Render *r,
266  RV_TextureRef &tex_ref,
267  RV_ImageDim &tex_type,
269  float &quality,
270  float &aspect_ratio) const;
271 #endif
272 
273 
274  void getRotoResolution(GUI_RotoView type, UT_Vector2i &res);
275 
276  bool setRotoFileParms(GUI_RotoView type,
277  const char *file, float quality);
278  bool setRotoCop2Parms(GUI_RotoView type,
279  const char *path, float quality);
280  void setRotoSource(GUI_RotoView type,bool file);
281 
282  void setRotoTime(fpreal t);
283  bool isRotoTimeDependent(GUI_RotoView type) const;
284 
285  fpreal getRotoQuality() const;
286  void setRotoQuality(fpreal q);
287 
288  void setRotoPath(GUI_RotoView type,
289  bool file_path, const char *path);
290  bool isRotoFile(GUI_RotoView type) const;
291  const char *getRotoCopPath(GUI_RotoView type) const;
292  const char *getRotoFilePath(GUI_RotoView type) const;
293 
294  UI_Value &getRotoCop2CookNotify(GUI_RotoView type);
295  UI_Value &getRotoCop2NameChangeNotify(GUI_RotoView type);
296 
297  void setForegroundImageEnable(bool enable)
298  { myFlags.showForegroundImage = enable; }
300  { return myFlags.showForegroundImage; }
301  void setForegroundImage(const UT_StringRef &file_node_path)
302  { myFGImage = file_node_path; }
303  const UT_StringRef &getForegroundImage() const { return myFGImage; }
304  void setForegroundImageDepth(bool enable)
305  { myFlags.useForegroundDepth = enable; }
307  { return myFlags.useForegroundDepth; }
309  { myFGDepthPlane = plane; }
311  { return myFGDepthPlane; }
313  {
318  DEPTH_WORLD_POS
319  };
321  { myFGDepthStyle = style; }
323  { return myFGDepthStyle; }
324 
325  void foregroundOpacity(fpreal opacity)
326  { myFGOpacity = SYSclamp(opacity, 0.0, 1.0); }
328  { return myFGOpacity; }
329 
330  void getImageMinUV(float arr[2]) const
331  {
332  arr[0] = myImageMinUV[0];
333  arr[1] = myImageMinUV[1];
334  }
335  void setImageMinUV(float arr[2])
336  {
337  myImageMinUV[0] = arr[0];
338  myImageMinUV[1] = arr[1];
339  }
340  void getImageMaxUV(float arr[2]) const
341  {
342  arr[0] = myImageMaxUV[0];
343  arr[1] = myImageMaxUV[1];
344  }
345  void setImageMaxUV(float arr[2])
346  {
347  myImageMaxUV[0] = arr[0];
348  myImageMaxUV[1] = arr[1];
349  }
350 
351  void getImageOffset(GUI_RotoView view, float arr[2]) const
352  {
353  arr[0] = myRotoViews[view].myImageOffset[0];
354  arr[1] = myRotoViews[view].myImageOffset[1];
355  }
356  void setImageOffset(GUI_RotoView view, float arr[2])
357  {
358  myRotoViews[view].myImageOffset[0] = arr[0];
359  myRotoViews[view].myImageOffset[1] = arr[1];
360  }
361  void getImageScale(GUI_RotoView view, float arr[2]) const
362  {
363  arr[0] = myRotoViews[view].myImageScale[0];
364  arr[1] = myRotoViews[view].myImageScale[1];
365  }
366  void setImageScale(GUI_RotoView view, float arr[2])
367  {
368  myRotoViews[view].myImageScale[0] = arr[0];
369  myRotoViews[view].myImageScale[1] = arr[1];
370  }
371 
373  { return myRotoViews[view].myOpacity; }
374  void setOpacity(GUI_RotoView view, float opacity)
375  { myRotoViews[view].myOpacity = opacity; }
376 
377  enum class ImageFitMode
378  {
379  /// Fit the image so that the horizontal dimension fits within the viewport
380  /// _________
381  /// ||_________||
382  /// || ||
383  /// ||_________||
384  /// ||_________||
385  ///
386  HORIZONTAL = 0,
387 
388  /// Fit the image so that the vertical dimension fits within the viewport
389  /// ___ _________ ___
390  /// | || || |
391  /// | || || |
392  /// | || || |
393  /// |___||_________||___|
394  ///
395  VERTICAL,
396 
397  /// Stretch the image to fit within the viewport
398  /// _________
399  /// || ||
400  /// || ||
401  /// || ||
402  /// ||_________||
403  ///
404  FILL,
405 
406  /// Scale the image to so that the longest dimension fits within the viewport
407  /// _________
408  /// ||_________||
409  /// || ||
410  /// ||_________||
411  /// ||_________||
412  ///
413  SCALE,
414 
415  NUM_FIT_MODES
416  };
417 
418  ImageFitMode
420  { return myRotoViews[view].myImageFitMode; }
422  { myRotoViews[view].myImageFitMode = fit_mode; }
423 
425  { return myRotoViews[view].myBrightness; }
426  void setBrightness(GUI_RotoView view, float brightness)
427  { myRotoViews[view].myBrightness = brightness; }
428 
429  void autoPlaceImage(GUI_RotoView view, bool onoff)
430  { myRotoViews[view].myAutoPlaceImage = onoff; }
432  { return myRotoViews[view].myAutoPlaceImage; }
433 
434  void envMapImage(GUI_RotoView view, bool onoff)
435  { myRotoViews[view].myEnvMapImage = onoff; }
437  { return myRotoViews[view].myEnvMapImage; }
438 
439  int isRotoFileVideo(GUI_RotoView view) const;
440 
441  int getRotoVideoClipStartFrame(GUI_RotoView view) const;
442  void setRotoVideoClipStartFrame(GUI_RotoView view, int start_frame);
443 
444  int getRotoVideoClipEndFrame(GUI_RotoView view) const;
445  void setRotoVideoClipEndFrame(GUI_RotoView view, int end_frame);
446 
447  fpreal getRotoVideoPlaybackStartFrame(GUI_RotoView view) const;
448  void setRotoVideoPlaybackStartFrame(GUI_RotoView view, fpreal start_frame);
449 
450  fpreal getRotoVideoPlaybackSpeed(GUI_RotoView view) const;
451  void setRotoVideoPlaybackSpeed(GUI_RotoView view, fpreal speed);
452 
453  const char * getRotoVideoColorSpace(GUI_RotoView view) const;
454  void setRotoVideoColorSpace(GUI_RotoView view, const char *color_space);
455 
456  bool getRotoVideoFrameRateEnabled(GUI_RotoView view) const;
457  void setRotoVideoFrameRateEnabled(GUI_RotoView view, bool enabled);
458 
459  fpreal getRotoVideoFrameRate(GUI_RotoView view) const;
460  void setRotoVideoFrameRate(GUI_RotoView view, fpreal frame_rate);
461 
462  int getRotoVideoRotation(GUI_RotoView view) const;
463  bool getRotoVideoIsRotated(GUI_RotoView view) const;
464 
465  bool getRotoVideoIsTopFirst(GUI_RotoView view) const;
466 
467  int getRotoVideoSourceFrameCount(GUI_RotoView view) const;
468  fpreal getRotoVideoSourceFrameRate(GUI_RotoView view) const;
469 
470  void setUseFixedImageRes(bool use_fixed)
471  { myUseFixedImageRes = use_fixed; }
472  bool getUseFixedImageRes() const
473  { return myUseFixedImageRes; }
474  void setUseViewportRes(bool use_vp)
475  { myUseViewportRes = use_vp; }
476  bool getUseViewportRes() const
477  { return myUseViewportRes; }
478  void setFixedImageRes(int w, int h)
479  {
480  if(myForLopsView)
481  myFixedImageRes.assign(w,h);
482  }
484  { return myForLopsView ? myFixedImageRes : UT_Vector2i(0,0); }
485  void setCurrentImageRes(int w, int h)
486  { myCurrentImageRes.assign(w,h); }
488  { return myForLopsView ? myCurrentImageRes :UT_Vector2i(0,0); }
490  { myImageResFraction =fraction; }
492  { return myImageResFraction; }
493 
494  bool getCameraCropMask() const { return myCameraCropMask; }
495  void setCameraCropMask(bool crop) { myCameraCropMask = crop; }
496 
497  static const char *getRotoViewName(GUI_RotoView view);
498  /// @}
499 
500  /// Methods to query/change the scale at which handles are drawn.
501  /// @{
502  static float getHandleScale() { return theHandleScale; }
503  static void setHandleScale(float v)
504  { theHandleScale = SYSclamp(v, 0.01f, 1.0f); }
505  /// @}
506 
507  // This method is called when user options are being destroyed.
508  void removeUserOption(int option_id);
509 
510  /// Refresh the cached version keys for the enabled user options to reflect
511  /// the most up-to-date version.
512  void refreshUserOptionVersions();
513 
514  /// State which switches the geometry context display options between the
515  /// Scene and Model display sets. When at the object level, the scene is
516  /// used.
517  /// @{
518  bool isObjectLevel() const { return myNoSaveFlags.isObjectLevel; }
519  void setObjectLevel(bool onoff);
520  /// @}
521 
522  /// The select mask is set when the user is in a "select" state to
523  /// automatically turn on some decorations. The mask is used to
524  /// temporarily tweak the appropriate display options, and does not,
525  /// in and of itself, invalidate display lists.
526  /// @{
527  unsigned getSelectMask() const { return mySelectMask; }
528  void setSelectMask(unsigned mask) { mySelectMask = mask; }
529  /// @}
530 
531  /// This value is changed when the scene is switched from obj to sop/dop
532  /// level.
533  UI_Value &getObjectLevelNotify() { return myObjectLevelNotify; }
534 
535  /// For the OpenGL ROP only: Allows a single stereo camera to be rendered.
537  {
540  GUI_DISP_STEREO_RIGHT
541  };
542 
543  /// Allow rendering of a single stereo camera eye.
544  /// @{
546  { myStereoPass = pass; }
547  bool isStereoLeftRender() const
548  { return (myStereoPass == GUI_DISP_STEREO_BOTH ||
549  myStereoPass == GUI_DISP_STEREO_LEFT); }
550  bool isStereoRightRender() const
551  { return (myStereoPass == GUI_DISP_STEREO_BOTH ||
552  myStereoPass == GUI_DISP_STEREO_RIGHT); }
553  /// @}
554 
555  /// Returns true if any of the geometry contexts have this option set.
556  /// @{
557  ANY_FLAG_ACTIVE_IN_SETS(drawPointCoincident);
558  ANY_FLAG_ACTIVE_IN_SETS(drawPointMarkers);
559  ANY_FLAG_ACTIVE_IN_SETS(uvFillOverlap);
560  /// @}
561 
562  /// Auto-select quality/preformance presets based on hardware queries.
563  /// Only works at startup.
564  void updateOptionsForHardware(RE_RenderContext r);
565 
566 
567  /// Returns true if the passed options are compatible with these options,
568  /// meaning that update() does not need to be called on GR_Primitives if
569  /// 'opt' is used after this option. This could happen if 'opt' had a marker
570  /// on that required an attribute that this options set does not.
571  bool compatibleWith(const GUI_DisplayOption &opt) const;
572 
573 
574  void setHeadlightIntensity(fpreal i);
575  fpreal getHeadlightIntensity() const { return myHeadlightIntensity; }
576 
577  void setHeadlightDirection(UT_Vector3D dir);
578  UT_Vector3D getHeadlightDirection() const { return myHeadlightDir; }
579 
580  void setHeadlightSpecular(bool use_spec);
581  bool getHeadlightSpecular() const { return myHeadlightSpec; }
582 
583  void setHeadlightHighQuality(bool hq) { myHeadlightHQ = hq; }
584  bool getHeadlightHighQuality() const { return myHeadlightHQ; }
585 
586  void setHQLightLimit(int nlights) { myHQLightLimit = nlights; }
587  int getHQLightLimit() const { return myHQLightLimit; }
588  bool hasHQLightLimit() const { return myHQLightLimit > 0; }
589  void setShadowMapMemMB(int mem) { myShadowMapMemMB = SYSmax(1,mem);}
590  int getShadowMapMemMB() const { return myShadowMapMemMB;}
592  { myShadowMapGenTime=SYSmax(0.0,t); }
593  fpreal getShadowMapGenTime() const { return myShadowMapGenTime; }
594  void setLightSamplingLimit(int limit) {myLightSampleLimit = limit;}
595  int getLightSamplingLimit() const { return myLightSampleLimit; }
596  bool hasLightSamplingLimit() const { return myLightSampleLimit>0; }
598  { myFlags.myFastHQIntLight = e; }
600  { return myFlags.myFastHQIntLight; }
601 
602  void setDOFEnable(bool dof) { myFlags.dofEnable = dof; }
603  bool isDOFEnabled() const { return myFlags.dofEnable; }
604  enum DOFBokeh
605  {
608  DOF_TEXTURE_BOKEH
609  };
610  void setDOFBokeh(DOFBokeh b) { myDOFBokeh = b; }
611  DOFBokeh getDOFBokeh() const { return myDOFBokeh; }
612  void setDOFTexture(const UT_StringRef &tex) { myDOFTex = tex; }
613  const UT_StringRef &getDOFTexture() const { return myDOFTex; }
614  fpreal getDOFBokehAspect() const { return myDOFBokehAspect; }
615  void setDOFBokehAspect(fpreal a) { myDOFBokehAspect=SYSmax(a,0.01); }
616  fpreal getDOFBokehBoost() const { return myDOFBokehBoost; }
617  void setDOFBokehBoost(fpreal b) { myDOFBokehBoost = b; }
618 
619  // Uniform fog
620  void setUniformFogEnable(bool fog) { myFlags.uniformFogEnable=fog; }
621  bool isUniformFogEnabled() const { return myFlags.uniformFogEnable;}
622  void setUniformFogDensity(fpreal d) { myUniformFog.myFogDensity=d; }
623  fpreal getUniformFogDensity() const{return myUniformFog.myFogDensity;}
624  void setUniformFogOpacity(fpreal d) { myUniformFog.myFogOpacity=d; }
625  fpreal getUniformFogOpacity() const{return myUniformFog.myFogOpacity;}
627  { myUniformFog.myFogColor = c; }
628  UT_Vector3F getUniformFogColor() const { return myUniformFog.myFogColor; }
629  void setUniformFogStart(fpreal s) { myUniformFog.myFogStart = s; }
630  fpreal getUniformFogStart() const { return myUniformFog.myFogStart; }
631  void setUniformFogEnd(fpreal e) { myUniformFog.myFogEnd = e; }
632  fpreal getUniformFogEnd() const { return myUniformFog.myFogEnd; }
634  { return myUniformFog.myFogHeightMode; }
636  { myUniformFog.myFogHeightMode = SYSclamp(m,-1,1); }
637  fpreal getUniformFogHeight() const { return myUniformFog.myFogHeight;}
638  void setUniformFogHeight(fpreal h) { myUniformFog.myFogHeight = h; }
640  { return myUniformFog.myFogFalloff; }
642  { myUniformFog.myFogFalloff = f; }
644  { myUniformFog.myFogIntensity=SYSmax(0.0,f); }
646  { return myUniformFog.myFogIntensity; }
647 
648  void setUniformFogSunBloom(fpreal f) { myUniformFogSunBloom = f; }
649  fpreal getUniformFogSunBloom() const { return myUniformFogSunBloom; }
650  void setUniformFogUseSun(bool d) { myUniformFogUseSun = d; }
651  bool getUniformFogUseSun() const { return myUniformFogUseSun; }
653  { myUniformFogClipDistance = d; }
655  { return myUniformFogClipDistance; }
656 
657 
658  // Volume Fog
659  void setVolumeFogEnable(bool fog) { myFlags.volumeFogEnable=fog; }
660  bool isVolumeFogEnabled() const { return myFlags.volumeFogEnable;}
661  void setVolumeFogDensity(fpreal d) { myVolumeFog.myFogDensity=d; }
662  fpreal getVolumeFogDensity() const{return myVolumeFog.myFogDensity;}
663  void setVolumeFogOpacity(fpreal d) { myVolumeFog.myFogOpacity=d; }
664  fpreal getVolumeFogOpacity() const{return myVolumeFog.myFogOpacity;}
666  { myVolumeFog.myFogColor = c; }
667  UT_Vector3F getVolumeFogColor() const { return myVolumeFog.myFogColor; }
668  void setVolumeFogStart(fpreal s) { myVolumeFog.myFogStart = s; }
669  fpreal getVolumeFogStart() const { return myVolumeFog.myFogStart; }
670  void setVolumeFogEnd(fpreal e) { myVolumeFog.myFogEnd = e; }
671  fpreal getVolumeFogEnd() const { return myVolumeFog.myFogEnd; }
673  { return myVolumeFog.myFogHeightMode; }
675  { myVolumeFog.myFogHeightMode = SYSclamp(m,-1,1); }
676  fpreal getVolumeFogHeight() const { return myVolumeFog.myFogHeight;}
677  void setVolumeFogHeight(fpreal h) { myVolumeFog.myFogHeight = h; }
679  { return myVolumeFog.myFogFalloff; }
681  { myVolumeFog.myFogFalloff = f; }
683  { myVolumeFog.myFogIntensity=SYSmax(0.0,f); }
685  { return myVolumeFog.myFogIntensity; }
686  int getVolumeFogQuality() const { return myVolumeFogQuality; }
688  { myVolumeFogQuality = SYSclamp(q, 0,3); }
690  {
691  myVolumeFogScatterPara = SYSmax(0.0, para);
692  myVolumeFogScatterPerp = SYSmax(0.0, perp);
693  }
694  void getVolumeFogLightScatter(fpreal &para, fpreal &perp) const
695  {
696  para = myVolumeFogScatterPara;
697  perp = myVolumeFogScatterPerp;
698  }
699 
700  void setBloomEnable(bool e) { myFlags.bloom = e; }
701  bool isBloomEnabled() const { return myFlags.bloom; }
702  void setBloomScale(fpreal sc) { myBloomScale = sc; }
703  fpreal getBloomScale() const { return myBloomScale; }
704  void setBloomIntensity(fpreal i) { myBloomIntensity = i; }
705  fpreal getBloomIntensity() const { return myBloomIntensity; }
706  void setBloomThreshold(fpreal th) { myBloomThreshold = th; }
707  fpreal getBloomThreshold() const { return myBloomThreshold; }
708 
709  void setFogNode(const char *node) { myFogNode = node; }
710  const UT_StringRef &getFogNode() const { return myFogNode; }
711 
713  {
714  DEFAULT_MATERIAL_SIMPLE = 0,
715  DEFAULT_MATERIAL_MATCAP
716  };
717  void setDefaultMaterialType(DefaultMaterialType type);
718  void setDefaultMatCapFile(const UT_StringRef &tex_filepath);
719  void setDefaultMatCapIntensity(fpreal intensity);
720  void setDefaultMaterialDiffuse(UT_Color col);
721  void setDefaultMaterialSpecular(UT_Color col);
722  void setDefaultMaterialAmbient(UT_Color col);
723  void setDefaultMaterialEmission(UT_Color col);
724  void setDefaultMaterialRoughness(fpreal rough);
725  void setDefaultMaterialSpecRoughness(fpreal srough);
726 
728  { return myDefaultMatType; }
730  { return myDefaultMatCapFile; }
732  { return myDefaultMatCapIntensity; }
733  UT_Color getDefaultMaterialDiffuse() const { return myDefaultDiffuse; }
734  UT_Color getDefaultMaterialSpecular() const{ return myDefaultSpecular; }
735  UT_Color getDefaultMaterialAmbient() const { return myDefaultAmbient; }
736  UT_Color getDefaultMaterialEmission() const{ return myDefaultEmission; }
737  fpreal getDefaultMaterialRoughness() const{ return myDefaultRough; }
739  { return myDefaultSpecRough; }
740 
741  bool isDefaultMaterialDirty() const{ return myDefaultMaterialDirty;}
742  void clearDefaultMaterialDirty() { myDefaultMaterialDirty=false;}
743 
744  bool isDefaultMatCapDirty() const{ return myDefaultMatCapDirty;}
745  bool clearDefaultMatCapDirty(){ return myDefaultMatCapDirty=false;}
746 
747  void forceMSSUpdate(bool) { myMSSUpdateSerial++; }
748  exint getMSSUpdateSerial() const { return myMSSUpdateSerial; }
749 
750  void getRecommendedTextureLimit(RE_Render *r,
751  int &max2d, int &max3d) const;
752 private:
753  // data:
754 
755  GR_DisplayOption *myDisplaySet[GUI_NUM_DISPLAY_SETS];
756  GUI_DisplaySetType myDisplaySetMap[GUI_NUM_DISPLAY_SETS];
757  GR_CommonDispOption myCommonOptions; // global to viewport
758 
759  float myImageMinUV[2];
760  float myImageMaxUV[2];
761 
762  fpreal myOriginGnomonSize;
763  int myHandleHighlightSize;
764 
765  static float theHandleScale;
766 
767  UT_Vector3D myHeadlightDir;
768  fpreal myHeadlightIntensity;
769  bool myHeadlightSpec;
770  bool myHeadlightHQ;
771 
772  UT_Color myDefaultDiffuse;
773  UT_Color myDefaultSpecular;
774  UT_Color myDefaultEmission;
775  UT_Color myDefaultAmbient;
776  fpreal myDefaultRough;
777  fpreal myDefaultSpecRough;
778  bool myDefaultMaterialDirty;
779 
780  DefaultMaterialType myDefaultMatType;
781  UT_StringHolder myDefaultMatCapFile;
782  fpreal myDefaultMatCapIntensity;
783  bool myDefaultMatCapDirty;
784 
785  fpreal myXRayWireStrength;
786 
787  struct
788  {
791  float myImageOffset[2] = {0.0f, 0.0f};
792  float myImageScale[2] = {1.0f, 1.0f};
793  float myOpacity = 1.0f;
794  float myBrightness = 1.0f;
795  bool myAutoPlaceImage = false;
796  ImageFitMode myImageFitMode = ImageFitMode::SCALE;
797  bool myEnvMapImage = false;
798  } myRotoViews[GUI_NUM_ROTO_VIEWS];
799 
800  UT_StringHolder myFGImage;
801  UT_StringHolder myFGDepthPlane;
802  FGDepthStyle myFGDepthStyle;
803  fpreal myFGOpacity;
804 
805  unsigned mySelectMask; // mask of entities the user
806  // wants to select. Not saved.
807  struct
808  {
809  unsigned
810  showSelected :1,
811  showNonSelected :1,
812  showTemplates :1,
813  showFootprints :1,
814  showCurrentOutput :1,
815  showDisplay :1,
816  showGuides :1,
817  showObjectNames :1,
818  showFullNames :1,
819  drawOrigin :1,
820  drawStickyOrigin :1,
821  drawViewPivot :1,
822  drawWalls :1, // draw bounding walls
823  drawXYPlane :1, // draw XY reference plane
824  drawXZPlane :1, // draw XZ reference plane
825  drawYZPlane :1, // draw YZ reference plane
826  drawFieldGuide :1,
827  drawSafeArea :1,
828  drawBackgrounds :1, // draw background images
829  drawEnvironmentMaps :1,
830  drawFilteredBackgrounds:1, // filter background in UV viewport.
831  drawVertexAttrib2D :1, // use vertex attribute
832  autoDetectAttribType2D:1, // automatically track the attribute type
833  drawSpecular :1, // specular highlights
834  showIKCriticalZones :1, // inverse kin. danger zones
835  drawCameraMask :1,
836  drawBadges :1, // show viewport status badges
837  drawXRay :1, // allow draw of xray objs
838  xrayQuality :1, // fast/quality xray draw
839  drawObjOrigins :1, // allow draw of obj axes
840  applySelectMask :1, // select mask drives specific decorations
841  useOverrides :1, // Apply material overrides
842  mssEnable :1, // Apply material stylesheets
843  mssPacked :1, // Eval material stylesheets for packed geo
844  mssPerPrim :1, // per-prim material stylesheet eval
845  dofEnable :1, // Depth of field
846  uniformFogEnable :1, // Fog (uniform)
847  volumeFogEnable :1, // Fog (volumetric)
848  bloom :1, // Light bloom
849  showForegroundImage :1, // FG Image
850  useForegroundDepth :1, // Use FG Image depth plane if present
851  myFastHQIntLight :1; // Lower samples in HQ Lighting/interaction
852 
853  } myFlags;
854 
855  struct
856  {
857  unsigned isObjectLevel :1; // Is this an object view?
858  } myNoSaveFlags;
859 
860  // whether shading mode change is enabled/disabled
861  bool myMoveModeOn;
862  int myObjectMaterialLimit;
863 
864  gui_StereoPass myStereoPass;
865  UI_Value myObjectLevelNotify;
866  bool myLoadedDefaults;
867  exint myMSSUpdateSerial;
868  gui_MatAssignMode myMatAssignMode;
869  bool myMatUpdate;
870  bool myForLopsView;
871 
872  int myHQLightLimit;
873  int myLightSampleLimit;
874  int myShadowMapMemMB;
875  fpreal myShadowMapGenTime;
876 
877  UT_IntArray mySceneOptions;
878  UT_Vector2i myFixedImageRes;
879  UT_Vector2i myCurrentImageRes;
880  fpreal myImageResFraction;
881  bool myUseFixedImageRes;
882  bool myUseViewportRes;
883  bool myCameraCropMask;
884 
885  class FogParms
886  {
887  public:
888  FogParms() : myFogColor(1.0,1.0,1.0), myFogDensity(1.0),
889  myFogOpacity(1.0), myFogStart(0.0), myFogEnd(1000.0),
890  myFogHeightMode(0), myFogHeight(100.0),
891  myFogIntensity(1.0), myFogFalloff(10.0)
892  {}
893  UT_Vector3F myFogColor;
894  fpreal myFogDensity;
895  fpreal myFogOpacity;
896  fpreal myFogStart;
897  fpreal myFogEnd;
898  int myFogHeightMode;
899  fpreal myFogHeight;
900  fpreal myFogIntensity;
901  fpreal myFogFalloff;
902  };
903  FogParms myUniformFog;
904  fpreal myUniformFogClipDistance;
905  bool myUniformFogUseSun;
906  fpreal myUniformFogSunBloom;
907 
908  FogParms myVolumeFog;
909  int myVolumeFogQuality;
910  fpreal myVolumeFogScatterPara;
911  fpreal myVolumeFogScatterPerp;
912  UT_StringHolder myFogNode;
913 
914  fpreal myBloomScale;
915  fpreal myBloomIntensity;
916  fpreal myBloomThreshold;
917 
918  DOFBokeh myDOFBokeh;
919  UT_StringHolder myDOFTex;
920  fpreal myDOFBokehAspect;
921  fpreal myDOFBokehBoost;
922 
923  UT_StringHolder myUVMapFile;
924  fpreal myUVMapScale;
925  GR_RenderVersion myRenderType;
926 };
927 
928 #endif
fpreal getUniformFogHeight() const
FGDepthStyle getForegroundDepthStyle() const
bool drawXYPlane() const
#define SYSmax(a, b)
Definition: SYS_Math.h:1538
UI_Value & getObjectLevelNotify()
void drawObjectOrigins(bool org)
bool isStereoRightRender() const
void setForegroundImageDepth(bool enable)
void setCurrentImageRes(int w, int h)
bool getUseFixedImageRes() const
void setVolumeFogStart(fpreal s)
void getImageMinUV(float arr[2]) const
void showFullNames(bool onoff)
fpreal getDefaultMaterialRoughness() const
void showIKCriticalZones(bool onoff)
bool isObjectLevel() const
UT_Color getDefaultMaterialSpecular() const
void drawFilteredBackgrounds(bool onoff)
void setVolumeFogEnable(bool fog)
void setForegroundImageEnable(bool enable)
const int GUI_NUM_DISPLAY_MODEL_SETS
fpreal xrayWireStrength() const
bool materialUpdate() const
void drawViewPivot(bool onoff)
fpreal getBloomThreshold() const
static float getHandleScale()
fpreal getVolumeFogStart() const
void setVolumeFogQuality(int q)
void setDrawCameraMask(bool onoff)
void mssEnable(bool mss)
void showMaterials(bool show)
const GR_DisplayOption & operator[](GUI_DisplaySetType type) const
const GLdouble * v
Definition: glcorearb.h:837
int getShadowMapMemMB() const
fpreal getHeadlightIntensity() const
fpreal getUniformFogOpacity() const
DefaultMaterialType getDefaultMaterialType() const
void setUseFixedImageRes(bool use_fixed)
float getBrightness(GUI_RotoView view) const
bool drawFilteredBackgrounds() const
void drawWalls(bool onoff)
GLsizei const GLchar *const * path
Definition: glcorearb.h:3341
void foregroundOpacity(fpreal opacity)
UT_Color getDefaultMaterialEmission() const
void drawStickyOrigin(bool onoff)
bool drawObjectOrigins() const
void getImageOffset(GUI_RotoView view, float arr[2]) const
int64 exint
Definition: SYS_Types.h:125
void setVolumeFogOpacity(fpreal d)
fpreal getUniformFogSunBloom() const
const UT_StringRef & getForegroundDepthPlane() const
bool drawOrigin() const
void setVolumeFogFalloff(fpreal f)
GLboolean GLboolean GLboolean GLboolean a
Definition: glcorearb.h:1222
GLdouble s
Definition: glad.h:3009
void drawYZPlane(bool onoff)
bool getHeadlightSpecular() const
void drawMultiTexture(bool onoff)
void setImageMinUV(float arr[2])
bool drawViewPivot() const
bool showNonSelected() const
Opaque reference to a texture stored in the RV_TextureCache.
Definition: RV_Type.h:175
bool drawSpecular() const
bool getDrawCameraMask() const
void setFastInteractiveHQLight(bool e)
int getVolumeFogHeightMode() const
void setForegroundImage(const UT_StringRef &file_node_path)
void setUniformFogOpacity(fpreal d)
GLenum GLenum GLsizei const GLuint GLboolean enabled
Definition: glcorearb.h:2539
void setOpacity(GUI_RotoView view, float opacity)
void handleHighlightSize(int hl)
void setVolumeFogDensity(fpreal d)
GLdouble GLdouble GLdouble q
Definition: glad.h:2445
void setVolumeFogHeightMode(int m)
bool isDOFEnabled() const
void drawXRay(bool xray)
bool getForegroundImageEnable() const
int getHQLightLimit() const
bool showFullNames() const
UT_Color getDefaultMaterialAmbient() const
GUI_DisplaySetType
Context specific display options for geometry states.
void showDisplay(bool onoff)
Temporary container for either a RV_Render and an RE_Render.
bool getFastInteractiveHQLight() const
void setImageOffset(GUI_RotoView view, float arr[2])
bool drawYZPlane() const
int getLightSamplingLimit() const
void setDOFTexture(const UT_StringRef &tex)
exint getMSSUpdateSerial() const
std::unique_ptr< T, Deleter > UT_UniquePtr
A smart pointer for unique ownership of dynamically allocated objects.
Definition: UT_UniquePtr.h:39
bool getHeadlightHighQuality() const
bool xrayQuality() const
UT_Vector3D getHeadlightDirection() const
void setUniformFogUseSun(bool d)
bool getUseViewportRes() const
void xrayWireStrength(fpreal w)
void showObjectNames(bool onoff)
fpreal getVolumeFogEnd() const
GA_API const UT_StringHolder scale
bool showIKCriticalZones() const
fpreal getVolumeFogOpacity() const
void setLightSamplingLimit(int limit)
GLfloat f
Definition: glcorearb.h:1926
void envMapImage(GUI_RotoView view, bool onoff)
const UT_StringRef & getDefaultMatCapFile() const
void setShadowMapGenTime(fpreal t)
bool getCameraCropMask() const
const UT_StringRef & getUVMapFile() const
bool mssPerPrim() const
void getImageMaxUV(float arr[2]) const
GR_CommonDispOption & common()
bool hasLightSamplingLimit() const
void setSelectMask(unsigned mask)
void setUniformFogFalloff(fpreal f)
fpreal getVolumeFogFalloff() const
fpreal getVolumeFogHeight() const
void setFogNode(const char *node)
void showSelected(bool onoff)
void drawSpecular(bool onoff)
bool showGuides() const
void showTemplates(bool onoff)
fpreal getVolumeFogDensity() const
float getOpacity(GUI_RotoView view) const
void setBloomEnable(bool e)
#define GUI_API
Definition: GUI_API.h:10
fpreal getBloomScale() const
const GR_CommonDispOption & common() const
UT_UniquePtr< OPUI_RotoscopeData > myRotoscopeData
void setBloomThreshold(fpreal th)
void drawXZPlane(bool onoff)
bool mssEnable() const
fpreal getShadowMapGenTime() const
void setDOFBokehAspect(fpreal a)
void setCameraCropMask(bool crop)
bool drawFieldGuide() const
void setUniformFogClipDistance(fpreal d)
void setUniformFogHeight(fpreal h)
UT_Vector3T< T > SYSclamp(const UT_Vector3T< T > &v, const UT_Vector3T< T > &min, const UT_Vector3T< T > &max)
Definition: UT_Vector3.h:1057
void mssPerPrim(bool mpp)
fpreal getImageResFraction() const
GLint GLuint mask
Definition: glcorearb.h:124
void setHQLightLimit(int nlights)
bool drawXZPlane() const
void autoPlaceImage(GUI_RotoView view, bool onoff)
void setDOFEnable(bool dof)
void showGuides(bool onoff)
void setVolumeFogColor(const UT_Vector3F &c)
fpreal getUniformFogClipDistance() const
bool mssPacked() const
void drawBackgrounds(bool onoff)
bool drawBadges() const
const UT_StringRef & getFogNode() const
bool drawBackgrounds() const
bool getUniformFogUseSun() const
void setUniformFogHeightMode(int m)
const int GUI_NUM_ROTO_VIEWS
fpreal getDefaultMaterialSpecRoughness() const
bool isStereoLeftRender() const
bool autoPlaceImage(GUI_RotoView view) const
int objectMaterialLimit() const
GLuint const GLchar * name
Definition: glcorearb.h:786
const UT_StringRef & getForegroundImage() const
void showCurrentOutput(bool onoff)
UT_Vector3F getVolumeFogColor() const
void drawXYPlane(bool onoff)
fpreal getBloomIntensity() const
void setUniformFogColor(const UT_Vector3F &c)
static void setHandleScale(float v)
GLboolean GLboolean GLboolean b
Definition: glcorearb.h:1222
void setUseViewportRes(bool use_vp)
GR_RenderVersion
Definition: GR_Defines.h:21
const int GUI_NUM_DISPLAY_SCENE_SETS
void setFixedImageRes(int w, int h)
bool autoDetectAttribType2D() const
fpreal getUniformFogFalloff() const
void setDOFBokehBoost(fpreal b)
void drawFieldGuide(bool onoff)
int getVolumeFogQuality() const
gui_MatAssignMode materialAssignMode() const
GLdouble t
Definition: glad.h:2397
void setVolumeFogLightScatter(fpreal para, fpreal perp)
bool showMaterials() const
void materialUpdate(bool update)
bool drawEnvironmentMaps() const
void setForegroundDepthPlane(const UT_StringRef &plane)
void setHeadlightHighQuality(bool hq)
void setVolumeFogHeight(fpreal h)
bool drawMultiTexture() const
GLenum mode
Definition: glcorearb.h:99
void setImageFitMode(GUI_RotoView view, ImageFitMode fit_mode)
GR_DisplayOption & operator[](GUI_DisplaySetType type)
void setBrightness(GUI_RotoView view, float brightness)
GR_RenderVersion getRenderType() const
gui_StereoPass
For the OpenGL ROP only: Allows a single stereo camera to be rendered.
fpreal getUniformFogIntensity() const
void drawOrigin(bool onoff)
fpreal getUniformFogEnd() const
void setUniformFogIntensity(fpreal f)
void setForegroundDepthStyle(FGDepthStyle style)
void xrayQuality(bool q)
void setBloomScale(fpreal sc)
GLsizeiptr size
Definition: glcorearb.h:664
GLfloat GLfloat GLfloat GLfloat h
Definition: glcorearb.h:2002
#define ANY_FLAG_ACTIVE_IN_SETS(METHOD)
void materialAssignMode(gui_MatAssignMode mode)
bool isDefaultMaterialDirty() const
bool drawStickyOrigin() const
bool showCurrentOutput() const
fpreal getUniformFogDensity() const
void setUniformFogSunBloom(fpreal f)
void setUniformFogStart(fpreal s)
GUI_RotoView
Viewport type for Rotoscope settings.
bool showTemplates() const
DOFBokeh getDOFBokeh() const
fpreal getDefaultMatCapIntensity() const
bool hasHQLightLimit() const
UT_Vector2i getCurrentImageRes() const
void setImageScale(GUI_RotoView view, float arr[2])
bool drawVertexAttrib2D() const
bool showObjectNames() const
fpreal getDOFBokehBoost() const
fpreal64 fpreal
Definition: SYS_Types.h:277
void originGnomonSize(fpreal size)
UT_Vector3F getUniformFogColor() const
bool getForegroundImageDepth() const
ImageFitMode getImageFitMode(GUI_RotoView view) const
void setVolumeFogEnd(fpreal e)
const UT_StringRef & getDOFTexture() const
bool showDisplay() const
bool drawWalls() const
GUI_DisplaySetType getDisplaySetRemap(GUI_DisplaySetType t) const
UT_Color getDefaultMaterialDiffuse() const
const int GUI_NUM_DISPLAY_SETS
void drawEnvironmentMaps(bool onoff)
fpreal getUniformFogStart() const
bool isDefaultMatCapDirty() const
bool showSelected() const
int getUniformFogHeightMode() const
void applySelectMask(bool onoff)
fpreal foregroundOpacity() const
bool showFootprints() const
void drawVertexAttrib2D(bool onoff)
void setVolumeFogIntensity(fpreal f)
void setDisplaySetRemap(GUI_DisplaySetType follower, GUI_DisplaySetType reference)
Remap the display option set to another set.
bool drawSafeArea() const
Definition: core.h:982
fpreal getVolumeFogIntensity() const
void setSeparateStereoRender(gui_StereoPass pass)
bool envMapImage(GUI_RotoView view) const
fpreal getUVMapScale() const
GLubyte GLubyte GLubyte GLubyte w
Definition: glcorearb.h:857
void drawBadges(bool onoff)
void showFootprints(bool onoff)
void drawSafeArea(bool onoff)
bool useMaterialOverrides() const
fpreal getDOFBokehAspect() const
bool isUniformFogEnabled() const
void moveModeOn(bool onoff)
void setDOFBokeh(DOFBokeh b)
void setRenderType(GR_RenderVersion t)
GLboolean r
Definition: glcorearb.h:1222
int handleHighlightSize() const
bool applySelectMask() const
ImageBuf OIIO_API crop(const ImageBuf &src, ROI roi={}, int nthreads=0)
fpreal originGnomonSize() const
bool moveModeOn() const
void setShadowMapMemMB(int mem)
void showNonSelected(bool onoff)
void setUniformFogEnd(fpreal e)
RV_ImageDim
Definition: RV_Type.h:111
bool isVolumeFogEnabled() const
type
Definition: core.h:1059
void setImageMaxUV(float arr[2])
void getVolumeFogLightScatter(fpreal &para, fpreal &perp) const
unsigned getSelectMask() const
void autoDetectAttribType2D(bool onoff)
void useMaterialOverrides(bool ovr)
void getImageScale(GUI_RotoView view, float arr[2]) const
void setImageResFraction(fpreal fraction)
void setBloomIntensity(fpreal i)
void setUniformFogDensity(fpreal d)
void mssPacked(bool mp)
UT_Vector2T< int32 > UT_Vector2i
bool isBloomEnabled() const
bool drawXRay() const
void setUniformFogEnable(bool fog)
void objectMaterialLimit(int m)
GR_DisplayOption & getDisplaySet(GUI_DisplaySetType type)
Direct cccess to the display set, without any mapping.
UT_Vector2i getFixedImageRes() const