HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RE_OGLRender Class Reference

#include <RE_OGLRender.h>

+ Inheritance diagram for RE_OGLRender:

Classes

class  re_ConstVertexAttrib
 

Public Member Functions

 ~RE_OGLRender () override
 
const char * className () const
 
int getContextID () const
 
bool isInitialized () const
 
RE_RendergetRender ()
 
const RE_RendergetRender () const
 
int glslMajorVersion ()
 
int glslMinorVersion ()
 
int glslMaxOutputComponents (RE_ShaderType stage)
 
int glslMaxUniformComponents (RE_ShaderType stage)
 
bool hasGLExtension (RE_Extension e) const
 
RE_OGLExtgetExt () const
 
int64 getFreeTextureMemoryKB (int64 *largest_chunk=nullptr)
 
int64 getFreeBufferMemoryKB (int64 *largest_chunk=nullptr)
 
int64 getFreeFramebufferMemoryKB (int64 *largest_chunk=nullptr)
 
void checkForSuspendResume ()
 
RE_DisplayMode getMode () const
 
RE_VisualType getVisualType () const
 
void enableMultisample (bool enable)
 
bool isMultisampleEnabled () const
 
void enableAlphaToCoverage (bool enable)
 
bool isAlphaToCoverage () const
 
void getMaxViewportSize (int &w, int &h) const
 
int getMaxColorSamples () const
 
int getMaxDepthSamples () const
 
void setWindow (RE_Window *, bool attach=true)
 
bool makeCurrent (bool ignore_errors=false)
 
bool makeCurrentQt ()
 
bool isCurrent () const
 
bool contextIsValid () const
 
RE_OGLContext getContext () const
 
bool pushOffscreenBuffer (OGLDrawable type)
 
void popOffscreenBuffer ()
 
void setMainContext (RE_Window *w)
 
const RE_WindowgetCurrentWindow () const
 
RE_WindowgetCurrentWindow ()
 
void lockContextForRender ()
 
void unlockContextAfterRender ()
 
bool tryLockContextForRender ()
 
bool isContextLocked () const
 
void bumpRenderCount ()
 
void resetRenderCount ()
 
int64 getRenderCount () const
 
int getGLError ()
 
int getNextGLError ()
 
void clearGLErrors ()
 
const char * getGLErrorString (int error)
 
void printGLError (const char *header, bool assert=false)
 
void printAllGLErrors (const char *header, bool assert=false)
 
void dumpNewState (bool show_all=false, bool show_shader_blocks=true)
 
void dumpViewportState (bool show_all=false)
 
void dumpTextureState () const
 
void dumpVertexAttributes () const
 
void dumpFragmentTests (bool show_all=false) const
 
void dumpRasterizeState (bool show_all=false) const
 
void dumpTextureCacheState (int stack_level=-1) const
 
void getLimits (UT_WorkBuffer &os)
 
bool isDebugLabelSupported () const
 
bool isDebugging () const
 
int pushDebug (bool enable)
 
void popDebug (int *nest=nullptr)
 
int pushDebugGroup (const char *name, int id=1987)
 
void popDebugGroup (int *nest=nullptr)
 
void addComment (const char *name, RE_Severity sev=RE_SEVERITY_MESSAGE, int id=1987)
 
int pushDrawFramebuffer ()
 
int pushDrawFramebuffer (RE_OGLFramebuffer *fb)
 
void setDrawFramebuffer (RE_OGLFramebuffer *fb)
 
RE_OGLFramebuffergetDrawFramebuffer ()
 
void popDrawFramebuffer (int *nest=nullptr)
 
int pushReadFramebuffer ()
 
int pushReadFramebuffer (RE_OGLFramebuffer *fb)
 
void setReadFramebuffer (RE_OGLFramebuffer *fb)
 
RE_OGLFramebuffergetReadFramebuffer ()
 
void popReadFramebuffer (int *nest=nullptr)
 
void updateFramebuffer ()
 
void updateCurrentFramebuffer (RE_OGLFramebuffer *fb, bool for_draw)
 
void registerFBO (RE_OGLFramebuffer *fb, int fb_id)
 
void unregisterFBO (int id)
 
RE_OGLFramebuffergetFBO (int id) const
 
void useSampleMask (bool use)
 
bool usingSampleMask () const
 
int getMaxIntegerSamples () const
 
int getSampleMask (int mask_number)
 
void setSampleMask (int mask_number, int mask)
 
void clearC (float *color=nullptr)
 
void clearZ (float z=1.0)
 
void clearCZ (float z=1.0)
 
void clearS ()
 
void enableColorBufferWriting ()
 
void disableColorBufferWriting ()
 
bool getColorBufferWriting ()
 
void updateColorBufferWriting ()
 
void setColorMask (bool red, bool green, bool blue, bool alpha)
 
void getColorMask (bool &red, bool &green, bool &blue, bool &alpha)
 
bool swapbuffers ()
 
int pushDrawBuffer (RE_RenderBuf buf=RE_BUFFER_UNINIT)
 
void popDrawBuffer (int *nest=0)
 
void setDrawBuffer (RE_RenderBuf buf)
 
RE_RenderBuf getDrawBuffer ()
 
bool getDrawBufferIsBlendable ()
 
int pushReadBuffer (RE_RenderBuf buf=RE_BUFFER_UNINIT)
 
void popReadBuffer (int *nest=0)
 
void setReadBuffer (RE_RenderBuf buf)
 
RE_RenderBuf getReadBuffer ()
 
bool isFrontBufferDirty () const
 
void setFrontBufferDirty (bool d)
 
void flush (int wait=0)
 
bool memoryBarrier (RE_MemoryBarrierBitfield barriers)
 
void viewport2DI (const UT_DimRect &rect)
 
void screenMask2DI (const UT_DimRect &rect)
 
void disableScreenMask ()
 
void intersectMask2DI (const UT_DimRect &rect)
 
UT_DimRect getScreenMask2DI ()
 
UT_DimRect getViewport2DI ()
 
bool getScreenMask ()
 
int getOGLMaxClipPlanes ()
 
void enableClipDistance (int clip_plane, bool enable)
 
bool clipDistanceEnabled (int clip_plane) const
 
void setActiveOcclusionQuery (RE_OcclusionQuery *q)
 
RE_OcclusionQuerygetActiveOcclusionQuery () const
 
int pushBackfaceCulling ()
 
int pushBackfaceCulling (bool backface)
 
void popBackfaceCulling (int *nested=0)
 
bool isBackface () const
 
void setBackface (bool removeBackface)
 
bool getReverseWinding ()
 
void setReverseWinding (bool reverse_winding)
 
RE_FaceMode getCullFace () const
 
void setCullFace (RE_FaceMode m)
 
bool isPointOffset ()
 
bool isLineOffset ()
 
bool isPolygonOffset ()
 
void pointOffset (bool onoff)
 
void lineOffset (bool onoff)
 
void polygonOffset (bool onoff)
 
void setOffsetAmount (float variable, float constant)
 
void getOffsetAmount (float *variable, float *constant) const
 
bool beginTransformFeedback (RE_PrimType mode, bool rasterize_too, int stream_bitfield=0x1)
 
void endTransformFeedback ()
 
int getNumFeedbackPrimitives (int stream=0)
 
bool hasFeedbackBufferOverflow (int stream=0)
 
bool isTransformFeedbackEnabled () const
 
RE_PrimType getFeedbackMode () const
 
bool isRasterizeEnabled () const
 
int pushLineWidth (float w)
 
void popLineWidth (int *nest=nullptr)
 
float getLineWidth () const
 
float getMaxSmoothLineWidth ()
 
int pushPointSize (float size, bool program_point_size=false)
 
void popPointSize (int *nest=nullptr)
 
void setPointSize (float size)
 
void setProgramPointSize (bool enable)
 
bool getProgramPointSize () const
 
int pushDepthState ()
 
void popDepthState (int *nest=nullptr)
 
void enableDepthBufferWriting ()
 
void disableDepthBufferWriting ()
 
bool getDepthBufferWriting ()
 
void updateDepthBufferWriting ()
 
void enableDepthTest ()
 
void disableDepthTest ()
 
bool getDepthTest ()
 
void updateDepthTest ()
 
void setZFunction (RE_ZFunction func)
 
RE_ZFunction getZFunction () const
 
void updateZFunction () const
 
void enableDepthClamp (bool b)
 
bool getDepthClamp ()
 
void updateDepthClamp ()
 
void setDepthRange (double nr, double fr)
 
void getDepthRange (double &nr, double &fr) const
 
int pushStencilState ()
 
void popStencilState (int *nest=nullptr)
 
bool isStencil ()
 
void setStencil (bool enable)
 
void setSClearValue (int clearValue)
 
void setSWriteMask (int writeMask)
 
void setSFunction (RE_SFunction func, int ref, int mask)
 
void setSOperation (RE_SOperation sfail, RE_SOperation dpfail, RE_SOperation dppass)
 
void updateStencilState ()
 
void resetSFunction ()
 
void resetSWriteMask ()
 
void resetSClearValue ()
 
void resetSOperation ()
 
void enableLogicOp ()
 
void disableLogicOp ()
 
void invertPixels ()
 
void xorPixels ()
 
void orPixels ()
 
int pushBlendState ()
 
void popBlendState (int *nesting=0)
 
bool isBlending () const
 
void blend (int onoff)
 
void setBlendFunction (RE_BlendSourceFactor sourceFactor, RE_BlendDestFactor destFactor)
 
bool setAlphaBlendFunction (RE_BlendSourceFactor sourceFactor, RE_BlendDestFactor destFactor, bool force=false)
 
void getBlendFunction (RE_BlendSourceFactor *sourceFactor, RE_BlendDestFactor *destFactor)
 
void getAlphaBlendFunction (RE_BlendSourceFactor *sourceFactor, RE_BlendDestFactor *destFactor)
 
void setBlendEquation (RE_BlendEquation eq)
 
RE_BlendEquation getBlendEquation ()
 
void blendAlpha (int onoff=1)
 
void blendAlphaPremult (bool onoff=true)
 
int pushSmoothLines ()
 
void popSmoothLines (int *nesting=0)
 
void forceSmooth ()
 
void smoothBlendLines (RE_SmoothMode mode)
 
void smoothBlendLinesNoFlagChange (bool by_smooth)
 
RE_SmoothMode getSmoothLines ()
 
int getBlendSmoothLevel () const
 
void setMaterial (const RE_MaterialPtr &mat, int layer=0, bool texture=true, RE_ShaderTarget sht=RE_SHADER_TARGET_TRIANGLE, RE_Shader *override_mat_shader=nullptr, bool allow_partial_render=false)
 
int pushMaterial (const RE_MaterialPtr &mat, int layer=0, bool texture=true, RE_ShaderTarget sht=RE_SHADER_TARGET_TRIANGLE, RE_Shader *override_mat_shader=nullptr, bool allow_partial_render=false)
 
int pushMaterial ()
 
void popMaterial (int *nest=nullptr)
 
const RE_MaterialPtrgetDefaultMaterial ()
 
int pushShader ()
 
int pushShader (RE_Shader *s)
 
int pushShader (RE_ShaderHandle &sh)
 
void bindShader (RE_Shader *s)
 
void bindShader (RE_ShaderHandle &sh)
 
RE_ShadergetShader ()
 
void popShader (int *nest=nullptr)
 
void updateShader (RE_Shader *s)
 
int pushShaderTransformFeedback (RE_Shader *sh, RE_PrimType type, bool rasterize=true, int stream_bitfield=0x1)
 
int pushShaderTransformFeedback (RE_ShaderHandle &sh, RE_PrimType type, bool rasterize=true, int stream_bitfield=0x1)
 
void popShaderTransformFeedback (int *nest=nullptr)
 
void setShaderOnlyMode (bool enable)
 
void requestFixedFunction ()
 
void setPatchOuterLevel (const UT_Vector4F &outer)
 
void setPatchInnerLevel (const UT_Vector2F &inner)
 
void setPatchVertices (int num_verts)
 
bool setShaderSampleRate (fpreal rate)
 
fpreal getShaderSampleRate () const
 
bool isSampleShading () const
 
void pushUniform (RE_UniformBuiltIn bindex, RE_Uniform *var=nullptr)
 
void pushUniformData (RE_UniformBuiltIn bindex, const void *data)
 
void pushUniformInt (RE_UniformBuiltIn bindex, int i)
 
void pushUniformColor (RE_UniformBuiltIn bindex, const UT_Color &clr, fpreal32 alpha=1.0f)
 
void pushUniformSampler (RE_UniformBuiltIn bindex, RE_Texture *tex)
 
void pushUniformMatrix (RE_UniformBuiltIn bindex, const UT_Matrix4D &mat)
 
void assignUniformData (RE_UniformBuiltIn bindex, const void *data)
 
void assignUniformInt (RE_UniformBuiltIn bindex, int i)
 
void assignUniformSampler (RE_UniformBuiltIn bindex, RE_Texture *tex)
 
void assignUniformColor (RE_UniformBuiltIn bindex, const UT_Color &clr, fpreal32 alpha=1.0f)
 
void assignUniformMatrix (RE_UniformBuiltIn bindex, const UT_Matrix4D &mat)
 
void popUniform (RE_UniformBuiltIn bindex)
 
void popUniformData (RE_UniformBuiltIn bindex)
 
RE_UniformgetUniform (RE_UniformBuiltIn builtin_var_type) const
 
void printBuiltInUniforms (bool bound_only)
 
void printBuiltInUniform (RE_UniformBuiltIn b)
 
int bindBuiltInUniforms (RE_Shader *s)
 
bool bindBuiltInUniform (RE_Shader *s, RE_UniformBuiltIn uniform)
 
int64 getBuiltInUniformSerial () const
 
void bumpBuiltInUniformSerial ()
 
void pushUniform (RE_Uniform &uniform)
 
void popUniform (RE_Uniform &uniform)
 
void pushObjectMatrix (const UT_Matrix4D &obj, bool inverse_too=false)
 
void popObjectMatrix ()
 
void setFragmentDerivativeHint (bool nicest)
 
bool getFragmentDerivativeHint ()
 
int getMaxVertexAttribs () const
 
void setConstAttribF32 (int loc, int vsize, const fpreal32 *data)
 
void setConstAttribF32 (int loc, int vsize, const fpreal64 *data)
 
void setConstAttribF64 (int loc, int vsize, const fpreal64 *data)
 
void setConstAttribI32 (int loc, int vsize, const int32 *data)
 
void setConstAttribU32 (int loc, int vsize, const uint32 *data)
 
bool setCurrentVAO (RE_OGLVertexArrayList *list)
 
RE_OGLVertexArrayListgetCurrentVAO ()
 
RE_OGLVertexArrayListgetDefaultVAO ()
 
void setDefaultVAO (RE_OGLVertexArrayList *vao)
 
void resetCurrentVAO (RE_OGLVertexArrayList *deleted_list)
 
UT_IntArraygetBoundUniformBlocks ()
 
void bindTexture (const RE_OGLTexture *tex, int unit=RE_ACTIVE_UNIT, RE_TextureMode mode=RE_TEXTURE_UNKNOWN)
 
void verifyTextureIsNotBound (RE_OGLTexture *texture)
 
RE_TextureID bindTextureBuffer (int id, int unit)
 
RE_TextureID bindTextureRaw2D (int id, int unit)
 
int bindTextureRaw (int id, int unit)
 
bool bindTextures (int first, const UT_IntArray &tex_ids)
 
void unbindTexture (const RE_OGLTexture *tex)
 
void setActiveTexture (int textureunit)
 
int getActiveTexture () const
 
int pushTextureState (int textureunit=RE_ALL_UNITS)
 
void popTextureState (int *nest=nullptr)
 
RE_TextureDimension getBoundTextureType (int texunit=RE_ACTIVE_UNIT) const
 
const RE_OGLTexturegetBoundTexture (int texunit=RE_ACTIVE_UNIT) const
 
int findFirstFreeTextureUnit (int starting_unit=0) const
 
void updateTextureState () const
 
int getMaxShaderTextureUnits () const
 
int getMaxVertexTextureUnits () const
 
int getMaxGeometryTextureUnits () const
 
int getMaxFragmentTextureUnits () const
 
int getTextureAnisotropyLimit () const
 
int getMaxTextureSize () const
 
int getMaxTexture3DSize () const
 
int getMaxTextureRectangleSize ()
 
int getMaxColorBuffers () const
 
int getMaxDrawBuffers () const
 
void disableAllTextures ()
 
void removeTextureRefs (RE_OGLTexture *tex)
 
bool bindImageTexture (int image_unit, RE_Texture *image, RE_BufferAccess image_access, bool layered, int layer)
 
void unbindImageTexture (int image_unit)
 
int pushReadAlignment (const void *data, int scansize)
 
void popReadAlignment (int *nest=nullptr)
 
int pushWriteAlignment (const void *data, int scansize)
 
void popWriteAlignment (int *nest=nullptr)
 
void useSeamlessMaps (bool enable)
 
bool usingSeamlessMaps ()
 
RE_OGLTexturegetRandomTexture (unsigned int seed, bool interp, int size=64)
 
RE_OGLTexturegetRandomTexture3D (unsigned int seed, bool interp, int size=32)
 
RE_OGLTexturegetRandomTextureArray (unsigned int seed, bool interp, int num_layers, int size=64)
 
RE_OGLTexturegetRandomSampleMaskTexture (unsigned int seed, int nsamples, int size=64)
 
void convertRasterToTexture (PXL_Raster *raster, int convert16bit=0)
 
void convertLUTToTexture (PXL_Lookup *lookup)
 
bool setupShaderForLUT (RE_Shader *shader, PXL_Lookup *lookup, float gamma, bool add_shader)
 
bool is3DLUTSupported () const
 
void buildRasterTextureGeometry (fpreal32 x0, fpreal32 y0, fpreal32 z, fpreal32 x1, fpreal32 y1, fpreal32 u0, fpreal32 v0, fpreal32 u1, fpreal32 v1, int rotation, RE_Geometry &geo)
 
void displayRasterTexture (float x, float y, float z, const PXL_Raster *raster, const RE_RasterOpts *opts=0)
 
void displayRasterTexture (float x, float y, float z, float w, float h, const IMG_Raster *raster, const RE_RasterOpts *opts=0)
 
void displayRasterTexture (float x, float y, float z, int w, int h, UT_RGBA *r, int stride, float zoomx=-1.0f, float zoomy=-1.0f, int dither=1, float alpha_mult=1.0f)
 
void saveRaster (int x, int y, int w, int h, IMG_Raster *r, bool use_backbuf=true)
 
UT_UniquePtr< TIL_RastersaveRaster (int x, int y, int w, int h, PXL_DataFormat format, bool alphatoo, bool use_backbuf=true)
 
void setViewportFontOffset (int x, int y)
 
int getViewportFontOffsetX () const
 
int getViewportFontOffsetY () const
 
RE_FontBuffersfetchFontBufferFromPool (int size)
 
void returnFontBufferToPool (RE_FontBuffers *buf)
 
bool beginConditionalRender (RE_OcclusionQuery *query_obj, bool render_wait, bool region_support)
 
void endConditionalRender ()
 
void enablePrimitiveRestart (bool enable)
 
void setPrimitiveRestartIndex (unsigned int index)
 
void drawViewportPoint (const fpreal32 p[3], fpreal32 size)
 
void preDrawViewportString (UT_Matrix4D &view, UT_Matrix4D &proj, UT_DimRect &viewport)
 
void drawViewportString (const fpreal32 p[3], const char *str, const UT_Color *clr=nullptr, const UT_Matrix4D *view=nullptr, const UT_Matrix4D *proj=nullptr, const UT_DimRect *viewport=nullptr)
 
void postDrawViewportString ()
 
void destroyVertexArrayObject (unsigned int vao)
 
void destroyQuery (unsigned int query)
 
void destroyFramebufferObject (unsigned int fbo)
 
void fetchDriverInfo (UT_WorkBuffer &info, bool full_info)
 
void unbindPipeline ()
 
void invalidateCachedState ()
 
void resync ()
 
void enableSubBufferDrawing (bool enable)
 
bool subBufferDrawingEnabled () const
 
- Public Member Functions inherited from RE_RenderFlush
 RE_RenderFlush ()
 
 ~RE_RenderFlush () override
 
void setViewportRenderer ()
 Flag this object as being used to render into a 3D viewport. More...
 
void setContextData (RE_PerContextData *data)
 Holds a pointer to per-context data we use to provide OGL buffers. More...
 
RE_PerContextDatagetContextData ()
 
void setZStart (fpreal32 zStart) override
 
void draw (RE_Render *r) override
 
bool flushRender (bool render_complete=false)
 
void pushViewport ()
 
void popViewport ()
 
void pushState (int viewing)
 
void popState ()
 
void handleViewportUpdate (const UT_DimRect &rect)
 
void handleScissorRectUpdate (const UT_DimRect &rect)
 
void handleScissorEnableUpdate (bool enable)
 
void clipPlaneDisable (int which)
 
void clipPlaneEnable (int which, const UT_Vector4D &plane)
 
UT_Vector4D planeToEyeCoords (const UT_Vector4D &plane)
 
void replacePushClipPlane (int which, const UT_Vector4D &plane, bool xform_to_eye_coords, RE_UniformStackEntry &stack_entry)
 
void replacePopClipPlane (int which, const RE_UniformStackEntry &stack_entry)
 
void pushMatrix (bool all_matrices=true, RE_MatrixMode mmode=RE_MATRIX_VIEWING)
 
void popMatrix (bool all_matrices=true, RE_MatrixMode mmode=RE_MATRIX_VIEWING)
 
void loadIdentityMatrix (RE_MatrixMode mmode=RE_MATRIX_VIEWING)
 
void loadMatrix (const UT_Matrix4 &m, RE_MatrixMode mmode=RE_MATRIX_VIEWING)
 
void loadMatrix (const UT_DMatrix4 &m, RE_MatrixMode mmode=RE_MATRIX_VIEWING)
 
void getMatrix (UT_Matrix4 &m, RE_MatrixMode mmode=RE_MATRIX_VIEWING)
 
void getMatrix (UT_DMatrix4 &m, RE_MatrixMode mmode=RE_MATRIX_VIEWING)
 
void multiplyMatrix (const UT_Matrix4 &m)
 
void multiplyMatrix (const UT_DMatrix4 &m)
 
void translate (float x, float y, float z=0.0)
 
void scale (float x=1.0, float y=1.0, float z=1.0)
 
void rotate (float angle, char axis)
 
void ortho2DW (float l, float r, float b, float t)
 
void orthoFromViewport2DI (const UT_DimRect &rect)
 
void ortho3DW (float l, float r, float b, float t, float n, float f)
 
void window3DW (float l, float r, float b, float t, float n, float f)
 
void getProjectiveTextureTransform (const RE_Light *light, bool bias, UT_Matrix4 &mat)
 
- Public Member Functions inherited from RE_RenderUI
 RE_RenderUI ()
 
virtual ~RE_RenderUI ()
 
void prepare (fpreal xperpixel, fpreal yperpixel, fpreal xorigin, fpreal yorigin)
 
virtual void clearAllData ()
 
void bumpLayer (int delta)
 
fpreal32 getZStart () const
 
fpreal32 getZEnd () const
 
void incrementZEnd ()
 
fpreal32 getXPerPixel () const
 Get x or y distance in current units that corresponds to 1 pixel. More...
 
fpreal32 getYPerPixel () const
 
fpreal32 getXOrigin () const
 
fpreal32 getYOrigin () const
 
void pushColor ()
 These are options that can change per-vertex. More...
 
void pushColor (const UT_Color &c, fpreal32 a=1.0f)
 
void pushColor (fpreal32 r, fpreal32 g, fpreal32 b, fpreal32 a=1.0f)
 
void setColor (const UT_Color &c, fpreal32 a=1.0f)
 
void setColor (fpreal32 r, fpreal32 g, fpreal32 b, fpreal32 a=1.0f)
 
void setAlpha (fpreal32 a)
 
void popColor ()
 
void getColor (UT_Color &c) const
 
fpreal32 getAlpha () const
 
void pushPointSize (fpreal32 size)
 Point options that can change per-point. More...
 
void setPointSize (fpreal32 size)
 
void popPointSize ()
 
void pushLineSmoothing (bool smooth_lines)
 Line options that can change per-line. More...
 
void pushLineSmoothing ()
 
void setLineSmoothing (bool smooth_lines)
 
void popLineSmoothing ()
 
void pushLineStyle (RE_LineStyle style)
 
void pushLineStyle ()
 
void setLineStyle (RE_LineStyle style)
 
void popLineStyle ()
 
void pushLineWidth (fpreal32 width)
 
void pushLineWidth ()
 
void setLineWidth (fpreal32 width)
 
void popLineWidth ()
 
void beginTriangles ()
 These functions mark the start or end of primitives. More...
 
void endTriangles ()
 
void beginTriangleFan ()
 
void endTriangleFan ()
 
void beginTriMesh ()
 
void endTriMesh ()
 
void beginQuads ()
 
void endQuads ()
 
void beginQuadStrip ()
 
void endQuadStrip ()
 
void beginPolygon (int concave)
 
void endPolygon ()
 
void beginLine ()
 
void beginClosedLine ()
 
void endLine ()
 
void beginLines ()
 
void endLines ()
 
void beginPoint ()
 
void endPoint ()
 
void t2DW (const fpreal32 tx[2])
 Set vertex attributes. More...
 
void c3DW (const fpreal32 clr[3])
 
void c4DW (const fpreal32 clr[4])
 
void v2DW (const fpreal32 vtx[2])
 Create vertices for primitives. More...
 
void v2DI (const int vtx[2])
 
void vertex2DW (fpreal32 x, fpreal32 y)
 
void vertex2DI (int x, int y)
 
void vertex2DS (int x, int y)
 
void setFont (RE_Font &font)
 Text rendering functions. More...
 
void textMoveW (fpreal32 x, fpreal32 y)
 
void textMoveS (int x, int y)
 
void putMultiLineString (const utf8 *str)
 
void putString (RE_Font &font, const utf8 *start, const utf8 *end, UT_Unicode::transform *xform=nullptr)
 
void putString (RE_Font &font, const UT_StringView &sv, UT_Unicode::transform *xform=nullptr)
 
void putString (const utf8 *start, const utf8 *end)
 
void putString (const utf8 *str)
 
void putChar (utf32 c)
 
void rect2DW (fpreal32 x1, fpreal32 y1, fpreal32 x2, fpreal32 y2)
 Unfilled rectangles. More...
 
void rect2DS (int x1, int y1, int x2, int y2)
 
void box2DS (int x1, int y1, int x2, int y2)
 
void rectf2DW (fpreal32 x1, fpreal32 y1, fpreal32 x2, fpreal32 y2)
 Filled rectangles. More...
 
void rectf2DS (int x1, int y1, int x2, int y2)
 
void boxf2DS (int x1, int y1, int x2, int y2)
 
void circleW (float x, float y, float r)
 Unfilled arcs. More...
 
void circleS (int x, int y, int r)
 
void arcW (float x, float y, float r, int angle_start, int angle_end)
 
void arcS (int x, int y, int r, int angle_start, int angle_end)
 
void circlefW (float x, float y, float r)
 Filled arcs. More...
 
void circlefS (int x, int y, int r)
 
void arcfW (float x, float y, float r, int angle_start, int angle_end)
 
void arcfS (int x, int y, int r, int angle_start, int angle_end)
 
void ringfW (float x, float y, float inner_r, float outer_r)
 Partially filled circles (filled between inner and outer radii). More...
 
void ringfS (int x, int y, int inner_r, int outer_r)
 
void sectorW (float x, float y, float inner_r, float outer_r, float angle_start, float angle_end)
 Partially filled arcs (filled between inner and outer radii). More...
 
void sectorfW (float x, float y, float inner_r, float outer_r, float angle_start, float angle_end)
 
void v3DW (const float vtx[3])
 A few limited functions for handling drawing to a 3D viewport. More...
 
void vertex3DW (float x, float y, float z)
 
void textMove3W (float x, float y, float z)
 

Static Public Member Functions

static void initialize ()
 
static bool hasGL11 ()
 
static bool hasGL12 ()
 
static bool hasGL13 ()
 
static bool hasGL14 ()
 
static bool hasGL15 ()
 
static bool hasGL20 ()
 
static bool hasGL21 ()
 
static bool hasGL3 (int minor)
 
static bool hasGL4 (int minor)
 
static int glMajorVersion ()
 
static int glMinorVersion ()
 
static RE_GraphicsDevice getGraphicsDevice ()
 
static void setPerformBadDriverCheck (bool onoff)
 
static bool hasDriverVersion ()
 
static int getDriverMajorVersion ()
 
static int getDriverMinorVersion ()
 
static int getDriverBuildMajorVersion ()
 
static int getDriverBuildMinorVersion ()
 
static void getDriverInfo (UT_WorkBuffer &info)
 
static const UT_StringMap
< UT_StringHolder > & 
getDriverInfoDict ()
 
static bool getUsingCoreProfile ()
 
static void setUsingCoreProfile (bool using_core_profile)
 
static void clearGraphicsCache ()
 
static int64 getInitialFreeMemoryKB ()
 
static void exitWithBadDriver ()
 
static int resX ()
 
static int resY ()
 
static void updateScreenSize ()
 
static bool areScreensUniform ()
 
static UT_DimRect getWorkAreaForScreen (UT_DimRect area)
 
static int positionOnScreen (UT_DimRect &area, int screen_hint=-1)
 
static bool positionOkay (const UT_DimRect &area)
 
static int dpi ()
 
static fpreal uiScale ()
 
static void scaleUI (fpreal scale)
 
static float pixelsToInches (int n)
 
static int inchesToPixels (float i)
 
static int scaledSize (int size)
 
static fpreal scaledSize (fpreal size)
 
static void addSuspendResumeCB (void(*cb)(void *), void *data)
 
static void removeSuspendResumeCB (void(*cb)(void *), void *data)
 
static RE_VisualgetVisualForMode (RE_DisplayMode newmode)
 
static RE_ServergetServer ()
 
static RE_CursorgetCursor (const char *name)
 
static void resetCurrent ()
 
static RE_WindowgetMainContext ()
 
static RE_OGLRendergetCurrentRender ()
 
static RE_WindowListgetWindowList ()
 
static int getMatteMaskForSampleCount (int samples)
 
static void allowSmoothLines (int yn)
 
static int allowsSmoothLines ()
 
static int getGLBlendSource (RE_BlendSourceFactor sourceFactor)
 
static int getGLBlendDest (RE_BlendDestFactor destFactor)
 
static void destroyShaderObject (unsigned int progid, bool unreg, bool shader)
 
static void destroyTextureObject (unsigned int texid, RE_OGLTexture *tex)
 
static void destroyRenderbufferObject (unsigned int rb)
 
static void destroyBufferObject (unsigned int buf)
 
static void destroySync (void *sync)
 
static void clearCachedUniformBuffer (int id)
 
- Static Public Member Functions inherited from RE_RenderFlush
static RE_FontgetViewportFont ()
 
static UT_DMatrix4 getOrthoMatrix (float l, float r, float b, float t, float n, float f)
 
static UT_DMatrix4 getPerspectiveMatrix (float l, float r, float b, float t, float n, float f)
 
static UT_DMatrix4 getLookatMatrix (const UT_Vector3F &eye, const UT_Vector3F &target, const UT_Vector3F &up)
 
static bool mapWorld (fpreal xs, fpreal ys, const UT_DimRect &viewport, const UT_Matrix4D &proj, const UT_Matrix4D &view, fpreal *x1, fpreal *y1, fpreal *z1, fpreal *x2, fpreal *y2, fpreal *z2)
 
static bool mapScreen (fpreal xw, fpreal yw, fpreal zw, const UT_DimRect &viewport, const UT_Matrix4D &proj, const UT_Matrix4D &view, fpreal *xs, fpreal *ys)
 
static void debugOutput (bool enable)
 
- Static Public Member Functions inherited from RE_RenderUI
static RE_ShaderHandlegetUIShaderHandle (RE_Render *r)
 Get some standard fonts. More...
 
static void initUIShaderUniforms (RE_Render *r, RE_ShaderHandle &shader)
 
static void initUIShaderUniforms (RE_Render *r, RE_Shader *shader)
 
static fpreal32 getBufferedRenderZBump ()
 

Protected Member Functions

 RE_OGLRender (int do_foreground, const char *appname=0)
 
 RE_FLAG_STATE (Scissor, GL_SCISSOR_TEST)
 
 RE_FLAG_STATE (LineSmoothing, GL_LINE_SMOOTH)
 
 RE_FLAG_STATE (Stencil, GL_STENCIL_TEST)
 
 RE_FLAG_11_STATE (PointOffset, GL_POLYGON_OFFSET_POINT)
 
 RE_FLAG_11_STATE (LineOffset, GL_POLYGON_OFFSET_LINE)
 
 RE_FLAG_11_STATE (FillOffset, GL_POLYGON_OFFSET_FILL)
 
void updateOffsetAmount ()
 
virtual void initGLState ()
 
virtual void initGLExtensions ()
 
virtual void updateGLState ()
 
virtual void updateStacks ()
 
void switchTexture (int textureunit, const RE_OGLTexture *texture)
 
bool switchContextForRender (bool ignore_errors)
 
void updateBlendSmoothState ()
 
int privPushBlendSmoothState (bool smooth_too)
 
void privPopBlendSmoothState (bool smooth_too, int *idx)
 
void setupDebugging ()
 
void freePendingObjects ()
 
UT_DimRect adjustFramebufferViewport (const UT_DimRect &rect, bool to_fbo)
 
void assignPushedUniforms ()
 
void fetchDriverInfoDict (UT_StringMap< UT_StringHolder > &dict)
 
void updateViewport ()
 
void suspendTestPatternRender ()
 
bool suspendTestPatternCheck ()
 
- Protected Member Functions inherited from RE_RenderFlush
void setRender (RE_Render *r)
 
- Protected Member Functions inherited from RE_RenderUI
virtual void addVertex (fpreal32 x, fpreal32 y, fpreal32 z, fpreal32 u=-1.0f, fpreal32 v=-1.0f)
 The underlying function for adding a new vertex to our data arrays. More...
 
virtual void createVertexArrays (RE_Render *r, int nelems)
 
virtual void fillVertexArrays (RE_Render *r, int nelems)
 
virtual void bindVertexArrays (RE_Render *r)
 
virtual void unbindVertexArrays (RE_Render *r)
 
virtual bool applyDepthTestingToText () const
 
RE_TexturecreatePatternTexture (RE_Render *r)
 
void pushDepthStateBeforeDraw (RE_Render *r)
 
void popDepthStateAfterDraw (RE_Render *r)
 
bool prepareText (RE_Render *r, bool use_shared_buffers)
 
void renderText (RE_Render *r)
 
void resetCurrentZ ()
 
bool hasAnyData ()
 
void clearSourceData ()
 

Static Protected Member Functions

static bool initGLVersionInfo ()
 
static void determineTwinView ()
 
static RE_ZFunction oglToREzfunc (int oglZFunc)
 
static int reToOGLzfunc (RE_ZFunction reZFunc)
 
static RE_SFunction oglToREsfunc (int oglSFunc)
 
static int reToOGLsfunc (RE_SFunction reSFunc)
 
static RE_SOperation oglToREsoperation (int oglSOperation)
 
static int reToOGLsoperation (RE_SOperation reSOperation)
 
static const char * bufferName (GLint e)
 
static const char * faceName (GLint e)
 
static const char * hintName (GLint e)
 
static const char * cullName (GLint e)
 

Protected Attributes

RE_OGLState myState
 
bool firstInitialize
 
RE_OGLExtmyExt
 
RE_WindowcurrentWindow
 
RE_WindowmySavedMainThreadCurrentWindow
 
short currentDisplayMode
 
RE_OGLContext pushedGraphicsContext
 
RE_OGLContext myContext
 
bool myContextInitialized
 
OGLDrawable myDrawable
 
OGLDrawable myPushedDrawable
 
UT_RecursiveSpinLock myOpenGLLock
 
int myOpenGLContextLockCount
 
int myMaxTextureShaderUnits
 
int myMaxTextureVertexUnits
 
int myMaxTextureGeometryUnits
 
int myMaxTextureFragmentUnits
 
int myMaxTextureSize
 
int myMaxTexture3DSize
 
int myMaxTextureRectSize
 
int myMaxTextureAnisotropy
 
int myMaxVertexAttribs
 
int myMaxColorBuffers
 
int myMaxDrawBuffers
 
GLint maxClipPlanes
 
UT_Vector2F myLineWidthRange
 
bool myFrontBufferDirty
 
RE_RenderBuf myDrawBuffer [RE_BUFFER_STACK_SIZE]
 
int myDrawBufferIndex
 
RE_RenderBuf myReadBuffer [RE_BUFFER_STACK_SIZE]
 
int myReadBufferIndex
 
bool myMultisampleEnable
 
bool myMultisampleAlphaToCoverage
 
int currGLError
 
RE_UniformmyBuiltInUniforms [RE_UNIFORM_BUILT_IN__count]
 
RE_UniformStackEntrymyBuiltInStack [RE_UNIFORM_BUILT_IN__count]
 
int myBuiltInStackIndex [RE_UNIFORM_BUILT_IN__count]
 
UT_Array< RE_Uniform * > myPushedUniforms
 
int myViewportFontOffsetX
 
int myViewportFontOffsetY
 
RE_OcclusionQuerymyActiveQuery
 
RE_MaterialPtr myMaterialStack [RE_MAX_TEXTURE_STATE_STACK]
 
bool myMaterialTextureStack [RE_MAX_TEXTURE_STATE_STACK]
 
int myMaterialLayerStack [RE_MAX_TEXTURE_STATE_STACK]
 
bool myMaterialLighting
 
int myMatStackIndex
 
bool myTransformFeedbackEnabled
 
bool myRasterizeEnabled
 
int myMaxTransformFeedbackBuffers
 
int myMaxTransformFeedbackComponents
 
RE_PrimType myTransformFeedbackType
 
UT_Array
< RE_PrimitivesGeneratedQuery * > 
myTransformFeedbackPrimitiveQuery
 
UT_Array
< RE_FeedbackPrimitivesWrittenQuery * > 
myTransformFeedbackWrittenQuery
 
int myVertexMaxStreams
 
int myActiveStreams
 
bool myActiveConditionalRender
 
bool mySampleShading
 
fpreal myShaderSampleRate
 
int myShaderOnlyModeCount
 
RE_ShadermyShaderOnlyActiveShader
 
int myFragmentDerivativeHint
 
int myUniqueID
 
int64 myBuiltInUniformSerial
 
int64 myRenderCount
 
UT_IntArray myDebugStack
 
int myDebugGroupStackSize
 
int myMaxDebugGroupStackSize
 
bool myDebuggingSupported
 
bool myDebugLabelSupported
 
UT_IntArray myClipDistance
 
int majorGLSLVersion
 
int minorGLSLVersion
 
UT_IntArray myPendingDeleteQueries
 
UT_IntArray myPendingDeleteVertexArrays
 
UT_IntArray myPendingDeleteFBOs
 
UT_ArrayMap< int,
RE_OGLFramebuffer * > 
myFBOTable
 
UT_Array< re_ConstVertexAttribmyConstVertexAttribs
 
RE_OGLVertexArrayListmyCurrentVAO
 
RE_OGLVertexArrayListmyDefaultVAO
 
bool mySubBufferDrawing
 
UT_StopWatchmySuspendCheckTimer
 
RE_OGLFramebuffermySuspendTestFBO
 
RE_OGLFramebuffermySuspendResultFBO
 
RE_OGLTexturemySuspendTestTexture
 
RE_OGLTexturemySuspendResultTexture
 
RE_GeometrymySuspendBox
 
ut_thread_id_t myNativeThread
 
bool myIsAllowingOtherThreads
 
- Protected Attributes inherited from RE_RenderUI
UT_Vector3Array myPositionData
 Basic vertex properties. More...
 
UT_UniquePtr< RE_VertexArraymyPositionArray
 
UT_Array< UT_FRGBAmyColorData
 
UT_UniquePtr< RE_VertexArraymyColorArray
 
UT_Vector2Array myPatternUVData
 
UT_UniquePtr< RE_VertexArraymyPatternUVArray
 
UT_Vector2Array myImageUVData
 
UT_UniquePtr< RE_VertexArraymyImageUVArray
 
UT_IntArray myTriangleElementData
 Triangle primitives. More...
 
UT_UniquePtr< RE_VertexArraymyTriangleElementArray
 
UT_IntArray myLineElementData
 Line primitives. More...
 
UT_UniquePtr< RE_VertexArraymyLineElementArray
 
UT_IntArray myLineSmoothElementData
 
UT_UniquePtr< RE_VertexArraymyLineSmoothElementArray
 
UT_IntArray myLineWideElementData
 
UT_UniquePtr< RE_VertexArraymyLineWideElementArray
 
UT_IntArray myPointElementData
 Point primitives. More...
 
UT_UniquePtr< RE_VertexArraymyPointElementArray
 
UT_Fpreal32Array myPointSizeData
 
UT_UniquePtr< RE_VertexArraymyPointSizeArray
 

Static Protected Attributes

static int majorGLVersion
 
static int minorGLVersion
 
static RE_ServertheServer
 
static int theXRes
 
static int theYRes
 
static int theDotsPerInch
 
static fpreal theUIScale
 
static bool theSmoothLinesAllowed
 
static UT_Array< std::pair
< RE_Visual *, RE_DisplayMode > > 
theVisuals
 
static RE_WindowListtheWindowList
 
static RE_WindowtheMainContextWindow
 
static RE_GraphicsDevice theDevice
 
static int theDriverMajor
 
static int theDriverMinor
 
static int theDriverBuildMajor
 
static int theDriverBuildMinor
 
static bool theUsingCoreProfile
 
static UT_ThreadSpecificValue
< RE_OGLRender * > 
theCurrentRender
 
static UT_ThreadSpecificValue
< RE_OGLRender * > 
theLastRender
 

Friends

class RE_RenderFlush
 

Detailed Description

Definition at line 109 of file RE_OGLRender.h.

Constructor & Destructor Documentation

RE_OGLRender::~RE_OGLRender ( )
override
RE_OGLRender::RE_OGLRender ( int  do_foreground,
const char *  appname = 0 
)
protected

Protected constructor to avoid having it created standalone. Strong assumptions are made that RE_OGLRender objects are always an instance of an RE_Render subclass.

Member Function Documentation

void RE_OGLRender::addComment ( const char *  name,
RE_Severity  sev = RE_SEVERITY_MESSAGE,
int  id = 1987 
)
static void RE_OGLRender::addSuspendResumeCB ( void(*)(void *)  cb,
void data 
)
static
UT_DimRect RE_OGLRender::adjustFramebufferViewport ( const UT_DimRect rect,
bool  to_fbo 
)
protected
void RE_OGLRender::allowSmoothLines ( int  yn)
inlinestatic

Definition at line 1540 of file RE_OGLRender.h.

int RE_OGLRender::allowsSmoothLines ( )
inlinestatic

Definition at line 1541 of file RE_OGLRender.h.

static bool RE_OGLRender::areScreensUniform ( )
static
void RE_OGLRender::assignPushedUniforms ( )
protected
void RE_OGLRender::assignUniformColor ( RE_UniformBuiltIn  bindex,
const UT_Color clr,
fpreal32  alpha = 1.0f 
)
void RE_OGLRender::assignUniformData ( RE_UniformBuiltIn  bindex,
const void data 
)
void RE_OGLRender::assignUniformInt ( RE_UniformBuiltIn  bindex,
int  i 
)
void RE_OGLRender::assignUniformMatrix ( RE_UniformBuiltIn  bindex,
const UT_Matrix4D mat 
)
void RE_OGLRender::assignUniformSampler ( RE_UniformBuiltIn  bindex,
RE_Texture tex 
)
bool RE_OGLRender::beginConditionalRender ( RE_OcclusionQuery query_obj,
bool  render_wait,
bool  region_support 
)
bool RE_OGLRender::beginTransformFeedback ( RE_PrimType  mode,
bool  rasterize_too,
int  stream_bitfield = 0x1 
)
bool RE_OGLRender::bindBuiltInUniform ( RE_Shader s,
RE_UniformBuiltIn  uniform 
)
int RE_OGLRender::bindBuiltInUniforms ( RE_Shader s)
bool RE_OGLRender::bindImageTexture ( int  image_unit,
RE_Texture image,
RE_BufferAccess  image_access,
bool  layered,
int  layer 
)
void RE_OGLRender::bindShader ( RE_Shader s)
void RE_OGLRender::bindShader ( RE_ShaderHandle sh)
void RE_OGLRender::bindTexture ( const RE_OGLTexture tex,
int  unit = RE_ACTIVE_UNIT,
RE_TextureMode  mode = RE_TEXTURE_UNKNOWN 
)
RE_TextureID RE_OGLRender::bindTextureBuffer ( int  id,
int  unit 
)
int RE_OGLRender::bindTextureRaw ( int  id,
int  unit 
)
RE_TextureID RE_OGLRender::bindTextureRaw2D ( int  id,
int  unit 
)
bool RE_OGLRender::bindTextures ( int  first,
const UT_IntArray tex_ids 
)
void RE_OGLRender::blend ( int  onoff)
void RE_OGLRender::blendAlpha ( int  onoff = 1)
void RE_OGLRender::blendAlphaPremult ( bool  onoff = true)
static const char* RE_OGLRender::bufferName ( GLint  e)
staticprotected
void RE_OGLRender::buildRasterTextureGeometry ( fpreal32  x0,
fpreal32  y0,
fpreal32  z,
fpreal32  x1,
fpreal32  y1,
fpreal32  u0,
fpreal32  v0,
fpreal32  u1,
fpreal32  v1,
int  rotation,
RE_Geometry geo 
)
void RE_OGLRender::bumpBuiltInUniformSerial ( )
inline

Definition at line 734 of file RE_OGLRender.h.

void RE_OGLRender::bumpRenderCount ( )
inline

Definition at line 301 of file RE_OGLRender.h.

void RE_OGLRender::checkForSuspendResume ( )
const char* RE_OGLRender::className ( ) const
void RE_OGLRender::clearC ( float color = nullptr)
static void RE_OGLRender::clearCachedUniformBuffer ( int  id)
static
void RE_OGLRender::clearCZ ( float  z = 1.0)
void RE_OGLRender::clearGLErrors ( )
static void RE_OGLRender::clearGraphicsCache ( )
static
void RE_OGLRender::clearS ( )
void RE_OGLRender::clearZ ( float  z = 1.0)
bool RE_OGLRender::clipDistanceEnabled ( int  clip_plane) const
bool RE_OGLRender::contextIsValid ( ) const
inline

Definition at line 260 of file RE_OGLRender.h.

void RE_OGLRender::convertLUTToTexture ( PXL_Lookup lookup)
void RE_OGLRender::convertRasterToTexture ( PXL_Raster raster,
int  convert16bit = 0 
)
static const char* RE_OGLRender::cullName ( GLint  e)
staticprotected
static void RE_OGLRender::destroyBufferObject ( unsigned int  buf)
static
void RE_OGLRender::destroyFramebufferObject ( unsigned int  fbo)
void RE_OGLRender::destroyQuery ( unsigned int  query)
static void RE_OGLRender::destroyRenderbufferObject ( unsigned int  rb)
static
static void RE_OGLRender::destroyShaderObject ( unsigned int  progid,
bool  unreg,
bool  shader 
)
static
static void RE_OGLRender::destroySync ( void sync)
static
static void RE_OGLRender::destroyTextureObject ( unsigned int  texid,
RE_OGLTexture tex 
)
static
void RE_OGLRender::destroyVertexArrayObject ( unsigned int  vao)
static void RE_OGLRender::determineTwinView ( )
staticprotected
void RE_OGLRender::disableAllTextures ( )
void RE_OGLRender::disableColorBufferWriting ( )
void RE_OGLRender::disableDepthBufferWriting ( )
void RE_OGLRender::disableDepthTest ( )
void RE_OGLRender::disableLogicOp ( )
void RE_OGLRender::disableScreenMask ( )
void RE_OGLRender::displayRasterTexture ( float  x,
float  y,
float  z,
const PXL_Raster raster,
const RE_RasterOpts opts = 0 
)
void RE_OGLRender::displayRasterTexture ( float  x,
float  y,
float  z,
float  w,
float  h,
const IMG_Raster raster,
const RE_RasterOpts opts = 0 
)
void RE_OGLRender::displayRasterTexture ( float  x,
float  y,
float  z,
int  w,
int  h,
UT_RGBA r,
int  stride,
float  zoomx = -1.0f,
float  zoomy = -1.0f,
int  dither = 1,
float  alpha_mult = 1.0f 
)
int RE_OGLRender::dpi ( )
inlinestatic

Definition at line 1405 of file RE_OGLRender.h.

void RE_OGLRender::drawViewportPoint ( const fpreal32  p[3],
fpreal32  size 
)
void RE_OGLRender::drawViewportString ( const fpreal32  p[3],
const char *  str,
const UT_Color clr = nullptr,
const UT_Matrix4D view = nullptr,
const UT_Matrix4D proj = nullptr,
const UT_DimRect viewport = nullptr 
)
void RE_OGLRender::dumpFragmentTests ( bool  show_all = false) const
void RE_OGLRender::dumpNewState ( bool  show_all = false,
bool  show_shader_blocks = true 
)
void RE_OGLRender::dumpRasterizeState ( bool  show_all = false) const
void RE_OGLRender::dumpTextureCacheState ( int  stack_level = -1) const
void RE_OGLRender::dumpTextureState ( ) const
void RE_OGLRender::dumpVertexAttributes ( ) const
void RE_OGLRender::dumpViewportState ( bool  show_all = false)
void RE_OGLRender::enableAlphaToCoverage ( bool  enable)
void RE_OGLRender::enableClipDistance ( int  clip_plane,
bool  enable 
)
void RE_OGLRender::enableColorBufferWriting ( )
void RE_OGLRender::enableDepthBufferWriting ( )
void RE_OGLRender::enableDepthClamp ( bool  b)
void RE_OGLRender::enableDepthTest ( )
void RE_OGLRender::enableLogicOp ( )
void RE_OGLRender::enableMultisample ( bool  enable)
void RE_OGLRender::enablePrimitiveRestart ( bool  enable)
void RE_OGLRender::enableSubBufferDrawing ( bool  enable)
void RE_OGLRender::endConditionalRender ( )
void RE_OGLRender::endTransformFeedback ( )
static void RE_OGLRender::exitWithBadDriver ( )
static
static const char* RE_OGLRender::faceName ( GLint  e)
staticprotected
void RE_OGLRender::fetchDriverInfo ( UT_WorkBuffer info,
bool  full_info 
)
void RE_OGLRender::fetchDriverInfoDict ( UT_StringMap< UT_StringHolder > &  dict)
protected
RE_FontBuffers* RE_OGLRender::fetchFontBufferFromPool ( int  size)
int RE_OGLRender::findFirstFreeTextureUnit ( int  starting_unit = 0) const
void RE_OGLRender::flush ( int  wait = 0)
void RE_OGLRender::forceSmooth ( )
void RE_OGLRender::freePendingObjects ( )
protected
RE_OcclusionQuery* RE_OGLRender::getActiveOcclusionQuery ( ) const
int RE_OGLRender::getActiveTexture ( ) const
void RE_OGLRender::getAlphaBlendFunction ( RE_BlendSourceFactor sourceFactor,
RE_BlendDestFactor destFactor 
)
RE_BlendEquation RE_OGLRender::getBlendEquation ( )
void RE_OGLRender::getBlendFunction ( RE_BlendSourceFactor sourceFactor,
RE_BlendDestFactor destFactor 
)
int RE_OGLRender::getBlendSmoothLevel ( ) const
inline

Definition at line 1535 of file RE_OGLRender.h.

const RE_OGLTexture* RE_OGLRender::getBoundTexture ( int  texunit = RE_ACTIVE_UNIT) const
RE_TextureDimension RE_OGLRender::getBoundTextureType ( int  texunit = RE_ACTIVE_UNIT) const
UT_IntArray& RE_OGLRender::getBoundUniformBlocks ( )
inline

Definition at line 794 of file RE_OGLRender.h.

int64 RE_OGLRender::getBuiltInUniformSerial ( ) const
inline

Definition at line 732 of file RE_OGLRender.h.

bool RE_OGLRender::getColorBufferWriting ( )
void RE_OGLRender::getColorMask ( bool &  red,
bool &  green,
bool &  blue,
bool &  alpha 
)
RE_OGLContext RE_OGLRender::getContext ( ) const
inline

Definition at line 261 of file RE_OGLRender.h.

int RE_OGLRender::getContextID ( ) const
inline

Definition at line 115 of file RE_OGLRender.h.

RE_FaceMode RE_OGLRender::getCullFace ( ) const
RE_OGLRender * RE_OGLRender::getCurrentRender ( )
inlinestatic

Definition at line 1464 of file RE_OGLRender.h.

RE_OGLVertexArrayList* RE_OGLRender::getCurrentVAO ( )
const RE_Window * RE_OGLRender::getCurrentWindow ( ) const
inline

Definition at line 1470 of file RE_OGLRender.h.

RE_Window * RE_OGLRender::getCurrentWindow ( )
inline

Definition at line 1473 of file RE_OGLRender.h.

static RE_Cursor* RE_OGLRender::getCursor ( const char *  name)
static
const RE_MaterialPtr& RE_OGLRender::getDefaultMaterial ( )
RE_OGLVertexArrayList* RE_OGLRender::getDefaultVAO ( )
inline

Definition at line 784 of file RE_OGLRender.h.

bool RE_OGLRender::getDepthBufferWriting ( )
bool RE_OGLRender::getDepthClamp ( )
void RE_OGLRender::getDepthRange ( double &  nr,
double &  fr 
) const
bool RE_OGLRender::getDepthTest ( )
RE_RenderBuf RE_OGLRender::getDrawBuffer ( )
bool RE_OGLRender::getDrawBufferIsBlendable ( )
RE_OGLFramebuffer* RE_OGLRender::getDrawFramebuffer ( )
int RE_OGLRender::getDriverBuildMajorVersion ( )
inlinestatic

Definition at line 1393 of file RE_OGLRender.h.

int RE_OGLRender::getDriverBuildMinorVersion ( )
inlinestatic

Definition at line 1394 of file RE_OGLRender.h.

static void RE_OGLRender::getDriverInfo ( UT_WorkBuffer info)
static
static const UT_StringMap<UT_StringHolder>& RE_OGLRender::getDriverInfoDict ( )
static
int RE_OGLRender::getDriverMajorVersion ( )
inlinestatic

Definition at line 1391 of file RE_OGLRender.h.

int RE_OGLRender::getDriverMinorVersion ( )
inlinestatic

Definition at line 1392 of file RE_OGLRender.h.

RE_OGLExt * RE_OGLRender::getExt ( ) const
inline

Definition at line 1396 of file RE_OGLRender.h.

RE_OGLFramebuffer* RE_OGLRender::getFBO ( int  id) const
RE_PrimType RE_OGLRender::getFeedbackMode ( ) const
inline

Definition at line 1559 of file RE_OGLRender.h.

bool RE_OGLRender::getFragmentDerivativeHint ( )
int64 RE_OGLRender::getFreeBufferMemoryKB ( int64 largest_chunk = nullptr)
int64 RE_OGLRender::getFreeFramebufferMemoryKB ( int64 largest_chunk = nullptr)
int64 RE_OGLRender::getFreeTextureMemoryKB ( int64 largest_chunk = nullptr)
static int RE_OGLRender::getGLBlendDest ( RE_BlendDestFactor  destFactor)
static
static int RE_OGLRender::getGLBlendSource ( RE_BlendSourceFactor  sourceFactor)
static
int RE_OGLRender::getGLError ( )
const char* RE_OGLRender::getGLErrorString ( int  error)
RE_GraphicsDevice RE_OGLRender::getGraphicsDevice ( )
inlinestatic

Definition at line 1382 of file RE_OGLRender.h.

static int64 RE_OGLRender::getInitialFreeMemoryKB ( )
static
void RE_OGLRender::getLimits ( UT_WorkBuffer os)
float RE_OGLRender::getLineWidth ( ) const
RE_Window * RE_OGLRender::getMainContext ( )
inlinestatic

Definition at line 1461 of file RE_OGLRender.h.

static int RE_OGLRender::getMatteMaskForSampleCount ( int  samples)
static
int RE_OGLRender::getMaxColorBuffers ( ) const
inline

Definition at line 868 of file RE_OGLRender.h.

int RE_OGLRender::getMaxColorSamples ( ) const
int RE_OGLRender::getMaxDepthSamples ( ) const
int RE_OGLRender::getMaxDrawBuffers ( ) const
inline

Definition at line 871 of file RE_OGLRender.h.

int RE_OGLRender::getMaxFragmentTextureUnits ( ) const
inline

Definition at line 853 of file RE_OGLRender.h.

int RE_OGLRender::getMaxGeometryTextureUnits ( ) const
inline

Definition at line 851 of file RE_OGLRender.h.

int RE_OGLRender::getMaxIntegerSamples ( ) const
int RE_OGLRender::getMaxShaderTextureUnits ( ) const
inline

Definition at line 847 of file RE_OGLRender.h.

float RE_OGLRender::getMaxSmoothLineWidth ( )
int RE_OGLRender::getMaxTexture3DSize ( ) const
inline

Definition at line 862 of file RE_OGLRender.h.

int RE_OGLRender::getMaxTextureRectangleSize ( )
inline

Definition at line 864 of file RE_OGLRender.h.

int RE_OGLRender::getMaxTextureSize ( ) const
inline

Definition at line 860 of file RE_OGLRender.h.

int RE_OGLRender::getMaxVertexAttribs ( ) const
inline

Definition at line 759 of file RE_OGLRender.h.

int RE_OGLRender::getMaxVertexTextureUnits ( ) const
inline

Definition at line 849 of file RE_OGLRender.h.

void RE_OGLRender::getMaxViewportSize ( int w,
int h 
) const
RE_DisplayMode RE_OGLRender::getMode ( ) const
int RE_OGLRender::getNextGLError ( )
int RE_OGLRender::getNumFeedbackPrimitives ( int  stream = 0)
void RE_OGLRender::getOffsetAmount ( float variable,
float constant 
) const
inline

Definition at line 1523 of file RE_OGLRender.h.

int RE_OGLRender::getOGLMaxClipPlanes ( )
inline

Definition at line 1484 of file RE_OGLRender.h.

bool RE_OGLRender::getProgramPointSize ( ) const
RE_OGLTexture* RE_OGLRender::getRandomSampleMaskTexture ( unsigned int  seed,
int  nsamples,
int  size = 64 
)
RE_OGLTexture* RE_OGLRender::getRandomTexture ( unsigned int  seed,
bool  interp,
int  size = 64 
)
RE_OGLTexture* RE_OGLRender::getRandomTexture3D ( unsigned int  seed,
bool  interp,
int  size = 32 
)
RE_OGLTexture* RE_OGLRender::getRandomTextureArray ( unsigned int  seed,
bool  interp,
int  num_layers,
int  size = 64 
)
RE_RenderBuf RE_OGLRender::getReadBuffer ( )
RE_OGLFramebuffer* RE_OGLRender::getReadFramebuffer ( )
RE_Render* RE_OGLRender::getRender ( )
inline

Definition at line 121 of file RE_OGLRender.h.

const RE_Render* RE_OGLRender::getRender ( ) const
inline

Definition at line 123 of file RE_OGLRender.h.

int64 RE_OGLRender::getRenderCount ( ) const
inline

Definition at line 303 of file RE_OGLRender.h.

bool RE_OGLRender::getReverseWinding ( )
int RE_OGLRender::getSampleMask ( int  mask_number)
bool RE_OGLRender::getScreenMask ( )
UT_DimRect RE_OGLRender::getScreenMask2DI ( )
static RE_Server* RE_OGLRender::getServer ( )
static
RE_Shader* RE_OGLRender::getShader ( )
fpreal RE_OGLRender::getShaderSampleRate ( ) const
RE_SmoothMode RE_OGLRender::getSmoothLines ( )
int RE_OGLRender::getTextureAnisotropyLimit ( ) const
inline

Definition at line 855 of file RE_OGLRender.h.

RE_Uniform * RE_OGLRender::getUniform ( RE_UniformBuiltIn  builtin_var_type) const
inline

Definition at line 1571 of file RE_OGLRender.h.

static bool RE_OGLRender::getUsingCoreProfile ( )
static
UT_DimRect RE_OGLRender::getViewport2DI ( )
int RE_OGLRender::getViewportFontOffsetX ( ) const
inline

Definition at line 1544 of file RE_OGLRender.h.

int RE_OGLRender::getViewportFontOffsetY ( ) const
inline

Definition at line 1548 of file RE_OGLRender.h.

static RE_Visual* RE_OGLRender::getVisualForMode ( RE_DisplayMode  newmode)
static
RE_VisualType RE_OGLRender::getVisualType ( ) const
RE_WindowList * RE_OGLRender::getWindowList ( )
inlinestatic

Definition at line 1467 of file RE_OGLRender.h.

static UT_DimRect RE_OGLRender::getWorkAreaForScreen ( UT_DimRect  area)
static
RE_ZFunction RE_OGLRender::getZFunction ( ) const
int RE_OGLRender::glMajorVersion ( )
inlinestatic

Definition at line 1375 of file RE_OGLRender.h.

int RE_OGLRender::glMinorVersion ( )
inlinestatic

Definition at line 1376 of file RE_OGLRender.h.

int RE_OGLRender::glslMajorVersion ( )
inline

Definition at line 1378 of file RE_OGLRender.h.

int RE_OGLRender::glslMaxOutputComponents ( RE_ShaderType  stage)
int RE_OGLRender::glslMaxUniformComponents ( RE_ShaderType  stage)
int RE_OGLRender::glslMinorVersion ( )
inline

Definition at line 1379 of file RE_OGLRender.h.

bool RE_OGLRender::hasDriverVersion ( )
inlinestatic

Definition at line 1384 of file RE_OGLRender.h.

bool RE_OGLRender::hasFeedbackBufferOverflow ( int  stream = 0)
bool RE_OGLRender::hasGL11 ( )
inlinestatic

Definition at line 1337 of file RE_OGLRender.h.

bool RE_OGLRender::hasGL12 ( )
inlinestatic

Definition at line 1341 of file RE_OGLRender.h.

bool RE_OGLRender::hasGL13 ( )
inlinestatic

Definition at line 1345 of file RE_OGLRender.h.

bool RE_OGLRender::hasGL14 ( )
inlinestatic

Definition at line 1349 of file RE_OGLRender.h.

bool RE_OGLRender::hasGL15 ( )
inlinestatic

Definition at line 1353 of file RE_OGLRender.h.

bool RE_OGLRender::hasGL20 ( )
inlinestatic

Definition at line 1357 of file RE_OGLRender.h.

bool RE_OGLRender::hasGL21 ( )
inlinestatic

Definition at line 1361 of file RE_OGLRender.h.

bool RE_OGLRender::hasGL3 ( int  minor)
inlinestatic

Definition at line 1366 of file RE_OGLRender.h.

bool RE_OGLRender::hasGL4 ( int  minor)
inlinestatic

Definition at line 1371 of file RE_OGLRender.h.

bool RE_OGLRender::hasGLExtension ( RE_Extension  e) const
inline

Definition at line 1397 of file RE_OGLRender.h.

static const char* RE_OGLRender::hintName ( GLint  e)
staticprotected
int RE_OGLRender::inchesToPixels ( float  i)
inlinestatic

Definition at line 1425 of file RE_OGLRender.h.

virtual void RE_OGLRender::initGLExtensions ( )
protectedvirtual
virtual void RE_OGLRender::initGLState ( )
protectedvirtual
static bool RE_OGLRender::initGLVersionInfo ( )
staticprotected
static void RE_OGLRender::initialize ( )
static
void RE_OGLRender::intersectMask2DI ( const UT_DimRect rect)
void RE_OGLRender::invalidateCachedState ( )
void RE_OGLRender::invertPixels ( )
bool RE_OGLRender::is3DLUTSupported ( ) const
bool RE_OGLRender::isAlphaToCoverage ( ) const
bool RE_OGLRender::isBackface ( ) const
bool RE_OGLRender::isBlending ( ) const
inline

Definition at line 1530 of file RE_OGLRender.h.

bool RE_OGLRender::isContextLocked ( ) const
bool RE_OGLRender::isCurrent ( ) const
inline

Definition at line 257 of file RE_OGLRender.h.

bool RE_OGLRender::isDebugging ( ) const
inline

Definition at line 1583 of file RE_OGLRender.h.

bool RE_OGLRender::isDebugLabelSupported ( ) const
inline

Definition at line 1577 of file RE_OGLRender.h.

bool RE_OGLRender::isFrontBufferDirty ( ) const
inline

Definition at line 1476 of file RE_OGLRender.h.

bool RE_OGLRender::isInitialized ( ) const
inline

Definition at line 118 of file RE_OGLRender.h.

bool RE_OGLRender::isLineOffset ( )
inline

Definition at line 1490 of file RE_OGLRender.h.

bool RE_OGLRender::isMultisampleEnabled ( ) const
bool RE_OGLRender::isPointOffset ( )
inline

Definition at line 1487 of file RE_OGLRender.h.

bool RE_OGLRender::isPolygonOffset ( )
inline
Examples:
tetprim/GR_PrimTetra.C.

Definition at line 1493 of file RE_OGLRender.h.

bool RE_OGLRender::isRasterizeEnabled ( ) const
inline

Definition at line 1565 of file RE_OGLRender.h.

bool RE_OGLRender::isSampleShading ( ) const
bool RE_OGLRender::isStencil ( )
bool RE_OGLRender::isTransformFeedbackEnabled ( ) const
inline

Definition at line 1553 of file RE_OGLRender.h.

void RE_OGLRender::lineOffset ( bool  onoff)
inline

Definition at line 1505 of file RE_OGLRender.h.

void RE_OGLRender::lockContextForRender ( )
bool RE_OGLRender::makeCurrent ( bool  ignore_errors = false)
bool RE_OGLRender::makeCurrentQt ( )
bool RE_OGLRender::memoryBarrier ( RE_MemoryBarrierBitfield  barriers)

Ensure all writes are complete to the specified resource(s). GL4.2, RE_EXT_BUFFER_STORE or RE_EXT_SHADER_LOAD_STORE must be supported, or this will return false, doing nothing.

static RE_SFunction RE_OGLRender::oglToREsfunc ( int  oglSFunc)
staticprotected
static RE_SOperation RE_OGLRender::oglToREsoperation ( int  oglSOperation)
staticprotected
static RE_ZFunction RE_OGLRender::oglToREzfunc ( int  oglZFunc)
staticprotected
void RE_OGLRender::orPixels ( )
float RE_OGLRender::pixelsToInches ( int  n)
inlinestatic

Definition at line 1419 of file RE_OGLRender.h.

void RE_OGLRender::pointOffset ( bool  onoff)
inline

Definition at line 1496 of file RE_OGLRender.h.

void RE_OGLRender::polygonOffset ( bool  onoff)
inline
Examples:
tetprim/GR_PrimTetra.C.

Definition at line 1514 of file RE_OGLRender.h.

void RE_OGLRender::popBackfaceCulling ( int nested = 0)
void RE_OGLRender::popBlendState ( int nesting = 0)
void RE_OGLRender::popDebug ( int nest = nullptr)
void RE_OGLRender::popDebugGroup ( int nest = nullptr)
void RE_OGLRender::popDepthState ( int nest = nullptr)
void RE_OGLRender::popDrawBuffer ( int nest = 0)
void RE_OGLRender::popDrawFramebuffer ( int nest = nullptr)
void RE_OGLRender::popLineWidth ( int nest = nullptr)
void RE_OGLRender::popMaterial ( int nest = nullptr)
void RE_OGLRender::popObjectMatrix ( )
void RE_OGLRender::popOffscreenBuffer ( )
void RE_OGLRender::popPointSize ( int nest = nullptr)
void RE_OGLRender::popReadAlignment ( int nest = nullptr)
void RE_OGLRender::popReadBuffer ( int nest = 0)
void RE_OGLRender::popReadFramebuffer ( int nest = nullptr)
void RE_OGLRender::popShaderTransformFeedback ( int nest = nullptr)
void RE_OGLRender::popSmoothLines ( int nesting = 0)
void RE_OGLRender::popStencilState ( int nest = nullptr)
void RE_OGLRender::popTextureState ( int nest = nullptr)
void RE_OGLRender::popUniform ( RE_UniformBuiltIn  bindex)
void RE_OGLRender::popUniform ( RE_Uniform uniform)
void RE_OGLRender::popUniformData ( RE_UniformBuiltIn  bindex)
inline
Examples:
GUI/GUI_PolySoupBox.C.

Definition at line 712 of file RE_OGLRender.h.

void RE_OGLRender::popWriteAlignment ( int nest = nullptr)
static bool RE_OGLRender::positionOkay ( const UT_DimRect area)
static
static int RE_OGLRender::positionOnScreen ( UT_DimRect area,
int  screen_hint = -1 
)
static
void RE_OGLRender::postDrawViewportString ( )
void RE_OGLRender::preDrawViewportString ( UT_Matrix4D view,
UT_Matrix4D proj,
UT_DimRect viewport 
)
void RE_OGLRender::printAllGLErrors ( const char *  header,
bool  assert = false 
)
void RE_OGLRender::printBuiltInUniform ( RE_UniformBuiltIn  b)
void RE_OGLRender::printBuiltInUniforms ( bool  bound_only)
void RE_OGLRender::printGLError ( const char *  header,
bool  assert = false 
)
void RE_OGLRender::privPopBlendSmoothState ( bool  smooth_too,
int idx 
)
protected
int RE_OGLRender::privPushBlendSmoothState ( bool  smooth_too)
protected
int RE_OGLRender::pushBackfaceCulling ( )
int RE_OGLRender::pushBackfaceCulling ( bool  backface)
int RE_OGLRender::pushBlendState ( )
int RE_OGLRender::pushDebug ( bool  enable)
int RE_OGLRender::pushDebugGroup ( const char *  name,
int  id = 1987 
)
int RE_OGLRender::pushDepthState ( )
int RE_OGLRender::pushDrawBuffer ( RE_RenderBuf  buf = RE_BUFFER_UNINIT)
int RE_OGLRender::pushDrawFramebuffer ( )
int RE_OGLRender::pushDrawFramebuffer ( RE_OGLFramebuffer fb)
int RE_OGLRender::pushLineWidth ( float  w)
int RE_OGLRender::pushMaterial ( const RE_MaterialPtr mat,
int  layer = 0,
bool  texture = true,
RE_ShaderTarget  sht = RE_SHADER_TARGET_TRIANGLE,
RE_Shader override_mat_shader = nullptr,
bool  allow_partial_render = false 
)
int RE_OGLRender::pushMaterial ( )
void RE_OGLRender::pushObjectMatrix ( const UT_Matrix4D obj,
bool  inverse_too = false 
)
bool RE_OGLRender::pushOffscreenBuffer ( OGLDrawable  type)
int RE_OGLRender::pushPointSize ( float  size,
bool  program_point_size = false 
)
int RE_OGLRender::pushReadAlignment ( const void data,
int  scansize 
)
int RE_OGLRender::pushReadBuffer ( RE_RenderBuf  buf = RE_BUFFER_UNINIT)
int RE_OGLRender::pushReadFramebuffer ( )
int RE_OGLRender::pushReadFramebuffer ( RE_OGLFramebuffer fb)
int RE_OGLRender::pushShader ( RE_Shader s)
int RE_OGLRender::pushShader ( RE_ShaderHandle sh)
int RE_OGLRender::pushShaderTransformFeedback ( RE_Shader sh,
RE_PrimType  type,
bool  rasterize = true,
int  stream_bitfield = 0x1 
)
int RE_OGLRender::pushShaderTransformFeedback ( RE_ShaderHandle sh,
RE_PrimType  type,
bool  rasterize = true,
int  stream_bitfield = 0x1 
)
int RE_OGLRender::pushSmoothLines ( )
int RE_OGLRender::pushStencilState ( )
int RE_OGLRender::pushTextureState ( int  textureunit = RE_ALL_UNITS)
void RE_OGLRender::pushUniform ( RE_UniformBuiltIn  bindex,
RE_Uniform var = nullptr 
)
void RE_OGLRender::pushUniform ( RE_Uniform uniform)
void RE_OGLRender::pushUniformColor ( RE_UniformBuiltIn  bindex,
const UT_Color clr,
fpreal32  alpha = 1.0f 
)
void RE_OGLRender::pushUniformData ( RE_UniformBuiltIn  bindex,
const void data 
)
void RE_OGLRender::pushUniformInt ( RE_UniformBuiltIn  bindex,
int  i 
)
void RE_OGLRender::pushUniformMatrix ( RE_UniformBuiltIn  bindex,
const UT_Matrix4D mat 
)
void RE_OGLRender::pushUniformSampler ( RE_UniformBuiltIn  bindex,
RE_Texture tex 
)
int RE_OGLRender::pushWriteAlignment ( const void data,
int  scansize 
)
RE_OGLRender::RE_FLAG_11_STATE ( PointOffset  ,
GL_POLYGON_OFFSET_POINT   
)
protected
RE_OGLRender::RE_FLAG_11_STATE ( LineOffset  ,
GL_POLYGON_OFFSET_LINE   
)
protected
RE_OGLRender::RE_FLAG_11_STATE ( FillOffset  ,
GL_POLYGON_OFFSET_FILL   
)
protected
RE_OGLRender::RE_FLAG_STATE ( Scissor  ,
GL_SCISSOR_TEST   
)
protected
RE_OGLRender::RE_FLAG_STATE ( LineSmoothing  ,
GL_LINE_SMOOTH   
)
protected
RE_OGLRender::RE_FLAG_STATE ( Stencil  ,
GL_STENCIL_TEST   
)
protected
void RE_OGLRender::registerFBO ( RE_OGLFramebuffer fb,
int  fb_id 
)
static void RE_OGLRender::removeSuspendResumeCB ( void(*)(void *)  cb,
void data 
)
static
void RE_OGLRender::removeTextureRefs ( RE_OGLTexture tex)
void RE_OGLRender::requestFixedFunction ( )
static void RE_OGLRender::resetCurrent ( )
static
void RE_OGLRender::resetCurrentVAO ( RE_OGLVertexArrayList deleted_list)
void RE_OGLRender::resetRenderCount ( )
inline

Definition at line 302 of file RE_OGLRender.h.

void RE_OGLRender::resetSClearValue ( )
void RE_OGLRender::resetSFunction ( )
void RE_OGLRender::resetSOperation ( )
void RE_OGLRender::resetSWriteMask ( )
int RE_OGLRender::resX ( )
inlinestatic

Definition at line 1403 of file RE_OGLRender.h.

int RE_OGLRender::resY ( )
inlinestatic

Definition at line 1404 of file RE_OGLRender.h.

void RE_OGLRender::resync ( )
inline

Definition at line 1047 of file RE_OGLRender.h.

static int RE_OGLRender::reToOGLsfunc ( RE_SFunction  reSFunc)
staticprotected
static int RE_OGLRender::reToOGLsoperation ( RE_SOperation  reSOperation)
staticprotected
static int RE_OGLRender::reToOGLzfunc ( RE_ZFunction  reZFunc)
staticprotected
void RE_OGLRender::returnFontBufferToPool ( RE_FontBuffers buf)
void RE_OGLRender::saveRaster ( int  x,
int  y,
int  w,
int  h,
IMG_Raster r,
bool  use_backbuf = true 
)
UT_UniquePtr<TIL_Raster> RE_OGLRender::saveRaster ( int  x,
int  y,
int  w,
int  h,
PXL_DataFormat  format,
bool  alphatoo,
bool  use_backbuf = true 
)
int RE_OGLRender::scaledSize ( int  size)
inlinestatic

Definition at line 1431 of file RE_OGLRender.h.

fpreal RE_OGLRender::scaledSize ( fpreal  size)
inlinestatic

Definition at line 1437 of file RE_OGLRender.h.

static void RE_OGLRender::scaleUI ( fpreal  scale)
static
void RE_OGLRender::screenMask2DI ( const UT_DimRect rect)
void RE_OGLRender::setActiveOcclusionQuery ( RE_OcclusionQuery q)
void RE_OGLRender::setActiveTexture ( int  textureunit)
bool RE_OGLRender::setAlphaBlendFunction ( RE_BlendSourceFactor  sourceFactor,
RE_BlendDestFactor  destFactor,
bool  force = false 
)
void RE_OGLRender::setBackface ( bool  removeBackface)
void RE_OGLRender::setBlendEquation ( RE_BlendEquation  eq)
void RE_OGLRender::setBlendFunction ( RE_BlendSourceFactor  sourceFactor,
RE_BlendDestFactor  destFactor 
)
void RE_OGLRender::setColorMask ( bool  red,
bool  green,
bool  blue,
bool  alpha 
)
void RE_OGLRender::setConstAttribF32 ( int  loc,
int  vsize,
const fpreal32 data 
)
void RE_OGLRender::setConstAttribF32 ( int  loc,
int  vsize,
const fpreal64 data 
)
void RE_OGLRender::setConstAttribF64 ( int  loc,
int  vsize,
const fpreal64 data 
)
void RE_OGLRender::setConstAttribI32 ( int  loc,
int  vsize,
const int32 data 
)
void RE_OGLRender::setConstAttribU32 ( int  loc,
int  vsize,
const uint32 data 
)
void RE_OGLRender::setCullFace ( RE_FaceMode  m)
bool RE_OGLRender::setCurrentVAO ( RE_OGLVertexArrayList list)
void RE_OGLRender::setDefaultVAO ( RE_OGLVertexArrayList vao)
inline

Definition at line 787 of file RE_OGLRender.h.

void RE_OGLRender::setDepthRange ( double  nr,
double  fr 
)
void RE_OGLRender::setDrawBuffer ( RE_RenderBuf  buf)
void RE_OGLRender::setDrawFramebuffer ( RE_OGLFramebuffer fb)
void RE_OGLRender::setFragmentDerivativeHint ( bool  nicest)
void RE_OGLRender::setFrontBufferDirty ( bool  d)
inline

Definition at line 1480 of file RE_OGLRender.h.

void RE_OGLRender::setMainContext ( RE_Window w)
void RE_OGLRender::setMaterial ( const RE_MaterialPtr mat,
int  layer = 0,
bool  texture = true,
RE_ShaderTarget  sht = RE_SHADER_TARGET_TRIANGLE,
RE_Shader override_mat_shader = nullptr,
bool  allow_partial_render = false 
)
void RE_OGLRender::setOffsetAmount ( float  variable,
float  constant 
)
void RE_OGLRender::setPatchInnerLevel ( const UT_Vector2F inner)

Set the tesselation default inner level parameters (with no tess control shader) for the tesselator. Requires RE_EXT_TESS_SHADER or GL4.

void RE_OGLRender::setPatchOuterLevel ( const UT_Vector4F outer)

Set the tesselation default outer level parameters (with no tess control shader) for the tesselator. Requires RE_EXT_TESS_SHADER or GL4.

void RE_OGLRender::setPatchVertices ( int  num_verts)

Set the number of vertices per patch for tesselation. Requires RE_EXT_TESS_SHADER or GL4.

static void RE_OGLRender::setPerformBadDriverCheck ( bool  onoff)
static
void RE_OGLRender::setPointSize ( float  size)
void RE_OGLRender::setPrimitiveRestartIndex ( unsigned int  index)
void RE_OGLRender::setProgramPointSize ( bool  enable)
void RE_OGLRender::setReadBuffer ( RE_RenderBuf  buf)
void RE_OGLRender::setReadFramebuffer ( RE_OGLFramebuffer fb)
void RE_OGLRender::setReverseWinding ( bool  reverse_winding)
void RE_OGLRender::setSampleMask ( int  mask_number,
int  mask 
)
void RE_OGLRender::setSClearValue ( int  clearValue)
void RE_OGLRender::setSFunction ( RE_SFunction  func,
int  ref,
int  mask 
)
void RE_OGLRender::setShaderOnlyMode ( bool  enable)
bool RE_OGLRender::setShaderSampleRate ( fpreal  rate)
void RE_OGLRender::setSOperation ( RE_SOperation  sfail,
RE_SOperation  dpfail,
RE_SOperation  dppass 
)
void RE_OGLRender::setStencil ( bool  enable)
void RE_OGLRender::setSWriteMask ( int  writeMask)
void RE_OGLRender::setupDebugging ( )
protected
bool RE_OGLRender::setupShaderForLUT ( RE_Shader shader,
PXL_Lookup lookup,
float  gamma,
bool  add_shader 
)
static void RE_OGLRender::setUsingCoreProfile ( bool  using_core_profile)
static
void RE_OGLRender::setViewportFontOffset ( int  x,
int  y 
)
void RE_OGLRender::setWindow ( RE_Window ,
bool  attach = true 
)
void RE_OGLRender::setZFunction ( RE_ZFunction  func)
void RE_OGLRender::smoothBlendLines ( RE_SmoothMode  mode)
void RE_OGLRender::smoothBlendLinesNoFlagChange ( bool  by_smooth)
bool RE_OGLRender::subBufferDrawingEnabled ( ) const
inline

Definition at line 1053 of file RE_OGLRender.h.

bool RE_OGLRender::suspendTestPatternCheck ( )
protected
void RE_OGLRender::suspendTestPatternRender ( )
protected
bool RE_OGLRender::swapbuffers ( )
bool RE_OGLRender::switchContextForRender ( bool  ignore_errors)
protected
void RE_OGLRender::switchTexture ( int  textureunit,
const RE_OGLTexture texture 
)
protected
bool RE_OGLRender::tryLockContextForRender ( )
fpreal RE_OGLRender::uiScale ( )
inlinestatic

Definition at line 1410 of file RE_OGLRender.h.

void RE_OGLRender::unbindImageTexture ( int  image_unit)
void RE_OGLRender::unbindPipeline ( )
void RE_OGLRender::unbindTexture ( const RE_OGLTexture tex)
void RE_OGLRender::unlockContextAfterRender ( )
void RE_OGLRender::unregisterFBO ( int  id)
void RE_OGLRender::updateBlendSmoothState ( )
protected
void RE_OGLRender::updateColorBufferWriting ( )
void RE_OGLRender::updateCurrentFramebuffer ( RE_OGLFramebuffer fb,
bool  for_draw 
)
void RE_OGLRender::updateDepthBufferWriting ( )
void RE_OGLRender::updateDepthClamp ( )
void RE_OGLRender::updateDepthTest ( )
void RE_OGLRender::updateFramebuffer ( )
virtual void RE_OGLRender::updateGLState ( )
protectedvirtual
void RE_OGLRender::updateOffsetAmount ( )
protected
static void RE_OGLRender::updateScreenSize ( )
static
void RE_OGLRender::updateShader ( RE_Shader s)
virtual void RE_OGLRender::updateStacks ( )
protectedvirtual
void RE_OGLRender::updateStencilState ( )
void RE_OGLRender::updateTextureState ( ) const
void RE_OGLRender::updateViewport ( )
protected
void RE_OGLRender::updateZFunction ( ) const
void RE_OGLRender::useSampleMask ( bool  use)
void RE_OGLRender::useSeamlessMaps ( bool  enable)
bool RE_OGLRender::usingSampleMask ( ) const
bool RE_OGLRender::usingSeamlessMaps ( )
void RE_OGLRender::verifyTextureIsNotBound ( RE_OGLTexture texture)
void RE_OGLRender::viewport2DI ( const UT_DimRect rect)
void RE_OGLRender::xorPixels ( )

Friends And Related Function Documentation

friend class RE_RenderFlush
friend

Definition at line 1303 of file RE_OGLRender.h.

Member Data Documentation

short RE_OGLRender::currentDisplayMode
protected

Definition at line 1148 of file RE_OGLRender.h.

RE_Window* RE_OGLRender::currentWindow
protected

Definition at line 1146 of file RE_OGLRender.h.

int RE_OGLRender::currGLError
protected

Definition at line 1184 of file RE_OGLRender.h.

bool RE_OGLRender::firstInitialize
protected

Definition at line 1143 of file RE_OGLRender.h.

int RE_OGLRender::majorGLSLVersion
protected

Definition at line 1237 of file RE_OGLRender.h.

int RE_OGLRender::majorGLVersion
staticprotected

Definition at line 1235 of file RE_OGLRender.h.

GLint RE_OGLRender::maxClipPlanes
protected

Definition at line 1172 of file RE_OGLRender.h.

int RE_OGLRender::minorGLSLVersion
protected

Definition at line 1238 of file RE_OGLRender.h.

int RE_OGLRender::minorGLVersion
staticprotected

Definition at line 1236 of file RE_OGLRender.h.

bool RE_OGLRender::myActiveConditionalRender
protected

Definition at line 1213 of file RE_OGLRender.h.

RE_OcclusionQuery* RE_OGLRender::myActiveQuery
protected

Definition at line 1195 of file RE_OGLRender.h.

int RE_OGLRender::myActiveStreams
protected

Definition at line 1211 of file RE_OGLRender.h.

RE_UniformStackEntry* RE_OGLRender::myBuiltInStack[RE_UNIFORM_BUILT_IN__count]
protected

Definition at line 1188 of file RE_OGLRender.h.

int RE_OGLRender::myBuiltInStackIndex[RE_UNIFORM_BUILT_IN__count]
protected

Definition at line 1189 of file RE_OGLRender.h.

RE_Uniform* RE_OGLRender::myBuiltInUniforms[RE_UNIFORM_BUILT_IN__count]
protected

Definition at line 1187 of file RE_OGLRender.h.

int64 RE_OGLRender::myBuiltInUniformSerial
protected

Definition at line 1222 of file RE_OGLRender.h.

UT_IntArray RE_OGLRender::myClipDistance
mutableprotected

Definition at line 1232 of file RE_OGLRender.h.

UT_Array<re_ConstVertexAttrib> RE_OGLRender::myConstVertexAttribs
protected

Definition at line 1278 of file RE_OGLRender.h.

RE_OGLContext RE_OGLRender::myContext
protected

Definition at line 1152 of file RE_OGLRender.h.

bool RE_OGLRender::myContextInitialized
protected

Definition at line 1153 of file RE_OGLRender.h.

RE_OGLVertexArrayList* RE_OGLRender::myCurrentVAO
protected

Definition at line 1279 of file RE_OGLRender.h.

bool RE_OGLRender::myDebuggingSupported
protected

Definition at line 1229 of file RE_OGLRender.h.

int RE_OGLRender::myDebugGroupStackSize
protected

Definition at line 1227 of file RE_OGLRender.h.

bool RE_OGLRender::myDebugLabelSupported
protected

Definition at line 1230 of file RE_OGLRender.h.

UT_IntArray RE_OGLRender::myDebugStack
protected

Definition at line 1226 of file RE_OGLRender.h.

RE_OGLVertexArrayList* RE_OGLRender::myDefaultVAO
protected

Definition at line 1280 of file RE_OGLRender.h.

OGLDrawable RE_OGLRender::myDrawable
protected

Definition at line 1154 of file RE_OGLRender.h.

RE_RenderBuf RE_OGLRender::myDrawBuffer[RE_BUFFER_STACK_SIZE]
protected

Definition at line 1176 of file RE_OGLRender.h.

int RE_OGLRender::myDrawBufferIndex
protected

Definition at line 1177 of file RE_OGLRender.h.

RE_OGLExt* RE_OGLRender::myExt
protected

Definition at line 1145 of file RE_OGLRender.h.

UT_ArrayMap<int,RE_OGLFramebuffer*> RE_OGLRender::myFBOTable
protected

Definition at line 1264 of file RE_OGLRender.h.

int RE_OGLRender::myFragmentDerivativeHint
protected

Definition at line 1219 of file RE_OGLRender.h.

bool RE_OGLRender::myFrontBufferDirty
protected

Definition at line 1175 of file RE_OGLRender.h.

bool RE_OGLRender::myIsAllowingOtherThreads
protected

Definition at line 1301 of file RE_OGLRender.h.

UT_Vector2F RE_OGLRender::myLineWidthRange
protected

Definition at line 1173 of file RE_OGLRender.h.

int RE_OGLRender::myMaterialLayerStack[RE_MAX_TEXTURE_STATE_STACK]
protected

Definition at line 1199 of file RE_OGLRender.h.

bool RE_OGLRender::myMaterialLighting
protected

Definition at line 1200 of file RE_OGLRender.h.

RE_MaterialPtr RE_OGLRender::myMaterialStack[RE_MAX_TEXTURE_STATE_STACK]
protected

Definition at line 1197 of file RE_OGLRender.h.

bool RE_OGLRender::myMaterialTextureStack[RE_MAX_TEXTURE_STATE_STACK]
protected

Definition at line 1198 of file RE_OGLRender.h.

int RE_OGLRender::myMatStackIndex
protected

Definition at line 1201 of file RE_OGLRender.h.

int RE_OGLRender::myMaxColorBuffers
protected

Definition at line 1169 of file RE_OGLRender.h.

int RE_OGLRender::myMaxDebugGroupStackSize
protected

Definition at line 1228 of file RE_OGLRender.h.

int RE_OGLRender::myMaxDrawBuffers
protected

Definition at line 1170 of file RE_OGLRender.h.

int RE_OGLRender::myMaxTexture3DSize
protected

Definition at line 1165 of file RE_OGLRender.h.

int RE_OGLRender::myMaxTextureAnisotropy
protected

Definition at line 1167 of file RE_OGLRender.h.

int RE_OGLRender::myMaxTextureFragmentUnits
protected

Definition at line 1163 of file RE_OGLRender.h.

int RE_OGLRender::myMaxTextureGeometryUnits
protected

Definition at line 1162 of file RE_OGLRender.h.

int RE_OGLRender::myMaxTextureRectSize
protected

Definition at line 1166 of file RE_OGLRender.h.

int RE_OGLRender::myMaxTextureShaderUnits
protected

Definition at line 1160 of file RE_OGLRender.h.

int RE_OGLRender::myMaxTextureSize
protected

Definition at line 1164 of file RE_OGLRender.h.

int RE_OGLRender::myMaxTextureVertexUnits
protected

Definition at line 1161 of file RE_OGLRender.h.

int RE_OGLRender::myMaxTransformFeedbackBuffers
protected

Definition at line 1205 of file RE_OGLRender.h.

int RE_OGLRender::myMaxTransformFeedbackComponents
protected

Definition at line 1206 of file RE_OGLRender.h.

int RE_OGLRender::myMaxVertexAttribs
protected

Definition at line 1168 of file RE_OGLRender.h.

bool RE_OGLRender::myMultisampleAlphaToCoverage
protected

Definition at line 1182 of file RE_OGLRender.h.

bool RE_OGLRender::myMultisampleEnable
protected

Definition at line 1181 of file RE_OGLRender.h.

ut_thread_id_t RE_OGLRender::myNativeThread
protected

Definition at line 1300 of file RE_OGLRender.h.

int RE_OGLRender::myOpenGLContextLockCount
protected

Definition at line 1158 of file RE_OGLRender.h.

UT_RecursiveSpinLock RE_OGLRender::myOpenGLLock
protected

Definition at line 1157 of file RE_OGLRender.h.

UT_IntArray RE_OGLRender::myPendingDeleteFBOs
protected

Definition at line 1262 of file RE_OGLRender.h.

UT_IntArray RE_OGLRender::myPendingDeleteQueries
protected

Definition at line 1260 of file RE_OGLRender.h.

UT_IntArray RE_OGLRender::myPendingDeleteVertexArrays
protected

Definition at line 1261 of file RE_OGLRender.h.

OGLDrawable RE_OGLRender::myPushedDrawable
protected

Definition at line 1155 of file RE_OGLRender.h.

UT_Array<RE_Uniform *> RE_OGLRender::myPushedUniforms
protected

Definition at line 1191 of file RE_OGLRender.h.

bool RE_OGLRender::myRasterizeEnabled
protected

Definition at line 1204 of file RE_OGLRender.h.

RE_RenderBuf RE_OGLRender::myReadBuffer[RE_BUFFER_STACK_SIZE]
protected

Definition at line 1178 of file RE_OGLRender.h.

int RE_OGLRender::myReadBufferIndex
protected

Definition at line 1179 of file RE_OGLRender.h.

int64 RE_OGLRender::myRenderCount
protected

Definition at line 1224 of file RE_OGLRender.h.

bool RE_OGLRender::mySampleShading
protected

Definition at line 1214 of file RE_OGLRender.h.

RE_Window* RE_OGLRender::mySavedMainThreadCurrentWindow
protected

Definition at line 1147 of file RE_OGLRender.h.

RE_Shader* RE_OGLRender::myShaderOnlyActiveShader
protected

Definition at line 1218 of file RE_OGLRender.h.

int RE_OGLRender::myShaderOnlyModeCount
protected

Definition at line 1217 of file RE_OGLRender.h.

fpreal RE_OGLRender::myShaderSampleRate
protected

Definition at line 1215 of file RE_OGLRender.h.

RE_OGLState RE_OGLRender::myState
mutableprotected

Definition at line 1138 of file RE_OGLRender.h.

bool RE_OGLRender::mySubBufferDrawing
protected

Definition at line 1282 of file RE_OGLRender.h.

RE_Geometry* RE_OGLRender::mySuspendBox
protected

Definition at line 1293 of file RE_OGLRender.h.

UT_StopWatch* RE_OGLRender::mySuspendCheckTimer
protected

Definition at line 1288 of file RE_OGLRender.h.

RE_OGLFramebuffer* RE_OGLRender::mySuspendResultFBO
protected

Definition at line 1290 of file RE_OGLRender.h.

RE_OGLTexture* RE_OGLRender::mySuspendResultTexture
protected

Definition at line 1292 of file RE_OGLRender.h.

RE_OGLFramebuffer* RE_OGLRender::mySuspendTestFBO
protected

Definition at line 1289 of file RE_OGLRender.h.

RE_OGLTexture* RE_OGLRender::mySuspendTestTexture
protected

Definition at line 1291 of file RE_OGLRender.h.

bool RE_OGLRender::myTransformFeedbackEnabled
protected

Definition at line 1203 of file RE_OGLRender.h.

UT_Array<RE_PrimitivesGeneratedQuery *> RE_OGLRender::myTransformFeedbackPrimitiveQuery
protected

Definition at line 1208 of file RE_OGLRender.h.

RE_PrimType RE_OGLRender::myTransformFeedbackType
protected

Definition at line 1207 of file RE_OGLRender.h.

UT_Array<RE_FeedbackPrimitivesWrittenQuery*> RE_OGLRender::myTransformFeedbackWrittenQuery
protected

Definition at line 1209 of file RE_OGLRender.h.

int RE_OGLRender::myUniqueID
protected

Definition at line 1221 of file RE_OGLRender.h.

int RE_OGLRender::myVertexMaxStreams
protected

Definition at line 1210 of file RE_OGLRender.h.

int RE_OGLRender::myViewportFontOffsetX
protected

Definition at line 1193 of file RE_OGLRender.h.

int RE_OGLRender::myViewportFontOffsetY
protected

Definition at line 1193 of file RE_OGLRender.h.

RE_OGLContext RE_OGLRender::pushedGraphicsContext
protected

Definition at line 1150 of file RE_OGLRender.h.

UT_ThreadSpecificValue<RE_OGLRender*> RE_OGLRender::theCurrentRender
staticprotected

Definition at line 1296 of file RE_OGLRender.h.

RE_GraphicsDevice RE_OGLRender::theDevice
staticprotected

Definition at line 1252 of file RE_OGLRender.h.

int RE_OGLRender::theDotsPerInch
staticprotected

Definition at line 1243 of file RE_OGLRender.h.

int RE_OGLRender::theDriverBuildMajor
staticprotected

Definition at line 1255 of file RE_OGLRender.h.

int RE_OGLRender::theDriverBuildMinor
staticprotected

Definition at line 1256 of file RE_OGLRender.h.

int RE_OGLRender::theDriverMajor
staticprotected

Definition at line 1253 of file RE_OGLRender.h.

int RE_OGLRender::theDriverMinor
staticprotected

Definition at line 1254 of file RE_OGLRender.h.

UT_ThreadSpecificValue<RE_OGLRender*> RE_OGLRender::theLastRender
staticprotected

Definition at line 1297 of file RE_OGLRender.h.

RE_Window* RE_OGLRender::theMainContextWindow
staticprotected

Definition at line 1249 of file RE_OGLRender.h.

RE_Server* RE_OGLRender::theServer
staticprotected

Definition at line 1240 of file RE_OGLRender.h.

bool RE_OGLRender::theSmoothLinesAllowed
staticprotected

Definition at line 1245 of file RE_OGLRender.h.

fpreal RE_OGLRender::theUIScale
staticprotected

Definition at line 1244 of file RE_OGLRender.h.

bool RE_OGLRender::theUsingCoreProfile
staticprotected

Definition at line 1257 of file RE_OGLRender.h.

UT_Array<std::pair<RE_Visual *, RE_DisplayMode> > RE_OGLRender::theVisuals
staticprotected

Definition at line 1247 of file RE_OGLRender.h.

RE_WindowList* RE_OGLRender::theWindowList
staticprotected

Definition at line 1248 of file RE_OGLRender.h.

int RE_OGLRender::theXRes
staticprotected

Definition at line 1241 of file RE_OGLRender.h.

int RE_OGLRender::theYRes
staticprotected

Definition at line 1242 of file RE_OGLRender.h.


The documentation for this class was generated from the following file: