All Projects → BloCamLimb → ModernUI

BloCamLimb / ModernUI

Licence: LGPL-3.0 license
Modern desktop framework from low-level 3D graphics API to high-level view model, for development of 2D/3D rendering software or game engine, with internationalization support and many new technologies.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to ModernUI

Picasso
Picasso is a high quality 2D vector graphic rendering library. It support path , matrix , gradient , pattern , image and truetype font.
Stars: ✭ 205 (+22.02%)
Mutual labels:  font, vector-graphics, rendering-engine, 2d-graphics
Tinyrenderer
A brief computer graphics / rendering course
Stars: ✭ 11,776 (+6909.52%)
Mutual labels:  shaders, rendering-engine, rendering-pipeline
Renderhelp
⚡️ 可编程渲染管线实现,帮助初学者学习渲染
Stars: ✭ 494 (+194.05%)
Mutual labels:  shaders, rendering-engine
Hybridrenderingengine
Clustered Forward/Deferred renderer with Physically Based Shading, Image Based Lighting and a whole lot of OpenGL.
Stars: ✭ 563 (+235.12%)
Mutual labels:  shaders, rendering-engine
Nimble
An OpenGL renderer with a modern and extensible rendering pipeline.
Stars: ✭ 144 (-14.29%)
Mutual labels:  shaders, rendering-engine
Htmlrenderer
C# HTML Layout and HTML Rendering Engine
Stars: ✭ 143 (-14.88%)
Mutual labels:  layout-engine, rendering-engine
Softwarerenderer
Software rendering engine with PBR. Built from scratch on C++.
Stars: ✭ 323 (+92.26%)
Mutual labels:  shaders, rendering-engine
Leaf3d
A lightweight 3D rendering engine based on modern OpenGL
Stars: ✭ 16 (-90.48%)
Mutual labels:  shaders, rendering-engine
vger
2D GPU renderer for dynamic UIs
Stars: ✭ 122 (-27.38%)
Mutual labels:  vector-graphics, 2d-graphics
Simplerenderengine
Small C++14 render engine
Stars: ✭ 253 (+50.6%)
Mutual labels:  shaders, rendering-engine
SdfFontDesigner
Offline font tuning/bitmap generation via shaders
Stars: ✭ 56 (-66.67%)
Mutual labels:  font, shaders
Pixelfarm
From Vectors to (sub) Pixels, C# 2D Rendering Library
Stars: ✭ 120 (-28.57%)
Mutual labels:  vector-graphics, rendering-engine
Fidocadj
FidoCadJ is a free user-friendly vector graphic editor for MacOSX, Linux, Windows and Android
Stars: ✭ 76 (-54.76%)
Mutual labels:  vector-graphics, 2d-graphics
Tinyraytracer
A brief computer graphics / rendering course
Stars: ✭ 3,971 (+2263.69%)
Mutual labels:  shaders, rendering-engine
Luxor.jl
Simple drawings using vector graphics; Cairo "for tourists!"
Stars: ✭ 293 (+74.4%)
Mutual labels:  vector-graphics, 2d-graphics
DrawSpace
Space-game oriented rendering engine
Stars: ✭ 20 (-88.1%)
Mutual labels:  shaders, rendering-engine
Tinykaboom
A brief computer graphics / rendering course
Stars: ✭ 2,077 (+1136.31%)
Mutual labels:  shaders, rendering-engine
Generative-Art
A selection of generative art scripts written in Python
Stars: ✭ 284 (+69.05%)
Mutual labels:  vector-graphics, 2d-graphics
FlexCanvasJS
RIA Web Application Framework for HTML5 Canvas inspired by Adobe Flex / Flash. Style-able, skin-able, customize-able Javascript UI component set, from shapes to color pickers to data grids. Relative and dynamic layouts, automatic redraw regions, composite effects, and much more. Great for everything 2D, complex web forms to games.
Stars: ✭ 18 (-89.29%)
Mutual labels:  rendering-engine, 2d-graphics
MVVM-Design-Pattern-Demo
An Xcode 9 project written in Swift 4 code designed using the MVVM design pattern, truly extolling the virtues of MVVM over MVC.
Stars: ✭ 31 (-81.55%)
Mutual labels:  view

Modern UI

CurseForge CurseForge MavenCore Discord

Description

Modern UI (by Icyllis Milica) is a desktop application framework designed for standalone 2D and 3D rendering software development. It makes use of modern 3D graphical APIs and technologies to provide high real-time rendering performance. For good measure, Modern UI improves and optimizes a set of features used by Android and its own set of internationalization supporting text layout engine meeting Unicode specification.

There is also an official version that extends to Minecraft and Forge, it combines Modern UI with Minecraft and provides a number of additional features and modding APIs.

Main features: signed distance function, image post-processing effect, fast matrix and vector calculation, animation library, asynchronous event loop, text shaping, tessellation shader...

This project is still at a relatively early stage.
Releases for Minecraft Mod are available on CurseForge.
If you have any questions, feel free to join our Discord server.

License

  • Modern UI
    • Copyright (C) 2019-2022 BloCamLimb. All rights reserved.
    • License
    • Copyright (C) 2006 The Android Open Source Project
    • License
  • Modern UI Assets ─ UI layouts, textures, shaders, models, documents and so on
    • Copyright (C) 2019-2022 BloCamLimb et al.
    • License
  • Additional Assets
  • Libraries
    • lwjgl licensed under the BSD-3-Clause
    • caffeine by Ben Manes, licensed under the Apache-2.0
    • flexmark-java by Atlassian Pty Ltd, Vladimir Schneider
    • fastutil by Vigna, licensed under the Apache-2.0
    • RxJava licensed under the Apache-2.0
    • log4j licensed under the Apache-2.0
    • icu4j by Unicode, Inc.

Documentation

Specifications: (WIP)
Minecraft Modding: Getting Started

Environment requirements

  • Windows 8 or above, Linux or macOS
  • JDK 17.0.1 or above
  • OpenGL 4.5 or above (see here for macOS)
  • Vulkan 1.1 or above (WIP)
  • (Optional) Forge 1.18.2-40.0.0

Gradle configuration

repositories {
    maven {
        name 'IzzelAliz Maven'
        url 'https://maven.izzel.io/releases/'
    }
}
dependencies {
    implementation "icyllis.modernui:ModernUI-Core:${modernui_version}"
    // apply appropriate LWJGL platform here
}
ForgeGradle 5 (for Minecraft Modding)
configurations {
    library
    implementation.extendsFrom library
}
minecraft.runs.all {
    lazyToken('minecraft_classpath') {
        configurations.library.copyRecursive().resolve().collect { it.absolutePath }.join(File.pathSeparator)
    }
}
dependencies {
    library "icyllis.modernui:ModernUI-Core:${modernui_version}"
    implementation fg.deobf("icyllis.modernui:ModernUI-Forge:${minecraft_version}-${modernui_version}")
}

Add these if you have not MixinGradle:

minecraft {
    runs {
        client {
            property 'mixin.env.remapRefMap', 'true'
            property 'mixin.env.refMapRemappingFile', "${projectDir}/build/createSrgToMcp/output.srg"
        }
        server {
            property 'mixin.env.remapRefMap', 'true'
            property 'mixin.env.refMapRemappingFile', "${projectDir}/build/createSrgToMcp/output.srg"
        }
        // apply to data if you have datagen
    }
}

You need to regenerate run configurations if you make any changes on this.

Screenshots

Navigation
new5
Texts
new4
Graphics
new3.gif
Audio visualization
new2
Out-of-date widgets
a b

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].