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

Architekt

Community-Fossil

  • »Architekt« ist der Autor dieses Themas

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

31

01.06.2012, 11:31

Ja, das Textur Format ist BGRA. Leider weiß ich nicht, inwiefern man da nun was anpassen muss. Oder kann man einfach das Format ändern?
Negativ ist aber in erster Linie, dass die schwarzen Rändern scheinbar wieder da sind. Oder liegt das ebenso am vertauschten Kanal?
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

32

01.06.2012, 11:32

Das kann am Kanal liegen (wenn Alpha und Blau getauscht haben z.B.) oder an komplett deaktiviertem Blending. Wenn gar kein Blending mehr aktiv ist, dann müsste ja zumindest der Hintergrund stimmen, wenn die Kanäle richtig sind und glColor auf 1,1,1 steht.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Architekt

Community-Fossil

  • »Architekt« ist der Autor dieses Themas

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

33

01.06.2012, 11:39

Du meinst unter glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); noch ein glColor3f(1, 1, 1);?
Hab ich probiert. Aber scheinbar kann ich dieses blaue Ding gar nicht mehr reproduzieren, da ich nun wieder nur weiß zu sehen bekomme, obwohl das Blending danach nicht mehr deaktiviert wird. Sehr seltsam.
Mache ich danach wieder glBlendFunc(GL_SRC_ALPHA, GL_SRC_COLOR); ist alles wieder beim alten. Spinnt da was?
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

34

01.06.2012, 12:04

Nur mal um sicher zu gehen, Du aktivierst und deaktivierst Blending aber über glEnable und glDisable?
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Architekt

Community-Fossil

  • »Architekt« ist der Autor dieses Themas

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

35

01.06.2012, 12:06

Wie du siehst:

C#-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/**
*
*/
void Draw(const Window wnd) {
    // wenn update
    if (this._need_update) {
        this._BufferMap(wnd.GetWidth(), wnd.GetHeight());

        this._need_update = false;
    }

    if (!glIsEnabled(GL_BLEND)) {
        glEnable(GL_BLEND);
    }

    //glBlendFunc(GL_SRC_ALPHA_SATURATE, GL_SRC_COLOR);
    glBlendFunc(GL_SRC_ALPHA, GL_SRC_COLOR);

    //glColor3f(1, 1, 1);

    // zeichnen der map
    this._tex.Bind();

    this._buffer[1].PointerTo(Buffer.PtrType.TexCoord);
    this._buffer.DrawArrays(Shape.Type.Triangle);

    // hier stand vorher ein glDisable(GL_BLEND);
}

ja.
Ich wüsste nicht einmal, wie es anders ginge.
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

36

01.06.2012, 12:18

Wenn das nur die Map ist, also rein der Hintergrund ohne transparente Teile, dann gehört da kein Blending hin, so oder so nicht. Wenn dann die Farben falsch sind, dann ist entweder das Surface schon "inkorrekt" oder die Textur hat vertauschte oder skalierte Kanäle.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Architekt

Community-Fossil

  • »Architekt« ist der Autor dieses Themas

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

37

01.06.2012, 12:24

Das ist die TileMap. Bzw. der VBO der die Vertex und Textur Koordinaten der einzelnen Tiles hat.
Dazu muss ich natürlich die Textur, die die gebrauchten Tiles inne hat, dazu binden. Mehr ist es nicht.
Warum sollte da kein Blending hingehören? Allein für einige Effekte ist es da doch am besten.
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

38

01.06.2012, 12:30

Enthält denn die Map transparente Objekte? Entbehrt das nicht etwas dem Sinn einer Tilemap? Oder versteh ich's grad nur falsch?
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Architekt

Community-Fossil

  • »Architekt« ist der Autor dieses Themas

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

39

01.06.2012, 12:35

Manche der Tiles sind transparent damit sie auf andere Tiles gepappt werden können und man die darunterliegenden (zumindest zum Teil) noch sieht.
Stells dir wie in Pokemon vor. Hast einen Boden und darauf kommt ein Item, welches ja als Pokeball dargestellt wurde, wenn ich mich recht erinnere. Dieses Item ist wahrscheinlich eine eigenständige Kachel, die nur diese Grafik enthält und sonst transparent ist, damit sie das Boden Tile nicht vollständig verdeckt. Ich hoffe das ist jetzt keine zu nerdige oder unhilfreiche Beschreibung.
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

40

01.06.2012, 13:29

Na ja, Pokemon is ehrlich gesagt nicht mehr meine Generation. Was ich aber meine is genau das "Boden Tile". Die kannst Du doch alle komplett ohne Transparenz rendern. Die transparenten Objekte darüber natürlich nicht mehr, die sind ja aber vermutlich eh teilweise dynamisch. Aber ganz klar ist schonmal: Wenn es ohne Transparenz nicht korrekt rendert (mal eben von den schwarzen Rändern abgesehen, is klar), dann wird es das mit Transparenz auch nicht.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Werbeanzeige