Categories: C# (sharp)Grafica

Una Libreria OpenGL per il Linguaggio C#

Le librerie grafiche OpenGL sono molto conosciute dai programmatori perché semplici da utilizzare e soprattutto consentono di creare applicazioni tridimensionali multi-piattaforma al contrario delle librerie DirectX di Microsoft di qualche anno fa. Dall’uscita della piattaforma .NET la programmazione con le librerie DirectX poteva avvenire non solo con il linguaggio C/C++, ma anche con Visual Basic, C# ed altri. Anche in questo caso gli applicativi grafici sono multi-piattaforma basati su .NET. Ora con il linguaggio C# è possibile programmare anche le OpenGL grazie alla libreria SharpGL for C#.
SharpGL for C# è un progetto per utilizzare le librerie OpenGL con questo linguaggio di programmazione molto apprezzato. Sono state create anche delle estensioni per il Visual Studio, in modo da poter creare facilmente dei progetti Windows Form o WPF. Con questa libreria, che potete scaricare a questo indirizzo ( dopo registrazione credo ), avete anche degli esempi molto semplici per capire il suo funzionamento di base.
SharpGL for C# è una collezione di librerie di classi che permette di utilizzare le OpenGL, ecco i principali oggetti:

  • SharpGL è l’oggetto principale che esporta tutte le funzionalità della libreria
  • SharpGL.SceneGraph consente di gestire gli oggetti e le scene con materiali, textures, luci, shaders ed altro
  • SharpGL.WinForms contiene i controlli delle Windows Forms
  • SharpGL.WPF contiene i controlli per la libreria WPF ( Windows Presentation Foundation )
  • SharpGL.Serialization contenente le classi per la serializzazione, quindi caricare e salvare, di file creati ad esempio con 3D Studio Max

L’uso di SharpGL for C# può avvenire attraverso l’uso delle classiche funzioni di OpenGL oppure attraverso l’oggetto SceneGraph. Adattare il codice esistente è infatti un’operazione semplice da fare, mettiamo di avere questo codice:

//  Set the line width and point size.
glLineWidth(3.0f);
glPointSize(2.0f);

questo deve essere scritto come:

//  Get a reference to the OpenGL object.
OpenGL gl = openGLCtrl1.OpenGL;

//  Set the line width and point size.
gl.LineWidth(3.0f);
gl.PointSize(2.0f);

infatti ogni funzione di OpenGL che inizia per “gl” 0 “glu” ha una funzione membro nell’oggetto SharpGL.OpenGL senza “gl” o “glu”.
Ho dato solo alcune informazioni preliminari su questo progetto, ottimo per coloro i quali non conoscono il C/C++, perché lo trovo molto semplice da utilizzare. Provate per esempio a creare dei progetti con il Visual Studio e portare i semplici esempi, che abbiamo affrontato su questo blog qualche tempo fa, alla piattaforma.

Share
Giampaolo Rossi

Sviluppatore di software gestionale da oltre 28 anni.

Published by
Giampaolo Rossi
Tags: OpenGL

Recent Posts

Un Abbonamento per Tutti i Software

Sono arrivato alla convinzione che un abbonamento per tutti i miei software gestionali sia il…

1 anno ago

Software di Magazzino Gratuito

MerciGest è un software per la gestione del magazzino completamente gratuito. Continua a leggere→

1 anno ago

Mettere il PC in Lock Screen

In ufficio può capitare di doversi allontanare dal proprio posto di lavoro, ecco che allora…

3 anni ago

Fare il reset togliendo la corrente

In questo articolo vedremo quando è più o meno utile togliere la corrente ad un…

3 anni ago

Prossimi Aggiornamenti Software

Dopo la pausa invernale dovuta al lavoro che devo fare per sostentarmi, eccomi di nuovo…

3 anni ago

Come Eliminare i Files in Windows

Vediamo come eliminare i files direttamente da Windows senza utilizzare il cestino. Continua a leggere→

4 anni ago