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

Aktuelle Zeit: Mo Jul 28, 2025 22:01

Foren-Übersicht » DGL » Feedback
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 75 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4, 5  Nächste
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Sa Mai 07, 2005 18:34 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 17, 2002 12:07
Beiträge: 976
Wohnort: Tübingen
Weis keiner Rat? Das Problem hält mich nämlich grad total auf, will nämlich Cubemaps mit Shadern zusammen nutzen. Hat niemand SourceCode, in dem er es schon mal hinbekommen hat, und dabei die textures.pas verwendet. Ich will unbedingt diese Lib verwenden, weil ich da inzwischen schon ein paar Veränderungen vorgenommen habe.
Ich habs auch schon mit
Code:
  1. gluBuild2DMipmaps(GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB + i, 4, sizeXY, sizeXY, 4, GL_UNSIGNED_BYTE, TempPointer);

versucht, und so lässts sichs wenigstens kompilieren, die Cubemaps sieht man aber trotzdem nicht. Mich wundert vor allem, dass man partout kein GL_RGBx eingeben kann.
Bitte helft mir!

_________________
"Du musst ein Schwein sein in dieser Welt, sangen die Prinzen, das ist so 1.0. Du musst auf YouTube zeigen, dass dir dein Schweinsein gefällt, das ist leuchtendes, echtes Web 2.0."
- Hal Faber

Meine Homepage: http://laboda.delphigl.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Mai 07, 2005 19:22 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Ah. Ich sehe gerade, dass du die Methode gluBuild2DMipmaps verwendest. Mit der ging es bei mir auch nicht. Nimm mal die glTexImage2D. Und sonst würde ich dir mal empfehlen im Zweifelsfalle mal in meinen Loader zu schauen. Wie man ja sehen kann funktioniert der. Und zwar ziemlich gut.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mai 08, 2005 09:16 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 17, 2002 12:07
Beiträge: 976
Wohnort: Tübingen
Heureka!
Ich bin jetz endlich mal auf die Idee gekommen, bei sulaco nachzuschauen, weil wenn jemand da ne Cubemapping-Demo macht, dann sicherlich mit der hauseigenen Texture-Library. Da hab ich aber komisches herausgefunden, was den ein oder anderen interessieren dürfte: Saschas Code hat schon gestimmt, und man KANN mehrere Texturen gleichzeitig binden, und zwar so (Originalcode):
Code:
  1.  
  2. glBindTexture(GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT,CubeMap[0]);
  3. glBindTexture(GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT,CubeMap[1]);
  4. glBindTexture(GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT,CubeMap[2]);
  5. glBindTexture(GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT,CubeMap[3]);
  6. glBindTexture(GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT,CubeMap[4]);
  7. glBindTexture(GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT,CubeMap[5]);
  8.  

Ich habs jetzt noch nicht in meinem eigenen Code ausprobiert (Muttertag-> muss gleich weg), aberich konnte den Source problemlos kompilieren.

_________________
"Du musst ein Schwein sein in dieser Welt, sangen die Prinzen, das ist so 1.0. Du musst auf YouTube zeigen, dass dir dein Schweinsein gefällt, das ist leuchtendes, echtes Web 2.0."
- Hal Faber

Meine Homepage: http://laboda.delphigl.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mai 08, 2005 14:51 
Offline
DGL Member

Registriert: Mi Apr 13, 2005 16:06
Beiträge: 67
Wohnort: Fulda
Aber das bindet doch nicht mehrere Texturen gleichzeitig sondern die 6 hintereinander, wodurch beim Zeichnen trotzdem nur Nummer 6 aktiv ist. Oder nicht? :?:

Edit:
Man könnte natürlich argumentieren, dass durch die 6 verschiedenen Targets doch alle 6 Texturen aktiv sind, aber laut dem Redbook akzeptiert glBindTexture als Target die oben angegebenen gar nicht, sondern nur GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D oder GL_TEXTURE_CUBE_MAP - sonst nix.

Was sehr seltsam ist, ist dass das Beispiel von Sulaco bei mir einwandfreie Ergebnisse bringt, ich es aber mit dieser Methode (6 mal glBindTexture statt 6 mal glTexImage2D) einfach nicht zum Laufen bekommen habe. Sehr komisch, zumal die bei Sulaco verwendete Methode ja schon von den Spezifikationen her nicht klappen dürfte. Dass sie es trotzdem tut, verwirrt mich etwas.

Robert


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mai 08, 2005 15:48 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Ich denke mal, dass es so etwas wie ein inoffizieller Standard ist der von großen der Szene unterstützt wird. Ähnlich wie der IE und verschiedene Webseiten. Wobei diese Methode natürlich ein gewisses maß an Flexibilität gegenüber der offiziellen Spezifikation bietet. Allerdings sobald es in dem Specs von SGI von nicht mit dabei ist dann würde ich mich nicht darauf verlassen, dass es überall funktioniert.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mai 08, 2005 15:59 
Offline
DGL Member

Registriert: Mi Apr 13, 2005 16:06
Beiträge: 67
Wohnort: Fulda
Na dann. Werde trotzdem bei der offiziellen Methode bleiben. Spätestens seit deinem Loader in neuer Version ist das ja kein Problem mehr.
Auch wenn beim letzten Test jpegs aus irgendeinem Grund nicht geklappt haben, sondern nur bmps.

Robert


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mai 08, 2005 21:32 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Benutze Standard Delphi jpegs. Also wenn da was nicht geht dann tippe ich mal, dass die Datei nicht 100%tig nach dem Standard ist. Aber im Zweifel kannste ja jetzt auch pngs nehmen. Bzw sollte sich das mit den Datei wiederholen, dann mir bitte die Datei zuschicken. Dann schaue ich mir das mal an.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mai 09, 2005 07:29 
Offline
DGL Member

Registriert: Mi Apr 13, 2005 16:06
Beiträge: 67
Wohnort: Fulda
Nun, ich habe es mit den Bildern von Nvidia versucht, die du auch in deinem Beispiel benutzt. Werds aber nochmal testen.

Ach so:
Auch wenn die Methode von Sascha scheinbar doch funktioniert, würde ich doch vorschlagen, das Tut anzupassen oder zumindest irgendeinen Quellcode zu veröffentlichen. Denn nur mit den Informationen, die Sascha in dem Tut gibt, ist es wohl unmöglich, das ganze nachzuvollziehen.

Robert


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mai 09, 2005 10:18 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Achso. Die Bilder. Die Oben und Unten (Y Achse) scheinen auf dem Kopf zu stehen. Bei mir ging es nur sobald ich die passend zu den anderen gedreht (oder gespiegelt) hatte. Dann standen die auch Bildtechnisch richtig zu den anderen. Aber merkwürdigerweise nur die Beiden alle anderen waren richtig. Und obwohl eigentlich die Bilder im Vergleich (von der glBitmap und der Textures) andersherum stehen scheinen beide Lösungen irgendwo zu funktionieren. Was mich ein wenig verwirrt, da man bei den CubeMaps keine Texturkoordinaten für die Maps angeben kann und das so ausgleichen kann. Ich bin was das angeht ehrlich auch ein wenig sehr verwirrt.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mai 09, 2005 13:42 
Offline
DGL Member

Registriert: Mi Apr 13, 2005 16:06
Beiträge: 67
Wohnort: Fulda
Das Problem mit dem Spiegeln hatte ich auch, allerdings nur bei den Bitmaps. Denn die jpegs produzierten bei mir einen schönen, grauen Teapot - ohne jegliche Texturierung. Werd mir die Bilder aber nochmal anschauen, vielleicht hab ich sie ja irgendwo mal mit falschen Formateinstellungen abgespeichert.

Robert


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Jun 08, 2005 22:34 
Offline
DGL Member

Registriert: Mi Dez 15, 2004 20:36
Beiträge: 454
Wohnort: Wien, Österreich
Code:
  1.  
  2.  glBindTexture(GL_TEXTURE_CUBE_MAP_ARB, Result);
  3.  

Also ich weiss nicht wie dass bei euch geht, bei mir überhaupt nicht. Nur :
Code:
  1.  
  2.  glBindTexture(GL_TEXTURE_2D, Result);
  3.  


:?

_________________
"Meine Mutter sagt : 'Dumm ist der, der Dummes tut'." - Forrest Gump


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jun 09, 2005 05:36 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Und damit bist du dann in der Lage eine cubemap dar zu stellen? Normal musst du die Textur ja eimal binden um Bilddaten hochladen zu können und wenn du da schon Texture_2d verwendet hast, dann zieht sich das logischerweise durch. An der Stelle musst du dann natürlich auch texture_cube_map benutzen. Dann sollte es eigentlich gehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jun 09, 2005 12:34 
Offline
DGL Member

Registriert: Mi Dez 15, 2004 20:36
Beiträge: 454
Wohnort: Wien, Österreich
Zitat:
Und damit bist du dann in der Lage eine cubemap dar zu stellen?

Ja das bin ich. :?
Wäre es nicht nett wenn einer von euch den ganzen Code posten würde, damit ich sehen kann, woran es liegt. Also nicht nur die Ausschnitte, sondern den ganzen Code, ich bin ja langsam paranoid geworden ;).[/pascal]

_________________
"Meine Mutter sagt : 'Dumm ist der, der Dummes tut'." - Forrest Gump


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jun 09, 2005 13:05 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Also sobald ich versuche es mit TEXTURE_2D zu machen endet es in einem rein weißem Objekt. Was ja auch durchaus korrekt ist. Was hast du denn für eine Grafikkarte? Ne nVidia? Die sind eher dafür bekannt ein wenig tolleranter zu sein.

Den Code den ich oben gepostet hatte. Also der für die glBitmap der ist so in der Lage ein Cubemap darzustellen. Du musst lediglich die erstellte Instanz binden. Thats it.

Und wenn du dir die glBitmap mal anschaust also die Klasse in der Unit dann kannst du dir das ganz genau ansehen. Aber im Endeffekt sieht es so aus, dass ich eine Textur erstelle die auf das Target GL_TEXTURE_CUBE_MAP binde und dann die einzellnen Bilder mit glTexImage auf die Targets GL_TEXTURE_CUBE_MAP_POSITIVE_X etc. lade. Wenn ich jetzt wieder GL_TEXTURE_CUBE_MAP binde dann ist alles so wie es sein soll.

Wrap auf GL_CLAMP_TO_EDGE, da es sonst Kanten an den Rändern gibt. (Macht meine Klasse automatisch)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jun 09, 2005 13:20 
Offline
DGL Member

Registriert: Mi Dez 15, 2004 20:36
Beiträge: 454
Wohnort: Wien, Österreich
Wenn ich es so mache , wie in glBitmap beta vorgesehen ist, dann stürzt mein Komp. ab. Die Garka ist Radeon7500, mit der Ünterstützung von GL_EXT_TEXTURE_CUBE_MAP und GL_ARB_Texture_Cube_Map.

_________________
"Meine Mutter sagt : 'Dumm ist der, der Dummes tut'." - Forrest Gump


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 75 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4, 5  Nächste
Foren-Übersicht » DGL » Feedback


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


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.017s | 15 Queries | GZIP : On ]