No description
Find a file
2024-03-20 17:52:39 +03:00
.docs/Designs Language Initial 2024-03-07 12:27:47 +03:00
.github/workflows Update cmake.yml 2024-03-09 10:49:15 +03:00
.wip/Language tmp 2024-03-16 12:51:09 +03:00
Allocators Widget Example added 2024-03-20 10:01:05 +03:00
Callstack Linux fixes 2024-03-18 09:55:12 +03:00
Connection tmp 2024-03-16 12:51:09 +03:00
Containers Map invalid iterator fix 2024-03-18 11:56:05 +03:00
DataAnalysis Linux fixes 2024-03-18 09:55:12 +03:00
Externals Unstable & with drawing restored 2024-03-18 09:55:38 +03:00
Graphics Graphics refactor finished 2024-03-20 11:31:50 +03:00
LibraryViewer Graphics refactor finished 2024-03-20 11:31:50 +03:00
Math Adding new gui to Sketch3d 2024-03-18 15:48:27 +03:00
Modules Fix bugs. Sketch3D stable. 2024-03-18 11:16:03 +03:00
Objects osg stable 2024-03-20 10:05:57 +03:00
RayTracer fix raytracer 2024-03-16 20:57:46 +03:00
Sketch3D Graphics refactor finished 2024-03-20 11:31:50 +03:00
Strings Fix bugs. Sketch3D stable. 2024-03-18 11:16:03 +03:00
Widgets Graphics refactor finished 2024-03-20 11:31:50 +03:00
.clang-format ini 2024-02-03 10:46:29 +03:00
.clang-tidy Math module initial 2023-07-05 20:33:18 +03:00
.cproject LibraryViewer 2023-11-28 23:22:04 +03:00
.gitignore Linux fixes 2024-03-18 09:55:12 +03:00
.gitmodules Use UnitTest-Cpp library for testing 2024-03-15 17:22:33 +03:00
.project LibraryViewer 2023-11-28 23:22:04 +03:00
CMakeLists.txt Widget Example added 2024-03-20 10:01:05 +03:00
CMakeOptions.txt Widget Example added 2024-03-20 10:01:05 +03:00
CMakeSettings.json Archiver Initial 2023-07-30 08:28:31 +03:00
LICENSE Adding license 2023-07-13 20:02:04 +03:00
README.MD Updating README 2024-03-20 17:52:39 +03:00
STATUS Fixing lalr on windows 2024-03-12 07:33:11 -07:00
TODO Use UnitTest-Cpp library for testing 2024-03-15 17:22:33 +03:00

Modules

This repository started as a place for learning C++. Many modules were intentionally developed to gain a better understanding of a topic as opposed to using libraries. As time passes some modules gradually vanish due to my new experience and knowledge, and some grow. Currently, some of the most interesting ones:

  • Containers - a collection of implementations of well-known containers: Lists, HashMaps, Trees, Interval Tree.
  • Math - Features some aspects of linear algebra (Matrix operations, vectors). Used by the RayTracer module.
  • RayTracer - simple newborn raytracer with object loader and lua configuration.
  • Objects (Python inspired) - encapsulates different types into Python-like objects. The module has its scripting language "Oscript" with support for methods, classes, pure functions, loops, conditions, etc. It uses compilation to bytecode and LALR parser. All objects can be saved and loaded at any time, whether it's a list or a method with bytecode. Some parts of this module have bad implementations and unstable code. Also, the module suffers from a lack of good testing.
  • Sketch3D - application with the ability to draw in 3D space. Features stroke processing and view-dependent shaders. Has lots of TODOs.

For more information on some modules see TODO and STATUS

Building

On Linux with clang with some libraries installed. See workflow in git actions.

To build and debug on windows clone svn repository (https://svn.riouxsvn.com/moduleswindowsl) alongside this repo and check WINDOWS_LIBRARIES option in cmake

Gallery

TODO