Maciej Suminski
f9f23806ed
Mainly case changes.
2013-10-14 20:40:36 +02:00
Maciej Suminski
e66a4ce337
Namespace KiGfx->KIGFX.
...
template<> -> template <>
Some more reformatting according to uncrustify results.
2013-10-14 16:13:35 +02:00
Maciej Suminski
8253899a70
Converted tabs to spaces. Removed trailing whitespaces.
2013-10-14 13:43:57 +02:00
Maciej Suminski
944a61100b
Fixed memory leaks in containers.
2013-09-12 09:44:57 +02:00
Maciej Suminski
00a2da7d18
Fixed cursor drawing for OpenGL.
2013-08-28 17:06:07 +02:00
Maciej Suminski
cebdb43234
Added mouse cursor drawing.
...
Added flipping mode.
2013-08-27 18:08:32 +02:00
Maciej Suminski
57979f3c9b
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
3096a26b59
Added GetTarget() for GALs.
2013-08-06 14:57:48 +02:00
Maciej Suminski
d7857dd026
Fixed the tesselator, so now it works with Windows.
2013-08-02 10:55:40 +02:00
Maciej Suminski
2f0ae47c8e
Code refactoring.
2013-07-30 18:29:54 +02:00
Maciej Suminski
11a2d81738
Made GAL backends settings more consistent. Fixed grid line width in the OpenGL backend.
2013-07-30 17:09:06 +02:00
Maciej Suminski
2331742384
Removed shaderless OpenGL backend.
2013-07-29 16:38:07 +02:00
Maciej Suminski
5a5616f258
Added initialization of variable, preventing unconditional jumps. Fixed typos in comments.
2013-07-29 14:12:27 +02:00
Maciej Suminski
76660ff15b
Fixed high contrast mode in OpenGL. Split display settings loading into more appropriate places.
2013-07-25 18:04:15 +02:00
Maciej Suminski
8c74dcde28
Fixed blending function for OpenGL compositing. Corrected documentation, removed unnecessary functions.
2013-07-24 15:06:59 +02:00
Maciej Suminski
e644f5be05
OpenGL multitarget rendering (compositing).
2013-07-23 18:39:07 +02:00
Maciej Suminski
75eb5491d5
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
c81c316a46
Refactorization of VBO_CONTAINER.
2013-07-17 18:49:38 +02:00
Maciej Suminski
e7dae3a9c1
Fixind GLM headers problem.
2013-07-16 08:42:44 +02:00
Maciej Suminski
1399ed198c
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
c2fb99ce49
Removed pointers where they were not necessary.
2013-07-05 09:31:04 +02:00
Maciej Suminski
d8e45ef866
Fixed drawing circles and semicircles using display lists.
2013-07-04 16:27:27 +02:00
Maciej Suminski
d0278dad15
Shaders can handle integer parameters (uniforms).
2013-07-03 13:08:43 +02:00
unknown
f1dbfffd82
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
5476a03799
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
fa083142a7
Colors are stored as unsigned bytes instead of floats.
2013-06-30 22:45:31 +02:00
Maciej Sumiński
a1f81bbe97
Shaders are built-in instead of being loaded from external files.
2013-06-30 19:31:16 +02:00
Maciej Sumiński
e9669c6594
More debug information in case of failure compilation of shaders.
2013-06-30 15:37:46 +02:00
Maciej Suminski
95d5ab706a
VBO_CONTAINER: Changed new[]/delete[] pairs to realloc(), possibly reducing memory fragmentation and the container shrinking time.
2013-06-28 10:47:41 +02:00
Maciej Suminski
96116659be
Faster circles & semicircles drawing for the shaderless OpenGL backend. Removed unnecessary variables and computations.
2013-06-27 16:05:15 +02:00
Maciej Suminski
1e7df3606a
Groups are stored in map instead of deque, so it allows easier adding & removing.
2013-06-27 11:54:49 +02:00
Maciej Suminski
603029b106
High contrast mode with showing the selected layer on the top.
2013-06-26 16:31:52 +02:00
Maciej Suminski
4ca54b2f1d
Small speed up for the color change function (OpenGL_GAL).
2013-06-26 10:43:58 +02:00
Maciej Suminski
258b804941
Added possibility to change cached layer color (for the purpose of high contrast display).
2013-06-25 17:12:54 +02:00
Maciej Suminski
cdab6cfdbe
Draw the origin marker in OpenGL with shaders GAL.
2013-06-24 16:02:18 +02:00
Maciej Suminski
33b3d5edfb
Small improvements to SHADER class.
2013-06-24 15:40:31 +02:00
Maciej Suminski
d114d9e386
Passing COLOR4D parameter using constant reference.
2013-06-24 10:21:34 +02:00
Maciej Suminski
316f7309a1
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
585aeb7f91
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
c4e42f46a9
Removed unnecessary functions from VBO_VERTEX.
2013-06-18 17:53:12 +02:00
Maciej Suminski
8a89e160ed
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
03b5d6125b
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
7858e6aa7c
Changed data structure in VBO_ITEM.
2013-06-05 10:48:30 +02:00
Maciej Suminski
85a2aee79c
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
2912138ef2
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
7dec942ef7
Different way of rendering groups (with a single DrawElements call) in OpenGL GAL.
2013-05-16 18:43:25 +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
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
66d257f620
Drawing tracks using PushVertices, added some comments, fixed formatting.
2013-05-14 10:38:25 +02:00