- 01 Jul, 2013 1 commit
-
-
Maciej Suminski authored
-
- 30 Jun, 2013 3 commits
-
-
Maciej Sumiński authored
-
Maciej Sumiński authored
-
Maciej Sumiński authored
-
- 28 Jun, 2013 1 commit
-
-
Maciej Suminski authored
VBO_CONTAINER: Changed new[]/delete[] pairs to realloc(), possibly reducing memory fragmentation and the container shrinking time.
-
- 27 Jun, 2013 2 commits
-
-
Maciej Suminski authored
Faster circles & semicircles drawing for the shaderless OpenGL backend. Removed unnecessary variables and computations.
-
Maciej Suminski authored
-
- 26 Jun, 2013 2 commits
-
-
Maciej Suminski authored
-
Maciej Suminski authored
-
- 25 Jun, 2013 1 commit
-
-
Maciej Suminski authored
-
- 24 Jun, 2013 3 commits
-
-
Maciej Suminski authored
-
Maciej Suminski authored
-
Maciej Suminski authored
-
- 20 Jun, 2013 1 commit
-
-
Maciej Suminski authored
- 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
-
- 19 Jun, 2013 1 commit
-
-
Maciej Suminski authored
Moved fields containing information about currently used color, shader and transformation for vertices from VBO_ITEM to VBO_CONTAINER (OPENGL_GAL).
-
- 18 Jun, 2013 2 commits
-
-
Maciej Suminski authored
-
Maciej Suminski authored
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.
-
- 06 Jun, 2013 1 commit
-
-
Maciej Suminski authored
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.
-
- 05 Jun, 2013 1 commit
-
-
Maciej Suminski authored
-
- 04 Jun, 2013 1 commit
-
-
Maciej Suminski authored
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.
-
- 03 Jun, 2013 1 commit
-
-
Maciej Suminski authored
Display linking errors in debug mode for shaders. Added SHADER::GetAttribute() function for getting shaders attribute location.
-
- 16 May, 2013 3 commits
-
-
Maciej Suminski authored
-
Maciej Suminski authored
-
Maciej Suminski authored
-
- 15 May, 2013 1 commit
-
-
Maciej Suminski authored
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).
-
- 14 May, 2013 1 commit
-
-
Maciej Suminski authored
-
- 13 May, 2013 1 commit
-
-
Maciej Suminski authored
-
- 10 May, 2013 1 commit
-
-
Maciej Suminski authored
-
- 30 Apr, 2013 1 commit
-
-
Maciej Suminski authored
-
- 24 Apr, 2013 1 commit
-
-
Maciej Suminski authored
Removed BeginLayer and EndLayer functions. Resolved Cairo layers drawing problem in a different way.
-
- 19 Apr, 2013 1 commit
-
-
Maciej Suminski authored
-
- 18 Apr, 2013 1 commit
-
-
Maciej Suminski authored
Tidied up event handlers.
-
- 17 Apr, 2013 2 commits
-
-
Maciej Suminski authored
-
Maciej Suminski authored
-
- 10 Apr, 2013 1 commit
-
-
Maciej Suminski authored
Removed DRAW_MODE_NORMAL, DRAW_MODE_PREPARE_EDGES, DRAW_MODE_DRAW_EDGES modes.
-
- 02 Apr, 2013 1 commit
-
-
Maciej Suminski authored
New classes: - VIEW - represents view that is seen by user, takes care of layer ordering & visibility and how it is displayed (which location, how much zoomed, etc.) - VIEW_ITEM - Base class for every item that can be displayed on VIEW (the biggest change is that now it may be necessary to override ViewBBox & ViewGetLayers method for derived classes). - EDA_DRAW_PANEL_GAL - Inherits after EDA_DRAW_PANEL, displays VIEW output, right now it is not editable (in opposite to usual EDA_DRAW_PANEL). - GAL/OPENGL_GAL/CAIRO_GAL - Base Graphics Abstraction Layer class + two different flavours (Cairo is not fully supported yet), that offers methods to draw primitives using different libraries. - WX_VIEW_CONTROLS - Controller for VIEW, handles user events, allows zooming, panning, etc. - PAINTER/PCB_PAINTER - Classes that uses GAL interface to draw items (as you may have already guessed - PCB_PAINTER is a class for drawing PCB specific object, PAINTER is an abstract class). Its methods are invoked by VIEW, when an item has to be drawn. To display a new type of item - you need to implement draw(ITEM_TYPE*) method that draws it using GAL methods. - STROKE_FONT - Implements stroke font drawing using GAL methods. Most important changes to Kicad original code: * EDA_ITEM now inherits from VIEW_ITEM, which is a base class for all drawable objects. * EDA_DRAW_FRAME contains both usual EDA_DRAW_PANEL and new EDA_DRAW_PANEL_GAL, that can be switched anytime. * There are some new layers for displaying multilayer pads, vias & pads holes (these are not shown yet on the right sidebar in pcbnew) * Display order of layers is different than in previous versions (if you are curious - you may check m_galLayerOrder@pcbnew/basepcbframe.cpp). Preserving usual order would result in not very natural display, such as showing silkscreen texts on the bottom. * Introduced new hotkey (Alt+F12) and new menu option (View->Switch canvas) for switching canvas during runtime. * Some of classes (mostly derived from BOARD_ITEM) now includes ViewBBox & ViewGetLayers methods. * Removed tools/class_painter.h, as now it is extended and included in source code. Build changes: * GAL-based rendering option is turned on by a new compilation CMake option KICAD_GAL. * When compiling with CMake option KICAD_GAL=ON, GLEW and Cairo libraries are required. * GAL-related code is compiled into a static library (common/libgal). * Build with KICAD_GAL=OFF should not need any new libraries and should come out as a standard version of Kicad Currently most of items in pcbnew can be displayed using OpenGL (to be done are DIMENSIONS and MARKERS). More details about GAL can be found in: http://www.ohwr.org/attachments/1884/view-spec.pdf
-