HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RE_Types.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: RE_Types.h ( UI Library, C++)
7  *
8  * COMMENTS:
9  * Common enums and defines for Open GL.
10  */
11 #ifndef __RE_Types__
12 #define __RE_Types__
13 
14 #include "RE_API.h"
15 
16 #define RE_MAX_PICK_DIST 100
17 
18 // The type of a window. Used to set hints for the windowing system
19 // to treat the window differently, and to set up borders and icon settings.
21 {
22  RE_WINDOW_MAIN, // An app window. App exits when all are closed.
23  RE_WINDOW_NORMAL, // A dialog window with min/max-imize buttons.
24  RE_WINDOW_DIALOG, // A transient dialog that should be on top
25  // of its parent window.
26  RE_WINDOW_UTILITY, // A non-transient (i.e., persistent) dialog
27  // like a toolbox or palette.
28  RE_WINDOW_SPLASH, // A splash screen window.
29  RE_WINDOW_TRANSIENT, // A *very* transient window displayed
30  // temporarily (like a tooltip or XCF slider).
31  // Grabs the pointer & is not managed.
32  RE_WINDOW_CHILD, // A child of a window (probably a child of a
33  // NORMAL window). Isn't managed.
34  RE_WINDOW_MENU, // A window for popup menus.
35  RE_WINDOW_HELPTIP, // Same as TRANSIENT, but without focus lock.
36 
37  RE_WINDOW_NORMAL_BORDERLESS,// A dialog window without a border, it is an extra type
38  RE_WINDOW_INVALID_TYPE // Not a type. Used to mean "uninitialized."
39 };
40 // should always point to the last type.
41 #define RE_NUM_WINDOW_TYPES RE_WINDOW_INVALID_TYPE
42 #include <UT/UT_Assert.h>
43 #include <UT/UT_ComputeGPU.h>
45 {
46  RE_GPU_UINT1 = 0, // corresponds to GL_STENCIL_INDEX1
47  RE_GPU_UINT4, // corresponds to GL_STENCIL_INDEX4
51 
55 
57  RE_GPU_FLOAT24, // corresponds to GL_DEPTH_COMPONENT24
60 
61  // These can only be used in the context of a GLSL shader.
65 };
66 
68 {
69  switch (t)
70  {
71  case RE_GPU_UINT1: return UT_GPU_UINT1;
72  case RE_GPU_UINT4: return UT_GPU_UINT4;
73  case RE_GPU_UINT8: return UT_GPU_UINT8;
74  case RE_GPU_UINT16: return UT_GPU_UINT16;
75  case RE_GPU_UINT32: return UT_GPU_UINT32;
76 
77  case RE_GPU_INT8: return UT_GPU_INT8;
78  case RE_GPU_INT16: return UT_GPU_INT16;
79  case RE_GPU_INT32: return UT_GPU_INT32;
80 
81  case RE_GPU_FLOAT16: return UT_GPU_FLOAT16;
82  case RE_GPU_FLOAT24: return UT_GPU_FLOAT24;
83  case RE_GPU_FLOAT32: return UT_GPU_FLOAT32;
84  case RE_GPU_FLOAT64: return UT_GPU_FLOAT64;
85 
86  case RE_GPU_MATRIX2: return UT_GPU_MATRIX2;
87  case RE_GPU_MATRIX3: return UT_GPU_MATRIX3;
88  case RE_GPU_MATRIX4: return UT_GPU_MATRIX4;
89  }
90 
91  UT_ASSERT(!"Unknown RE_GPUType.");
92  return UT_GPU_UINT8;
93 }
94 
96 {
97  switch (t)
98  {
99  case UT_GPU_UINT1: return RE_GPU_UINT1;
100  case UT_GPU_UINT4: return RE_GPU_UINT4;
101  case UT_GPU_UINT8: return RE_GPU_UINT8;
102  case UT_GPU_UINT16: return RE_GPU_UINT16;
103  case UT_GPU_UINT32: return RE_GPU_UINT32;
104 
105  case UT_GPU_INT8: return RE_GPU_INT8;
106  case UT_GPU_INT16: return RE_GPU_INT16;
107  case UT_GPU_INT32: return RE_GPU_INT32;
108 
109  case UT_GPU_FLOAT16: return RE_GPU_FLOAT16;
110  case UT_GPU_FLOAT24: return RE_GPU_FLOAT24;
111  case UT_GPU_FLOAT32: return RE_GPU_FLOAT32;
112  case UT_GPU_FLOAT64: return RE_GPU_FLOAT64;
113 
114  case UT_GPU_MATRIX2: return RE_GPU_MATRIX2;
115  case UT_GPU_MATRIX3: return RE_GPU_MATRIX3;
116  case UT_GPU_MATRIX4: return RE_GPU_MATRIX4;
117  }
118 
119  UT_ASSERT(!"Unknown UT_GPUType.");
120  return RE_GPU_UINT8;
121 }
122 
123 // defined in RE_OGLRender.C
124 RE_API extern const char *REgetTypeName(RE_GPUType p);
125 
126 #include <PXL/PXL_Common.h>
127 #include <IMG/IMG_FileTypes.h>
129 {
130  switch(t)
131  {
132  default:
133  case IMG_INT8: return RE_GPU_UINT8;
134  case IMG_INT16: return RE_GPU_UINT16;
135  case IMG_INT32: return RE_GPU_UINT32;
136  case IMG_FLOAT32: return RE_GPU_FLOAT32;
137  case IMG_FLOAT16: return RE_GPU_FLOAT16;
138  }
139 
140  UT_ASSERT(!"Unknown type");
141  return RE_GPU_UINT8;
142 }
143 
145 {
147 }
148 
149 // Function to get size in bits of a RE_GPUType
150 inline unsigned int REsizeOfGPUType(RE_GPUType gpu_type)
151 {
152  int bpp = 32;
153 
154  switch(gpu_type)
155  {
156  case RE_GPU_UINT1:
157  bpp = 1;
158  break;
159  case RE_GPU_UINT4:
160  bpp = 4;
161  break;
162  case RE_GPU_UINT8:
163  case RE_GPU_INT8:
164  bpp = 8;
165  break;
166  case RE_GPU_FLOAT16:
167  case RE_GPU_UINT16:
168  case RE_GPU_INT16:
169  bpp = 16;
170  break;
171  case RE_GPU_FLOAT64:
172  bpp = 64;
173  break;
174  case RE_GPU_MATRIX2:
175  bpp = 32 * 4;
176  break;
177  case RE_GPU_MATRIX3:
178  bpp = 32 * 9;
179  break;
180  case RE_GPU_MATRIX4:
181  bpp = 32 * 16;
182  break;
183  // FLOAT24 is padded to 32
184  default:
185  break;
186  }
187 
188  return bpp;
189 }
190 
191 
192 // RE definitions for GL primitives
194 {
197 
199 
203 
207 
208  RE_PRIM_LINES_ADJACENT, // for geometry shaders; includes
209  RE_PRIM_LINE_STRIP_ADJACENT, // extra vertices outside the primitive
210  RE_PRIM_TRIANGLES_ADJACENT, // for curvature
212 
213  RE_PRIM_POLYGONS, // General N-sided polygons
214 
215  RE_PRIM_PATCHES, // Patches sent to tessellation shaders
216 
218 };
219 
220 // defined in RE_OGLRender.C
221 RE_API extern int REgetGLPrim(RE_PrimType t);
222 RE_API extern RE_PrimType REgetREPrim(int gltype);
223 RE_API extern const char *REgetPrimName(RE_PrimType p);
224 
225 
226 // GLSL Shader stage types (bitfield in case a shader function can be applied
227 // to more than one stage type)
229 {
235 
236  RE_SHADER_COMPUTE = 0x20, // cannot be used with other stages
237 
239 };
240 
241 #include <UT/UT_StringHolder.h>
243 {
244  switch(stage)
245  {
246  case RE_SHADER_VERTEX : return "vert";
247  case RE_SHADER_GEOMETRY : return "geom";
248  case RE_SHADER_FRAGMENT : return "frag";
249  case RE_SHADER_TESSCONTROL: return "tcs";
250  case RE_SHADER_TESSEVAL : return "tes";
251  case RE_SHADER_COMPUTE : return "comp";
252  default : return "";
253  }
254 }
255 
256 // Shader language type - now just GLSL.
258 {
261 
264 
266 };
267 
268 // Basic Primitive type that a shader program is designed for.
270 {
275 
277 };
278 
279 // returns the shader target that a given prim would require.
282 
283 // RE definitions for the various GL buffer objects
285 {
286  RE_BUFFER_ATTRIBUTE = 0x001, // generic vertex attribute
287  RE_BUFFER_ELEMENT = 0x002, // vertex connectivity index list
288 
289  RE_BUFFER_UNIFORM = 0x004, // uniform buffer object
290  RE_BUFFER_PIXEL_WRITE = 0x008, // pixels move from CPU->GPU
291  RE_BUFFER_PIXEL_READ = 0x010, // pixels move from GPU->CPU
292  RE_BUFFER_TEXTURE = 0x020, // For buffer textures
293  RE_BUFFER_SHADER_STORAGE = 0x040 // For generic buffers
294 };
295 
297 {
298  // passing data to GPU only.
299  RE_BUFFER_WRITE_ONCE, // written once only, redrawn many
300  RE_BUFFER_WRITE_FREQUENT, // written several times, redrawn many
301  RE_BUFFER_WRITE_STREAM, // one write per redraw
302 
303  // reading data from GPU only.
307 
308  // read and write (ex: rendering to a vertex list to use as geo)
312 };
313 
315 {
319 };
320 
322 {
334 
335 };
336 
338 {
339  RE_ARRAY_VERTEX, // sampled at vertex frequency
340  RE_ARRAY_POINT, // sampled at point frequency (default)
341  RE_ARRAY_PRIMITIVE, // sampled at primitive frequency
342  RE_ARRAY_INSTANCE, // sampled at instance frequency
343  RE_ARRAY_DETAIL, // sampled at detail frequency
344  RE_ARRAY_RANDOM, // randomly sampled
345  RE_ARRAY_NULL // placeholder only for vertex state match
346 };
347 
349 {
352 
360  RE_GENATTRIB_WIDTH, // shares vertex array slot with pscale
361  RE_GENATTRIB_CE, // shares slot with N
362 
367 
371 
377 
378  // sentinel
380 };
381 
382 /// Vertex shader input locations for known attribute types. All others
383 /// attributes are assigned starting at location 'RE_GENLOC_FIRST_CUSTOM'.
385 {
388 
389  RE_LOC_P = 0,
392  RE_LOC_N = 3,
400 
404 
406 };
407 
408 #if defined(WIN32) || defined(MBSD_COCOA)
409 typedef void * Display;
410 #endif
411 
412 // Default GL cache size. 32b machines get 384MB, while 64b machines get 2GB.
413 #ifdef AMD64
414 #define RE_TEXCACHE_DEFAULT_MAX_SIZE int64(512) * 1024 * 1024
415 #define RE_BUFCACHE_DEFAULT_MAX_SIZE int64(2) * 1024 * 1024 * 1024
416 #else
417 #define RE_TEXCACHE_DEFAULT_MAX_SIZE 96 * 1024 * 1024
418 #define RE_BUFCACHE_DEFAULT_MAX_SIZE 384 * 1024 * 1024
419 #endif
420 
421 #define RE_DEFAULT_DPI 85.0
422 #define RE_SCALE_BELOW_RESOLUTION 1000
423 #define RE_MIN_RESOLUTION_SCALE_FACTOR 0.85f
424 
425 #define MM_TO_INCHES(mm) ((mm) / 25.4)
426 
427 #define RE_HALF_TONE_ALPHA 0.6f
428 #define RE_QUARTER_TONE_ALPHA 0.3f
429 
431 {
432  RE_BUFFER_UNINIT = 0, // current buffer not known
433  RE_FRONT, // front buffer
434  RE_BACK, // back buffer (must be double buffered; single use front)
435  RE_BACK_LEFT, // back-left buffer for quad buffered stereo
436  RE_BACK_RIGHT, // back-right buffer for quad buffered stero
437 
438  RE_FBO_ZS, // for rendering to FBO depth or stencil attachments
439  RE_FBO_COLOR // for rendering to FBO attachments 0-15; add the # to
440  // this enum.
441 
442  // RE_BOTH has been removed because the back buffer is no longer valid
443  // after swapping, so you shouldn't need to write to both ever.
444 };
445 
447 {
450 };
451 
453 {
456 };
457 
459 {
462 };
463 
465 {
469 };
470 
472 {
481 };
482 
484 {
493 };
494 
496 {
505 };
506 
508 {
518 };
519 
521 {
530 };
531 
533 {
539 };
540 
542 {
546 };
547 
548 // keep in sync with the GL barrier types (GL_*_BARRIER_BIT)
550 {
566 
567  RE_BARRIER_ALL = 0xFFFFFFFF
568 };
569 
570 #define RE_MODE_MULTISAMPLE_MASK 0x60
571 #define RE_MODE_MULTISAMPLE_SHIFT 5
572 
574 {
575  // The mode components
576  RE_MODE_NONE = 0x000,
577  RE_MODE_RGB = 0x001, // RGB mode (req'd)
578  RE_MODE_DOUBLE = 0x002, // Double buffer
579  RE_MODE_ZBUFFER = 0x004, // Depth buffer
580  RE_MODE_ALPHA = 0x008, // Alpha buffer (RGBA)
581  RE_MODE_STENCIL = 0x010, // Stencil buffer
582  RE_MODE_MULTISAMPLE_LOW = 0x020, // 2x Full Scene AA
583  RE_MODE_MULTISAMPLE_MED = 0x040, // 4x Full Scene AA
584  RE_MODE_MULTISAMPLE_HIGH = 0x060, // 8x (NV) / 6x (ATI) FS AA
585  RE_MODE_ACCUM = 0x080, // Color Accumulation buffer
586  RE_MODE_ACCUM_ALPHA = 0x100, // Alpha accum (needs color acc)
587  RE_MODE_HDR = 0x200, // HDR FP16 (FBO only)
588  RE_MODE_HDR_FP32 = 0x400, // HDR FP32 (FBO only)
589  RE_MODE_STEREO = 0x800, // quad buffer stereo
590 
591  // The actual modes themselves; convenience enums.
594 
597 
600 
603 
607 
610 
614 
621 };
622 
624 {
628 };
629 
631 {
632  RE_SEVERITY_MESSAGE =0, // ARB_debug_group only
633 
637 };
638 
639 // This is a bitmask.
640 // *** You must update REgetDeviceName() if you change this ***
642 {
644 
647  RE_DEVICE_INTEL_GMA = 0x4, // Intel GMA (not supported)
648  RE_DEVICE_INTEL_HD = 0x8, // Intel HD graphics
649  RE_DEVICE_GDI = 0x10, // Software OGL on Windows
651 
652  RE_DEVICE_PRO = 0x100, // Professional series
653  RE_DEVICE_MAC = 0x200, // Mac versions of drivers
654  RE_DEVICE_MAC_SILICON = 0x600, // ARM-based Macs
655 
659 };
660 
662  const char *renderstring);
663 
665 {
666  return (dev & RE_DEVICE_PRO);
667 }
668 
670 {
671  return !(dev & RE_DEVICE_PRO);
672 }
673 
674 class UT_String;
676 
677 #include <UT/UT_IntrusivePtr.h>
682 
683 #include <UT/UT_StringArray.h>
684 
686 
687 class IMG_Raster;
688 typedef IMG_Raster *(*RE_IconLoader)(int, int);
689 
690 class PXL_Lookup;
691 
693 {
694 public:
695  enum class Visualization
696  {
697  NONE,
698  SDF,
699  RANDOMID,
700  IMAGECOORD,
701  HUENML,
702  HUEVEL
703  };
704  RE_RasterOpts() : myZoomX(-1), myZoomY(-1), myRotation(0),
705  myColorScale(1.0f), myColorShift(0.0f),
706  myColorBlack(0.0f), myColorWhite(1.0f),
707  myAlphaScale(1.0f), myAlphaShift(0.0f),
708  myGamma(1.0f), myAspectRatio(1.0f), myVScale(1.0f),
709  myLUTSize(0), myComponent(-1), myModifyAlpha(false),
710  myDither(true), myComponentsAsGrey(true),
711  myLUTObject(0), myTransparent(0), myPremultiplyFlag(0),
712  myFragment16bit(0), myStereoMode(0), myPreBright(0),
713  myIgnoreGamma(false), myColorCorrectDisable(false),
714  myResetViewMatrix(true), myFlipX(false), myFlipY(false),
715  myVisualization(Visualization::NONE)
716  { myLUT[0] = myLUT[1] = myLUT[2] = myLUT[3] = 0; }
717 
718  float myZoomX;
719  float myZoomY;
727  float myGamma;
729  float myVScale;
730  float *myLUT[4];
734  unsigned myModifyAlpha :1,
735  myDither : 1,
736  myComponentsAsGrey :1,
737  myTransparent :1,
738  myPremultiplyFlag:1,
739  myFragment16bit : 2,
740  myStereoMode : 2,
741  myPreBright : 1,
742  myIgnoreGamma : 1,
743  myColorCorrectDisable : 1,
744  myResetViewMatrix :1,
745  myFlipX:1,
746  myFlipY:1;
748 };
749 
750 
751 
752 // stack item for blending & smoothing (which also modifies the blend state)
754 {
755 public:
757  {
758  mySmoothPushed = false;
759  mySmoothRequest = false;
760  mySmoothEnable = false;
761  myForceSmooth = 0;
762  myPrevLineWidth = -1.0f;
763 
764  myBlend = 0;
765  mySourceFactor = RE_SBLEND_ONE;
766  myDestFactor = RE_DBLEND_ZERO;
767  myAlphaSourceFactor = RE_SBLEND_ONE;
768  myAlphaDestFactor = RE_DBLEND_ZERO;
769  myEquation = RE_BLEND_ADD;
770  }
771 
772  void copy(const re_BlendSmoothState &state)
773  {
774  mySmoothPushed = state.mySmoothPushed;
775  mySmoothRequest = state.mySmoothRequest;
776  mySmoothEnable = state.mySmoothEnable;
777  myForceSmooth = state.myForceSmooth;
778  myPrevLineWidth = state.myPrevLineWidth;
779 
780  myBlend = state.myBlend;
781  mySourceFactor = state.mySourceFactor;
782  myDestFactor = state.myDestFactor;
783  myAlphaSourceFactor = state.myAlphaSourceFactor;
784  myAlphaDestFactor = state.myAlphaDestFactor;
785  myEquation = state.myEquation;
786  }
787 
788  void get(bool &req_smooth, int &blend,
791  RE_BlendEquation &eq) const
792  {
793  req_smooth = mySmoothRequest;
794  blend = myBlend;
795  s = mySourceFactor;
796  d = myDestFactor;
797  sa = myAlphaSourceFactor;
798  da = myAlphaDestFactor;
799  eq = myEquation;
800  }
801 
802  void invalidate()
803  {
804  mySmoothRequest = false;
805  mySmoothEnable = -1;
806  myForceSmooth = -1;
807  myBlend = -1;
808  mySourceFactor = (RE_BlendSourceFactor)-1;
809  myDestFactor = (RE_BlendDestFactor)-1;
810  myAlphaSourceFactor = (RE_BlendSourceFactor)-1;
811  myAlphaDestFactor = (RE_BlendDestFactor)-1;
812  myEquation = RE_BlendEquation(-1);
813  }
814 
815  bool isValid()
816  {
817  return (mySmoothEnable != -1 &&
818  myForceSmooth != -1 &&
819  myBlend != -1 &&
820  mySourceFactor != (RE_BlendSourceFactor)-1 &&
821  myDestFactor != (RE_BlendDestFactor)-1 &&
822  myAlphaSourceFactor != (RE_BlendSourceFactor)-1 &&
823  myAlphaDestFactor != (RE_BlendDestFactor)-1 &&
824  myEquation != RE_BlendEquation(-1));
825  }
826 
832  int myBlend;
838 };
839 
840 // Stack item for stenciling
842 {
843 public:
845  {
846  myEnable = false;
847  myClearValue = 0;
848  myWriteMask = 1;
849  myFunc = RE_SALWAYS;
850  myRef = 0;
851  myValueMask = 1;
852  myFailOperation = RE_SKEEP;
853  myPassDepthFailOperation = RE_SKEEP;
854  myPassDepthPassOperation = RE_SKEEP;
855  }
856 
857  void set(bool enable,
858  int clearValue,
859  int writeMask,
861  int ref,
862  int valueMask,
863  RE_SOperation failOperation,
864  RE_SOperation passDepthFailOperation,
865  RE_SOperation passDepthPassOperation)
866  {
867  myEnable = enable;
868  myClearValue = clearValue;
869  myWriteMask = writeMask;
870  myFunc = func;
871  myRef = ref;
872  myValueMask = valueMask;
873  myFailOperation = failOperation;
874  myPassDepthFailOperation = passDepthFailOperation;
875  myPassDepthPassOperation = passDepthPassOperation;
876  }
877 
878  void get(bool &enable,
879  int &clearValue,
880  int &writeMask,
882  int &ref,
883  int &valueMask,
884  RE_SOperation &failOperation,
885  RE_SOperation &passDepthFailOperation,
886  RE_SOperation &passDepthPassOperation) const
887  {
888  enable = myEnable;
889  clearValue = myClearValue;
890  writeMask = myWriteMask;
891  func = myFunc;
892  ref = myRef;
893  valueMask = myValueMask;
894  failOperation = myFailOperation;
895  passDepthFailOperation = myPassDepthFailOperation;
896  passDepthPassOperation = myPassDepthPassOperation;
897  }
898 
899  bool myEnable;
903  int myRef;
908 };
909 
910 // Depth stack item for depth buffer state
912 {
913 public:
915  {
916  myDepthTest = -1;
917  myDepthBufferWrite = -1;
918  myZFunction = (RE_ZFunction) -1;
919  myDepthClamp = -1;
920  myZNear = 0.0;
921  myZFar = 1.0;
922  }
923 
928  double myZNear;
929  double myZFar;
930 };
931 
932 #define PATTERN_STACK_SIZE 7
933 #define RE_SMOOTH_STACK_SIZE 16
934 #define RE_STENCIL_STACK_SIZE 16
935 #define RE_ALIGN_STACK_SIZE 16
936 #define RE_FRAMEBUFFER_STACK_SIZE 8
937 #define RE_SHADER_STACK_SIZE 16
938 #define RE_BUFFER_STACK_SIZE 8
939 #define RE_DEPTH_STACK_SIZE 16
940 #define RE_UNIFORM_STACK_SIZE 16
941 
942 
943 #define RE_STACK_DEPTH 256
944 
945 // ============================================================================
946 // Platlform-specific implementation defines, typedefs and declarations.
947 // At the moment there is only the Qt implementation.
948 // ============================================================================
949 
950 // We use RE_OGLContext and only cast at the last possible minute,
951 // to avoid problems compiling against certain OpenGL drivers.
952 class QOpenGLContext;
953 typedef QOpenGLContext *RE_OGLContext;
954 
955 #if !defined(EXPERIMENTAL_QOPENGLWIDGET)
957 typedef RE_GLDrawable *OGLDrawable;
958 #endif
959 
960 #endif
typedef int(APIENTRYP RE_PFNGLXSWAPINTERVALSGIPROC)(int)
RE_API int REgetGLPrim(RE_PrimType t)
RE_API const char * REgetPrimName(RE_PrimType p)
RE_API RE_ShaderTarget REgetShaderTargetForPrim(RE_PrimType type)
PXL_Lookup * myLUTObject
Definition: RE_Types.h:747
#define RE_API
Definition: RE_API.h:10
RE_API RE_GraphicsDevice REdetermineGraphicsDevice(const char *renderstring)
float myAspectRatio
Definition: RE_Types.h:728
RE_API void REgetDeviceName(RE_GraphicsDevice dev, UT_String &name)
RE_BlendSourceFactor mySourceFactor
Definition: RE_Types.h:833
double myZFar
Definition: RE_Types.h:929
RE_FaceMode
Definition: RE_Types.h:464
RE_GPUType REconvertIMGType(IMG_DataType t)
Definition: RE_Types.h:128
unsigned int REsizeOfGPUType(RE_GPUType gpu_type)
Definition: RE_Types.h:150
RE_GLDrawable * OGLDrawable
Definition: RE_Types.h:956
RE_GraphicsDevice
Definition: RE_Types.h:641
float myVScale
Definition: RE_Types.h:729
UT_StringArray RE_OverrideList
Definition: RE_Types.h:685
UT_IntrusivePtr< RE_OGLBuffer > RE_OGLBufferHandle
Definition: RE_Types.h:680
GLdouble s
Definition: glad.h:3009
RE_Severity
Definition: RE_Types.h:630
RE_LineStyle
Definition: RE_Types.h:452
int myDepthBufferWrite
Definition: RE_Types.h:926
float myZoomX
Definition: RE_Types.h:718
int myDepthTest
Definition: RE_Types.h:924
RE_ZFunction myZFunction
Definition: RE_Types.h:927
RE_MatrixMode
Definition: RE_Types.h:446
RE_GPUType REconvertFromGPUType(UT_GPUType t)
Definition: RE_Types.h:95
RE_SFunction myFunc
Definition: RE_Types.h:902
float myColorWhite
Definition: RE_Types.h:724
RE_SOperation myPassDepthFailOperation
Definition: RE_Types.h:906
int myDepthClamp
Definition: RE_Types.h:925
RE_ShaderType
Definition: RE_Types.h:228
RE_GenericAttribID
Definition: RE_Types.h:348
float myColorShift
Definition: RE_Types.h:722
vint4 blend(const vint4 &a, const vint4 &b, const vbool4 &mask)
Definition: simd.h:4784
UT_GPUType
Definition: UT_ComputeGPU.h:42
RE_GPUType
Definition: RE_Types.h:44
RE_BufferType
Definition: RE_Types.h:284
GLfloat f
Definition: glcorearb.h:1926
UT_StringHolder REshaderStageExtension(RE_ShaderType stage)
Definition: RE_Types.h:242
UT_GPUType PXLconvertToUTGPUType(PXL_DataFormat t)
Definition: PXL_Common.h:107
double myZNear
Definition: RE_Types.h:928
Visualization myVisualization
Definition: RE_Types.h:733
RE_BufferBinding
Definition: RE_Types.h:321
RE_SOperation myPassDepthPassOperation
Definition: RE_Types.h:907
GLint ref
Definition: glcorearb.h:124
void set(bool enable, int clearValue, int writeMask, RE_SFunction func, int ref, int valueMask, RE_SOperation failOperation, RE_SOperation passDepthFailOperation, RE_SOperation passDepthPassOperation)
Definition: RE_Types.h:857
IMG_DataType
Definition: IMG_FileTypes.h:17
int myComponent
Definition: RE_Types.h:732
float myZoomY
Definition: RE_Types.h:719
RE_SmoothMode
Definition: RE_Types.h:458
RE_BlendSourceFactor myAlphaSourceFactor
Definition: RE_Types.h:835
RE_BlendEquation
Definition: RE_Types.h:532
void copy(const re_BlendSmoothState &state)
Definition: RE_Types.h:772
bool REisProfessionalDevice(RE_GraphicsDevice dev)
Definition: RE_Types.h:664
RE_MemoryBarrierBitfield
Definition: RE_Types.h:549
GLuint const GLchar * name
Definition: glcorearb.h:786
RE_DisplayMode
Definition: RE_Types.h:573
RE_ZFunction
Definition: RE_Types.h:471
PXL_DataFormat
Definition: PXL_Common.h:20
float myColorBlack
Definition: RE_Types.h:723
GLdouble t
Definition: glad.h:2397
RE_ShaderAttribLocation
Definition: RE_Types.h:384
float myGamma
Definition: RE_Types.h:727
RE_BlendDestFactor myAlphaDestFactor
Definition: RE_Types.h:836
float myColorScale
Definition: RE_Types.h:721
RE_BlendDestFactor myDestFactor
Definition: RE_Types.h:834
GLenum func
Definition: glcorearb.h:783
RE_BufferAccess
Definition: RE_Types.h:314
UT_GPUType REconvertToUTGPUType(RE_GPUType t)
Definition: RE_Types.h:67
RE_GPUType REconvertPXLType(PXL_DataFormat t)
Definition: RE_Types.h:144
float myAlphaScale
Definition: RE_Types.h:725
RE_SOperation
Definition: RE_Types.h:495
RE_BlendEquation myEquation
Definition: RE_Types.h:837
RE_VisualType
Definition: RE_Types.h:623
RE_BlendSourceFactor
Definition: RE_Types.h:507
RE_ArrayType
Definition: RE_Types.h:337
RE_BufferUsageHint
Definition: RE_Types.h:296
UT_IntrusivePtr< RE_Material > RE_MaterialPtr
Definition: RE_Types.h:678
#define UT_ASSERT(ZZ)
Definition: UT_Assert.h:156
RE_RenderBuf
Definition: RE_Types.h:430
RE_WindowType
Definition: RE_Types.h:20
RE_ShaderTarget
Definition: RE_Types.h:269
RE_API RE_PrimType REgetREPrim(int gltype)
QOpenGLContext * RE_OGLContext
Definition: RE_Types.h:952
RE_API const char * REgetTypeName(RE_GPUType p)
int myRotation
Definition: RE_Types.h:720
RE_ShaderLanguage
Definition: RE_Types.h:257
type
Definition: core.h:1059
RE_PrimType
Definition: RE_Types.h:193
RE_SFunction
Definition: RE_Types.h:483
bool REisConsumerDevice(RE_GraphicsDevice dev)
Definition: RE_Types.h:669
RE_PersistentBufferMode
Definition: RE_Types.h:541
float myAlphaShift
Definition: RE_Types.h:726
RE_SOperation myFailOperation
Definition: RE_Types.h:905
RE_API RE_ShaderTarget REgetShaderTargetForGLPrim(int gltype)
RE_BlendDestFactor
Definition: RE_Types.h:520