/glGraph

A 2d Graphing Calculator written in C++ using Modern OpenGL

Primary LanguageC++GNU General Public License v3.0GPL-3.0

glGraph

A 2d Graphing Calculator using Modern OpenGL

Demo

glGraph.mp4

Information

  • This has only been tested on Fedora 34, it should work on other OS's but I make no guarantees.
  • This uses C++17 features.
  • Controls: WASD to move around, QE to zoom

What can it do so far?

  • Basic operations (+, -, *, /, ^)
  • Order of operations (parentheses, etc)
  • Functions: sin, cos, tan, sqrt
  • Switch between radians and degrees
  • Multiple lines, ability to change line color, and ability to remove lines
  • Live equation updating (not shown in example)

Known issues

  • floating point precision errors
  • functions with undefined values (e.g. divides by 0 or goes to infinity) sometimes display strange behavior
  • glLineWidth may not work on some (maybe all) versions of macOS because of limited GL_LINE_WIDTH_RANGE
  • invalid character sequences may cause program to crash

Dependencies

  • OpenGL 3.3 core
  • SDL2
  • GLEW
  • Dear ImGui