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

Aktuelle Zeit: Fr Jul 18, 2025 04:34

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 23 Beiträge ]  Gehe zu Seite Vorherige  1, 2
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: So Aug 03, 2008 17:20 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Gib mal bei glCopyTexImage2D beim dritten Parameter GL_RGB anstatt 3 an.

Gruß Lord Horazont

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Aug 03, 2008 17:23 
Offline
DGL Member
Benutzeravatar

Registriert: Di Apr 29, 2008 18:56
Beiträge: 1213
Programmiersprache: Delphi/FPC
Ahh, jetzt gehts:

vorher:
Code:
  1.   glBindTexture(GL_TEXTURE_2D, Screen);
  2.   glCopyTexImage2D(Screen, 0, 3, 0, 0, 256, 256, 0);


danach:
Code:
  1.   glBindTexture(GL_TEXTURE_2D, Screen);
  2.   glCopyTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 0, 0, 256, 256, 0);


Danke für die Hilfe!

MfG Bergmann


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Aug 03, 2008 19:08 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Schwere Geburt, aber jetzt gehts ja.

Den Wert musst du zwischendrin mal testweise geändert haben, in deinem ersten Post stand nähmlich GL_RGB. Wäre ich nicht nochmal drauf gekommen, wenn du nicht den Code nochmal gepostet hättest :)

Gruß Lord Horazont

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 04, 2008 00:53 
Offline
DGL Member
Benutzeravatar

Registriert: Di Apr 29, 2008 18:56
Beiträge: 1213
Programmiersprache: Delphi/FPC
jo^^
hab auch ma testweiße Screen anstatt GL_TEXTURE_2D drin gehabt, daran lag's auch noch!
Wieso geht das eigentlich nich? warum kann ich nicht gleich den TexturIndex übergeben, sondern muss ihn erst aktivieren?

MfG Bergmann.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 04, 2008 08:31 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Also wenn ich die letzte Frage richtig verstanden habe. Denn ich weiß nicht ob die schwieig vormuliert ist oder ob es daran liegt, dass ich noch ziemlich Müde bin. OpenGL hat pro Textureinheit nur eine aktive Textur. Und um etwas mit der Textur machen zu können muss sie aktiviert werden. Das ist in der Schnittstelle so vorgesehen. Denn du kannst nirgendswo auf etwas zugreifen ohne es vorher zu aktivieren. VBOs, Shader etc. Technisch wäre das womöglich auch anders machbar aber es ist in der Schnittstelle von OpenGL so vorgesehen. Und das haben sie ja auch ziemlich konsequent durhgezogen.

Noch eine Anmerkung die eigentlich ziemlich Off-Topic ist. Und zwar geht es um das Thema Fehler. Wenn man einen Fehler bekommt, dann hat das häufig auch irgendwo einen tieferen Sinn. Ignoriert Fehler nicht einfachg sondern hört auf das was sie versuchen euch zu sagen. Das ersparrt ungemein die Suche nach einer Lösung dafür. Denn die Fehler sind dazu da um auf etwas aufmerksam zu machen. Also nicht ignorieren sondern versuchen zu verstehen warum er aufgetreten ist.
Außerdem gibt es nicht nur einen einzigen Fehler. Also wenn man von einem Fehler spricht wäre es hilfreich, wenn man auch sagt was das für ein Fehler war. Das ist sonst wie eine Anzeige gegen unbekannt. Die Chancen den passenden Übeltäter zu finden sind wohl eher ziemlich gering.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 04, 2008 11:09 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Lossy eX hat geschrieben:
Also wenn ich die letzte Frage richtig verstanden habe. Denn ich weiß nicht ob die schwieig vormuliert ist oder ob es daran liegt, dass ich noch ziemlich Müde bin. OpenGL hat pro Textureinheit nur eine aktive Textur. Und um etwas mit der Textur machen zu können muss sie aktiviert werden. Das ist in der Schnittstelle so vorgesehen. Denn du kannst nirgendswo auf etwas zugreifen ohne es vorher zu aktivieren. VBOs, Shader etc. Technisch wäre das womöglich auch anders machbar aber es ist in der Schnittstelle von OpenGL so vorgesehen. Und das haben sie ja auch ziemlich konsequent durhgezogen.


Ich glaube, er redet nicht vom Binden sondern von dem glEnable.

Also, der einzige mir vorstellbare Sinn dahinter ist, dass man eine Textur zwar gebunden lassen kann (wäre bei dir durchgehend hilfreich, schließlich hast du nur eine Textur), aber so das Zeichnen dieser Textur mit einem einfachen glDisable(GL_TEXTURE_2D) unterbinden kann.

Gruß Lord Horazont

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 04, 2008 14:08 
Offline
DGL Member
Benutzeravatar

Registriert: Di Apr 29, 2008 18:56
Beiträge: 1213
Programmiersprache: Delphi/FPC
War die Frage wirklich so schrecklich formuliert? xD
ich meinte das so: glCopytexImage2D erwartet ja als ersten Parameter das Ziel (target: Cardinal). Und da ich das auf meine Textur "Screen" anwenden will hab ich mir gedacht das ich gleich diese als target übergeben kann. geht aber nich, wie wir festgestellt haben, sondern ich muss erst Screen binden und dann GL_TEXTURE_2D als target übergeben! und das hat mich verwirrt!
@Lossy eX: ich hab mich auch über den fehler gewundert (war ne Zugriffsverletzung), als ich dann aber im Tutorial gelesen hab, das ich die textur direkt nach InitOpenGL erzeugen soll, hab ich die Prozedur einfach ma dahin gesetzt und der Fehler war weg. Deshalb hab ich den nich weiter erwähnt.

MfG Bergmann.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 04, 2008 15:37 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Ich habe das Thema heute morgen nur kurz überflogen und mir war der Zusammenhang nicht ganz klar. ;) Das Target was du angibst ist vergleichbar mit einem Texturtypen. Also 2D Texturen oder aber auch 1D, 3D oder 2D Texturen mit beliebigem Ausmaß (TexturenRectangle). Und du bindest eine Textur an ein Target und benutzt dann dieses Target, wenn du irgendwas damit machen willst. Also Parameter oder irgendwas mit den Daten.

Aber da kann ich dir nur zustimmen. Das ist sicher nicht ganz so einfach zu verstehen. Es wäre sicher einfacher, wenn man direkt die ID angeben könnte. Mitunter wurde es ja so ähnlich gemacht. Allerings kann eine solche zusätzliche Unterscheidungsebene aber auch positiv sein. Wenn sie gebraucht wird, dann sind die Funktionen nicht nutzlos und müssen auch nicht ersetzt werden.


Fehler: Das war nicht direkt auf dich bezogen. Das ist leider etwas was ich schon viel zu häufig erlebt habe. Jemand beklagt sicht über "einen Fehler" und wenn man mal näher nachfragt, dann stellt sich häufiger herraus, dass der Text des Fehlers eigentlich schon alles aussagt. Eine Zugriffsverletzung an Adresse 0x00000000 bei dir könnte im übrigen auch bedeuten, dass irgend etwas noch nicht initialisiert wurde. Und wenn du einen Fehler bekommst, dann bitte auch immer mit angeben was das für ein Fehler ist. Lieber zu viele als zu wenige Informationen.


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 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:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.008s | 14 Queries | GZIP : On ]