1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-06-30 12:14:08 +03:00

82 Commits

Author SHA1 Message Date
bugmaster
4fe5661921 0023243: Adapt OpenGL viewer for using in Cocoa applications on Mac OS X
Cocoa_Window draft
OpenGl_Context and OpenGl_Window - added support for Cocoa OpenGL context
TKV3d - accept Cocoa_Window
Draft version of ViewerInit method for Mac OS X
Added ViewerTest_CocoaEventManagerView
ViewerTest - attach events to Cocoa window
Cocoa_Window - disable autorelease on close
Fix for OpenGl_Context::Init method
Cocoa_Window - convert top-left coordinates to bottom-left
Added selection with rubber band (rubber band drawing still should be implemented)
Fixed OpenGl_Display initialization on Mac OS X
Fixed OpenGl includes
2012-12-24 17:46:07 +04:00
kgv
bca1d6e249 0023630: Incorrect NULL check in OpenGl_Workspace::EnableTexture() 2012-12-14 16:44:24 +04:00
kgv
bf75be9867 0023544: Texture management in TKOpenGl should be redesigned
Structures Graphic3d_CView, Graphic3d_CStructure, Graphic3d_CGroup become classes and their definitions moved from InterfaceGraphic to Graphic3d.
Introduced new class OpenGl_Texture as replacement for OpenGl_ResourceTexture class and static functions in OpenGl_TextureBox.
Graphic3d_TextureRoot now no more communicate within Graphic3d_GraphicalDriver.
Instead class returns image through GetImage() method.
OpenGl_AspectFace - avoid possible NULL-dereference
OpenGl_Texture::Init() - check gluBuild2DMipmaps() return value
OpenGl_Texture - check GL_BGRA_EXT for compatibility
OpenGl_Texture - scale NPOT image when required
Added more description to Graphic3d_TextureRoot class
OpenGl_Texture - added missing break statement for ImgBGR32 case
OpenGl_Workspace::setTextureParams() - fixed local variable aFilterMin overrides visibility of early declared variable
OpenGl_Workspace::DisableTexture() - reset texture matrix
FTGL do not reset texture matrix and corrupt text could be rendered if custom texture has not identity texture matrix.
2012-12-07 13:58:30 +04:00
dbv
aff395a36d 0023415: OSD_FontMgr can't idenify aspect for fonts with names dependant on system locale.
Added function DetectFontsAspects to Font_FontMgr class. This function uses workaround from OpenGl_FontMgr with FreeType for detecting font aspect.
Removed font name parsing from Font_FontMgr::InitFontDataBase(). Now the font name and font style we get through the FreeType.
Fixed Unix part of Font_FontMgr::InitFontDataBase() method. Font name and font style now detected through the FreeType.
Remarks fix. Added recursive default font directories scanning .
Fixed adding fonts folders recursively from configuration files.
Moved fonts aliases map from OpenGl_Display_1 to Font_FontMgr.
Moved fonts name definition from Graphic3d_NameOfFont.hxx to Font_NameOfFont.hxx.
Added new methods to Font_FontMgr: GetAvailableFontsNames, GetFont and FindFont.
Modified Font_SystemFont creation from XLFD. Added method IsEqual to Font_SystemFont.
Modified methods OpenGl_Display::FindFont, OpenGl_FontMgr::request_font in accordance to the new functionality of the Font_FontMgr.
OpenGl_FontMgr now stores only generated fonts instead of duplication of available fonts list.
Removed method OpenGl_FontMgr::requestFontList. Its function now performs Font_FontMgr::GetAvailableFontsNames.
Documentation was fixed
Adjusting testing cases for current state of OCCT
2012-12-07 13:42:37 +04:00
aba
86325709af 0023418: Crash on the object displaying when running DRAW on remote station. OpenGL version determination was corrected
Small style changes
Comments were corrected
2012-11-30 15:40:17 +04:00
san
e84189c512 0023120: Transform persistence is not restored
Updating myTransPers field in any case in OpenGl_View::BeginTransformPersistence()
Test case for this bug
2012-11-23 14:47:11 +04:00
kgv
3c3131a05d 0022591: Migration to FreeImage: texture management
Graphic3d_TextureRoot - migrate to Image_AlienPixMap
OpenGl_View::CreateBackgroundTexture() - migrate to Image_AlienPixMap
Fixed Graphic3d_TextureRoot::LoadTexture() method.
2012-11-15 12:52:57 +04:00
kgv
43c34303a7 0023281: Removed unused OpenGl_ImageBox 2012-11-15 10:12:02 +04:00
ibs
5853bf66cd 0023500: MFC texture example is crashed when view closed
x64 sample build directory has been changed to win64
2012-11-13 13:40:43 +04:00
ibs
1c4ff5c647 0023500: MFC samples are crached on 3D visualisation
void FreeTexture() in OpenGl_TextureBox.cxx - avoid possible NULL-pointer dereference

after debug x64 compilation the executable viewer3d had been moved to the bin folder. now executable viewer3d located in bind folder.
2012-11-09 15:28:40 +04:00
aba
3d8969b13b 0022779: Pixel format should be chosen to support stencil buffer
Missing code in find_pixel_format() function was restored.
Coding rules applied
Added changes in GLX part
2012-11-02 16:05:16 +04:00
kgv
16fa0dfb08 0023488: Make video recording functionality (OpenGl_AVIWriter) optional
CSF_AviLibs missing in EXTERNLIB of TKOpenGl toolkit. This cause incorrect project generation.
HAVE_VIDEOCAPTURE now should be defined to enable video recording capabilities on Windows.
2012-11-02 15:56:36 +04:00
kgv
dd8a4ce929 0023345: Crash when destroying OpenGl_Element
OpenGl_PrimitiveArray::Release() - avoid possible NULL-pointer dereference
OpenGl_GraphicDriver::RemoveView() - release GL resources within removing last view
Fixed OCC280 test command - do not remove old view until new one is initialized
2012-10-12 16:56:23 +04:00
dbv
eeaaaefb6f 0023466: Move OSD_FontMgr class outside TKernel
Created new package Font in TKService.
Classes FontMgr and SystemFont have been moved from OSD package to Font package.
2012-10-12 15:15:32 +04:00
osa
37eb478791 0023428: Extend OpenGl_Context to use Geometry Shaders extension
Additional corrective integration
2012-10-12 13:41:06 +04:00
osa
0e26a4d0bf 0023428: Extend OpenGl_Context to use Geometry Shaders extension 2012-10-05 13:34:02 +04:00
kgv
3695b8c227 0023316: OpenGl package can not be compiled on RedHat40-64
OpenGl_Window avoid early unprotected glx.h inclusion
which may cause system glext.h inclusion
2012-09-27 12:39:43 +04:00
kgv
cdc56cc8ae 0023246: TKOpenGl viewer created without depth buffer on some X11 implementations
Apply workaround on Mac OS platforms too
to ensure GL context created with depth buffer.
2012-09-14 17:56:10 +04:00
bugmaster
b10d190ca0 Corrected integration. 2012-09-13 11:56:48 +04:00
apn
c5fc362f66 Corrected integration. 2012-09-11 16:43:12 +04:00
kgv
692613e554 0023272: Image comparison algorithm
A new class Image_Diff for comparison of images
and a draw-command "diffimage", which compares 2 images.

Image_PixMap redesigned to provide interface for low-level image operations.
New Image_AlienPixMap class now intended for Save/Load functionality.

Aspect_PixMap class dropped.
Xw_PixMap and WNT_PixMap classes now do not inherit from Aspect_PixMap and deprecated.

ToPixMap methods now retrieve Image_PixMap as argument.

Conflicts:
src/ViewerTest/ViewerTest.cxx
Remarks applied
Fix compilation (correct merging error)

Eliminated Aspect <-> Image cyclic dependency

Fixed GIF dump in case of BGR32 image format
2012-09-10 14:30:46 +04:00
apl
567148d8f4 0023196: Porting to the latest version of ftgl library
Use FreeType entities instead of private helper classes from FTGL.
OpenGl package: link freetype.lib and ftgl.lib on Windows with #pragma comment.
2012-09-07 16:50:42 +04:00
kgv
17f65eb229 0023397: Marker aspect doesn't applied to points drawn by Primitive Arrays
Applying color and point size (marker type currently ignored).
2012-08-24 14:48:55 +04:00
san
26395493b0 0023363: [Regression] Lost gradient background when switching to the hollow interior style
Calling glPolygonMode() to ensure filled polygon rendering when drawing
the view background
Revert "Calling glPolygonMode() to ensure filled polygon rendering when drawing"

This reverts commit 41d41ab23cb81acb3bcf7e6ad5d10ea0097eecdd.
OpenGl_Workspace::ResetAppliedAspect() method improved in order to
reset GL parameters to default values specified in default aspects.
This method is now called twice during scene rendering:
- At the very beginning by OpenGl_Workspace::Activate()
- After all structures has been drawn but before the auxiliary stuff
(like trihedrons, overlayer, display callbacks)
2012-08-03 11:16:58 +04:00
kgv
5e27df788d 0023226: Extend OpenGl_Context to store map of shared GPU resources
OpenGl_Resource was slightly corrected and OpenGl_Element was extended
with Release method to manage GPU resources.

OpenGl_PrimitiveArray now uses new OpenGl_VertexBuffer class (requires OpenGL 1.5+).
Strange workarounds for feedback mode were removed.

OpenGl_Context now provides access to shared GPU resources
and manages resources queue for delayed release
(replaces functionality of removed OpenGl_ResourceCleaner).
Loaded GL_ARB_texture_buffer_object and GL_ARB_draw_instanced extensions.

Global maps of views, workspaces and structures
were moved to OpenGl_GraphicDriver members.
UserDrawCallback() function moved to OpenGl_GraphicDriver methods.

Aspect_GraphicCallbackStruct now holds handle of OpenGl_Context
instead of system-dependent pointers to GL context definition.

New classes NCollection_Vec2, NCollection_Vec3 and NCollection_Vec4
implements interface to low-level data (points, vertices, colors) in GLSL-style.
Removed EnableVBO argument from vdrawparray Draw Harness command
Corrected compilation errors
Fixed wrong argument in Index VBO initialization
Fixed several cases of incorrect memory management in TKV3d

Visual3d_ViewManager::Remove()
Destroy structures before last view removed for correct GPU resources management.

Graphic3d_Structure::GraphicClear()
Remove groups to avoid usage of dead OpenGl_Group pointers.

V3d_View::Remove()
Fixed mistake in #0000280 patch.
Small correction
Fixed OCC280 test command

Replace removed view within created one in ViewerTest EventManager.
ViewerTest, do not create unused 3D view

In current design NIS_View always created and used for both - NIS objects and AIS objects.
2012-07-13 15:51:16 +04:00
dbv
60be1f9b1d 0023072: Eliminate compiler warnings (level 3) on Windows / MSVC++ 2012-07-06 15:52:20 +04:00
kgv
be34de4b94 0023238: TKOpenGl glext header conflicts with system headers 2012-07-04 12:51:19 +04:00
san
1d03e66d2a 0023186: Unable to display Graphic3d_ArrayOfPoints after migrating from OCCT 6.5.2
GL_NONE replaced with PARRAY_DRAW_MODE_NONE to disambiguate with GL_POINTS
DRAW_MODE_NONE constant moved into OpenGl_PrimitiveArray class to avoid potential name collisions
2012-06-25 11:16:17 +04:00
kgv
b1db572cfc 0023101: TKOpenGl possible glext header conflicts
Fixed glext header conflict with system X11 gl.h on Mac OS X
System header provide syntactically different typedefs for some OpenGL functions (GLenum vs. GLint).
Fixed misprint in comments
2012-06-15 11:56:23 +04:00
san
c9d4eb9d4a 0023188: Regression in SCATexturedShape in SSP sample
OpenGl_View::RedrawLayer2d()
- lighting and 1D/2D texturing disabled so as
not to interfere with layer drawing, layer items should enable
textures if necessary and disable them at the end;
- French comments removed;
- redundant lighting state changes removed

OpenGl_GraphicDriver::BeginLayer()
- useless code enabling 2D textures removed
2012-06-08 12:41:16 +04:00
kgv
86fa64d971 0023172: Added workaround for BUGs in Intel OpenGL drivers
Check GL context already bound before wglMakeCurrent() call.
2012-05-25 16:20:51 +04:00
ouv
1e743e91ab 0023102: Change the algorithm of rendering the 3d viewer background using tiled texture 2012-04-13 14:58:31 +04:00
abv
6de552e6c4 0023064: MSVC compiler warnings when Freeimage is not used
Compiler warning on conversion of BOOL to bool (C4800, VC++ 8.0) generated by code active when HAVE_FREEIMAGE is not defined is avoided in OpenGl_Workspace.cxx
2012-04-13 13:25:56 +04:00
kgv
833e2f54e4 0023101: TKOpenGl possible glext header conflicts 2012-04-12 17:23:36 +04:00
san
3946774d9e 0023067: OpenGl package API needed by UserDraw feature is not exported
Windows: Exporting non-inline methods that provide info about the current state of OCCT renderer.
Minor tweak: fixing incomplete handle/dynamic type for OpenGl_Resource
vuserdraw command added to test UserDraw basic operation
Separate source file ViewerTest_OpenGlCommands.cxx added for commands testing low-level TKOpenGl functionality
2012-04-12 14:04:59 +04:00
kgv
f04309524a 0023081: This is desirable to retrieve GPU memory information from graphic driver
Added Graphic3d_GraphicDriver::MemoryInfo() function.
Added vfps command to estimate average frame rate of 3D Viewer
Simplified vdrawsphere command
Removed turnVbo and performance measurements from vdrawsphere.
Added vvbo command to control VBO usage flag.
Added vmemgpu command to display GPU memory info from graphic driver
2012-04-12 12:49:54 +04:00
kgv
664cae74a9 0023069: Cache GL_FEEDBACK mode per frame in TKOpenGl calls 2012-04-12 12:25:07 +04:00
ouv
1b1ab324bc 0023000: Improve the way the gradient and textured background is managed in 3d viewer 2012-04-06 17:43:55 +04:00
san
298f9ad709 0023044: Regression: 3D views are not invalidated by some modifications of OpenGl_Structure
myIsUpdated flag and Invalidate() method removed from OpenGl_Workspace class.
View redrawing is made unconditional.
V3d_View::Update() becomes deprecated and should be replaced with V3d_View::Redraw().
V3d_Viewer::Update() becomes deprecated and equivalent to Redraw()
2012-03-30 17:29:19 +04:00
kgv
2bd4c032a3 0022971: TKOpenGl clean up obsolete functionality
Added native handles to OpenGl_Context
Removed unused and unimplemented PolygonHoles
Removed unimplemented Polygon functions
Removed unused QuadrangleMesh functions
Removed unused TriangleMesh functions
Removed dead Bezier function declarations
Redirect Graphic3d_Group::Polyline() to primitives array

Move Prs3d_ShadedShape template code to StdPrs_ShadedShape
where it is only used before.

Remove TriangleSet usage from AIS_TexturedShape

Texture coordinates functionality added StdPrs_ShadedShape
to eliminate code duplication.

Eliminated usage of TriangleSet from  QABugs_PresentableObject
Eliminated usage of TriangleMesh from StdPrs_ShadedSurface

Removed TriangleMesh and TriangleSet support
OpenGl_PrimitiveArray - render Edges only for primitives > GL_LINE_STRIP
Added vgrid command to show grid in 3D Viewer
2012-03-30 17:25:28 +04:00
dbv
5fdb6d685b 0022913: Clean up source repository from unused files
Changes
Removed unused files. Files in QAResources have been moved to DrawResources
Removing unused files from NCollection (see #23041)
2012-03-29 19:32:30 +04:00
dbv
9d35f66806 0022734: Memory allocation error in OpenGl 2012-03-29 19:29:26 +04:00
dbv
498ce5771b 0022752: Fix compilation on Unix with FreeImage and GL2PS support
Added missed includes config.h
2012-03-27 16:56:30 +04:00
kgv
0003c4b287 0023035: TKOpenGl redesign regression caused by destruction of global OpenGl_Display instance
Do not destroy global openglDisplay instance
2012-03-26 15:56:09 +04:00
bugmaster
d7ea40289e Correction compilation problem on Linux platform
0023015: TKOpenGl redesign regression in text printing
2012-03-22 13:59:51 +04:00
bugmaster
4dd0865cf9 Correction of compilation errors
0023015: TKOpenGl redesign regression in text printing
2012-03-22 10:29:17 +04:00
bugmaster
b311480ed5 0023024: Update headers of OCCT files
Added appropriate copyright and license information in source files
2012-03-21 19:43:04 +04:00
apl
96352003af 0023001: Mistake in OpenGl_FrameBuffer::IsValidDepthBuffer 2012-03-21 18:17:17 +04:00
apl
34a44cbd3b 0023015: TKOpenGl redesign regression in text printing
Changes:
- the lost code block for scaling text restored;
- the color attributes fixed.
2012-03-21 18:11:24 +04:00
kgv
f3f0842337 0022796: Possibility to display multi-line text in 3D
Changes:

Text rendering in OCCT 3D view can now display multi-line text correctly. In addition to '\n' and '\r' characters, '\t' is also treated specially, i.e. replaced by a fixed number of spaces. Other control characters (like '\b' or '\a') are simply ignored by text rendering code.

Also standard GL2PS's alignment isn't used because it's doesn't works correctly for all formats, therefore alignment is calculated manually now.
2012-03-20 18:34:29 +04:00