GFX 1.0.6
See the version list below for details.
dotnet add package GFX --version 1.0.6
NuGet\Install-Package GFX -Version 1.0.6
<PackageReference Include="GFX" Version="1.0.6" />
<PackageVersion Include="GFX" Version="1.0.6" />
<PackageReference Include="GFX" />
paket add GFX --version 1.0.6
#r "nuget: GFX, 1.0.6"
#addin nuget:?package=GFX&version=1.0.6
#tool nuget:?package=GFX&version=1.0.6
GFX Game Engine
Welcome to the GFX Game Engine – an open-source framework designed to make game development simple, powerful, and accessible.
If you have any questions about GFX, join our community on Discord.
Overview
The GFX Game Engine is a lightweight framework for creating 2D and 3D games in C# with .NET 8. It includes modules for rendering, graphics, animation, and audio.
Why Choose GFX?
- Effortless creation of 2D and 3D scenes
- Custom behavior system for defining game logic
- Powerful physics simulation using BulletSharp (a Bullet3 wrapper)
- Support for multiple 3D model formats via Assimp integration
- Rendering powered by OpenGL through OpenTK
- 3D audio support with OpenAL (coming soon)
- Open-source and MIT-licensed for unlimited creative freedom
Core Features
Rendering
GFX utilizes OpenGL 4.5 via OpenTK for high-performance rendering, with full support for custom shaders and materials. Supported 3D file formats include Wavefront (.obj), FBX, Collada, and GLTF. Future roadmap: support for Vulkan and DirectX 12.
- Multiple Lights in 2D & 3D Scenes – Support for multiple light sources in both 2D and 3D environments, with realistic lighting behavior (not just blending).
- Experimental PBR Rendering – Initial integration of Physically Based Rendering (PBR) for primitives.
- Specular Glossiness Shader Optimizations – Performance and visual improvements for specular lighting.
- Frustum Culling for Lights – Efficiently cull light sources outside of the view frustum for better performance.
- Instanced Rendering (2D & 3D) – Enhanced rendering performance for multiple identical objects.
- Support for SSBOs & ArrayBuffers – New support for Shader Storage Buffer Objects (SSBOs) and ArrayBuffers in the rendering pipeline.
Physics
Physics in GFX are powered by BulletSharp, a .NET wrapper for the robust Bullet Physics library. Features include:
- PhysicHandler3D and PhysicHandler2D for seamless simulations.
- New Rigidbodies and Triggers for advanced 3D physics.
- 2D Physics Integration – Fully integrated 2D physics system.
Audio
- 3D Sound via OpenAL – Spatial audio support for more immersive soundscapes. (OpenAL must be installed or the DLL manually included.)
Lighting Management
- Light Manager – New system for managing lights in both 2D and 3D scenes.
- Clustered Frustum Culling (2D & 3D) – Optimized light culling system to improve rendering performance.
Getting Started
Installation Guide for GFX (.NET 8)
- Install the GFX NuGet Package
dotnet add package GFX
Example
Check out the example project included in the GFX repository or linked on the GFX website. It shows a working setup with libbulletc and GFX already configured.
Contribute to GFX
GFX Game Engine thrives on community contributions! Whether it’s reporting bugs, submitting feature requests, or contributing code, your input is always welcome. Check out our contribution guidelines to get involved.
License
The GFX Game Engine is released under the MIT License, ensuring complete freedom for commercial and personal projects. See the LICENSE folder for full terms.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- FreeTypeSharp (>= 3.0.0)
- Gfx.BulletSharp (>= 1.0.1)
- NAudio (>= 2.2.1)
- Newtonsoft.Json (>= 13.0.3)
- OpenTK (>= 4.9.4)
- StbImageSharp (>= 2.30.15)
- StirlingLabs.assimp.native.win-x64 (>= 5.2.5.4)
- StirlingLabs.Assimp.Net (>= 23.4.1)
- System.Drawing.Common (>= 9.0.4)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.