What is this project ?


This projects aim is to regroup all resources in public domain and organize them in a proper framework.
While the current code is in java and builds for a jvm, its goal is also to get free from this licensed environment by providing its own compiler or vm. This goal isn't impossible, there are many developers and scientists who are altruists (or have been deceived by licenses).
In fact we can find a bit of everything in different languages, the work is to regroup, unify and fill the remaining gaps.

Can I use it in my project ? Yes !
Everything here is in Public Domain, clone, copy, modify, do anything you want, you don't even have to send back any modify you make, or cite us or whatever. Still it would be fair that you don't cut out the original author tags and send us back bugfixes or improvements if you do any.

Native libraries

The project will support multiple systems without any side libraries. But in some cases it is necessary to access hardware capabilities like printers, graphic cards or other devices. Those dependencies are keep to a minimum with :
JVM : Jogamp, Usb4Java
Android : Jogamp

What can it do, today ?

Mature


Tested and Documented, ready for everyday use.

In progress


Uncomplete code and apis, but working.

Draft


A few classes, constants, begining of implementations, not usable yet.

JVM to Unlicense-lib API mapping table

  • API
    • Character Encoding (Char,Chars,CharIterator,CharEncoding) (in progress)
    • Collection (Collection,Sequence,Set,Stack,Dictionary,Iterator) (in progress)
    • Event (Event,EventSource,EventListener) (mature)
    • Predicate (mature)
    • Logging (in progress)
    • Task (in progress)
    • Temporal (draft)
    • Unit (draft)
    • Language ISO-639 (draft)
    • Translation (in progress)
    • Tree/Node (Node,NodeType) (in progress)
    • Graph (Graph,Vertex,Edge) (in progress)
    • Parameter (in progress)
    • System
      • Module manager (in progress)
      • Tree registry (in progress)
      • Socket (in progress)
    • Device
      • USB (in progress)
  • Science
    • Mathematic
      • Vector-Tuple (in progress)
      • Matrix (in progress)
      • Quaternion (in progress)
      • Linear algebra : LU, QR, Cholesky, Eigen value, Singular value
      • Interval (mature)
      • Complex number (mature)
      • Large integer (in progress)
      • Transform
        • DCT/IDCT - Discrete Cosinus Transform
        • MDCT/IMDCT - Modified Discrete Cosinus Transform (draft)
        • DFT/IDFT - Discrete Fourrier Transform
        • FFT/IFFT - Fast Fourrier Transform
        • ZigZag
        • Quantification
    • Image
      • Image (and iterator, meta model, N dimensions) (in progress)
      • ImageIO (reader, writer, parameters) (in progress)
      • Colorspace, Color model, Sample model (in progress)
      • Operators
        • Convolution (Sobel, Prewitt, LaPlace, Mdif, Smooth, Blur, Emboss, Gaussian) (in progress)
        • Detection (Canny, MarchinSquares, Symmetry) (in progress)
        • Noise (Gaussian, Uniform, Simplex) (in progress)
        • Morphologic (Erode, Dilate, Open, Close) (in progress)
        • Geometric (Vertical/Horizontal flip, Rotate 90/180/270, Rescale, Transform) (in progress)
        • Haralick (in progress)
        • Threshold (in progress)
        • Watershed by grayscale levels (in progress)
        • Chamfer distance map (in progress)
        • SeamCarving (in progress)
    • Media
      • MediaStore (stream meta, reader, format)(draft)
      • Audio (in progress)
      • Video (draft)
      • subtitle (draft)
    • Geometry
      • 2D (Point,Line,Circle,Ellipse,Polyline,Polygone,Path, ...) (in progress)
      • 3D (Sphere,Ellipsoid,Capsule,Ray,Plan,Cone,Cylinder ...) (in progress)
      • ND (BoundingBox) (in progress)
      • Analyze(distance,intersection,collision,contains,...)(in progress)
      • Delaunay-Voronoi triangulation (in progress)
      • Ear-Clipping triangulation (in progress)
    • Layouts
      • Absolute layout (in progress)
      • Grid layout (in progress)
      • Border layout (in progress)
      • Form layout (in progress)
      • Circular layout (in progress)
    • Physic
      • Collision world (in progress)
      • Particle, RigidBody (in progress)
      • Force,Singularity,Constraint (in progress)
      • Torque (draft)
      • Skeleton (in progress)
      • Inverse Kinematic : CCD (in progress)
      • Inverse Kinematic : Jacobian (todo)
      • Ohm-Law (in progress)
  • Encoding
    • BigEndian/LittleEndian (in progress)
    • In/Out Byte Stream (in progress)
    • In/Out Data Stream (bits,byte,short,ushort,int,uint,vint,long,float,double) (in progress)
    • In/Out Char Stream (in progress)
    • Checksum/HashFunction/Crypto
      • AES 128,192,256 (mature)
      • CRC16 (in progress)
      • CRC32 (in progress)
      • CRC64 (in progress)
      • Adler32 (in progress)
      • SHA-1 (mature)
      • MD5 (mature)
      • PBKDF2 (in progress)
      • PKCS5 (mature)
      • CBC (mature)
      • CTR (mature)
      • RSA (in progress)
      • Salsa20 (draft)
      • In/Out hashfunction byte stream (in progress)
    • Color (RGBA, YUV, YCbCr, HSV, HSL, CIE, Grayscale, Hexa,...) (in progress)
    • Base64 (read,write) (in progress)
    • ECMA-48 (X3.64 - ISO/IEC 6429 : console/terminal sequences) (in progress)
    • URLEncoder (in progress)
    • Compression
      • LZMA (read,write) (in progress)
      • Deflate (read,write) (in progress)
      • Zlib (read,write) (in progress)
      • GZip (read,write) (in progress)
      • RLE (read) (in progress)
  • Protocol
    • Echo (mature)
    • HTTP (in progress)
    • IRC (draft)
    • POP (draft)
    • IMAP (draft)
    • SMTP (draft)
  • Storage
    • Binding
      • In/Out XML Stream (in progress)
      • DOM API (in progress)
      • DOM Reader/Writer (in progress)
      • JSON Reader/Writer (in progress)
      • XSD Reader (in progress)
      • RIFF Reader (in progress)
      • OLE Reader (draft)
      • EBML (in progress)
      • Automatic class generation from XSD (draft)
    • Archive
      • RAR (draft)
      • TAR (draft)
      • XZ (read,write) (in progress)
      • ZIP (read) (in progress)
    • Image
      • BMP (read,write) (in progress)
      • CUR (read) (draft)
      • DXT 1/2/3/4/5 (read) (in progress)
      • GIF (read) (in progress)
      • GRIB 1/2 (draft)
      • ICO (read) (draft)
      • JPEG (read) (in progress)
      • JPEG-2000 (draft)
      • NetCDF (read) (in progress)
      • PBM/PGM/PPM ASCII/Binary (read,write) (in progress)
      • PCX (read) (in progress)
      • PNG (read,write) (in progress)
      • RAW (read) (in progress)
      • SGI (read) (in progress)
      • TGA (read) (in progress)
      • TIFF (read) (in progress)
      • WBMP (read) (in progress)
      • XBM (read,write) (in progress)
      • XPM (read) (in progress)
    • Font
      • OpenTypeFont (draft)
      • TrueTypeFont (read) (in progress)
    • Media
      • AAC (read) (in progress)
      • APNG (read) (in progress)
      • AVI (draft)
      • Flac (read) (in progress)
      • FLV (read) (draft)
      • F4V (read) (draft)
      • GIF-Animated (read) (in progress)
      • IVF (read) (in progress)
      • MKV (read) (in progress)
      • Mpeg-1 (read) (draft)
      • Mpeg-2 (read) (draft)
      • Mpeg-4 (read) (in progress)
      • MP3 (read) (draft)
      • OGG Stream(draft)
      • OGG Vorbis(draft)
      • SWF (read,write) (in progress)
      • VP8 (read) (draft)
      • VP8-L (read) (draft)
      • WAV (read,write) (in progress)
    • Model 2d
      • SVG (read) (in progress)
      • WKB (read,write) (in progress)
      • WKT (read) (in progress)
    • Model 3d
      • 3DS (read) (in progress)
      • Blender (read) (in progress)
      • BVH motion (read) (in progress)
      • Collada (read) (draft)
      • LWO (read) (in progress)
      • MQO (read) (in progress)
      • MDL (read) (in progress)
      • MD2 (read) (in progress)
      • MD3 (read) (in progress)
      • MD5 (read) (in progress)
      • MTL (read) (in progress)
      • MS3D (read) (in progress)
      • OBJ (read) (in progress)
      • OFF (read) (in progress)
      • PLY (read) (in progress)
      • STL ASCII/Binary (read) (in progress)
      • MMD (MikuMikuDance)
        • PMD (read,write) (in progress)
        • PMX (read,write) (in progress)
        • VMD (read,write) (in progress)
        • VPD (read,write) (in progress)
      • XNA (XnaLara)
        • POSE (read,write) (in progress)
        • MESH.ASCII (read) (in progress)
        • XPS/MESH (read) (in progress)
    • Other
      • CSS (read) (in progress)
  • Engine
    • On CPU :
      • Rasterizer2D (ImagePainter2D) (in progress)
    • Opengl : a 3D scenograph
      • Rasterizer2D (ImagePainter2D) (in progress)
      • Left or Right Handed coordinate system (in progress)
      • Node (in progress)
      • Mesh (in progress)
      • Camera (in progress)
      • Light (in progress)
      • Tesselation (in progress)
      • Shaders : Program,Template,Uniform (in progress)
      • Resource : Texture, FBO, VBO, VAO, IBO, PBO, RBO, UBO, TBO (in progress)
      • Mapping : UV,Cube,Spherical,DualParaboloid,Cylinder (in progress)
      • Offscreen and Transparent frames (in progress)
      • Deferred Shading (in progress)
      • Procedural terrain (in progress)
      • Particle system (in progress)
      • Animation
        • Skinning : by weight (in progress)
        • Skinning : spherical (todo)
        • Skinning : dual quaternion (todo)
        • Morph target (in progress)
      • Effects
        • Bloom/Glow (in progress)
        • Convolution (in progress)
        • Fast gaussian blur (in progress)
        • Depth of field (in progress)
        • Silhouette (in progress)
        • Cell/Toon shading (in progress)
        • FXAA (in progress)
        • SSAO (in progress)
        • Blend (draft)
        • Projected Shadow (in progress)
        • Reflection textures (in progress)
      • Debug tools
        • WireFrame view (in progress)
        • Skeleton view (in progress)
        • Normals view (in progress)
        • Face normals view (in progress)
        • Triangle adjency view (in progress)
        • Camera frustrum view (in progress)
        • BBox view (in progress)
      • Controller
        • Orbit (in progress)
        • FPS (in progress)
        • Plane (in progress)
      • Speaker (draft)
  • User Interface
    • Scene API (in progress)
    • RuleStyleSheet (in progress)
    • Property binding (in progress)
    • Widgets
      • Menu
        • WButtonBar (in progress)
        • WMenuButton (in progress)
        • WMenuDropDown (in progress)
      • WLabel (in progress)
      • WButton (in progress)
      • WSwitch (in progress)
      • WSelect (in progress)
      • WCheck (in progress)
      • WTextField (in progress)
      • WProgressBar (in progress)
      • WSlider (in progress)
      • WRangeSlider (in progress)
      • WSpinner (in progress)
      • WList (in progress)
      • WTree (in progress)
      • WTreeTable (in progress)
      • WTabContainer (in progress)
      • WPopup (in progress)
      • WTable (in progress)
      • WRibbon (in progress)
    • Components
      • WFileChooser (in progress)
      • WColorChooser (in progress)
  • Compiler and Language
    • Grammar API (draft)
    • Regex (in progress)
    • Lexer (in progress)
    • Parser (draft)
    • BNF (read) (in progress)
    • Language API (todo)
    • BootBasicParser (in progress)
    • BootBasicVM (draft)
    • Portable Executable (read) (in progress)
    • Java (write) (draft)