RaylibMaterial 0.1.0

dotnet add package RaylibMaterial --version 0.1.0
                    
NuGet\Install-Package RaylibMaterial -Version 0.1.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="RaylibMaterial" Version="0.1.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="RaylibMaterial" Version="0.1.0" />
                    
Directory.Packages.props
<PackageReference Include="RaylibMaterial" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add RaylibMaterial --version 0.1.0
                    
#r "nuget: RaylibMaterial, 0.1.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package RaylibMaterial@0.1.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=RaylibMaterial&version=0.1.0
                    
Install as a Cake Addin
#tool nuget:?package=RaylibMaterial&version=0.1.0
                    
Install as a Cake Tool

RaylibMaterial

In Raylib, applying materials to models require numerous actions: load shaders, load images, set shader uniform values, apply shader to model...

The goal of this project is to simplify the applying materials to our models. For that purpose, I propose to generate "material packages" using an easy to use editor. And then to apply such created packages to any of your models.

Such editor looks like: image info

The produced packages are simple zip files that contain whatever is needed for Raylib to work: image info

It is based on RayLib-cs project.

Status of the project

0.1 is still under developer. You can play with it and give feedbacks but the library and editor are not fully operational.

The remaining tasks for this first release are:

  • make easy to edit and compile shaders
  • support of models with multiple materials
  • handle all kinds of uniform types (vec2, vec3...)
  • preview material using a 3D model stored on disk (today only primitives are properly supported)
  • use a sky box instead of a plane for background
  • handle versioning of packages
  • produce nuget package for library
  • Cover 100% of code of the library with tests
  • Add documentation of the editor and the library
  • Improve existing sample and how to apply produced packages to your projects

How to build and use

  • Open and build RaylibMaterial.sln
  • Tested with VS2022 (17.14.14)

Structure of VS solution

  • Library is the main project handling material
  • Library.Tests is the associated test project
  • Editor can be used to create or modify custom material packages
  • ConsumerSampleApp shows how to integrate the library into your projects

Main dependencies

  • .NET 8: cross-platform framework for building modern apps and powerful cloud services.
  • Newtonsoft.Json: for manipulation of json.
  • ImGui.NET: .NET wrapper for ImGui
  • Raylib-cs: C# bindings for raylib
  • rlImgui-cs: Glue to render ImGui using Raylib
  • NLog: NLog is a free logging platform for .NET
  • ImGui.NET.ToolBox: ImGui.NET.ToolBox a set of controls and helpers for ImGui.NET.

Other ones:

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.0 249 10/2/2025

first version