olimot.github.io

Front-end web developer interested in game development as a hobby.

Github: https://github.com/olimot/

Web 3D Graphics Projects

All projects are implemented from the ground up using WebGL, gl-matrix, and TypeScript—without relying on 3D engines like Three.js or Babylon.js.

Perlin Noise

an implementation of all-dimensions Perlin Noise using TypeScript.

Perlin Noise Screenshot

Website: https://olimot.github.io/perlin-noise
Github Repository: https://github.com/olimot/perlin-noise

A comprehensive TypeScript implementation of Perlin Noise across all dimensions, showcasing 3D and 4D noise visualizations rendered using the previously developed Marching Cubes implementations for GPU, offering an interactive exploration of procedural noise and its applications in multidimensional space.

Marching Cubes

a project demonstrating a basic implementation of the Marching Cubes algorithm using WebGL2 and TypeScript.

Marching Cubes Screenshot

Website: https://olimot.github.io/marching-cubes
Github Repository: https://github.com/olimot/marching-cubes

CPU version (typescript): CPU-based implementation of the Marching Cubes algorithm in TypeScript, generating a static mesh at a fixed isolevel during initialization, designed for simplicity and educational purposes despite its slower performance

GPU version (webgl2): A GPU-accelerated implementation of the Marching Cubes algorithm using a vertex GLSL shader, where a 3D texture representing the scalar field is processed directly in the shader, and drawArrays() is used with a maximum vertex count while non-existent triangles are efficiently discarded based on the input field.

WebGL2 Template

WebGL2 Template Screenshot

Website: https://olimot.github.io/webgl2-template/
Github Repository: https://github.com/olimot/webgl2-template

This project is a minimal yet powerful starting point for anyone looking to explore 3D graphics in the browser using WebGL2. It provides a streamlined foundation with all the essentials: a dynamically resizing canvas, an interactive camera system, and a basic rendering pipeline. The setup is designed to be intuitive, allowing users to manipulate the scene by rotating, panning, and zooming with simple mouse inputs. The rendering logic is clean and focused, showcasing how to create a cube with proper geometry, textures, and custom shaders that handle transformations and basic lighting.

Perfect for beginners and advanced users alike, this example balances simplicity with functionality, making it an excellent tool for learning or prototyping. The code demonstrates the essential steps to set up a WebGL2 context, write and use shaders, and render 3D models in real time. With this as a starting point, you can quickly build upon it to create more complex scenes, integrate advanced shaders, or explore new rendering techniques, all while maintaining clarity and performance.

SRD 3.5 Format Conversion Projects

HTML version

Website: https://olimot.github.io/srd-v3.5/
Github Repository: https://github.com/olimot/srd-v3.5

This project aims to provide an HTML version of the original Dungeons & Dragons 3.5 System Reference Document (SRD), making it more accessible and easier to navigate. The project involves converting RTF files from the archived download page into HTML, creating an index file to serve as a homepage, standardizing heading levels (H1, H2, etc.), correcting formatting errors, and generating a table of contents for each HTML page. This effort builds on the original SRD by Wizards of the Coast, leveraging archived resources and a Markdown version for improved usability and organization.

Markdown version

Github Repository: https://github.com/olimot/srd-v3.5-md

This project is a streamlined and accessible adaptation of the above HTML project, designed to make the content more portable, readable, and developer-friendly. This version translates the comprehensive HTML structure into Markdown format, preserving all key elements such as headings, formatting, and table of contents while ensuring compatibility with various text editors and version control systems like Git. The Markdown version enhances collaboration, customization, and integration with modern documentation workflows, providing a versatile resource for users and contributors.