ENGLISH VERSION |
|
Links | | | Forum | | | Kommentare | | | News melden |
Chat | | | Umfragen | | | Newsticker | | | Archiv |
amiga-news.de Forum > Programmierung > Falsche Farben | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
-1- | [ - Beitrag schreiben - ] |
26.03.2006, 09:39 Uhr Kabo Posts: 39 Nutzer |
Hallo Leute Ich programmiere gerade an ein Spiel. Aber ich habe ein Problem. Mein Screen öffne ich mit: if (IntuitionBase != NULL){ my_screen = OpenScreenTags(NULL, SA_DisplayID,DisplayID, SA_Pens, (ULONG)pens, SA_Title,"KB's-16bit-Screen", SA_Depth,Depth, SA_Behind,TRUE, TAG_DONE); ScreenOn=1; } Der Screen(16bit) ist im Hintergrund. Nach Öffnen der Fenster und Laden des Introbildes per: o[pn] = NewDTObject (PfNa, DTA_GroupID,GID_PICTURE, PDTA_Remap, TRUE, PDTA_Screen,my_screen, TAG_END); if(o[pn]){ DoDTMethod (o[pn],NULL,NULL,DTM_PROCLAYOUT,NULL,TRUE); GetDTAttrs (o[pn], PDTA_BitMapHeader,&bmhd[pn], PDTA_DestBitMap,&bm[pn], TAG_END); p[pn]=1; } Anzeige: BltBitMapRastPort (bm[pn],0,0,rp[wn],0,0,bmhd[pn]->bmh_Width,bmhd[pn]->bmh_Height,0xc0); hole ich den Screen nach vorne. Aber die Farben stimmen nicht. Was kann ich da machen? [ - Antworten - Zitieren - Direktlink - ] |
26.03.2006, 13:27 Uhr thomas Posts: 7718 Nutzer |
Auf welcher Konfiguration arbeitest du ? Mir ist das letztens auch aufgefallen, daß die Farben falsch sind, wenn man SA_Behind,TRUE angibt und den Bildschirm nach dem Laden des Bildes nach vorne holt. Ich kann es jetzt aber nicht mehr reproduzieren. Gruß Thomas -- Email: thomas-rapp@web.de Home: thomas-rapp.homepage.t-online.de/ [ - Antworten - Zitieren - Direktlink - ] |
26.03.2006, 14:53 Uhr Kabo Posts: 39 Nutzer |
Also: Screen=16bit-640x480 Introbild=24bit-IFF 640x480 Blizzard-1260 68060 50Hz Mediator-Z4 Voodoo3-Grafikkarte Cybergraphics.library 41.4 Das Problem tritt auch auf wenn mann wärend des laden des Bildes per Datatype den Zielscreen nach vorne Klickt(oden LAmiga-M). Alle Farben der Bilder die geladen wurden wärend der Zielscreen hinten war sind falsch! Ich muss wohl etwas falsch machen mit meiner Screendefination. Kabo [ - Antworten - Zitieren - Direktlink - ] |
26.03.2006, 18:29 Uhr Holger Posts: 8116 Nutzer |
@Kabo: Laß mich kurz zusammenfassen: Du öffnest einen 16Bit-Screen, sagst dem Datatype aber, daß es "remappen" soll, hast aber kein Pensharing auf Deinem screen aktiviert. Welches Resultat möchtest Du denn eigentlich? True/Pseudocolor, dann würde ich PDTA_Remap, FALSE und PDTA_DestMode, PMODE_V43 für das dt-Objekt benutzen, oder remapping, dann würde ich SA_SharePens, TRUE für den Screen benutzen. mfg -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
31.03.2006, 15:14 Uhr Kabo Posts: 39 Nutzer |
@Holger: Hast ja recht mit SA_SharePens Hatte ich vergessen! Aber die Farben sind immer noch Falsch. Ich habe beide von dir angesprochenen Varianten ausprobiert. Kabo [ - Antworten - Zitieren - Direktlink - ] |
01.04.2006, 16:25 Uhr Kabo Posts: 39 Nutzer |
Hallo ich bin'smal wieder. Ich habe jetzt herausgefunden was stört! Aber ich weiss nicht wieso!! ALSO... Screenmodes: WB = Voodoo:800x600 16bit PC Spiel = Voodoo:800x600 16bit Man beachte das 'PC'!! Ich weiss zwar nicht so recht was der Unterschied ist, aber auf dem Screen ohne 'PC' gibt es Grafikfehler. -falsche Farben beim laden im Hintergrund. -rote Streifen bei ttengine.library. auch Audio: -'Krazen'bei der AHI-ausgabe beim Umschalten der Screens. Wenn ich das Spiel auch auf 'PC' setze ist alles in Butter. Ist meine Grafikkarte kaputt oder ist das Normal? mfg Kabo [ - Antworten - Zitieren - Direktlink - ] |
01.04.2006, 22:16 Uhr whose Posts: 2156 Nutzer |
@Kabo: Merkwürdig, ich dachte bisher immer, daß die Voodoo die Big Endian Modi gar nicht beherrscht, sonst hätte ich Dir das gleich sagen können, wo der Hase im Pfeffer liegt... seis drum, Du hast das Problem ja nun gefunden. Also, dieses Verhalten ist mehr oder weniger normal. Da der von Dir verwendete Workbench-Screen die Bytes jedes Pixels "verkehrt herum" im Speicher stehen hat und beim Umschalten der Screenmodes durch den P96-Treiber (Mediator-Treiber) offensichtlich "vergessen" wird, auf den korrekten Modus (bzw. die korrekte Byte-Reihenfolge im VRAM) umzuschalten, erscheinen die Farben des Hintergrund-Screens falsch, sobald dieser nach vorn geholt wird. Woher nun das Kratzen bei AHI kommt, weiß der Teufel, normal hat das eine nichts mit dem anderen zu tun. Ich denke, da wäre es wohl am Treiberproduzenten (Elbox?), den ein oder anderen Bug in den Treibern zu beseitigen. Umgehen läßt sich das Problem nur schwer, weil es auch GraKas gibt, die die "PC"-Modi gar nicht bieten oder nur "PC"-Modi >8Bit. Da solltest Du evtl. eine Konfigurationsmöglichkeit vorsehen, die dem Benutzer ermöglicht, den passenden Screenmodus vor dem ersten Start von Hand festzulegen oder eine Option, die eine Umgehung des Problems speziell für Voodoo/Mediator-Nutzer aktiviert (Clonen des WB-Screens, falls 15/16Bit), falls dieses Problem bei anderen Nutzern mit ner Voodoo (also z.B. im Prometheus oder GRex) nicht vorkommt. Du solltest zusätzlich Dein Spiel auch mal von jemandem mit einer völlig anderen GraKa (CV64/64/3D z.B.) testen lassen, nicht, daß Du Dir das Endian-Problem auch noch irgendwo ins Spiel mit eingebaut hast. Grüße -- --- µA1 PPC 750GX-800 A4000 PPC 604e-233 [ - Antworten - Zitieren - Direktlink - ] |
-1- | [ - Beitrag schreiben - ] |
amiga-news.de Forum > Programmierung > Falsche Farben | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
Impressum |
Datenschutzerklärung |
Netiquette |
Werbung |
Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten. |