OpenGL szerkesztő plugin készítése Netbeans platformra

OData támogatás
Konzulens:
Somogyi Ferenc Attila
Automatizálási és Alkalmazott Informatikai Tanszék

Manapság integrált fejlesztői környezetek (IDE) nélkül szinte elképzelhetetlen lenne a programozás, hiszen számos hasznos funkciót nyújtanak számunkra. Például kiszínezik a kódot, jelzik a szintaktikai hibákat, vagy egyszerre átneveznek akár több helyen használt változókat – egyszóval hatékonyabbá teszik a kódolást.

Olyan fejlesztői környezet, ami minden létező nyelvet támogatna, nem létezik. Viszont erre szerencsére nincs is szükség, hiszen különböző pluginek segítségével az adott környezet általában kiterjeszthető. Ezáltal lehetségessé válik új nyelvek támogatása.

A GLSL shader nyelv meglehetősen gyakran használatos grafikus programozás során, ennek ellenére viszonylag kevés IDE támogatja. A Java világban még az átlagoshoz képest is kevés GLSL szerkesztő (editor) érhető el. Ez részben érthető, hiszen a grafika-intenzív alkalmazások teljesítmény okokból általában C++ nyelven íródnak. Ugyanakkor bizonyos esetekben egy Java nyelven megírt programból könnyebb lehet GLSL shader programot futtatni.

Szakdolgozatom célja, hogy a Netbeans IDE-hez készítsek egy plugint, ami a GLSL shader nyelvet támogatja. Ahhoz, hogy a szerkesztőben fel lehessen dolgozni a beírt szöveget, szükséges egy, a GLSL nyelvet lefedő nyelvtan elkészítése. Ehhez egy parser generátor eszközt, az ANTLR-t használtam.

A plugin egy olyan szerkesztő környezetet nyújt a Netbeans-en belül, ami tartalmazza a legfontosabb nyelvi funkciókat: a kódszínezést, a hibajelzést és a kódkiegészítést. Ezen kívül a plugin számos egyéb kényelmi funkciót is támogat, például kódformázást, definícióhoz ugrást vagy a dokumentáció releváns részének megjelenítését.

A feladat végeztével levonom a következtetéseket a feladat megoldása során szerzett tapasztalatok és a felmerült problémák alapján. Továbbá az elkészült eszközt összehasonlítom más pluginek képességeivel és minőségével.

Letölthető fájlok

A témához tartozó fájlokat csak bejelentkezett felhasználók tölthetik le.