No description
Find a file
2026-10-21 16:38:07 +03:00
.back/WidBack
.docs/Gallery
.github/workflows
3DEditor
3DScene
Allocators
android Use the whole window in the studio layout 2026-10-18 22:24:25 +03:00
bench
Callstack
cmake Run only quick tests by default 2026-10-20 01:24:05 +03:00
Connection
Containers Render strokes at the shown level and paint full resolution in the background 2026-10-20 22:13:30 +03:00
DataAnalysis
Externals
Graphics Use the whole window in the studio layout 2026-10-18 22:24:25 +03:00
Language
LibraryViewer Split Sketch2D into libraries and keep only the tablet interface 2026-10-19 21:33:13 +03:00
Math Give flings more inertia and an overshoot at the ends 2026-10-18 02:14:24 +03:00
Modules Keep worker threads off the UI thread's physical core 2026-10-21 06:00:57 +03:00
Objects
RasterRender
RayTracer
Sketch2D Add a benchmark that zooms out to the limit after drawing at full zoom 2026-10-21 16:38:07 +03:00
Sketch3D
Strings
VulkanGraphics
Widgets Drive touch or pointer behaviour from one interaction mode 2026-10-20 13:04:45 +03:00
.clang-format
.clang-tidy
.cproject
.gitignore
.gitmodules
.project
CMakeLists.txt Rename the code name to Sketch2D 2026-10-17 19:47:01 +03:00
CMakePresets.json
CMakeSettings.json
LICENSE
README.MD
STATUS
TODO

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.

  • Containers - a collection of implementations of well-known containers: Lists, Hash-Map, Trees, Interval Tree.
  • Math - Features some aspects of linear algebra (Matrix operations, vectors). For example, used by the RayTracer and Sketch3D module.
  • RayTracer - simple ray-tracer 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.
  • Data analysis - simple fully connected neural network (FCNN). Contains example application that is recognizing hand written numbers.

For more information on some modules see TODO and STATUS

Building

Check git actions if some libraries are missing.

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

RayTracer Simple Ray-Tracer.

Oscript Oscript.

Sketch3d Sketch3D.