Maciej Suminski
48a74dba37
Added missing 'def'
2015-05-21 00:47:53 +02:00
Maciej Suminski
420c1d1bcd
Changed the patch to support full resolution on Retina screens to be more bulletproof.
2015-05-21 00:42:46 +02:00
Maciej Suminski
6fc59f9acd
Full resolution in OpenGL canvas on Retina displays
2015-05-18 13:48:12 +02:00
Maciej Suminski
709697ea40
Better way to determine supported OpenGL version and extensions.
2015-04-20 14:16:41 +02:00
Maciej Suminski
7480bcf1ae
Yet another desperate trial to fix the depth buffer issues.
2015-04-17 12:15:25 +02:00
Maciej Suminski
4dae107dab
Alternative depth range in OpenGL GAL.
2015-03-30 22:14:37 +02:00
Maciej Suminski
9e8719d3ff
Fixed overlapping segment endings in OpenGL view.
2015-03-30 14:09:56 +02:00
Eldar Khayrullin
5d8f7ba0e6
bugfix: cannot draw 180 degree arc in OpenGL canvas
2015-03-09 10:26:29 +01:00
jean-pierre charras
39497b109e
Pcbnew: fix Bug #1422093 (pcbnew crashes after editing a footprint cominng from the board with the fp editor and saving it on a librray and trying to load it to the board)
...
Some other very minor fixes.
2015-02-17 17:32:47 +01:00
Maciej Suminski
b1ace1607b
Reworked GAL switching.
...
Now OpenGL can report its problems instead of shutting down the application.
2015-02-15 02:18:35 +01:00
jean-pierre charras
d4e04dcc97
Fix bugs detected by Cppcheck.
2015-01-19 20:03:50 +01:00
Maciej Suminski
490a73b62a
Fixed filled arcs drawing (GAL).
2014-08-06 13:51:46 +02:00
Maciej Suminski
a57f7ae8cd
Fix OpenGL canvas freeze under Windows.
2014-07-20 21:14:42 +02:00
Maciej Suminski
0fc93666c6
Rework to support multiple views with OpenGL GAL canvas.
2014-07-09 11:22:42 +02:00
Maciej Suminski
d27ea7895d
Moved background color settings from GAL to RENDER_SETTINGS. Added RENDER_SETTINGS::TranslateColor() to convert between EDA_COLOR_T and COLOR4D.
2014-05-14 10:35:12 +02:00
Maciej Suminski
23392ce8c9
Upstream merge.
2014-04-02 15:38:59 +02:00
Maciej Suminski
dbc4a8f292
GAL zooms in and out using the default hot keys (F1/F2).
...
Screen size is saved in VECTOR2I instead of VECTOR2D.
2014-03-20 08:47:31 +01:00
maciej.
898ed7445f
GAL: fix zooming using mouse wheel with wxWidgets 3.0.
2014-03-19 21:07:49 +01:00
Maciej Suminski
e1ce30d89d
Fixed mouse wheel handling for GAL canvases with wx3.0.
2014-03-19 11:57:59 +01:00
Orson
59a0ced0a6
Corrected the error message about required OpenGL version for GAL. Fixed pcb_calculator .desktop file.
2014-03-14 21:32:25 +01:00
Maciej Suminski
c5a3c1082a
Removed a few RecacheAllItems() calls, some of them changed to specific type recaching (using TYPE_COLLECTOR & VIEW_ITEM::ViewUpdate() ).
...
Removed OPENGL_GAL::SetStrokeColor().
2014-02-25 14:28:09 +01:00
Maciej Suminski
597e98dbf4
Cursor is in world coordinates.
2014-02-13 20:23:28 +01:00
Maciej Suminski
f9f0b46b63
Small GAL refactorization, mostly correcting constness.
2014-02-13 19:31:27 +01:00
Maciej Suminski
e43b5f7c0f
Small fix for crippled polylines containing 0 points.
2014-02-11 15:01:49 +01:00
Maciej Suminski
c21ae6efca
Double click support for the Tool Framework.
2013-11-28 15:19:50 +01:00
Maciej Suminski
fc4f9195b6
Fixed wx2.8 strings compatibility.
2013-11-13 15:52:06 +01:00
Maciej Suminski
5235d7e5eb
Modified error handling for OpenGL backend, now error messages should be visible.
2013-11-11 10:48:49 +01:00
Maciej Suminski
edc43c19cd
Fix colorized framebuffer output on some GPUs.
2013-10-29 17:53:47 +01:00
Maciej Suminski
f615c462a2
Changed the used framebuffer object extension from ARB_framebuffer_object to EXT_framebuffer_object (compatibility reasons).
2013-10-29 17:28:29 +01:00
Maciej Suminski
c7bc1e151c
GAL is not activated by default. Late OpenGL backend initializatization.
2013-10-28 16:51:56 +01:00
Maciej Suminski
bc305859b2
Mainly case changes.
2013-10-14 20:40:36 +02:00
Maciej Suminski
0ac3e1fbf2
Namespace KiGfx->KIGFX.
...
template<> -> template <>
Some more reformatting according to uncrustify results.
2013-10-14 16:13:35 +02:00
Maciej Suminski
22045b61ea
Converted tabs to spaces. Removed trailing whitespaces.
2013-10-14 13:43:57 +02:00
Maciej Suminski
dcb5d8f25c
Merged Tom's branch
2013-09-18 16:59:08 +02:00
tomasz.wlostowski@cern.ch
d8480e4674
gal: make the cursor a bit bigger and hidden by default
2013-09-18 13:13:03 +02:00
Maciej Suminski
9fbf45ebfc
Fixed drawing outlined track segments.
2013-09-16 09:51:53 +02:00
Maciej Suminski
782867f7b3
Caps for lines are drawn only when segments are wider than 1.0
2013-09-13 15:30:45 +02:00
Maciej Suminski
b04de0cada
Fixed memory leaks in containers.
2013-09-12 09:44:57 +02:00
Maciej Suminski
8a4417ec46
Fixed color for drawing polygons on overlay.
2013-09-09 14:31:13 +02:00
Maciej Suminski
bd8998d1da
Fixed cursor drawing for OpenGL.
2013-08-28 17:06:07 +02:00
Maciej Suminski
6fe086ab6d
Added cursor snapping.
2013-08-28 16:25:42 +02:00
Maciej Suminski
215f35e237
Added mouse cursor drawing.
...
Added flipping mode.
2013-08-27 18:08:32 +02:00
Maciej Suminski
89a138c09e
Added handling keyboard events for the Tool framework.
2013-08-21 17:37:27 +02:00
Maciej Suminski
43ae1cb98d
Smarter way of the overlay rendering (overlay is always refreshed, while cached&noncached targets only if the viewport or items have changed).
2013-08-19 11:02:38 +02:00
Maciej Suminski
bc69429a56
Added GetTarget() for GALs.
2013-08-06 14:57:48 +02:00
Maciej Suminski
19b344806d
Fixed the tesselator, so now it works with Windows.
2013-08-02 10:55:40 +02:00
Maciej Suminski
d34df18f2c
Fixed grid line drawing in OpenGL backend for some drivers.
2013-07-31 09:01:25 +02:00
Maciej Suminski
190ed58568
Code refactoring.
2013-07-30 18:29:54 +02:00
Maciej Suminski
790a1f8563
Made GAL backends settings more consistent. Fixed grid line width in the OpenGL backend.
2013-07-30 17:09:06 +02:00
Maciej Suminski
f9d74ccb70
Removed shaderless OpenGL backend.
2013-07-29 16:38:07 +02:00
Maciej Suminski
27113348b9
Fixed blending function for OpenGL compositing. Corrected documentation, removed unnecessary functions.
2013-07-24 15:06:59 +02:00
Maciej Suminski
618a5f0e75
OpenGL multitarget rendering (compositing).
2013-07-23 18:39:07 +02:00
Maciej Suminski
a8f4791395
Changed rendering order of cached & noncached layers.
2013-07-22 13:14:53 +02:00
Maciej Suminski
5242fff9d7
Code refactorization. VBO_CONTAINER is split to [NON]CACHED_MANAGER, GPU_MANAGER and VERTEX_MANAGER.
2013-07-22 10:41:12 +02:00
Maciej Suminski
b0c1b97ff3
Fixed stroked circles width issue with OpenGL shaders.
2013-07-17 10:21:29 +02:00
Maciej Suminski
fef47b0b67
Fixed OpenGL tracks transparency & netnames issue.
2013-07-16 15:44:08 +02:00
Maciej Suminski
20c86db71f
1 pixel wide lines using OpenGL shaders.
2013-07-16 08:49:12 +02:00
Maciej Suminski
b5aadfc3f9
Fixed segmentation fault when there was no board loaded.
2013-07-05 15:48:45 +02:00
Maciej Suminski
eb041ee2d3
Removed most of deprecated OpenGL calls. Items used to be drawn in immediate mode now are drawn using vertex arrays.
2013-07-05 14:01:33 +02:00
Maciej Suminski
408fb4f159
Removed pointers where they were not necessary.
2013-07-05 09:31:04 +02:00
Maciej Suminski
aff3787b34
Fixed drawing circles and semicircles using display lists.
2013-07-04 16:27:27 +02:00
Maciej Suminski
97f914ccb3
Fixed stroked semicircles Z coordinate in shaderless OpenGL backend.
2013-07-02 18:11:57 +02:00
Maciej Suminski
0f5aa0630a
Fixed stroke semicircles drawing using shaderless OpenGL backend.
2013-07-02 09:27:12 +02:00
Maciej Suminski
9e4fe8b410
Faster polylines drawing using OpenGL backend.
...
Fixed drawing of lines' caps.
2013-07-01 15:23:43 +02:00
unknown
4360860bee
Removed different styles of line caps and line joins, leaving only round caps & joins.
...
Fixed drawing stroked semicircles using OpenGL backend.
2013-07-01 14:39:27 +02:00
Maciej Suminski
a73216fc95
Changed std::map to boost::unordered_map for storing memory chunks and groups information.
2013-07-01 13:20:48 +02:00
Maciej Sumiński
00847a8aed
Colors are stored as unsigned bytes instead of floats.
2013-06-30 22:45:31 +02:00
Maciej Sumiński
27a6f8afd6
Shaders are built-in instead of being loaded from external files.
2013-06-30 19:31:16 +02:00
Maciej Sumiński
335bf72060
More debug information in case of failure compilation of shaders.
2013-06-30 15:37:46 +02:00
Maciej Suminski
3f1da8b2c0
Minor code cleaning.
2013-06-27 17:31:10 +02:00
Maciej Suminski
628c069a39
Faster circles & semicircles drawing for the shaderless OpenGL backend. Removed unnecessary variables and computations.
2013-06-27 16:05:15 +02:00
Maciej Suminski
332a7b4bd9
Groups are stored in map instead of deque, so it allows easier adding & removing.
2013-06-27 11:54:49 +02:00
Maciej Suminski
58de62aacc
High contrast mode with showing the selected layer on the top.
2013-06-26 16:31:52 +02:00
Maciej Suminski
db74de74f5
Added possibility to change cached layer color (for the purpose of high contrast display).
2013-06-25 17:12:54 +02:00
Maciej Suminski
fbc3d63c24
Draw the origin marker in OpenGL with shaders GAL.
2013-06-24 16:02:18 +02:00
Maciej Suminski
ef865aab68
Grid settings apply to GAL based rendering.
2013-06-24 14:33:02 +02:00
Maciej Suminski
08c54e8acf
Passing COLOR4D parameter using constant reference.
2013-06-24 10:21:34 +02:00
Maciej Suminski
145a3f20de
Changed atan2() to VECTOR2D::Angle()
2013-06-21 09:01:40 +02:00
Maciej Suminski
8552a6e29d
Fixed some minor rendering issues, mostyl for shaderless OpenGL GAL.
2013-06-20 16:37:21 +02:00
Maciej Suminski
fd6ab6003d
Bug fixes:
...
- VBO_CONTAINER::allocate() was returning wrong value in case of error
- framelimiter had wrong formula for computing destined period between frames
- removed _padding field from VBO_VERTEX, as it was not speeding up, but wasting memory
2013-06-20 13:16:12 +02:00
Maciej Suminski
83f5bd60c1
Moved fields containing information about currently used color, shader and transformation for vertices from VBO_ITEM to VBO_CONTAINER (OPENGL_GAL).
2013-06-19 10:50:46 +02:00
Maciej Suminski
4de43d7c5f
Removed unnecessary functions from VBO_VERTEX.
2013-06-18 17:53:12 +02:00
Maciej Suminski
cd517f67db
Added VBO_CONTAINER as a faster storage for vertices (OPENGL_GAL), tuned for exchanging data with GPU.
...
Removed a few unnecessary variables and fields from OPENGL_GAL.
Added function GAL::ClearCache() for freeing memory used by cached items.
Fixed a few memory leaks (tesselator, PAINTER's settings & VIEW_ITEM's groups).
Changed a few functions into inlines.
2013-06-18 16:20:29 +02:00
Maciej Suminski
e7b7e0e687
Removed some debug messages.
2013-06-06 11:54:37 +02:00
Maciej Suminski
8742dae4a4
Removed indices storing from VBO_ITEM as they are always consecutive numbers. Removed storing pointers to VBO_ITEMs that have to be drawn - instead they are memcpied to mapped GPU memory.
...
Some functions of VBO_ITEM became inline.
2013-06-06 11:52:39 +02:00
Maciej Suminski
28511cf4fe
Introducing shaders.
...
Shader's parameters are stored in VBO_ITEM. Changed VBO_ITEM data structure. Added UseShader() function for selecting shader for a given VBO_ITEM.
Added one main vertex & fragment shader program to be used for with all kinds of items (type of shader is selected using attributes that are stored in VBO). Currently available shaders are: at-least-1px-width line, filled circle and stroked circle.
Removed unnecessary param (aDepthOffset) from a few functions (OPENGL_GAL::drawSemiCircle(), OPENGL_GAL::drawLineCap()). Removed function OPENGL_GAL::DrawRoundedSegment(). Changed some asserts to debug info or error log.
2013-06-04 15:58:53 +02:00
Maciej Suminski
e8acd2919b
Added tesselation of polygons for VBO based rendering (OpenGL GAL).
2013-05-27 09:37:49 +02:00
Maciej Suminski
d45008a847
Different way of rendering groups (with a single DrawElements call) in OpenGL GAL.
2013-05-16 18:43:25 +02:00
Maciej Suminski
7a1718d0f5
Changed functions for adding vertices in VBO mode to make code easier to read and understand.
2013-05-16 14:47:34 +02:00
Maciej Suminski
733e5a55e3
Faster way of caching items for OPENGL GAL.
2013-05-16 10:35:16 +02:00
Maciej Suminski
c9f9c4ddbc
Added functionality for transformation of VBO vertices, extended functions like translate, rotate, scale using glm library. Removed D() macro, as it was not used, but in conflict with glm library. Added VBO_ITEMs for circles, semicircles. Now almost everything is drawn using VBO (besides polygons and grid).
2013-05-15 16:48:10 +02:00
Maciej Suminski
a6c8beb73b
Drawing tracks using PushVertices, added some comments, fixed formatting.
2013-05-14 10:38:25 +02:00
Maciej Suminski
32784ea191
Added possibility of adding multiple vertices to VBO_ITEM at once
2013-05-13 11:14:35 +02:00
Maciej Suminski
bce9f685ea
Fixed Cairo issues and some possible memory leaks
2013-05-13 10:55:35 +02:00
Maciej Suminski
e8f33ac903
Fixed memleak, removed excessive recaching, still there is a problem with Cairo caching
2013-05-10 16:05:40 +02:00
Maciej Suminski
e9e4ed4230
Improved recaching (all items when a board is loaded), still needs some fixing (mem leak).
2013-04-30 17:55:24 +02:00
Maciej Suminski
191cb40e79
Introduction of VBO. Now only tracks are rendered in a very simple way.
2013-04-30 15:59:32 +02:00
Maciej Suminski
3ff70deab0
Changed non-shader primitives to GL_TRIANGLES.
2013-04-25 18:30:53 +02:00
Maciej Suminski
b70adc5f99
Fixed color issue for stroked fonts with OpenGL backend and caching turned on.
2013-04-25 10:00:25 +02:00
Maciej Suminski
10dd5023e2
Removed BeginLayer and EndLayer functions. Resolved Cairo layers drawing problem in a different way.
2013-04-24 09:48:34 +02:00