Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Andreas

Frischling

  • »Andreas« ist der Autor dieses Themas

Beiträge: 77

Beruf: Schüler

  • Private Nachricht senden

1

08.02.2008, 20:04

Darstellungsfehler

Hallo, ich hab jetzt mein Spiel fast fertig, und bei mir sieht es eigentlich ganz ok aus:
http://www.mehringskoetter.de/files/Richtig.jpg
Für diesen Screenshot wurde eine "NVIDIA GeForce FX 5200" verwendet.

Jetzt hab ich das ganze auch auf einem anderen Rechner mit "Mobility Radeon" ausprobiert:
http://www.mehringskoetter.de/files/Falsch.jpg

Zum einen ist der Boden viel weißer, welches ich schonmal unter "Nebelproblem" gepostet habe, hat aber leider keiner geantwortet :-(

Aber jetzt ist noch das Problem mit der SkyBox links hinzu gekommen.
Ich hab dafür eigentlich nur die SkyBox der Tribase Engine verwendet:

C-/C++-Quelltext

1
2
3
4
5
g_pSkyBox = new tbSkyBox;
        if(g_pSkyBox->Init(m_pSkyBoxTex)) TB_ERROR("Fehler beim Erstellen der Sky-Box!", TB_ERROR);
........

g_pSkyBox->Render(g_vCameraPos);


Das einzige was ich an der SkyBox geändert habe, ist das ich die Verschiebung der Eckpunkte verringert habe, da sonst bei mir die SkyBox schwarz dargestellt wurde (könnte vielleicht sein das sie geclipped werden, da meine ferne Clippingebene schon bei 6.0f liegt)

C-/C++-Quelltext

1
2
3
4
5
6
7
for(int iVertex = 0; iVertex < 8; iVertex++)
    {
        // Texturkoordinate eintragen und Sky-Box skalieren

        aVertex[iVertex].vTexture = aVertex[iVertex].vPosition;
        //aVertex[iVertex].vPosition *= 50.0f;

        aVertex[iVertex].vPosition *= 3.0f;
    }


Woran können denn diese Grafikfehler liegen und was kann man dagegen machen?

Vielen, vielen Dank für eine Antwort,
viele Grüße
Andreas

3dcoder

Frischling

Beiträge: 40

Wohnort: Krefeld

  • Private Nachricht senden

2

08.02.2008, 20:11

Ändert sich die fehlerhafte linke Seite der Skybox wenn du dich in der Map herumbewegst? Ändert sich der Fehler (das Aussehen der fehlerhaften Textur meine ich) nach einem Reboot des Rechners?

Andreas

Frischling

  • »Andreas« ist der Autor dieses Themas

Beiträge: 77

Beruf: Schüler

  • Private Nachricht senden

3

08.02.2008, 20:27

Hi,
den Rechner hab ich schon zweimal neugestartet, aber trotzdem tritt der Fehler noch auf. Beim Bewegen ist der Fehler auch vorhanden.

3dcoder

Frischling

Beiträge: 40

Wohnort: Krefeld

  • Private Nachricht senden

4

08.02.2008, 20:32

Okay, aber sieht die fehlerhafte Textur jedesmal _exakt_ gleich aus? Falls nein würde das auf nicht initialisierten Speicher hindeuten (z.B. Mipmap Images die nicht automatisch berechnet wurden).

Andreas

Frischling

  • »Andreas« ist der Autor dieses Themas

Beiträge: 77

Beruf: Schüler

  • Private Nachricht senden

5

08.02.2008, 20:37

Ich hab jetzt zwei unterschiedliche Varianten gesehen:
einmal dieses "verschmierte" wie in dem hochgeladenen Screenshot und einmal nur ein fehlerhafter dünner Streifen an der Stelle, an der die beiden Eckentexturen aufeinander treffen.

ChrisJ

Alter Hase

Beiträge: 487

Wohnort: Schweich

Beruf: Schüler

  • Private Nachricht senden

6

08.02.2008, 20:38

zu dem hellen boden:
es sieht so aus, als würdest du im ersten fall den nebel per pixel berechnen, und im zweiten fall per vertex.
"Don't trust your eyes: They are a hell of a lot smarter than you are"

Andreas

Frischling

  • »Andreas« ist der Autor dieses Themas

Beiträge: 77

Beruf: Schüler

  • Private Nachricht senden

7

08.02.2008, 20:41

Die Nebeleinstellung ist aber mit:

C-/C++-Quelltext

1
2
3
4
5
6
7
3D.SetRS(D3DRS_FOGENABLE,       TRUE);
    D3D.SetRS(D3DRS_FOGVERTEXMODE,  D3DFOG_LINEAR);
    D3D.SetRS(D3DRS_FOGTABLEMODE, D3DFOG_NONE);
    D3D.SetRS(D3DRS_FOGCOLOR, tbColor(1.0f, 1.0f, 1.0f));
    D3D.SetRSF(D3DRS_FOGSTART,      3.0f);
    D3D.SetRSF(D3DRS_FOGEND,        6.0f);
    if(D3D.SetRS(D3DRS_RANGEFOGENABLE, FALSE)!= TB_OK) TB_ERROR("NEBEL FUNTZT NICHT", TB_ERROR);

Jedesmal die gleiche, interpretiert die Grafikkarte das anders?

Andreas

Frischling

  • »Andreas« ist der Autor dieses Themas

Beiträge: 77

Beruf: Schüler

  • Private Nachricht senden

8

08.02.2008, 20:55

ich kann mir vorstellen, dass so eine ferndiagnose recht schwer ist, ich hab mal ein kleines Programm erstellt, bei der der Fehler auch auftritt:

http://www.mehringskoetter.de/files/daten.zip


Der Quelltext ist hier:
http://www.mehringskoetter.de/files/Modelle.cpp

Bei mir ist nur der ferne, untere Horizont weiß, bei dem anderen Rechner kann ich gar keine grüne Ebene mehr sehen.

3dcoder

Frischling

Beiträge: 40

Wohnort: Krefeld

  • Private Nachricht senden

9

08.02.2008, 21:45

Also ich habe mal dein Testprogramm gestartet und sehe die untere Hälfte komplett weiss, die obere komplett schwarz.... ABER: Wenn ich mich nach Rechts drehe kommt ein Punkt an dem es plötzlich richtig wird: Unten die Textur, hinten der Nebel und der Himmel schwarz.
Etwa für eine Drehung von 5-10 Grad bleibt das Bild korrekt, dann wird der Boden wiede weiß. Drehe ich mich zurück, dann wird das Bild wieder richtig.

Es sieht mir so aus als wären die Normalen der Ebene nicht korrekt - und es liegt gar nicht am Nebel?!?!

Grüße
3dcoder

3dcoder

Frischling

Beiträge: 40

Wohnort: Krefeld

  • Private Nachricht senden

10

08.02.2008, 21:53

Nachtrag: Wenn das Bild bei der Drehung beginnt korrekt zu werden geschieht das "sanft" - das Bild fadet von weiss zur Textur - um später wenn es wieder falsch wird geschieht dies umgekeht. Spricht meines Erachtens nach ebenfalls für falsche Normalen.

Du setzt in deinem Source auch keine Normalen so wie ich das sehe...

Kann es vielleicht sein, dass das weiss einfach der Hilight Spot der Beleuchtung ist? Setzt doch mal die Hilight Color auf Blau oder so...

Grüße
3dcoder

Werbeanzeige