# OpenGL & RCP/SWT



## Gregorrr (6. Dez 2012)

Was für Möglichkeiten gibt es in Eclipse RCP 2D Zeichenprimitive mit OpenGL zu zeichnen?

Also, ich weiß, dass RCP mit org.eclipse.set.opengl.* eine dünne Abstraktionsschicht für OpenGL Anbindung bereitstellt und dass man mit LWJGL/JOGL Bindings OpenGL Zeichenprimitive zeichnen kann.

OK, soweit so gut.

Gibt es eine API, die mir die Zeichenprimitive in OpenGL soweit abstrahiert, wie ich sie bereits vom 'normalen' org.eclipse.swt.graphics.GC kenne - achso benutze LWJGL?

Also bspw.


```
gc.drawOval(x, y, width, height);
```

nur halt, dass er das mittels OpenGL erledigt, also *nicht derart* (ist nur ein kleiner Teil einer Applikation, die ich etwas perfomanter gestalten möchte, ohne gleich OpenGL zu lernen):


```
GL11.glBegin(GL11.GL_QUADS);
	GL11.glVertex2f(100, 100);
	GL11.glVertex2f(100 + 200, 100);
	GL11.glVertex2f(100 + 200, 100 + 200);
	GL11.glVertex2f(100, 100 + 200);
GL11.glEnd();
```


Frage 2: Es gab mal ein Projekt, welches LWJGL benutze und Draw2D für OpenGL realisierte. Was ist mit dem Projekt passiert?


----------



## Kr0e (6. Dez 2012)

Slick2D bietet eine API-ähnliche Umsetzung von Java2D. Slick2D arbeitet normalerweise auf einem eigenen Nativen Fenster, sollte aber prinzipiell auch mit anderen Kontexten zusammenarbeiten.


----------



## Marco13 (6. Dez 2012)

Bei SWT bin ich mir da nicht sicher, aber ... Swing verwendet z.B. schon intern OpenGL. Sicher, dass das bei SWT nicht auch so ist? (oder anderweitig beschleunigt, mit DirectX oder so) ? Auf jeden Fall wäre es bei allem, was man selbst macht, schwierig, OpenGL und nicht-OpenGL Zeichenbefehle im gleichen Fenster zu mischen...


----------



## Gregorrr (6. Dez 2012)

@Kr0e: Die API sieht ganz nach dem aus, was ich gesucht habe. Zudem implementiert es TrueType Fonts mit OpenGL Unterstützung. Danke!

@Marco13: Ich bin mir auch nicht sicher. Habe keine Anhaltspunkte gefunden, dass es benutzt wird, konnte auch nichts im Source feststellen. Von daher nehme ich an, dass es nicht zum Zeichnen benutzt wird.


----------

