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

Aktuelle Zeit: Fr Jul 18, 2025 12:33

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



Ein neues Thema erstellen Auf das Thema antworten  [ 26 Beiträge ]  Gehe zu Seite Vorherige  1, 2
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Mi Mai 28, 2008 18:42 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Mär 05, 2007 17:46
Beiträge: 42
hmmm ok damit scheiden fbo aus....

Zitat:
Aber stimmt du benutzt ja Lazarus für dein Projekt. Da schau mal in die Datei glwin32wglcontext.pas in die Methode LOpenGLCreateContext. Dort wird ChoosePixelFormat aufgerufen. Der pfd deran ChoosePixelFormat übergeben wird hat auch ein Feld was AlphaSize oder so heißt. Dort solltest du eine 8 eintragen. Zum Überprüfen musst du nach ChoosePixelFormat die Methode DescribePixelFormat aufrufen. Als Parameter musst du das PixelFormat und einen pfd angeben. Wenn die Methode zurück kommt stehen im pfd die Formateigenschaften des Formates.
.... Ich kann doch nicht in diesen Dateien was ändern... dann kann es ja niemand mehr kompilieren.....


gut also ich denke, dass ich einfach die Polygonenzahl in zaum halte... dann dürfe es von der Performance gehen...

Mein Problem ist damit wieder das was ich hier:
Mi Mai 28, 2008 12:12
beschrieben habe.... wie kann ich schauen ob alles mit dem alpha wert ok ist?

_________________
"Weil", so schließt er messerscharf,
"nicht sein kann, was nicht sein darf." :)

Besuch doch mal: http://www.alexanderroth.eu


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mai 28, 2008 21:12 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Direkt dort anzusetzen ist die einfachste Möglichkeit. Anhand eines OpenGL RCs kannst du es meines Wissens nach nicht direkt überprüfen. Evtl höchstens mit einem Trick. Also ClearColor mit Alpha 1 und dann eine simple einfache Fläche drüber blenden die als Blendfunc den Alpha ausliest. Wenn der Alpha nicht unterstützt wird müsste das Ergebniss anders also falsch sein.

Aber das ändert nicht daran, dass du bei einigen System den Alpha bereits beim Erstellen des RCs angeben musst! Dort wird der nicht auf gut Glück erstellt. Sondern nur, wenn er von Programm angefordert wird.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mai 29, 2008 08:04 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Mär 05, 2007 17:46
Beiträge: 42
also ich habe jetzt mal testweise den hintergrund mit clearcolor blau gemacht und die roten Streifen mit alpha anstatt mit additivem Bleanding drübergeblendet und es hat geklappt.
Daraus ergibt sich das Problem.. wieso klappt Alpha in der einen Procedure aber wenn ich mit glBlendFunc(GL_ONE_MINUS_DST_ALPHA, GL_DST_ALPHA); blenden will scheint es nicht mehr zu klappen.... es scheint fast so als wäre der alpha wert in der Zwischenzeit überschrieben worden.... doch ich zeichne außer diesen keine Quads (jedefalls keine so großen) (nur noch linien)....
Ich stehe echt auf dem schlauch...

Lossy eX hat geschrieben:
Aber das ändert nicht daran, dass du bei einigen System den Alpha bereits beim Erstellen des RCs angeben musst! Dort wird der nicht auf gut Glück erstellt. Sondern nur, wenn er von Programm angefordert wird.
Meinst du mit Systemen, Betriebssysteme, oder Graphikkarten?
hmmm wie gebe ich denn das:
Lossy eX hat geschrieben:
dass du bei einigen System den Alpha bereits beim Erstellen des RCs angeben musst!
an?

_________________
"Weil", so schließt er messerscharf,
"nicht sein kann, was nicht sein darf." :)

Besuch doch mal: http://www.alexanderroth.eu


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mai 29, 2008 09:34 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Mit Systeme meinte ich generell die Kombination Grafikkarten/Treiber. Und das Betriebssystem alleine reicht ja schon, dass ein anderer Treiber zum Einsatz kommt. ATI/AMD scheint generell den Alpha zu aktivieren. NVidia habe ich zum Testen nicht da. Die OpenGL Softwareimplementation von Microsoft hat keinen Alpha. Und früher war aufgrund des geringen Grafikkartenspeichers natürlich auch kein Alpha aktiv. Evtl mag so etwas auch einige NotebookChipsätze betreffen. Besonders wenn der Grafikchip nicht von NV oder ATI/AMD stammt.

Was du da gemacht hast kann ich ehrlich gesagt nicht ganz nachvollziehen also habe ich selber mal was getestet.
Code:
  1.   glClearColor(0.5, 0.5, 0.5, 0.5);
  2.   glClear(GL_COLOR_BUFFER_BIT);
  3.  
  4.   glBlendFunc(GL_DST_ALPHA, GL_ZERO);
  5.   glEnable(GL_BLEND);
  6.  
  7.   glColor3f(1, 0, 0);
  8.   glBegin(GL_QUADS);
  9.     glVertex2i(  0,   0);
  10.     glVertex2i(512,   0);
  11.     glVertex2i(512, 512);
  12.     glVertex2i(  0, 512);
  13.   glEnd;

Dieser Code sorgt dafür, dass das Rot des Quads den Wert innerhalb des Alphakanals wieder spiegelt (GL_DST_ALPHA). Die Farbe des Hintergrundes wird dabei nicht berücksichtigt (GL_ZERO).
Auf einem System mit Alphakanal wird bei glClearColor(0.5, 0.5, 0.5, 0.5); ein dunkelrotes Quad dargestellt. Bei glClearColor(..., 0); ist es schwarz. Bei 1 logischerweise immer vollständig sichtbar. Auf der Softwareimplementation von Windows (Ohne Alphakanal) war das Quad IMMER vollständig sichtbar.

Ich weiß gerade nicht ob diese Klassen die du benutzt dir einen DC geben. Ich vermute aber nicht. Mit dem könntest du auch so abfragen ob ein Alphakanal erstellt wurde.
Code:
  1. var
  2.   PFD: TPixelFormatDescriptor;
  3. begin
  4.   DescribePixelFormat(fDC, GetPixelFormat(fDC), SizeOf(PFD), PFD);
  5.  
  6.   if PFD.cAlphaBits > 0 then
  7.     Caption := 'Alpha present'
  8.   else
  9.     Caption := 'Alpha NOT present';


Zum Erstellen poste ich mal ein bisschen Code aus unserem Header.
Code:
  1. var
  2.   PFDescriptor: TPixelFormatDescriptor;
  3. begin
  4.   FillChar(PFDescriptor, SizeOf(PFDescriptor), 0);
  5.  
  6.   with PFDescriptor do
  7.   begin
  8.     ...
  9.     cAlphaBits := 8;
  10.   end;
  11.  
  12.   PixelFormat := ChoosePixelFormat(DC, @PFDescriptor);

Diese ChoosePixelFormat bekommt diesen Descriptor übergeben. In ihm sind fast alle benötigten Informationen enthalten. Und das Feld cAlphaBits gibt an wie groß der Alphakanal sein sollte. Normal steht das auf 0. Und einige Systeme halten sich auch daran. Bzw der Umkehrschluss. Nur weil er auf 8 steht heißt es nicht, dass er auch erstellt wird. Wenn die Hardware/Treiber es zum Beispiel nicht kann.

PS: Ja ich weiß, dass das alles Windowsspezifisch ist denn ich habe keine Ahnung wie so etwas unter Linux gemacht werden müsste.

[edit] Wo ich das Flag cAlphaBits auf 8 gesetzt hatte hat sich auch die Softwareimplementation von Microsoft so verhalten wie der Treiber von AMD/ATI das die ganze Zeit schon getan hat.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mai 29, 2008 10:00 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Mär 05, 2007 17:46
Beiträge: 42
hmmm ja das ist windowsspezifisch... ich habe keinen TPixelFormatDescriptor

aber wie schon gesagt klappt alpha an anderen Stellen (und anscheiend auch plattformunabhängig).....
Ich habe irgendwo einen Denk- oder Programmierfehler.

Also an anderen Stellen (hatte ich ganz vergessen) führe ich z.B.: (ist NICHT der Hintergrund... ist nur ein ganz kleines Textfeld.....)
Code:
  1.   glPushMatrix;
  2.     glEnable(GL_BLEND);
  3.     glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
  4.  
  5.  
  6.     d:=R2Vec(0,0);
  7.     if  PosXIs=akRight then
  8.       d.x:=-TextLenght;
  9.     if  PosYIs=akTop then
  10.       d.y:=-TextHeight;
  11.  
  12.     glColor4f(Red(BackgroundColor),Green(BackgroundColor),Blue(BackgroundColor), BackgroundAlpha);
  13.     glTranslatef(pos.x+d.x, pos.y+d.y, pos.z-0.001);
  14.  
  15.     glBegin(GL_QUADS);
  16.  
  17.       glVertex3f(-rand.x,-rand.y,0);
  18.       glVertex3f(TextLenght+rand.x,-rand.y,0);
  19.       glVertex3f(TextLenght+rand.x,TextHeight+rand.y,0);
  20.       glVertex3f(-rand.x,TextHeight+rand.y,0);
  21.  
  22.     glEnd;
  23.  
  24.  
  25.     glDisable(GL_BLEND);
  26.   glPopMatrix;
  27.  
aus und es klappt... anscheinend hat er mit src_alpha kein Problem, aber wenn ich halt wie schon oben gepostet es mit dst_alpha mache scheint es nicht zu klappen....

Zur Not lasse ich den Hintergrund halt weg...



EDIT: also ich habe mal einen test gemacht um alles andere auszuschließen (beide liegen vor allem anderen und verdecken alles!):
Code:
  1.    glEnable(GL_BLEND);
  2.     glBlendFunc(GL_ONE, GL_ZERO);  //erst mal einen schönen dunkelroten hintergrund um eine definierte alpha fläche zu erzeugen
  3.  
  4.     //alpha quad
  5.     glBegin(GL_QUADS);
  6.  
  7.       glColor4f(0.2,0,0, 1);
  8.       glVertex3f(OGLBox.OGLReality.Left,OGLBox.OGLReality.Bottom,Depth-1);
  9.  
  10.       glColor4f(0.2,0,0, 0);
  11.       glVertex3f(OGLBox.OGLReality.Right,OGLBox.OGLReality.Bottom,Depth-1);
  12.  
  13.       glColor4f(0.2,0,0, 1);
  14.       glVertex3f(OGLBox.OGLReality.Right, OGLBox.OGLReality.Top,Depth-1);
  15.  
  16.       glColor4f(0.2,0,0, 0);
  17.       glVertex3f(OGLBox.OGLReality.Left, OGLBox.OGLReality.Top,Depth-1);
  18.  
  19.     glEnd;
  20.  
  21.  
  22.  
  23.     glBlendFunc(GL_ONE_MINUS_DST_ALPHA, GL_DST_ALPHA);  
  24.  
  25.     glBegin(GL_QUADS);
  26.  
  27.       glColor4f(Red(LeftBottom), Green(LeftBottom), Blue(LeftBottom), 1);
  28.       glVertex3f(OGLBox.OGLReality.Left,OGLBox.OGLReality.Bottom,Depth);
  29.  
  30.       glColor4f(Red(RightBottom), Green(RightBottom), Blue(RightBottom), 1);
  31.       glVertex3f(OGLBox.OGLReality.Right,OGLBox.OGLReality.Bottom,Depth);
  32.  
  33.       glColor4f(Red(RightTop), Green(RightTop), Blue(RightTop), 1);
  34.       glVertex3f(OGLBox.OGLReality.Right, OGLBox.OGLReality.Top,Depth);
  35.  
  36.       glColor4f(Red(LeftTop), Green(LeftTop), Blue(LeftTop), 1);
  37.       glVertex3f(OGLBox.OGLReality.Left, OGLBox.OGLReality.Top,Depth);
  38.  
  39.     glEnd;
  40.  
  41.   glDisable(GL_BLEND);  

Eigentlich wollte ich da jetzt eine fläche an 2 Ecken duneklrot und an den anderenn Ecken gelb bzw. grün (das sind die Farben von RightBottom, LeftBottom ,usw..)
Doch sehen tue ich ein ein komplett dunkelrot gefüllten Bildschirm.....

Was mache ich falsch?

_________________
"Weil", so schließt er messerscharf,
"nicht sein kann, was nicht sein darf." :)

Besuch doch mal: http://www.alexanderroth.eu


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mai 29, 2008 10:48 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Moment ich glaube du bringst da gerade etwas durcheinander. Alphakanal ist nicht gleich Alphakanal. Und Blending nicht gleich Blending.

Beim Blenden hast du eine Eingangskomponente, eine Ausgangskomponente, einen Eingangsfaktor und einen Ausgangsfaktor. Hinten raus kommt eine neue Komponente die in den Framebuffer geschrieben wird.

Die Eingangskomponente (SRC) ist immer das Fragment. Also das zu zeichnende Pixel des Quads.
Die Ausgangskomponente (DST) ist immer der Framebuffer bzw der Buffer in den gezeichnet wird. Also Framebuffer oder auch ein FBO oder Pixelbuffer.

Die Faktoren geben an wie Stark die einzelnen Komponenten in das Ziel einfließen. Und da gibt es einen Faktoren für die Eingangskomponente (sFactor) und einen für die Ausgangskomponente (dFactor). Auf diese Faktoren kannst du die unterschiedlichsten Koponenten oder Konstanten legen. So zum Beispiel GL_ONE (nimmt immer die ganze Komponente) oder GL_ZERO (nimmt nichts von der Komponente).

Je nach Faktorenwert wird auf die unterschiedlichsten Dinge zugegriffen.
GL_ONE, GL_ZERO greifen auf nichts zu. Sie haben immer einen festen Wert.
GL_SRC_* oder GL_ONE_MINUS_SRC_* geben immer einen Wert aus dem Eingang an. Dieser Wert kommt normal über glColor oder eine Textur.
GL_DST_* oder GL_ONE_MINUS_DST_* geben immer einen Wert aus dem Framebuffer an.

GL_*_ALPHA benutzt den Alphakanal der Ein oder Ausgangskomponente.
GL_*_COLOR benutzen den Farbwert.

SRC_ALPHA ist lediglich der Alphawert der aus der Textur oder aus glColor kommt. Aber auch der muss natürlich angegeben werden. Genau so ist es beim Framebuffer auch. Nur da nicht so fundamental verankert wie bei Texturen. SRC_ALPHA wird immer funktionieren so lange glColor4f oder Texturen mit ALphakanal benutzt werden.

Ich habe die ganze Zeit aber ausschließlich nur vom Alphakanal des Framebuffers geredet! Also NUR GL_DST_ALPHA bzw. GL_ONE_MINUS_DST_ALPHA. Nur diese beiden Konstanten. Alle anderen greifen auf etwas anderes zu.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mai 29, 2008 11:25 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Mär 05, 2007 17:46
Beiträge: 42
ok, ja das ist mir eigentlich alles klar... ich habe ja das Tutorial über Blending genau gelesen....

Was mir allerdings neu ist, und wo wir wahrscheinlich aneinander vorbei geredet haben ist: Das wenn das Alpha blending mit src_alpha funktioniert, noch nicht der Alpha-Kanal im Framebuffer (also dst_alpha) ok sein muss.
Habe ich das richtig verstanden?

ok... dann sind wir wieder bei dem Punkt: Wie kann ich den Alpha-Kanal des Framebuffers plattformunabhängig und treiberunabhängig einschalten.
Wenn dies nämlich nicht möglich ist, bringt es mir wenig.... schließlich mag ich, dass es fast überall ohne Probleme funktioniert....


Gruß Alexander


PS: Ich hoffe ich nerve dich nicht allzusehr... (leider bin ich in opengl halt noch (fast) ein blutiger Anfänger....)
PPS: Ich wollte nur sagen das die Tutorials super sind...

_________________
"Weil", so schließt er messerscharf,
"nicht sein kann, was nicht sein darf." :)

Besuch doch mal: http://www.alexanderroth.eu


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mai 29, 2008 12:05 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Zitat:
Was mir allerdings neu ist, und wo wir wahrscheinlich aneinander vorbei geredet haben ist: Das wenn das Alpha blending mit src_alpha funktioniert, noch nicht der Alpha-Kanal im Framebuffer (also dst_alpha) ok sein muss.
Habe ich das richtig verstanden?

Richtig. Denn SRC_ALPHA gehört fundamental zu OpenGL wärend DST_ALPHA zwar unterstützt wird aber man nicht zwangsweise darauf angewiesen ist. Besonders in den Anfangstagen von OpenGL. Heutzutage wird so etwas über FBO und PixelBuffer gelöst.

Zitat:
ok... dann sind wir wieder bei dem Punkt: Wie kann ich den Alpha-Kanal des Framebuffers plattformunabhängig und treiberunabhängig einschalten.
Wenn dies nämlich nicht möglich ist, bringt es mir wenig.... schließlich mag ich, dass es fast überall ohne Probleme funktioniert....

Das hatte ich oberhalb schon gesagt. Das MUSST du beim Erstellen des Kontextes aktivieren. Dort gibt es keine andere Möglichkeit. Und dazu wirst du um ein Ändern der Quellen nicht umherum kommen. Das ist die Sache mit dem Flag in dem Descriptor. Schau da am Besten mal in deinen Quellen wie die Typen heißen. Methode und Quelldatei hatte ich recht am Anfang schon mal gepostet.

Ob es dann auch alle Systeme unterstützen, wenn du es aktiviert hast steht wieder auf einem anderen Blatt. Auf welchen Systemen es da Probleme geben könnte weiß ich aber nicht. Kann auch sein, dass es zu schwarz sehe und von allen auch unterstützt wird/werden muss.


PS: Nö Nö. So lange wir eine Lösung finden und du dabei was lernst ist das schon okay. Jeder hat mal klein angefangen und man kann auch nicht immer alles sofort verstehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mai 29, 2008 12:41 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Mär 05, 2007 17:46
Beiträge: 42
Lossy eX hat geschrieben:
Aber stimmt du benutzt ja Lazarus für dein Projekt. Da schau mal in die Datei glwin32wglcontext.pas in die Methode LOpenGLCreateContext. Dort wird ChoosePixelFormat aufgerufen. Der pfd deran ChoosePixelFormat übergeben wird hat auch ein Feld was AlphaSize oder so heißt. Dort solltest du eine 8 eintragen. Zum Überprüfen musst du nach ChoosePixelFormat die Methode DescribePixelFormat aufrufen. Als Parameter musst du das PixelFormat und einen pfd angeben. Wenn die Methode zurück kommt stehen im pfd die Formateigenschaften des Formates.
Also ich bin ja unter Linux und wenn ich die Datei glwin32wglcontext öffne meldet er erstmal dass er weder einige der uses Units nicht findet und auch, dass er zb: den Typ PIXELFORMATDESCRIPTOR nicht findet......
Ich könnte also selbst wenn ich AlphaSize hinzufügen würde es nicht kompilieren....
Und ich denke mal die Datei hat folglich auch keine Auswirkungen, da er sie eh nicht kompilieren kann....
...
allerdings gibt es die Datei: glgtkglxcontext.pas (und auch glcarbonaglcontext.pas) und die hat folgende Funktion:
Code:
  1. function LOpenGLCreateContext(AWinControl: TWinControl;
  2.   WSPrivate: TWSPrivateClass; SharedControl: TWinControl;
  3.   DoubleBuffered, RGBA: boolean;
  4.   const AParams: TCreateParams): HWND;
  5. var
  6.   NewWidget: PGtkWidget;
  7.   SharedArea: PGtkGLArea;
  8.   AttrList: PInteger;
  9. begin
  10.   if WSPrivate=nil then ;
  11.   AttrList:=CreateOpenGLContextAttrList(DoubleBuffered,RGBA);
  12.   try
  13.     if SharedControl<>nil then begin
  14.       SharedArea:=PGtkGLArea(PtrUInt(SharedControl.Handle));
  15.       if not GTK_IS_GL_AREA(SharedArea) then
  16.         RaiseGDBException('LOpenGLCreateContext');
  17.       NewWidget:=gtk_gl_area_share_new(AttrList,SharedArea);
  18.     end else begin
  19.       NewWidget:=gtk_gl_area_new(AttrList);
  20.     end;
  21.     Result:=HWND(PtrUInt(Pointer(NewWidget)));
  22.     PGtkobject(NewWidget)^.flags:=PGtkobject(NewWidget)^.flags or GTK_CAN_FOCUS;
  23.     {$IFDEF LCLGtk}
  24.     TGTKWidgetSet(WidgetSet).FinishCreateHandle(AWinControl,NewWidget,AParams);
  25.     {$ELSE}
  26.     TGTK2WidgetSet(WidgetSet).FinishCreateHandle(AWinControl,NewWidget,AParams);
  27.     g_signal_connect_after(PGtkObject(NewWidget), 'size-allocate',
  28.                        TGTKSignalFunc(@gtkglarea_size_allocateCB), AWinControl);
  29.     {$ENDIF}
  30.   finally
  31.     FreeMem(AttrList);
  32.   end;
  33. end;


hmmm und CreateOpenGLContextAttrList sieht folgendermaßen aus:
Code:
  1. function CreateOpenGLContextAttrList(DoubleBuffered: boolean; RGBA: boolean
  2.   ): PInteger;
  3. var
  4.   p: integer;
  5.  
  6.   procedure Add(i: integer);
  7.   begin
  8.     if Result<>nil then
  9.       Result[p]:=i;
  10.     inc(p);
  11.   end;
  12.  
  13.   procedure CreateList;
  14.   begin
  15.     if DoubleBuffered then
  16.       Add(GDK_GL_DOUBLEBUFFER);
  17.     if RGBA then
  18.       Add(GDK_GL_RGBA);
  19.     Add(GDK_GL_RED_SIZE);  Add(1);
  20.     Add(GDK_GL_GREEN_SIZE);  Add(1);
  21.     Add(GDK_GL_BLUE_SIZE);  Add(1);
  22.     Add(GDK_GL_DEPTH_SIZE);  Add(1);
  23.     Add(GDK_GL_STENCIL_SIZE); Add(1);
  24.     Add(GDK_GL_None);
  25.   end;
  26.  
  27. begin
  28.   Result:=nil;
  29.   p:=0;
  30.   CreateList;
  31.   GetMem(Result,SizeOf(integer)*p);
  32.   p:=0;
  33.   CreateList;
  34. end;
müsste da noch sowas wie
Add(GDK_GL_Alpha_SIZE); Add(1);
stehen?
Nach ausprobieren... ohn nee dann startet das Programm nicht mehr....

hmmm
Weißt du weiter?

_________________
"Weil", so schließt er messerscharf,
"nicht sein kann, was nicht sein darf." :)

Besuch doch mal: http://www.alexanderroth.eu


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mai 29, 2008 12:58 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Wenn du irgendwann eine Windowsvariante deines Programmes machen willst musst du die glwin32wglcontext.pas anpassen. Für Linux wird sie ja nicht benötigt. Du solltest es aber nicht vergessen ansonsten kann es sein, dass du dich später wundern wirst.

GTK: Da muss ich vollkommen passen. Da kann ich dir nur empfehlen im Internet nach Dokumentationen zu suchen. Ich habe aber auch keine Ahnung wo man da zu suchen anfangen sollte. Da kann ich dir so nicht weiter helfen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mai 29, 2008 14:14 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Mär 05, 2007 17:46
Beiträge: 42
hmmm ok Trotzdem Danke!

Ich denke mal ich lasse den Hintergrund dann weg..... Ich scheue mich nämlich davor in gleich mehreren Orgnialdateien etwas zu ändern....

Tschüss

Gruß Alexander

_________________
"Weil", so schließt er messerscharf,
"nicht sein kann, was nicht sein darf." :)

Besuch doch mal: http://www.alexanderroth.eu


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 6 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 | 14 Queries | GZIP : On ]