1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-07-30 13:05:50 +03:00

222 Commits

Author SHA1 Message Date
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
bugmaster
d64e6d05d9 0023022: This is desirable to access OpenGl extensions and core API (1.2+) in one place
Correction of compilation errors
2012-03-16 10:39:06 +04:00
kgv
5f8b738ea5 0023022: This is desirable to access OpenGl extensions and core API (1.2+) in one place
Extend OpenGl_Context to provide GL2.0 core functionality

Added 'glext.h' header provided by Khronos group with definitions
and GL functions' types.
Added OpenGl_GlCoreXX structures with function list
to appropriate GL core functionality.
Fixed memory leak in OpenGl_Context destructor.
Eliminate inclusions of gl.h header
Use OpenGl_GlCore11.hxx instead.
Removed obsolote M_PI redefinitions.
Slightly cleaned up included headers.
Reuse definitions from glext.h
OpenGl_ArbVBO and OpenGl_ExtFBO originally provide own definitions
for OpenGL extensions.
2012-03-15 13:58:13 +04:00
dbv@opencascade.com
6e6cd5d949 0022922: Clean up warnings on uninitialized / unused variables 2012-03-15 11:57:41 +04:00
apl
25289ec1e1 0022879: Possible bug in Opengl_togl_begin_layer_mode.cxx 2012-03-15 11:20:53 +04:00
dln
8ca7beb8ad 0022751: Issues around Prs3d_TextAspect::Print() 2012-03-15 11:17:09 +04:00
bugmaster
65c62757a4 0022815: Missing delete operator for placement new 2012-03-07 10:59:17 +04:00
dbv
1c35b92f5f 0022815: Missing delete operator for placement new 2012-03-06 17:25:00 +04:00
kgv
59f45b7cef 0022795: Make possible to display some presentable objects in overlay of others, groupped by display priority 2012-03-06 15:18:23 +04:00
vsr
f8b2ed3650 0023000: Improve the way the gradient and textured background is managed in 3d viewer 2012-03-06 15:15:50 +04:00
KGV
529afc1a20 0022782: Uninitialized global variable used in conditionals in OpenGl package 2012-03-05 19:33:07 +04:00