Commit Graph

1262 Commits

Author SHA1 Message Date
Maciej Suminski 31b722f9d3 Added tesselation of polygons for VBO based rendering (OpenGL GAL). 2013-05-27 09:37:49 +02:00
Maciej Suminski 7dec942ef7 Different way of rendering groups (with a single DrawElements call) in OpenGL GAL. 2013-05-16 18:43:25 +02:00
Maciej Suminski 1d0ca22572 Different way of measuring render time. 2013-05-16 17:17:35 +02:00
Maciej Suminski b58cc107e6 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 a593306a06 Fixed time measuring functions (only for profiling in debug) 2013-05-16 13:46:00 +02:00
Maciej Suminski 0177590699 Faster way of caching items for OPENGL GAL. 2013-05-16 10:35:16 +02:00
Maciej Suminski 787fe28fd0 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 541568e09f Layer depth is set during items caching (so now they are rendered on proper layers). 2013-05-15 16:47:17 +02:00
Maciej Suminski 5dd7ef6895 Assured that there are no excessive initializations 2013-05-15 16:47:01 +02:00
Maciej Suminski d76671a601 Items are not recached until GAL is changed (earlier it was done on every rendering backend switch). 2013-05-15 09:17:42 +02:00
Maciej Suminski ea094a4fbc Added some debug informations. 2013-05-15 09:17:36 +02:00
Maciej Suminski 817cf192c8 Fixed build for eeschema. 2013-05-14 10:46:43 +02:00
Maciej Suminski aec00ab96f Removed double freeing of some of Cairo paths. 2013-05-14 10:42:56 +02:00
Maciej Suminski 48b288cdc2 Modified SetOffset (VBO_ITEM/OpenGL GAL) function. 2013-05-14 10:41:05 +02:00
Maciej Suminski 66d257f620 Drawing tracks using PushVertices, added some comments, fixed formatting. 2013-05-14 10:38:25 +02:00
Maciej Suminski 918231795b Added possibility of adding multiple vertices to VBO_ITEM at once 2013-05-13 11:14:35 +02:00
Maciej Suminski 9f71172437 Fixed Cairo issues and some possible memory leaks 2013-05-13 10:55:35 +02:00
Maciej Suminski 7b426e8103 Fixed memleak, removed excessive recaching, still there is a problem with Cairo caching 2013-05-10 16:05:40 +02:00
Maciej Suminski fb65f5d1ae 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 56aabe20bc Introduction of VBO. Now only tracks are rendered in a very simple way. 2013-04-30 15:59:32 +02:00
Maciej Suminski b9980df1b7 Upstream merge. 2013-04-25 18:42:27 +02:00
Maciej Suminski af8b256a00 Changed non-shader primitives to GL_TRIANGLES. 2013-04-25 18:30:53 +02:00
Wayne Stambaugh 324c39931c Pcbnew NETLIST_READER improvements.
* Create separate NETLIST object to hold contents of netlist files.
* Read entire netlist and footprint link files before making applying
  changes to board.
* Add BOARD::ReplaceNetlist() function to eliminate the calls between the
  NETLIST_READER, PCB_EDIT_FRAME, and BOARD objects.
* Change placement of new components below the center of the current board
  or in the center of the page if the BOARD is empty.
* Add dry run option to netlist dialog to print changes to message control
  without making changes.
* Add button to netlist dialog to allow saving contents of message control
  to a file.
* Eliminate the need to compile netlist_reader_*.cpp in both CvPcb and Pcbnew.
* Add netlist_reader_*.cpp to the pcbcommon library.
* Remove redundant load component link file code from CvPcb.
* Modify CvPcb new to work with the new NETLIST_READER object.
* Add compare() function and < and == operators to FPID object.
* Add REPORTER class to hide an underlying string writing implementation for
  use in low level objects.  Thank you Dick for the idea.
* Lots of minor coding policy, Doxygen comment, and missing license fixes.
2013-04-25 12:29:35 -04:00
Maciej Suminski 857b02706e Fixed tracks drawing using Cairo backend with caching turned on. 2013-04-25 10:26:32 +02:00
Maciej Suminski 1e0f1b39b0 Fixed color issue for stroked fonts with OpenGL backend and caching turned on. 2013-04-25 10:00:25 +02:00
Maciej Suminski 8663a6c7a0 Added caching of multilayer items (storing multiple group ids for items). 2013-04-24 11:28:11 +02:00
Maciej Suminski b6ec124ceb Removed BeginLayer and EndLayer functions. Resolved Cairo layers drawing problem in a different way. 2013-04-24 09:48:34 +02:00
Maciej Suminski 85a3b72c71 wxWidgets 2.8 compatibility fix. 2013-04-23 18:20:45 +02:00
Maciej Suminski d9b489d471 Changed view control settings to KiCad default (panning, zooming, etc.) 2013-04-23 12:07:14 +02:00
Maciej Suminski 3289c6c305 Modified shaders' source path. 2013-04-23 09:52:51 +02:00
Maciej Suminski 07545ba49c Fixed wheel scroll event on Windows 2013-04-22 11:08:02 +02:00
Maciej Suminski 8312497d6c Modified way of switching canvas 2013-04-22 11:07:38 +02:00
Maciej Suminski 55f7a99d1b Cairo now renders layers properly (colors are not saturated after layer composition), but slower. 2013-04-19 18:19:50 +02:00
Maciej Suminski 98addf78b4 Some cleanup. 2013-04-19 18:19:20 +02:00
Dick Hollenbeck ed484deec6 hide pageFmts[] since it is no longer NULL terminated and not global 2013-04-18 13:54:03 -05:00
Dick Hollenbeck 6001254160 fix Lorenzo's bug introduced in rev. 4082 2013-04-18 12:03:25 -05:00
Maciej Suminski 2b0c4ba215 Turned on group recaching on GAL change. 2013-04-18 17:10:02 +02:00
Maciej Suminski 1e9088f7d2 Fixed non-GAL build. 2013-04-18 11:46:23 +02:00
Maciej Suminski ec9e283d34 Fixed resize issue (moved GAL panel into pane).
Tidied up event handlers.
2013-04-18 11:20:19 +02:00
Maciej Suminski f9e5881b45 Removed unnecessary calls to cairo drawing functions. 2013-04-17 12:50:38 +02:00
Maciej Suminski 869505a659 Added const(..)& in GAL methods' parameters and change iterators to constant iterators. 2013-04-17 12:48:37 +02:00
Maciej Suminski 895d265603 Added GAL::DrawSegment for drawing rounded segments (used for drawing tracks). 2013-04-17 12:38:00 +02:00
Maciej Suminski e5e60c6bed Fixed drawing arcs in Cairo GAL. 2013-04-17 12:33:11 +02:00
Maciej Suminski cf01f1a264 Fixed drawing polygons using Cairo-based GAL. 2013-04-16 14:55:21 +02:00
Maciej Suminski b8d88f0dc5 Removed flickering in Cairo-based rendering backend. 2013-04-16 11:43:13 +02:00
Maciej Suminski 698bc0cdac Cleanup 2013-04-16 11:16:27 +02:00
Maciej Suminski 48a7a863ae Inverted Y display axis while using Cairo-based rendering backend. 2013-04-15 17:59:38 +02:00
Maciej Suminski f2c4fa2b46 Introduced Cairo-based rendering backend using GAL.
Moved switching canvas routines to pcbnew, as they are used only there right now (otherwise libgal would have to be linked to every Kicad application).
2013-04-15 17:57:03 +02:00
Maciej Suminski f996d6cc7a Introduced SetGAL() functions that will allow changing GAL backend for rendering on the fly. 2013-04-15 16:03:05 +02:00
Matthew Beckler c10bb66b12 Match 'new char[]' with proper delete[] char* rather than delete char*. 2013-04-13 23:07:04 -05:00