mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-14 13:30:48 +03:00
0023457: Slow text rendering
Added class Font_FTFont wrapper over FreeType face Unify collections methods NCollection_Array1, NCollection_Sequence, NCollection_Vector: declare Upper, Lower, First, Last, ChangeFirst, ChangeLast methods for all these collections. Added method NCollection_DataMap::Find() with check key is bound + retrieve value within single call interface. OpenGl_Context::ReleaseResource() method now supports lazy release of shared resources. Added class OpenGl_Font which implements textured fonts support. Added class OpenGl_TextFormatter for text formatting using OpenGl_Font. OpenGl_Text was redesigned to use OpenGl_FontFormatter. OpenGl_FontMgr class was removed. All methods related to text rendered removed from OpenGl_Display class. OpenGl_Trihedron and OpenGl_GraduatedTrihedron classes were redesigned to use OpenGl_Text. OpenGl_PrinterContext instance was moved to OpenGl_GraphicDriver fields (eliminated usage of global instance). Added test cases into 3rdparty/fonts grid to check different font styles and perform FPS tests (no automated results - requires manual analysis or snapshots comparisons). Removed unused CSF_FTGL dependency. OpenGl_Text::setupMatrix - do not apply floor for myWinZ
This commit is contained in:
@@ -49,10 +49,10 @@ NIS_TriangulatedDrawer::NIS_TriangulatedDrawer
|
||||
(const Quantity_Color theNormal,
|
||||
const Quantity_Color theHilight,
|
||||
const Quantity_Color theDynHilight)
|
||||
: myLineWidth (1.f),
|
||||
: myPolygonAsLineLoop (Standard_False),
|
||||
myLineWidth (1.f),
|
||||
myIsDrawPolygons (Standard_False),
|
||||
myPolygonType (NIS_Triangulated::Polygon_Default),
|
||||
myPolygonAsLineLoop (Standard_False)
|
||||
myPolygonType (NIS_Triangulated::Polygon_Default)
|
||||
{
|
||||
myColor[Draw_Normal] = theNormal;
|
||||
myColor[Draw_Top] = theNormal;
|
||||
@@ -285,6 +285,7 @@ void NIS_TriangulatedDrawer::Draw (const Handle_NIS_InteractiveObject& theObj,
|
||||
else {
|
||||
Standard_Boolean isLoop;
|
||||
if (pObject->IsLine(isLoop))
|
||||
{
|
||||
if (isLoop) {
|
||||
// glPolygonMode (GL_FRONT_AND_BACK, GL_LINE);
|
||||
glDrawElements (GL_LINE_LOOP, pObject->NLineNodes(),
|
||||
@@ -294,6 +295,7 @@ void NIS_TriangulatedDrawer::Draw (const Handle_NIS_InteractiveObject& theObj,
|
||||
glDrawElements (GL_LINE_STRIP, pObject->NLineNodes(),
|
||||
aType, pObject->mypLines);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user