Registriert: Mi Dez 15, 2004 20:36 Beiträge: 454 Wohnort: Wien, Österreich
Ich habe jetzt
Zitat:
/** C# Header and Wrapper by Lars Middendorf, lmid@gmx.de */
Ich benutze SharpDevelop. Leider habe ich keine Ahnung wie ich weiter vorgehen müsste. Wie bringe ich meine erste .net Anwendung mit OpenGL zum Laufen?
Code:
using System;
using System.Drawing;
using System.Windows.Forms;
using OpenGL;
Zitat:
MainForm.cs(12,7): error CS0246: The type or namespace name 'OpenGl' could not be found (are you missing a using directive or an assembly reference?)
Abgeschlossen -- 1 Fehler, 0 Warnungen
Am besten wäre es wenn ihr mit mir so machen würden "talk to me like i am 2 years old.".
_________________ "Meine Mutter sagt : 'Dumm ist der, der Dummes tut'." - Forrest Gump
Ob es mit Sharp Develop funktioniert weiß ich nicht. C# 2.0 wird auf jeden Fall benötigt.
Eigentlich muß man die Datei nur zu dem Projekt hinzufügen. Warum in der Fehlermeldung OpenGl steht weiß ich nicht, denn es gilt ja Groß und Kleinschreibung und da steht ja auch korrekter Weise using OpenGL.
Ansonsten mußt du eigentlich nur irgendein Control oder die Form als Container nehmen und dann einen Context erstellen. SwapBuffers wird auch über die Context Klasse gemacht, aber ansonsten bleibt alles beim alten. Es gibt dann bei den verschiedenen OpenGL Befehlen noch eine ganze Reihe von sinnvollen Überladungen.
Ja das ist der Grund warum es nur damit geht. Aber es gibt die Beta Version von Visual C# Express kostenlos zum Download bei Microsoft. Obwohl es eine Beta Version ist, läuft sie sehr stabil und ich habe sie schon einige Monate im Einsatz, ohne das mir schwerwiegende Fehler aufgefallen sind.
Falls du unbedingt fürs alte Framework programmieren willst, gibt es noch csgl und TAO, die aber beide recht umständlich zu handhaben sind und auch noch zusätzliche C++ DLL's erfordern.
Der (nächste) DGL Header ist wie Delphi2005 auch nur für .Net 1.1 , aber er braucht auch keine Extra DLL's weil die entsprechenden Wrapper Funktionen dynamisch mittels Reflection.Emit erzeugt werden.
Registriert: Mi Dez 15, 2004 20:36 Beiträge: 454 Wohnort: Wien, Österreich
Zitat:
Aber es gibt die Beta Version von Visual C# Express kostenlos zum Download bei Microsoft. Obwohl es eine Beta Version ist, läuft sie sehr stabil und ich habe sie schon einige Monate im Einsatz, ohne das mir schwerwiegende Fehler aufgefallen sind.
Geht prima, danke. Endlich.
_________________ "Meine Mutter sagt : 'Dumm ist der, der Dummes tut'." - Forrest Gump
Habe auch einen Fehler, mit der Beta von #develop2. Dieser Tritt auf wenn ich eine externe Assembly benutze wo dein Header( Auf dem mein Wrapper aufbaut ) drin ist. Sobald ich "gl." eintippe, oder die Parameter des Constructors von Context abrufen möchte kommen solche fehler( Bei glu. komischerweisse nicht! ):
Zitat:
.NET Version : 2.0.50215.44 OS Version : Microsoft Windows NT 5.1.2600 Service Pack 2 Boot Mode : Normal Working Set Memory : 49316kb SharpDevelop Version : 2.0.0.408
Exception thrown: System.IO.FileLoadException: Cannot resolve dependency to assembly 'System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' because it has not been preloaded. When using the ReflectionOnly APIs, dependent assemblies must be pre-loaded or loaded on demand through the ReflectionOnlyAssemblyResolve event. File name: 'System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' at System.Signature._GetSignature(SignatureStruct& signature, Void* pCorSig, Int32 cCorSig, IntPtr fieldHandle, IntPtr methodHandle, IntPtr declaringTypeHandle) at System.Signature.GetSignature(SignatureStruct& signature, Void* pCorSig, Int32 cCorSig, RuntimeFieldHandle fieldHandle, RuntimeMethodHandle methodHandle, RuntimeTypeHandle declaringTypeHandle) at System.Signature..ctor(RuntimeMethodHandle methodHandle, RuntimeTypeHandle declaringTypeHandle) at System.Reflection.RuntimeConstructorInfo.get_Signature() at System.Reflection.RuntimeConstructorInfo.GetParametersNoCopy() at System.Reflection.RuntimeConstructorInfo.GetParameters() at ICSharpCode.SharpDevelop.Dom.ReflectionMethod.get_Parameters() at ICSharpCode.Core.CSharpAmbience.Convert(IMethod m) at ICSharpCode.Core.AmbienceReflectionDecorator.Convert(IMethod m) at ICSharpCode.Core.DebuggerService.GetText(IAmbience ambience, IDecoration member) at ICSharpCode.Core.DebuggerService.GetText(ResolveResult result) at ICSharpCode.Core.DebuggerService.TextAreaMouseMove(Object sender, MouseEventArgs args)
Ich weiss nicht woran der Fehler liegt!
Zudem möchte er bei mir nichts Rendern( Deswegen werde ich nun erstmal Visual Studio saugen )!
_________________ 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.
Was SharpDevelop da macht, weiß ich nicht. Hab's nur einmal installiert und gleich wieder runter geschmissen. Obwohl es so einen guten Ruf hat, kommt es nicht ans Visual Studio ran.
Was SharpDevelop da macht, weiß ich nicht. Hab's nur einmal installiert und gleich wieder runter geschmissen. Obwohl es so einen guten Ruf hat, kommt es nicht ans Visual Studio ran.
Habe ich auch gemerkt( Seit heute um 2 Uhr läuft mein Projekt ), allerdings hat es genauso wie Visual Studio ein paar Vorteile!
- Das Syntax Highlighting ist besser( Funktionen z.b. werden Speziell makiert, erhöht die übersicht erheblich )
- Vollautomatisches einrücken( Habe es allerdings vielleicht auch nicht gefunden in VS )
- Automatisches setzen von einer schließenden Klammer!
_________________ 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.
Registriert: Di Nov 26, 2002 22:12 Beiträge: 259 Wohnort: Dresden
Beim VS gibt es unter Edit->Advanced->Format Document die Möglichkeit das Dokument zu formatieren. Alle Formatierungseigenschaften kannst du unter Tools->Options enstellen. In der Regel formatiert VS C# Express den Code aber auch automatisch, wenn du die schließende geschweifte Klammer setzt "}". Meist muss der Code dafür aber kompilierbar sein.
_________________ 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
So noch ein Problem mit deinem Header:
Er läd keine Extensions!
Ich habe "gl.LoadExtensions();" aufgerufen, aber ich bekomme auf sämtliche Delegates nur einen "null" Pointer!
Edit: Normal sollte er es ja auch Automatisch machen, aber nichts macht er!
Hier mal exe + Assembly ( Namensgebung ist nicht gelungen )!
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
_________________ 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.
public static extern int GetProcAddress(string funcname);
_________________ 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.
Nur mal so die Frage:
Hat keiner den selben Fehler?!?!
Der Fehler behindert mich dramatisch, da ich so garkeine Extensions nutzen kann! Habe den ganzen Tag damit verbraucht den Fehler zu finden, aber leider finde ich ihn nicht! Da in VS Express 2005 Beta irgendwie auch ein CPU Fenster Fehlt, kann ich es auch nicht sonderlich Debugen!
Werden bei euch alle Extensions geladen? Ich glaube der Compiler baut irgendwie scheisse!
_________________ 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.
Also bei mir geht's natürlich. Dein Bsp Programm aber nicht. Ich vermute dass OpenGL nicht richtig initialisiert wurde, denn die Extension sind erst nach dem Erstellen des Context verfügbar. Probier mal den Context erst im Ereignis HandleCreated und nicht bei Load zu erzeugen.
Das war das Stichwort, nicht das ich das nicht hätte wissen können, allerdings war der Fehler so Doof das ich am liebsten die nächste Brücke aufsuchen würde!
thx für deine Zeit!
_________________ 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.
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.