Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Mi Jul 09, 2025 20:40

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 24 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Autor Nachricht
 Betreff des Beitrags: OpenGl in C#?
BeitragVerfasst: Di Dez 30, 2008 13:21 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jan 04, 2008 21:29
Beiträge: 419
Wohnort: Lübeck
Hi, ich habe mich mal im Netz umgeschaut und festgestellt, dass man OpenGl über weitere dll auch in C# nutzen kann. Dummerweise bin ich nich in der Lage gewesen anhand der im Netz verfügbaren Tutorials ein Projekt tatsächlich mit OpenGl zum laufen zu bekommen. Genauer gesagt habe ich mir das Tao-Framework angesehen und festgestellt, dass einige Funktionen nicht aufzufinden sind, wie zum Beispiel die nötigen Funktionen um einen Rendering- oder DeviceContext zu erstellen/anzufordern.
Meine Frage ist, ob jemand damit Erfahrung gemacht hat und, ob er mir einen Guide oder ein Template an die Hand geben kann mit dem ich die Funktionsweise für Tao basierende OpenGl Projekte nachvollziehen kann.
Da ich in Delphi auf selbe Weise angefangen hab (erstma ein Template benutzen und Stück für Stück zerpflücken) bin ich zuversichtlich, dass mich das weiter bringen wird. Der ansporn dazu ist die Idee, mit einem Komillitonen einen GTA1-Klon zu schreiben, der allerdings etwas primitiver sein soll. Da er nur Kenntnise in Java, C++ und C# hat, und ich in Delphi, C++ und C# wollten wir uns auf eine gemeinsame Sprache einigen, allerdings nicht im altbacken C++ arbeiten. Da ich aber für den grafischen Teil zuständig sein werde und er für die Netzwerk-Kommunikation muss ich nun OpenGl für C# anwendbar machen.

vielen Dank im vorraus!

_________________
Klar Soweit?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 30, 2008 14:29 
Offline
DGL Member
Benutzeravatar

Registriert: Di Okt 03, 2006 14:07
Beiträge: 1277
Wohnort: Wien
Ich habe mal einen Blick auf die Website geworfen: http://www.taoframework.com und http://taoframework.svn.sourceforge.net

Ich habe natürlich schon vom Tao Framework gehört, aber ich sehe es jetzt zum ersten mal. Du hast Glück: ich nehme jetzt mal an, dass es wachsen wird, denn man hat sich offenbar entschlossen, das ganze in das Mono-Projekt aufzunehmen. Die Sourceforge-Seite wirkt relativ neu.

Dokumentation habe ich keine gefunden, oder aber ich bin blind. Sie haben dort aber ein Forum, da hab ich ein wenig die Nase hineingesteckt und da war auch schon eine Frage, die Deiner Frage ziemlich ähnlich ist. Vielleicht hilft Dir die Antwort im Forum - ich hoffe Du kannst Englisch: :wink: http://www.taoframework.com/node/773


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 30, 2008 17:15 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jan 04, 2008 21:29
Beiträge: 419
Wohnort: Lübeck
Cool! Vielen Dank. Ich habe tatsächlich ein OpenGl-fähiges Form vor mir liegen.
Dann werd ich mich mal an den Speck ranschmeißen.

_________________
Klar Soweit?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 30, 2008 21:25 
Offline
DGL Member
Benutzeravatar

Registriert: Di Nov 26, 2002 22:12
Beiträge: 259
Wohnort: Dresden
Wenn dir das TAO-Framework zu überdimensioniert ist und dir ein einfacher Header ausreicht, dann wäre evtl. der Header von Lars Middendorf etwas für Dich. Diesen konnte ich aber leider nicht mehr finden.

Vielleicht hilft Dir aber der folgende Thread weiter:
viewtopic.php?t=7117

_________________
Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Denn jederman ist überzeugt, dass er genug davon habe.
Rene Descartes, frz. Mathematiker u. Philosoph, 1596-1650


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Dez 31, 2008 12:41 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jan 04, 2008 21:29
Beiträge: 419
Wohnort: Lübeck
also bisher bin ich mit dem umfang von Tao sehr zufrieden. Man muss natürlich wieder alles zusammen suchen und kleinigkeiten neu entdecken, abr ich fand das jetzt nicht komplxer als damals der Einstieg in die allgemeine openGl-welt. Da war die Initialisierung schon ein guter Hammer, da viele neue Worte auftauchten. Bei Tao muss man nur erstmal darauf kommen, dass dafür nu Komponenten zuständig sind.

also dann bedanke ich mich noch einmal herzlich!

_________________
Klar Soweit?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Dez 31, 2008 15:22 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
Ein kleiner Tipp, obwohl ich keine Ahnung hab, wie das bei TAO geregelt ist (wenns denn jemand gemacht hat), .Net hat die Eigenschaft, daß Speicherbereiche verschoben werden können, während eine Anwendung läuft, was immer dann passiert, wenn die Garbage Collection am Arbeiten ist. Lustig wird das, wenn wenn man z.B. VBOs verwendet, bei denen man OpenGl angewiesen hat, "hei da leg ich meinen kram hin und will dort ändern dürfen und du bekommst das mit". Die Daten bestehen ja dann meistens aus einem Array an Vertexdaten. Jetzt kommt die Garbage Collection und schiebt Dir das Array weg... Da biste dann sau dumm dran, weil sich die Adresse auf dein Array verändert hat und die GC dort evtl andere Variablen untergebracht hat, die OpenGl jetzt für deine Variablen hält... In diese Situation kann man z.B. bei Einsatz von glBufferDataARB kommen und das kommt natürlich nicht ganz so gut :-) Solche Objekte sollte/muss man dann pinnen, siehe z.B.

http://msdn.microsoft.com/en-us/library ... andle.aspx


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jan 01, 2009 16:19 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jan 04, 2008 21:29
Beiträge: 419
Wohnort: Lübeck
ja von dem Problem habe ich auch schon gehört. Ich muss mal schauen, ob sich das wirklich so bemerkbar macht, oder ob es dafür Lösungen gibt. Viel ab ich bisher ja noch nicht gemacht in C#. Ich könnte mir vorstellen, dass die Adressen von Pointern mitgeändert werde, wenn teile der Daten verschoben werden.

frohes Neues und so weiter

_________________
Klar Soweit?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jan 01, 2009 21:01 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
öhm... ich habe einen link auf die lösung mitgeschickt ....


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 16, 2009 13:27 
Offline
DGL Member

Registriert: Do Apr 08, 2004 16:55
Beiträge: 516
Zitat:
Ein kleiner Tipp, obwohl ich keine Ahnung hab, wie das bei TAO geregelt ist (wenns denn jemand gemacht hat), .Net hat die Eigenschaft, daß Speicherbereiche verschoben werden können, während eine Anwendung läuft, was immer dann passiert, wenn die Garbage Collection am Arbeiten ist. Lustig wird das, wenn wenn man z.B. VBOs verwendet, bei denen man OpenGl angewiesen hat, "hei da leg ich meinen kram hin und will dort ändern dürfen und du bekommst das mit". Die Daten bestehen ja dann meistens aus einem Array an Vertexdaten. Jetzt kommt die Garbage Collection und schiebt Dir das Array weg... Da biste dann sau dumm dran, weil sich die Adresse auf dein Array verändert hat und die GC dort evtl andere Variablen untergebracht hat, die OpenGl jetzt für deine Variablen hält... In diese Situation kann man z.B. bei Einsatz von glBufferDataARB kommen und das kommt natürlich nicht ganz so gut :-) Solche Objekte sollte/muss man dann pinnen, siehe z.B.

http://msdn.microsoft.com/en-us/library ... andle.aspx


Ähm... *meld meld*

Also ich weiss ja nicht wie ihr das macht, aber bei mir ist das in inzwischen 3 Jahren OpenGL & C# nie vorgekommen!
Die GC schaufelt dir nicht im Grafikspeicher rum, besonderst wenn du die Daten "per hand" dahin kopiert hast, ein Array im Grafikspeicher anlegen funktioniert sowieso nicht.

Den TAO Header würd ich übrigens nicht verwenden....einfach mal mit dem Reflector drüber schaun dann siehst warum.

_________________
Shareholder und Leitender Entwickler bei Pipedream-Games.

Zitat: Siehst du diesen Park da unten? Jeden Tag lernen sich darin Menschen kennen und verlassen einander. Und du hast dein ganzes Leben Zeit darin zu gehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Apr 05, 2009 16:30 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2623
Wohnort: Berlin
Programmiersprache: Go, C/C++
Ich würde überlegen vieleicht mit dem managed code zu arbeiten, einfach der einfachkeits halber.
Dann kannst die schönen alten Bibliotheken verwenden und dein ganzer restlicher kram bleibt in c#.
Zumindestens ist das bei den großen Systemen wie Unreal Engine 3 so.

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenGl in C#?
BeitragVerfasst: So Mär 07, 2010 12:02 
Offline
DGL Member

Registriert: Mi Okt 16, 2002 15:06
Beiträge: 1012
Gibt es denn eine aktuelle funktionierende OpenGL Binding für c# ?

Es scheint das alle im Netz schimmeln tot oder so veraltet sind das man sie nicht gebrauchen kann.
Das Taoframework ist down und CSGL wird seit jahren nicht weiter geplegt.

Ich würde ja Sagen ich baue mir das selbst, aber es muss doch eine simple library geben,
die ähnlich DGL OpenGL nach .NET bringt.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenGl in C#?
BeitragVerfasst: So Mär 07, 2010 12:19 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2623
Wohnort: Berlin
Programmiersprache: Go, C/C++
Ich hatte vor kurzem auch die gleiche Erkenntnis gehabt.
Wenn man etwas über OpenGL 1.5 haben will, dann muss man das wohl in C# selber machen, ich hab nur die alten Schinken gefunden.

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenGl in C#?
BeitragVerfasst: So Mär 07, 2010 13:08 
Offline
DGL Member

Registriert: Mi Okt 16, 2002 15:06
Beiträge: 1012
Habe die aktuelle Tao aus dem Sourceforge projekt entnommen.
Die Bindings sind zumindest auf dem Stand OpenGL 2.0.

Schade das es keine aktuelleren gibt, ein OpenGL 3.x binding wäre sehr fein.
Es muss ja nicht unbedingt ein OpenGL Control sein.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenGl in C#?
BeitragVerfasst: So Mär 07, 2010 13:11 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2623
Wohnort: Berlin
Programmiersprache: Go, C/C++
Echt, dann muss ich gleich mal rein gucken.

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenGl in C#?
BeitragVerfasst: So Mär 07, 2010 15:09 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
Warum kopiert ihr nicht die Definitionen aus dem DGL Header und schreibt euch ein kleines Programm, das das ganze in einen C# Header umsetzt. Das dürfte eigentlich nicht allzuschwer sein.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 24 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 7 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.009s | 16 Queries | GZIP : On ]