amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > Programmierung > Cliping Fehler [ - Suche - Neue Beiträge - Registrieren - Login - ]

-1- [ - Beitrag schreiben - ]

10.09.2004, 19:05 Uhr

Mad_Dog
Posts: 1944
Nutzer
Bei einem GimmeZeroZero Fenster wird ja bekanntlich ein extra Layer installiert. Jetzt könnte man meinen, daß dadurch eigentlich verhindert werden sollte, daß Grafikfunktionen über die Fensterdimensionen hinauszeichnen.

Leider habe ich bei meinem Programm "Supershapes" das Problem, daß das Cliping manchmal nicht richtig funktioniert und auf den Workbenchscreen gemalt wird. :( Seltsamerweise funktioniert das Cliping manchmal und manchmal (selten) nicht.

Bei dem Lines-Demo von der Developer CD wird ja auch kein extra Layer installiert und dort gibt's keine Probleme.

Gibt's da irgend einen Bug in der layers.library?

--

http://www.norman-interactive.com

[ - Antworten - Zitieren - Direktlink - ]

10.09.2004, 20:38 Uhr

geit
Posts: 332
[Ex-Mitglied]

Welches GFX-System verwendest Du?

Es kann durchaus sein, das die Line-Funktionen der Grafikkarten-Treiber ein Problem haben mit bestimmten Richtungen und Modes haben. Der Amithlon-Treiber hat z.B. dieses Problem und zeichnet die Linien wild in der Gegend rum.

Daher kann es gut sein, dass die Clipping Routine berechnet der Kram ist im Fenster und die Routine malt dann aus dem Fenster raus.

Das hängt natürlich von der Implementierung des Clippings ab. Wenn das jeder Pixel vor dem setzen geprüft wird, gibt es natürlich diese Probleme nicht. Aber IMHO wird bei Linien vorher gecheckt, ob es drin ist oder nicht und dann ggf. die Coordinaten geändert, um die Linie zu kürzen.

Guido Mersmann


[ - Antworten - Zitieren - Direktlink - ]

10.09.2004, 21:02 Uhr

Mad_Dog
Posts: 1944
Nutzer
Ich verwende CybergraphX. Bei Verwendung von StormMesa tritt dieses Problem allerdings nicht auf.
--

http://www.norman-interactive.com

[ - Antworten - Zitieren - Direktlink - ]

11.09.2004, 08:37 Uhr

thomas
Posts: 7716
Nutzer
Zitat:
bei meinem Programm "Supershapes"

Hast du da mal einen Link ? Ich kann das noch nicht so ganz glauben. Es gibt zwar manchmal Grafikmüll auf der Workbench, aber meistens ist das System dann schon so kaputt, daß kaum noch was funktioniert und nach einem Reset arbeitet alles wieder so, wie es soll.

Mir ist es jedenfalls noch nie passiert, daß ein Programm außerhalb seines Fensters zeichnen konnte. Weder mit CGX, noch mit P96, weder auf einem Amiga, noch WinUAE, Amithlon, MorphOS oder OS4

Gruß Thomas
--
Email: thomas-rapp@web.de
Home: home.t-online.de/home/thomas-rapp/

[ - Antworten - Zitieren - Direktlink - ]

11.09.2004, 12:26 Uhr

Holger
Posts: 8116
Nutzer
Zitat:
Original von Mad_Dog:
Bei einem GimmeZeroZero Fenster wird ja bekanntlich ein extra Layer installiert. Jetzt könnte man meinen, daß dadurch eigentlich verhindert werden sollte, daß Grafikfunktionen über die Fensterdimensionen hinauszeichnen.

Das sollte bei jedem Fenster der Fall sein. Der extra-Layer eines GZZ-Fenster verhindert zusätzlich, daß man in den Randbereich des Fensters zeichnen kann. Da man das auch mit einem einfachen ClipRect erreichen kann, sollte man den Overhead eines GZZ-Fensters vermeiden. Für AmigaBasic war's damals nützlich, für eine ernstzunehmende Anwendung nicht.

mfg
--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]

11.09.2004, 12:28 Uhr

DariusBrewka
Posts: 899
[Benutzer gesperrt]
Vieleicht hast du den falschen RastPort angegeben?, statt MyWindow->RPort Screen->RastPort oder so ähnlich.

Womit zeichnest du?, mit Draw()/Line(), SetPixel().

Andererseits habe ich mit WinUAE so einige Probleme, dass einiges (aber nur extrem selten dorthin gezeichnet wird, wo es nicht hingehört, was aber bei vielen Applikationen passiert und somit nicht auf meine Kappe geht). Das ist aber nur bei BlockOperationen der Fall.

gruss

[ - Antworten - Zitieren - Direktlink - ]

11.09.2004, 16:50 Uhr

Mad_Dog
Posts: 1944
Nutzer
Das Programm gibt's auf meiner Homepage:

http://w3studi.informatik.uni-stuttgart.de/~walternn/Supershapes.lha


Gezeichnet wird mittels move() und draw(). Keine Sorge: Ich benutze schon den richtigen RastPort.

Wie gesagt: Das Problem tritt nur manchmal auf...
--

http://www.norman-interactive.com

[ - Antworten - Zitieren - Direktlink - ]

13.09.2004, 15:14 Uhr

Holger
Posts: 8116
Nutzer
Kann man auch den Source-Code sehen?
Dann kann man leichter nach der Ursache suchen...

mfg
--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]


-1- [ - Beitrag schreiben - ]


amiga-news.de Forum > Programmierung > Cliping Fehler [ - Suche - Neue Beiträge - Registrieren - Login - ]


.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.