All Projects → foo123 → Mod3

foo123 / Mod3

MOD3.js: JavaScript port of AS3DMod ActionScript 3D Modifier Library

Programming Languages

javascript
184084 projects - #8 most used programming language

Labels

Projects that are alternatives of or similar to Mod3

Isetta Engine
Novice-built game engine from the ground up (with blogs!)
Stars: ✭ 285 (+470%)
Mutual labels:  3d-engine
Island
🌋🐎 Project Island is an experimental, hot-reloading Vulkan renderer/proto-engine for Linux, written in C/C++.
Stars: ✭ 441 (+782%)
Mutual labels:  3d-engine
Android 3d Model Viewer
Android OpenGL 2.0 application to view 3D models. Published on Play Store
Stars: ✭ 809 (+1518%)
Mutual labels:  3d-engine
Candle
C Game Engine
Stars: ✭ 322 (+544%)
Mutual labels:  3d-engine
Rbfx
Game engine with extensive C# support and WYSIWYG editor.
Stars: ✭ 356 (+612%)
Mutual labels:  3d-engine
Dna 3d Engine
3d engine implementation in DNA code!
Stars: ✭ 493 (+886%)
Mutual labels:  3d-engine
Virocore
ViroCore cross-platform AR/VR renderer
Stars: ✭ 270 (+440%)
Mutual labels:  3d-engine
Ashengine
A cross-platform 3D engine based on Qt 5.9.7, OpenGL 3.3 and Assimp 4.1.
Stars: ✭ 35 (-30%)
Mutual labels:  3d-engine
Exengine
A C99 3D game engine
Stars: ✭ 391 (+682%)
Mutual labels:  3d-engine
Layaair
LayaAir is an open-source 2D/3D engine. LayaAir Engine is designed for high performance games.LayaAir support TypeScript and JavaScript、ActionScript 3.0 programming language.Can develop once, publish for multi platform.
Stars: ✭ 791 (+1482%)
Mutual labels:  3d-engine
Tinygizmo
📐 An immediate mode 3D gimzo (translation, rotation, scale for scene editing) in ~1200 LoC
Stars: ✭ 321 (+542%)
Mutual labels:  3d-engine
Overload
3D Game engine with editor
Stars: ✭ 335 (+570%)
Mutual labels:  3d-engine
Voxelspace
Terrain rendering algorithm in less than 20 lines of code
Stars: ✭ 5,358 (+10616%)
Mutual labels:  3d-engine
React Babylonjs
React for Babylon 3D engine
Stars: ✭ 299 (+498%)
Mutual labels:  3d-engine
Acid
A high speed C++17 Vulkan game engine
Stars: ✭ 838 (+1576%)
Mutual labels:  3d-engine
Glas
WebGL in WebAssembly with AssemblyScript
Stars: ✭ 278 (+456%)
Mutual labels:  3d-engine
Lume
Create CSS3D/WebGL applications declaratively with HTML. Give regular DOM elements shadow and lighting.
Stars: ✭ 445 (+790%)
Mutual labels:  3d-engine
Helix Toolkit
Helix Toolkit is a collection of 3D components for .NET.
Stars: ✭ 1,050 (+2000%)
Mutual labels:  3d-engine
Quadray Engine
Realtime raytracer using SIMD on ARM, MIPS, PPC and x86
Stars: ✭ 13 (-74%)
Mutual labels:  3d-engine
Anything about game
A wonderful list of Game Development resources.
Stars: ✭ 541 (+982%)
Mutual labels:  3d-engine

MOD3

3D Modifier Library for JavaScript

This is a port of the AS3dMod Modifier Library for ActionScript 3 to JavaScript.

supports: Three.js , Pre3d , J3D , Copperlicht , CubicVR.js, OSG.js

IMPORTANT: Further development on this project has stopped! If anyone is interested in taking over this project for further development, send me a message through github.

MOD3.js

It is named MOD3 to signify that it has support for Three.js

It is a (almost) complete port. All Modifiers found in AS3DMod are scheduled to be ported. Also the API architecture is setup for more modifiers to be added (even custom ones).

The library has a dependency on Classy.js micro Object-Oriented framework.

Contents

Source Code License

This code uses the MIT Open Source License, per requests to use the license of the original AS3dMod Modifier Library for ActionScript 3 code.

Feel free to share, modify, contribute etc..

Live Examples

  • 3D flipbook (Three.js, MOD3.js and Tween.js)
  • Dancing Box (a simple blend of 3D manipulation and sound visualization)

Support for 3D JavaScript engines

  • Three.js with examples (r78)
  • OSG.js with examples (0.2.5)
  • J3D with examples (Build 51)
  • Copperlicht with examples
  • CubicVR with examples
  • Pre3d with examples (my pre3d examples are a little blurry but you'll get the picture)

Modifiers supported (up to present)

  • Pivot (note: Pivot does not work with Pre3d)
  • Bend
  • Twist
  • Taper
  • Skew
  • Noise
  • Wheel
  • Bloat
  • Break
  • Perlin ( MOD3 v.0.3.4 )
  • DisplaceMap ( MOD3 v.0.3.5 )

TODO

  • possible generic way to use (at least some) 3D modifiers directly in GLSL for all supported engines (??)
  • add custom modifiers except the defaults found in AS3dMod library
  • optimize (math ops, caching, modifier chain calls etc..) [DONE partially]
  • port the modifiers that use Perlin Noise (using instead the simpler and faster Simplex Noise routine for JavaScript, noisejs , or simplex-noise.js) [DONE partially]
  • keep up with JavaScript 3D Engines updates (will try)

How to debug

  1. If the problem is in one 3D engine, while the other engines work correctly for this example/modifier, then the problem is probably with that engine's proxy classes (plugins/3DENGINENAME/3DENGINENAME.js)
  2. If the specific example/modifier does not work in any 3D engine, but other modifiers/examples do work, then the problem is probably with that modifier's code (modifiers/MODIFIERNAME.js)
  3. If no example works for any engine, then the problem is probably in the core classes, or some class throws a js error which stops the whole execution

Changelog

  • 0.6.0 3d engine plugins have been removed from the final build to make packaged code lighter, include the appropriate 3D plugin manualy in your application after the main mod3 script (see examples), modifiers are independent of the underlying modifiable mesh (it is a parameter), and this enables them to be shared (if the exact same modifier is needed) across multiple different modifierStacks for different underlying meshes, support for OSG.js, further refactoring and optimisations, some method changes
  • 0.5.0 parallel processing through workers is dropped, add support for OSG.js (in progress), update support for Three.js r78, some refactoring and optimisations
  • 0.4 support parallel modifiers with web workers transparently, code refactor, optimizations, examples updates
  • 0.3.5 DisplaceMap modifier added, edits / optimizations
  • 0.3.4 update classy.js, code refactor / optimizations, Perlin modifier added
  • 0.3.2-0.3.3 update buildtools, api-reference, classy.js, Three.js revision (r66)
  • 0.3.1 update buildtools, api-reference, use classy.js for OOP
  • 0.3 code refactoring, extension framework, various optimizations, tidy up repo, new build scripts, project stopped
  • added support for CubicVR.js 3D Engine, minor optimizations for all engines
  • added support for Three.js revision (r58)
  • added support for Three.js revision (r53)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].