Grille.Graphics.Isometric.WinForms 0.2.1

There is a newer version of this package available.
See the version list below for details.
dotnet add package Grille.Graphics.Isometric.WinForms --version 0.2.1                
NuGet\Install-Package Grille.Graphics.Isometric.WinForms -Version 0.2.1                
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="Grille.Graphics.Isometric.WinForms" Version="0.2.1" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Grille.Graphics.Isometric.WinForms --version 0.2.1                
#r "nuget: Grille.Graphics.Isometric.WinForms, 0.2.1"                
#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.
// Install Grille.Graphics.Isometric.WinForms as a Cake Addin
#addin nuget:?package=Grille.Graphics.Isometric.WinForms&version=0.2.1

// Install Grille.Graphics.Isometric.WinForms as a Cake Tool
#tool nuget:?package=Grille.Graphics.Isometric.WinForms&version=0.2.1                

2D-isoedit

A program to generate isometric graphics from elevation data.

Features

  • Isometric graphics from elevation data.
  • Freely rotatable on Z axis
  • Generate normal-map form height-map
  • Shading based on normals
  • Realtime Rendering

How it works

The renderer is completely CPU based but makes heavy use of Taks's.

It takes an input buffer that contain height, color and normals, normals can be generated from height if needed.

The render also needs an instance of the Swapchain class, its job is to provide the IsometricRenderer with a ARGBColor pointer to the data of the next image, and the finished result to the outside, while making sure that both never conflict with each other.

The renderer goes through each pixel in the area that contains the baseplate. That loop goes front to back then left to right.

A sample method is used to get the input at the location after applying the rotation.

Based on the height, a line is drawn top to bottom. For each drawn pixel in that line, an “shader” method is invoked where custom logic can be inserted.
If the line reaches an already drawn pixel the loop is exits.

Since the image is rendered front to back, this is a relatively effective optimization that ensures that no pixel is drawn twice.

Example

<img src="https://imgur.com/W7dnPGW.gif"/>

HowTo Use Demo

Download the latest demo https://github.com/Grille/2D-isometricRenderer/releases and run it.
It should be fairly self-explanatory

The program has problems with non-square images, if you try to load these the program will likely crash.

Use Packages

If you like to use the renderer in, you own projects you can use the Windows package. It contains a Grille.Graphics.Isometric.WinForms.RenderSurface WinForms Control and the BitmapInputData static class for easy use.

It is also possible to use the Base Package which is platform independent.
But it has no way of rendering or loading data setup, and with the lack of documentation it is probably rather difficult to use.

Product Compatible and additional computed target framework versions.
.NET net6.0-windows7.0 is compatible.  net7.0-windows was computed.  net8.0-windows was computed.  net8.0-windows7.0 is compatible. 
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.2.3 105 5/27/2024
0.2.2 96 5/26/2024
0.2.1 97 5/25/2024
0.2.0 105 5/22/2024
0.1.0 113 5/17/2024