Giter VIP home page Giter VIP logo

fluint's Introduction

Fluint CodeFactor

ForTheBadge built-with-love

Build Status

Platform Status
Ubuntu Desktop .NET Core Ubuntu Desktop
Windows Desktop .NET Core Windows Desktop
MacOS Desktop .NET Core MacOS Desktop

What is Fluint

This project was born out of the frustrations of the cumbersome, non-intuitive, level design process that modern 3D tools provide. our mission with this project is to build a utility that's aimed at making the level design process as efficient and mindless as possible, we want to provide powerful yet fluent tools for the designer.

The Fluint paradigm

Fluint is created around the philosophy of superflexiblity. at it's core Fluint.Layer has an interface specification that specifies all the functionality of fluint, in it is also built a math library, some useful helper functions and a dynamic dependency injection container which loads all the classes, and modules at runtime, allowing for the superflexible nature of fluint. in fluint if you can see it, you can mod it.

Project Status

work on this project is very slow since am doing other stuff. and it's honestly not a top priority. coding on this is generally for fun. feel free to contirbute.

Building

Fluint has scripts to automatically build and setup the file structure, mainly fluint has two important build configurations Release With Modules Setup and Debug With Modules Setup these two build configuration will automatically copy the modules into the defualt (SlnDir)/output/base/ directory.

included is also a shell script for building and running fluint in the output directory.

Running

Starting fluint for the first time will probably popup an issue about missing runtimes, these could be located in the /base/runtimes directory, you will need to copy the files contained depending on your system into the output and base folder.

Modules

you can access the Fluint.Layer documentation by clicking here.

Currently these modules include :

  • Fluint.Configuration.Base is a module that implements tools for storing, reading, and writing configurations, and themes in real-time.
  • Fluint.Diagnostics.Base is a module that implements tools for logging, and debugging.
  • Fluint.Input.Base is a module that implements mouse, and keyboard input into Fluint.
  • Fluint.IO.Base is a module that implements file IO tools into Fluint, such as model importers, and exporters.
  • Fluint.Localization.Base is a module that implements a localization/globalization system into fluint, with expandability in mind.
  • Fluint.Networking.Base is a module that implements a server, and client networking features for cooperative work.
  • Fluint.SDK.Base is a module that provides a toolset to make the debugging and module creation process for developers and third-parties easier.
  • Fluint.Tasks.Base is a module for creating scheduled tasks that run at Fluint's runtime.
  • Fluint.Graphics.Base is a module responsible for rendering in Fluint which is abstracted over the individual graphics APIs.
  • Fluint.UI.Base contains an ImGui implementation of the UI library provided by Fluint.
  • Fluint.UI.Layout.Base is the module which contains the base layout of the application.
  • Fluint.Logic.Base is a module which contains separate pieces of logic which are reusable across the entirety of the project.
  • Fluint.StateManagement.Base is a module which contains separate pieces of logic which are reusable across the entirety of the project.

There are also engine modules, which house components for rendering in different APIs, and these include :

  • Fluint.Engine.GL46 is a module that implements the OpenGL 4.6 graphics API into fluint.
  • Fluint.Engine.GL33 [INCOMPLETE] is a module that implements the OpenGL 3.3 graphics API into fluint.
  • Fluint.Engine.D3D11 [INCOMPLETE] is a module that implements the DirectX 11 graphics API into fluint.
  • Fluint.Engine.D3D12 [INCOMPLETE] is a module that implements the DirectX 12 graphics API into fluint.
  • Fluint.Engine.VK [INCOMPLETE] is a module that implements the Vulkan graphics API into fluint.

Copyright (C) Yaman Alhalabi 2022

fluint's People

Contributors

code-factor avatar khrio avatar rainboi64 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

fluint's Issues

Make use of Framebuffers instead of Windows pseudo-magic

Currently rendering is handled by running the renderer as a separate entity in a native host, I hope to be able to provide simple framebuffers to simplify stuff going forward, and become more platform independent.
This requires a few stuff though :

  • A Complete texture class.
  • Figuring out a way to not copy data from the CPU to the GPU and back.
  • Redesigning the rendering pipeline, and the creation process of renderers.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.