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

kie

Frischling

  • »kie« ist der Autor dieses Themas

Beiträge: 9

Wohnort: Hamburg

  • Private Nachricht senden

1

16.10.2005, 13:35

[tbDirect3d] Frage zu Getter und Setter der RS, TSS und SS.

Hallo.
Habe mir eben mal tbDirect3d genauer angesehen und mir ist da etwas aufgefallen was ich mir nicht erklären kann.

In den Methoden GetTSS und GetTSSF unterscheidet sich die Bedingung, wann ein TSS gültig ist und wann nicht.

Aus GetTSS:

Quellcode

1
2
3
4
5
6
if(dwStage > 8 ||
       TSS < 1 || TSS > 32)
    {
        // Texturschicht-State ist nicht gültig!
        TB_ERROR("Ungültiges Texturschicht-State!", 0xEEEEEEEE);
    }


Aus GetTSSF:

Quellcode

1
2
3
4
5
6
if(dwStage < 0 || dwStage > 8 ||
       TSS < 0 || TSS > 32)
    {
        // Texturschicht-State ist nicht gültig!
        TB_ERROR("Ungültiges Texturschicht-State!", -10000000.0f);
    }


1. dwState ist ein unsigned long (oder auch DWORD), er kann AFAIK niemals negativ werden. Warum wird bei GetTSSF abgefragt ob er kleiner als 0 ist?

2. Bei GetTSS muss TSS zwischen 1 und 32 liegen bei GetTSSF zwischen 0 und 32. Warum?

3. Warum hast du anstelle von SetRS und SetRSF oder SetTSS und SetTSSF nicht einfach nur Parameter overloading benutzt und dich auf einen Bezeichner beschränkt. Also "SetRS" und "SetTSS" in den o.g. Fällen.
Daniel Kiedrowski coder @ "teamless"
Schlimm wird es erst, wenn sich die Stimmen im Kopf auch untereinander unterhalten.

Anonymous

unregistriert

2

16.10.2005, 14:09

1. lol
2. lol
3. SetRS (1); << Was wird aufgerufen? Float oder unsigned long? Da spuckt dein Compiler fehler aus, da der Aufruf mehrdeutig ist.

kie

Frischling

  • »kie« ist der Autor dieses Themas

Beiträge: 9

Wohnort: Hamburg

  • Private Nachricht senden

3

16.10.2005, 23:20

zu 3: Danke, jetzt ist mir das auch klar.
Daniel Kiedrowski coder @ "teamless"
Schlimm wird es erst, wenn sich die Stimmen im Kopf auch untereinander unterhalten.

Werbeanzeige