All Projects → tlgkccampbell → Ultraviolet

tlgkccampbell / Ultraviolet

Licence: other
The Ultraviolet Framework is a .NET game development framework written in C#.

Projects that are alternatives of or similar to Ultraviolet

Pixieditor
PixiEditor is a lightweight pixel art editor made with .NET 5
Stars: ✭ 210 (-54.94%)
Mutual labels:  game-development, graphics
Dwarfcorp
An open-source 3D colony management game for PC, Mac and Linux
Stars: ✭ 460 (-1.29%)
Mutual labels:  xna, graphics
Inline Engine
Game engine written in C++ with ease of use and next-gen parallel computing in focus.
Stars: ✭ 237 (-49.14%)
Mutual labels:  game-development, graphics
Opentk
The Open Toolkit library is a fast, low-level C# wrapper for OpenGL, OpenAL & OpenCL. It also includes windowing, mouse, keyboard and joystick input and a robust and fast math library, giving you everything you need to write your own renderer or game engine. OpenTK can be used standalone or inside a GUI on Windows, Linux, Mac.
Stars: ✭ 2,284 (+390.13%)
Mutual labels:  game-development, graphics
Xnagamestudio
The Education library from the Xbox Live Indie games repository, valuable for MonoGame Developers for advanced samples
Stars: ✭ 332 (-28.76%)
Mutual labels:  game-development, xna
Debroglie
DeBroglie is a C# library implementing the Wave Function Collapse algorithm with support for additional non-local constraints, and other useful features.
Stars: ✭ 190 (-59.23%)
Mutual labels:  game-development, graphics
Gamedevelopmentlinks
This is a collection of useful game-development links including, but not restricted to, development with MonoGame.
Stars: ✭ 257 (-44.85%)
Mutual labels:  game-development, xna
Rust Game Development Frameworks
List of curated frameworks by the **Game Development in Rust** community.
Stars: ✭ 81 (-82.62%)
Mutual labels:  game-development, graphics
Spheredissolve
Customizable procedural spherical dissolve shader for Unity3D, for all your customizable procedural spherical dissolve needs!
Stars: ✭ 311 (-33.26%)
Mutual labels:  game-development, graphics
Game Programmer Study Notes
⚓ 我的游戏程序员生涯的读书笔记合辑。你可以把它看作一个加强版的Blog。涉及图形学、实时渲染、编程实践、GPU编程、设计模式、软件工程等内容。Keep Reading , Keep Writing , Keep Coding.
Stars: ✭ 6,050 (+1198.28%)
Mutual labels:  game-development, graphics
Alimer
Cross-platform game engine.
Stars: ✭ 172 (-63.09%)
Mutual labels:  game-development, graphics
Vortice.windows
.NET standard bindings for DirectX, WIC, Direct2D1, XInput, XAudio and X3DAudio
Stars: ✭ 427 (-8.37%)
Mutual labels:  game-development, graphics
Rimlight
Customizable rimlight shader for Unity that includes pulsation and noise scrolling. Give your scenes that extra oomph!
Stars: ✭ 170 (-63.52%)
Mutual labels:  game-development, graphics
Methanekit
🎲 Modern 3D graphics made simple with cross-platform C++17 meta-API on top of DirectX 12 & Metal (Vulkan is coming)
Stars: ✭ 197 (-57.73%)
Mutual labels:  game-development, graphics
Veldrid
A low-level, portable graphics library for .NET.
Stars: ✭ 1,784 (+282.83%)
Mutual labels:  game-development, graphics
Sucle
Common Lisp Voxel Game Engine
Stars: ✭ 239 (-48.71%)
Mutual labels:  game-development, graphics
Rengfx
lightweight, expressive, extensible 2D/3D game engine
Stars: ✭ 41 (-91.2%)
Mutual labels:  game-development, graphics
3d Game Shaders For Beginners
🎮 A step-by-step guide to implementing SSAO, depth of field, lighting, normal mapping, and more for your 3D game.
Stars: ✭ 11,698 (+2410.3%)
Mutual labels:  game-development, graphics
Rust Psp
Rust on PSP. Panic and allocation support. Access PSP system libraries.
Stars: ✭ 265 (-43.13%)
Mutual labels:  game-development, graphics
Cpp 3d Game Tutorial Series
C++ 3D Game Tutorial Series is a YouTube tutorial series, whose purpose is to help all those who want to take their first steps in the game development from scratch.
Stars: ✭ 400 (-14.16%)
Mutual labels:  game-development, graphics

For questions and discussion, check out our Gitter.

Builds

Branch Integration Release
master Build Status Build Status
develop Build Status Build Status

What is Ultraviolet?

Join the chat at https://gitter.im/ultraviolet-framework/Lobby

Ultraviolet is a cross-platform, .NET game development framework written in C# and released under the MIT License. It is heavily inspired by Microsoft's XNA Framework, and is intended to be easy for XNA developers to quickly pick up and start using. However, unlike MonoGame and similar projects, Ultraviolet is not intended to be a drop-in replacement for XNA. Its current implementation is written on top of SDL2 and OpenGL, but its modular design makes it (relatively) easy to re-implement using other technologies if it becomes necessary to do so in the future.

At present, Ultraviolet officially supports Windows, Linux, and macOS using .NET Core 3.1, as well as Android through Xamarin. Support for iOS is no longer provided due to a lack of the requisite development hardware. If anyone wants to take responsibility for providing this support, please contact me at [email protected].

Some core features of the Ultraviolet Framework:

  • A runtime content pipeline

    Easily load game assets using Ultraviolet's content pipeline. Unlike XNA, Ultraviolet's content pipeline operates at runtime, meaning no special Visual Studio projects are required to make it work. Content preprocessing is supported in order to increase efficiency and decrease load times.

  • High-level 2D rendering abstractions

    Familiar classes like SpriteBatch allow you to efficiently render large numbers of 2D sprites. Ultraviolet includes built-in support for texture atlases and XML-driven sprite sheets.

  • High-level 3D rendering abstractions

    Built-in support for glTF 2.0 models and skinned animation makes it easy to get started with 3D rendering. Alternatively, you can write your own GLSL shader programs to take full control of the rendering process, and support for additional model types can be provided by extending the runtime content pipeline.

  • Low-level rendering functionality

    In addition to the abstractions described above, Ultraviolet's graphics subsystem allows you to push polygons directly to the graphics device, giving you complete control.

  • A powerful text formatting and layout engine

    Do more than draw plain strings of text. Ultraviolet's text formatting engine allows you to change your text's font, style, and color on the fly. The layout engine allows you to easily position and align text wherever you need it.

  • XML-driven object loader for easy content creation

    Ultraviolet's object loader allows you to easily create complicated hierarchies of objects from simple XML files. This is more than just an XML serializer—because it is integrated with Ultraviolet, it has direct knowledge of your game's content assets and object lists, making it possible to reference them in a simple, flexible, and readable way.

The Ultraviolet Framework's source code is available on GitHub.

Getting Started

If you don't want to build Ultraviolet yourself, official packages are available through NuGet.

The wiki contains a quick start guide for development using .NET Core 3.1.

A dedicated repository contains a number of sample projects which demonstrate various features of the Framework.

Requirements

Ultraviolet can be used with any version of .NET which supports .NET Standard 2.0 or .NET Standard 2.1.

Building Ultraviolet requires .NET Core SDK 3.1.

Building the mobile projects requires the appropriate Xamarin tools to be installed.

The following platforms are supported for building the Framework:

  • Windows
  • Linux (Ubuntu)
  • Android
  • macOS

Please file an issue if you encounter any difficulty building on any of these platforms. Linux distributions other than Ubuntu should work, assuming that they can run .NET Core 3.1 and you can provide appropriate versions of the native dependencies, but only Ubuntu has been thoroughly tested.

Building

Desktop Platforms

The Sources folder contains several solution files for the various platforms which Ultraviolet supports. Alternatively, you can run msbuild Ultraviolet.proj from the command line in the repository's root directory; this will automatically select and build the correct solution for your current platform, and additionally will copy the build results into a single Binaries folder.

Mobile Platforms

Building Ultraviolet for Android requires that Xamarin be installed. As with the desktop version of the Framework, you can either build the appropriate solution file or Ultraviolet.proj, but in the latter case you must also explicitly specify that you want to use one of the mobile build targets, i.e.:

msbuild Ultraviolet.proj /t:BuildAndroid
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].