mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-09-13 14:27:08 +03:00
0023525: Disappearing of highlight in screenshot
OpenGl immediate mode - get rid from GL display lists Visual3d_TransientManager, Graphic3d_GraphicDriver: removed outdated unused methods to draw primitives in immediate mode. New Draw Harness command to swith rendering mode in immediate mode. When set to false scene will be always redrawn in back buffer. V3d_View::ToPixMap - temporarily switch immediate mode to draw into back buffer Make happy immediate mode dump on OpenGL without FBO (like ms software implementation). OpenGl_Workspace::RedrawImmediatMode - invalidate back buffer when immediate mode drawn into it Added more detailed description for Graphic3d_GraphicDriver::SetImmediateModeDrawToFront method Adding of test case
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
// Created on: 2011-09-20
|
||||
// Created by: Sergey ZERCHANINOV
|
||||
// Copyright (c) 2011-2012 OPEN CASCADE SAS
|
||||
// Copyright (c) 2011-2013 OPEN CASCADE SAS
|
||||
//
|
||||
// The content of this file is subject to the Open CASCADE Technology Public
|
||||
// License Version 6.5 (the "License"). You may not use the content of this file
|
||||
@@ -39,6 +39,8 @@
|
||||
#include <InterfaceGraphic_Graphic3d.hxx>
|
||||
#include <InterfaceGraphic_Visual3d.hxx>
|
||||
|
||||
#include <NCollection_Sequence.hxx>
|
||||
|
||||
#include <OpenGl_tsm.hxx>
|
||||
|
||||
#include <OpenGl_AspectFace.hxx>
|
||||
@@ -107,6 +109,7 @@ public:
|
||||
void EndAnimation();
|
||||
void EraseAnimation();
|
||||
|
||||
Standard_Boolean SetImmediateModeDrawToFront (const Standard_Boolean theDrawToFrontBuffer);
|
||||
Standard_Boolean BeginAddMode();
|
||||
void EndAddMode();
|
||||
void ClearImmediatMode (const Graphic3d_CView& theCView,
|
||||
@@ -116,17 +119,7 @@ public:
|
||||
const Standard_Boolean theUseDepthTest,
|
||||
const Standard_Boolean theRetainMode);
|
||||
void EndImmediatMode();
|
||||
void Transform (const TColStd_Array2OfReal& theMatrix, const Graphic3d_TypeOfComposition theType);
|
||||
void DrawStructure (const OpenGl_Structure* theStructure);
|
||||
void BeginPolyline();
|
||||
void EndPolyline();
|
||||
void Draw (const Standard_ShortReal theX, const Standard_ShortReal theY, const Standard_ShortReal theZ);
|
||||
void Move (const Standard_ShortReal theX, const Standard_ShortReal theY, const Standard_ShortReal theZ);
|
||||
void SetLineColor (const Standard_ShortReal theR, const Standard_ShortReal theG, const Standard_ShortReal theB);
|
||||
void SetLineType (const Standard_Integer theType);
|
||||
void SetLineWidth (const Standard_ShortReal theWidth);
|
||||
void SetMinMax (const Standard_ShortReal X1, const Standard_ShortReal Y1, const Standard_ShortReal Z1,
|
||||
const Standard_ShortReal X2, const Standard_ShortReal Y2, const Standard_ShortReal Z2);
|
||||
|
||||
Graphic3d_PtrFrameBuffer FBOCreate (const Standard_Integer theWidth, const Standard_Integer theHeight);
|
||||
void FBORelease (Graphic3d_PtrFrameBuffer theFBOPtr);
|
||||
@@ -196,10 +189,7 @@ public:
|
||||
|
||||
protected:
|
||||
|
||||
void CopyBuffers (Tint vid, int FrontToBack,
|
||||
Tfloat xm, Tfloat ym, Tfloat zm,
|
||||
Tfloat XM, Tfloat YM, Tfloat ZM,
|
||||
Tint flag);
|
||||
void CopyBuffers (const Standard_Boolean theFrontToBack);
|
||||
|
||||
virtual Standard_Boolean Activate();
|
||||
|
||||
@@ -217,9 +207,11 @@ protected:
|
||||
protected: //! @name protected fields
|
||||
|
||||
Handle(OpenGl_View) myView; // WSViews - now just one view is supported
|
||||
Tint myTransientList; // WSTransient
|
||||
Standard_Boolean myIsTransientOpen; // transientOpen
|
||||
Tint myRetainMode; // WSRetainMode
|
||||
Standard_Boolean myRetainMode;
|
||||
Standard_Boolean myTransientDrawToFront; //!< optimization flag for immediate mode (to render directly to the front buffer)
|
||||
|
||||
NCollection_Sequence<const OpenGl_Structure*> myTransientList;
|
||||
|
||||
Standard_Boolean myUseTransparency;
|
||||
Standard_Boolean myUseZBuffer;
|
||||
|
Reference in New Issue
Block a user