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
ad5d10a8ba
Display linking errors in debug mode for shaders. Added SHADER::GetAttribute() function for getting shaders attribute location.
2013-06-03 10:54:24 +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
7a8e1fc6b4
Different way of measuring render time.
2013-05-16 17:17:35 +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
2579fd524d
Fixed time measuring functions (only for profiling in debug)
2013-05-16 13:46:00 +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
c91b4ffbc4
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
a43dd351df
Assured that there are no excessive initializations
2013-05-15 16:47:01 +02:00
Maciej Suminski
1a4c6781d8
All kind of items are loaded on SetBoard() again.
2013-05-15 09:17:48 +02:00
Maciej Suminski
806dd7d8ec
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
e1ecd301a7
Added some debug informations.
2013-05-15 09:17:36 +02:00
Maciej Suminski
135149e2d3
Fixed build for eeschema.
2013-05-14 10:46:43 +02:00
Maciej Suminski
c55e063745
Removed double freeing of some of Cairo paths.
2013-05-14 10:42:56 +02:00
Maciej Suminski
1b1216e53d
Modified SetOffset (VBO_ITEM/OpenGL GAL) function.
2013-05-14 10:41:05 +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
0cd108b55d
Upstream merge.
2013-04-25 18:42:27 +02:00
Maciej Suminski
3ff70deab0
Changed non-shader primitives to GL_TRIANGLES.
2013-04-25 18:30:53 +02:00
Wayne Stambaugh
61b4f8a9eb
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
Dick Hollenbeck
d8ba7b3af8
pcb_parser failed on (fill yes (arc_segments 16) (thermal_gap 1.99898) (thermal_bridge_width 1.99898))
...
See http://tech.groups.yahoo.com/group/kicad-users/message/15105
2013-04-25 07:25:47 -05:00
Maciej Suminski
790e4c6af7
Fixed tracks drawing using Cairo backend with caching turned on.
2013-04-25 10:26:32 +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
jean-pierre charras
00ee6c7b3b
Pcbnew, dialog SVG export: Fix Pcbnew crash when opening the dialog.
2013-04-25 09:05:33 +02:00
Maciej Suminski
dd8601cbf8
Added caching of multilayer items (storing multiple group ids for items).
2013-04-24 11:28:11 +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
Maciej Suminski
bb3f3d063f
wxWidgets 2.8 compatibility fix.
2013-04-23 18:20:45 +02:00
Maciej Suminski
4868af8b62
Changed view control settings to KiCad default (panning, zooming, etc.)
2013-04-23 12:07:14 +02:00
Maciej Suminski
ced0d8add9
Modified shaders' source path.
2013-04-23 09:52:51 +02:00
Maciej Suminski
f24048e8da
Drawing SMD pads with colors defined by "Pads Front"/"Pads Back" color settings.
2013-04-22 12:13:48 +02:00
Maciej Suminski
0a55a2b672
Fixed wheel scroll event on Windows
2013-04-22 11:08:02 +02:00
Maciej Suminski
1944fea398
Modified way of switching canvas
2013-04-22 11:07:38 +02:00
Wayne Stambaugh
d3f28fb71c
Fix KiCad crash when no template is selected on new project from template. (fixes lp:1170973)
2013-04-21 15:44:57 -04:00
Maciej Suminski
ad4a72ff11
Cairo now renders layers properly (colors are not saturated after layer composition), but slower.
2013-04-19 18:19:50 +02:00
Maciej Suminski
062fc2d200
Some cleanup.
2013-04-19 18:19:20 +02:00
jean-pierre charras
74c64958f4
Pcbnew: fix bug in pcb_parser: incorrect pad local solder paste margin ratio value read when not 0. ( This also fixes bug 1170535 )
2013-04-19 09:14:27 +02:00
Matthew Beckler
97ccebf355
Fixes to scripting after refactoring & interface cleanups,
2013-04-18 23:23:11 +02:00
Miguel Angel Ajo
c597e75b73
Support to enable color from PLOT_CONTROLLER into plotters that start in B/W
2013-04-18 23:21:26 +02:00
Dick Hollenbeck
a20c89288f
hide pageFmts[] since it is no longer NULL terminated and not global
2013-04-18 13:54:03 -05:00
Dick Hollenbeck
1f3b3d681c
fix some compiler warnings
2013-04-18 12:03:47 -05:00
Dick Hollenbeck
fb57b54be8
fix Lorenzo's bug introduced in rev. 4082
2013-04-18 12:03:25 -05:00
Maciej Suminski
5d704c9692
Turned on group recaching on GAL change.
2013-04-18 17:10:02 +02:00
Maciej Suminski
a96c5379b3
Fixed non-GAL build.
2013-04-18 11:46:23 +02:00
Maciej Suminski
e4bac0d91a
Fixed resize issue (moved GAL panel into pane).
...
Tidied up event handlers.
2013-04-18 11:20:19 +02:00