solvespace/src
EvilSpirit 6d2c2aecff Implement an OpenGL 2 renderer.
There are two main reasons to desire an OpenGL 2 renderer:
 1. Compatibility. The compatibility profile, ironically, does not
    offer a lot of compatibility, and our OpenGL 1 renderer will not
    run on Android, iOS, or WebGL.
 2. Performance. The immediate mode does not scale, and in fact
    becomes very slow with only a moderate amount of lines on screen,
    and only a somewhat large amount of triangles.

This commit implements a basic OpenGL 2 renderer that uses only
features from the (OpenGL 3.2) core profile. It is not yet faster
than the OpenGL 1 renderer, primarily because it uses a lot of small
draw calls.

This commit uses OpenGL 2 on Linux and Mac OS X directly (i.e. links
to the GL symbols from version 2+); on Windows this is impossible
with the default drivers, so for now OpenGL 1 is still used there.
2016-11-18 04:04:29 +00:00
..
platform When exporting files, initially fill in the basename of the sketch. 2016-11-17 12:54:02 +00:00
render Implement an OpenGL 2 renderer. 2016-11-18 04:04:29 +00:00
srf Add a new renderer that prepares geometry for 2d backends. 2016-08-01 00:48:37 +00:00
bsp.cpp Add a new renderer that prepares geometry for 2d backends. 2016-08-01 00:48:37 +00:00
clipboard.cpp Rephrase error messages that say "select a workplane". 2016-10-11 13:46:05 +00:00
CMakeLists.txt Implement an OpenGL 2 renderer. 2016-11-18 04:04:29 +00:00
config.h.in Implement a resource system. 2016-05-18 11:24:23 +00:00
confscreen.cpp Hide OpenGL implementation details. 2016-11-14 20:30:46 +00:00
constraint.cpp Fix a crash when adding a symmetric constraint on a line. 2016-11-16 02:25:21 +00:00
constrainteq.cpp Add tests to cover 95.3% of constrainteq.cpp branches. 2016-08-07 17:33:27 +00:00
describescreen.cpp Replace convenience #defines with const auto references. 2016-10-10 12:34:10 +00:00
draw.cpp Implement an OpenGL 2 renderer. 2016-11-18 04:04:29 +00:00
drawconstraint.cpp Fix rendering of horizontal/vertical constraint labels. 2016-11-17 00:48:47 +00:00
drawentity.cpp Fix many rendering bugs introduced in df83ee4 and 9f97e9a. 2016-10-13 21:30:27 +00:00
dsc.h Optimize IdList::MaximumId() from O(n) to O(1). 2016-11-17 14:14:56 +00:00
entity.cpp Add two more points to the TTF text request. 2016-11-02 09:22:18 +00:00
export.cpp Reimplement drawing of the mesh wireframe. 2016-11-18 02:40:43 +00:00
exportstep.cpp Annotate constants passed as boolean function arguments. 2016-05-26 12:43:52 +00:00
exportvector.cpp Factor out PolylineBuilder from DXF export code. 2016-10-13 22:05:29 +00:00
expr.cpp Replace the last use of exceptions (in Expr) with setjmp/longjmp. 2016-08-01 00:48:37 +00:00
expr.h Convert all enumerations to use enum class. 2016-05-25 07:17:14 +00:00
file.cpp Add two more points to the TTF text request. 2016-11-02 09:22:18 +00:00
generate.cpp Fix uninitialized variable warnings. 2016-11-17 13:59:51 +00:00
graphicswin.cpp Hide OpenGL implementation details. 2016-11-14 20:30:46 +00:00
group.cpp Fix creation of workplane based on a workplane. 2016-11-17 15:51:19 +00:00
groupmesh.cpp Implement an OpenGL 2 renderer. 2016-11-18 04:04:29 +00:00
importdxf.cpp Update 58db06d8 to not even try to use std::fstream with Unicode paths. 2016-10-09 20:00:02 +00:00
lib.cpp Annotate constants passed as boolean function arguments. 2016-05-26 12:43:52 +00:00
mesh.cpp Add a new renderer that prepares geometry for 2d backends. 2016-08-01 00:48:37 +00:00
modify.cpp Fix spelling error. 2016-10-11 16:47:23 +00:00
mouse.cpp Rephrase error messages that say "select a workplane". 2016-10-11 13:46:05 +00:00
polygon.cpp Add a new renderer that prepares geometry for 2d backends. 2016-08-01 00:48:37 +00:00
polygon.h Stitch outlines before display to preserve phase of stippling. 2016-10-13 22:05:32 +00:00
polyline.cpp Stitch outlines before display to preserve phase of stippling. 2016-10-13 22:05:32 +00:00
request.cpp Fix uninitialized variable warnings. 2016-11-17 13:59:51 +00:00
resource.cpp Fix uninitialized variable warnings. 2016-11-17 13:59:51 +00:00
resource.h Fix BitmapFont to not lose texture updates. 2016-10-11 23:45:19 +00:00
sketch.h Add two more points to the TTF text request. 2016-11-02 09:22:18 +00:00
solvespace.cpp When exporting files, initially fill in the basename of the sketch. 2016-11-17 12:54:02 +00:00
solvespace.h Implement an OpenGL 2 renderer. 2016-11-18 04:04:29 +00:00
style.cpp Fix a rendering bug introduced in 9f97e9a. 2016-10-14 04:15:20 +00:00
system.cpp Fix uninitialized variable warnings. 2016-11-17 13:59:51 +00:00
textscreens.cpp Write params if system is solved as REDUNDANT_OKAY. 2016-10-14 00:10:41 +00:00
textwin.cpp Hide OpenGL implementation details. 2016-11-14 20:30:46 +00:00
toolbar.cpp Abstract all (ex-OpenGL) drawing operations into a Canvas interface. 2016-07-23 22:31:18 +00:00
ttf.cpp Add two more points to the TTF text request. 2016-11-02 09:22:18 +00:00
ttf.h Add two more points to the TTF text request. 2016-11-02 09:22:18 +00:00
ui.h Hide OpenGL implementation details. 2016-11-14 20:30:46 +00:00
undoredo.cpp Unify displayEdges and displayOutlines. 2016-07-23 22:41:16 +00:00
util.cpp Implement an OpenGL 2 renderer. 2016-11-18 04:04:29 +00:00
view.cpp Implement "view → set to full scale" text window command. 2016-08-01 14:03:16 +00:00