Skip to content
View Samukashvili's full-sized avatar
💭
🤫
💭
🤫

Highlights

  • Pro

Block or report Samukashvili

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
Samukashvili/README.md
Giorgi Samukashvili — software developer in Tbilisi, Georgia. Animated examples of LUMEN-PS turning scans into material maps, SceneBuilder exporting a scene to the browser, and Collection Zones organizing objects by position.

Portfolio  ·  Tools & projects  ·  Open source  ·  Get in touch ↗

I turn complex problems into useful software.

I'm Giorgi, a developer and computer science student based in Tbilisi, Georgia. I build software across computer vision, real-time graphics, procedural systems, and automation — from reconstructing materials with a flatbed scanner to streaming terrain on the GPU.

My technical-art background shapes the tools I build: practical workflows, interactive feedback, and performance that holds up on real devices.


01 / Featured — LUMEN-PS

Four scans. A relightable material.

LUMEN-PS turns an ordinary flatbed scanner into a photometric-stereo material scanner. Rotate the subject between four captures; recover normal, albedo, roughness, height, and alpha maps from the lighting differences.

Animated LUMEN-PS workflow: rotate the subject for four scans under a fixed scanner light, align the same surface points, solve photometric stereo, and export albedo, normal, roughness, height, and alpha maps.

How it works: four rotations → aligned observations → surface reconstruction → material maps.

A real kiwi leaf reconstructed by LUMEN-PS: animated 360-degree relighting alongside the recovered albedo, normal, and height maps.

Real 1200 dpi kiwi leaf reconstruction. The animation is lit using the recovered normal map.

Built with Python / CUDA, with a Windows app and CLI, rigid and non-rigid registration, robust reconstruction, matched material atlases, and re-rendered quality checks.

Explore the repository ↗  ·  See the walkthrough  ·  Read the documentation


02 / Systems & developer tools

Animated software illustrations: SceneBuilder keeps editor and browser scenes in sync; MarchingWorld varies chunk mesh density as the viewer moves over hills and valleys, with a Surface Nets cell-to-quad diagram; Stereo Depth pairs camera observations; Collection Zones updates a balanced collection tree as an object changes zones.

TypeScript · WebGL · In development
A desktop editor for assembling, lighting, and optimizing 3D scenes, then exporting self-contained WebGL bundles ready to embed in websites.

Unity · C# · HLSL · In development
GPU-first Surface Nets terrain: deterministic hills and caves, seamless octree LOD transitions, and asynchronously baked physics. Transition topology is prepared during generation so LOD changes can reuse retained meshes.

Android · Java · OpenGL ES 3.1 · Research prototype
Live metric depth from concurrent wide and ultrawide camera streams. Compute shaders handle rectification, census matching, four-path SGM, and filtering; buffered readback overlaps GPU work with camera capture.

Blender · Python
A spatial organization add-on that assigns objects to collections by position, with manual zones, world grids, exclusions, fallback collections, and movement tracking.


03 / More open-source experiments

  • LaunchPoint — Monte Carlo viewshed intersection on real terrain, estimating a drone operator's location from sightings. Python
  • VoiceReady — a voice-command assistant for Ready or Not, combining read-only game-state detection with input emulation. C# Currently broken: a recent Ready or Not update invalidated its pointer addresses; those addresses need to be relocated before the software can work again.
  • RC-N1 Controller Bridge — turns a DJI RC-N1 remote into a low-latency virtual Xbox 360 controller for simulators and games. Python

04 / My toolkit

Languages   Python · TypeScript · C# · Java · HLSL
Platforms   CUDA · WebGL · OpenGL ES · Unity · Android · Blender
Focus   Computer vision · GPU programming · Procedural systems · Developer tools · Automation


Interested in computer vision, real-time systems, or creative software? Let's talk ↗

More work, demos, and free texture utilities at samukashvili.ge.

Pinned Loading

  1. LUMEN-PS LUMEN-PS Public

    Flatbed-scanner photometric stereo for generating normal, albedo, height, and alpha texture maps.

    Python 121 9

  2. LaunchPoint LaunchPoint Public

    Estimate a drone operator's location from ground-position sightings via Monte-Carlo viewshed intersection on real terrain.

    Python 3 1

  3. VoiceReady VoiceReady Public

    External voice command assistant for Ready or Not. Speak officer orders aloud and have them executed in-game via read-only memory state detection and keyboard/mouse input emulation.

    C# 1

  4. RC-N1_ControllerBridge RC-N1_ControllerBridge Public

    RC N1 Bridge turns a DJI RC-N1 remote into a low-latency virtual Xbox 360 controller for Windows drone simulators and other games.

    Python 2