ENGLISH VERSION |
|
Links | | | Forum | | | Kommentare | | | News melden |
Chat | | | Umfragen | | | Newsticker | | | Archiv |
amiga-news.de Forum > Programmierung > Datatypes und 24Bit | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
-1- | [ - Beitrag schreiben - ] |
17.05.2006, 22:32 Uhr Ralf27 Posts: 2779 Nutzer |
Mit Datatypes 24Bit-Bilder zu laden ist ja nicht so ohne weiteres möglich, bzw. hab ich da Probleme. Ich hab z.b. IFF-ILBM24 getestet und leider wird es nicht richtig geladen. Liegt das an den Datatypes oder was muß ich machen das auch 24Bit richtig "ankommt"? Bzw. vermute ich ja das ich auch das Problem habe das ich die Bitmaps von INTERLEAVED zu "Normal" konvertieren muß und das es da Probleme geben könnte. Ich benutze aber die Systemroutinen, also nix eigenes. Kurzum, was muß man bei Datatypes und 24Bit-Bildenr beachten, wenn man sie z.b. mit AGA benutzen möchte? -- http://www.alternativercomputerclub.de.vu [ - Antworten - Zitieren - Direktlink - ] |
17.05.2006, 22:55 Uhr thomas Posts: 7718 Nutzer |
Beim NewDTObject PDTA_DestMode,PMODE_V43 angeben. Ansonsten werden die Bilder auf 8 Bit runtergerechnet. Gruß Thomas -- Email: thomas-rapp@web.de Home: thomas-rapp.homepage.t-online.de/ [ - Antworten - Zitieren - Direktlink - ] |
17.05.2006, 23:33 Uhr MaikG Posts: 5172 Nutzer |
Wie ich das verstanden hab kommt bei Ralf gar kein Bild mit der ähnlichkeit zum Original an... Sprich er hat nur AGA und bekommt ohne PDA_Dest kein Bild. Er kann diese Modi auch nicht setzen da diese nicht in den Includes zu Maxonbasic enthalten sind. [ - Antworten - Zitieren - Direktlink - ] |
17.05.2006, 23:55 Uhr Ralf27 Posts: 2779 Nutzer |
Zitat: Da hast du mich falsch verstanden. Ich bekomme ein Bild, aber es ist nicht so wie ich es mir vorstelle. Als Beispiel: Gegeben ein Bild mit IFF-ILBM.. sagen wir mal 320*200 in 4 Bit. Wenn ich dieses Bild lade dann läuft alles wunderbar. Wenn ich jetzt das Bild umwandle in 320*200*24, auch in IFF-ILBM(!), dann läd das Datatype das Bild und rechnet es zwar auch wieder an den Screen runter (640*256*3Bit), aber diesmal mit extremen Dither. Hab es eben auch mit JPEG versucht, aber da ist es mir eher klar das da die Darstellung etwas anderst ist, da es ja verlustbehaftet ist. Also mal sorum gefragt: Ist es normal das die 24Bit-Bilder schlechter aussehn als 8Bit, wenn man die 8Bit-Bilder in 24Bit umrechnet? Und eine weitere: Läuft das ganze was ich da habe auch mit 24Bit-Bildern auf einem >8Bit-Screen richtig? Ich vermute mal das die 24Bit-Bilder genommen werden, auf 8Bit runtergerechnet werden und dann auf 24Bit ausgegeben werden. Und da kommt wohl der neue Parameter ins Spiel denn ich dann auch setzen müßte. Bzw. dürfte ich diesen Parameter am besten auch dann nur setzen. -- http://www.alternativercomputerclub.de.vu [ Dieser Beitrag wurde von Ralf27 am 17.05.2006 um 23:58 Uhr geändert. ] [ - Antworten - Zitieren - Direktlink - ] |
17.05.2006, 23:56 Uhr Ralf27 Posts: 2779 Nutzer |
Zitat: Bei CybergraphX waren auch einige Konstanten nicht definiert und ich hab sie mir aus C-Includes rausgesucht und selbst in die MaxonBasic-Includes reingesetzt. Also, das geht auch. -- http://www.alternativercomputerclub.de.vu [ - Antworten - Zitieren - Direktlink - ] |
18.05.2006, 01:30 Uhr whose Posts: 2156 Nutzer |
Zitat: Normal ist das eigentlich nicht, kann aber vorkommen, je nach dem, womit Du die Bilder auf 24Bit hochrechnen läßt. Zitat: Gute Frage... ich denke aber eher nicht, solange Du als PDTA_DestMode nicht PMODE_V43 wählst. Zitat: Also, soweit sich mir das Ganze erschlossen hat, ist dem Datatype der Screenmode des Ziels relativ egal, solange nicht PMODE_V43 aktiv ist. Dann wird auch für 24Bit-Zielscreens mit 8Bit und palettebasiert ausgegeben. Umgekehrt hat Dithering zur Folge. Ich bin da bisher immer so vorgegangen, daß ich beim Öffnen des Spielscreens die Farbtiefe ermittelt habe und von da ausgehend entweder palettebasiert oder in 24Bit laden lasse. Für Blitmasken spielt das keine so große Rolle, da diese eh in 1Bit Farbtiefe vorliegen sollten und, wenn möglich, eine extra BitMap (in der entsprechenden Farbtiefe) bekommen sollten. Das reduziert die Gefahr einer möglichen Verwirrung mit dem Ausgangsformat Grüße -- --- µA1 PPC 750GX-800 A4000 PPC 604e-233 [ Dieser Beitrag wurde von whose am 18.05.2006 um 01:44 Uhr geändert. ] [ - Antworten - Zitieren - Direktlink - ] |
18.05.2006, 09:48 Uhr MaikG Posts: 5172 Nutzer |
>Gegeben ein Bild mit IFF-ILBM.. sagen wir mal 320*200 in 4 Bit. >Wenn ich dieses Bild lade dann läuft alles wunderbar. Wenn ich >jetzt das Bild umwandle in 320*200*24, auch in IFF-ILBM(!), dann >läd das Datatype das Bild und rechnet es zwar auch wieder an den >Screen runter (640*256*3Bit), aber diesmal mit extremen Dither. Schalte Dithern doch aus. CONST PDTA_DestMode& = &h800010FB& 0 - V42 1 - V43 [ - Antworten - Zitieren - Direktlink - ] |
18.05.2006, 12:01 Uhr Holger Posts: 8116 Nutzer |
Zitat: Solange er in eine BitMap <24Bit blittet, die dann auf den Bildschirm kommt, kann er das nicht verhindern. mfg -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
18.05.2006, 13:16 Uhr bubblebobble Posts: 707 Nutzer |
Oder du machst das ganze in Amiblitz, dort kannst du den Grad des Ditherns einstellen, von 0-100%. Sehr nützlich z.B. für GUI Elemente, wo man meistens kein Dithern haben möchte: image_load{imageID,file,trgb,toleranz,dithermode,ditheramount} z.B.: image_load{1,"mypic.png",$FF00FF,1,#DITHERMODE_FS,50} Oder du implementierst das analog in Maxon, indem du die guigfx.library benutzt, anstelle der Datatypes direkt. -- Thilo Köhler, Author von: HD-Rec, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, TKUnpacker Homepage: http://www.hd-rec.de [ - Antworten - Zitieren - Direktlink - ] |
18.05.2006, 21:40 Uhr Ralf27 Posts: 2779 Nutzer |
Zitat:Leider kann ich kein AmiBlitz benutzen, weil ich hier keine Grafikkarte habe. Leider erwartet AmiBlitz eine CybergraphX-Installation. Aber CybergraphX für AGA extra für AmiBlitz? Zitat:Das liest sich auch wieder recht interesant. Daran hab ich auch noch nicht gedacht. -- http://www.alternativercomputerclub.de.vu [ - Antworten - Zitieren - Direktlink - ] |
19.05.2006, 11:07 Uhr bubblebobble Posts: 707 Nutzer |
Achso, stimmt, du nutzt ja AGA. Frage doch mal Bernd, es gibt eigentlich keinen Grund warum Amiblitz CGX braucht, ausser einer erweiterung von mir, aber Amiblitz kann auch ohne diese Erweiterung kompiliert werden. Aber möglicherweise brauch auch guigfx bereits CGX. Die CGX Erweiterungen sind halt mittlerweile quasi Standard, so wie AHI für Audio. -- Thilo Köhler, Author von: HD-Rec, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, TKUnpacker Homepage: http://www.hd-rec.de [ - Antworten - Zitieren - Direktlink - ] |
19.05.2006, 12:09 Uhr Ralf27 Posts: 2779 Nutzer |
Zitat: GuiGFX braucht kein CGX, ich benutze es ja auch hier mit AGA. AHI benutze ich hier auch, RTGMaster läuft auch hier mit AGA. Aber das ein Compiler CGX vorraussetzt... -- http://www.alternativercomputerclub.de.vu [ - Antworten - Zitieren - Direktlink - ] |
19.05.2006, 13:42 Uhr bubblebobble Posts: 707 Nutzer |
Der Texteditor braucht vermutlich CGX. Der Compiler nicht. Evtl. liegt es aber auch an was anderem. Mit AHI meinte ich, das AHI genauso wie CGX eine OS API Erweiterung des OS darstellt. AHI hast du installiert, weil sonst z.B. AmiAmp usw. nicht funktionieren würden. Manche Programme brauchen aber auch CGX, nur hauptsächlich für 24bit, deshalb fällt dir das nicht auf, es gibt aber auch noch andere Funktionen in CGX die nützlich sind. Möglicherweise brauchen auch manche Datatypes CGX, wenn du mit 24bit Bildern hantierst. Willst du nicht mal auf Graka umsteigen ? Mit einer höheren Auflösung steigt die Anzahl der Zeilen von Sourcecode, die man überblicken kann, und damit auch die Qualität und Geschwindigkeit der Programmierung. Ich hatte oft den Effekt, dass ich, wenn ich auf eine höhere Auflösung umgestiegen bin, auf einmal offensichliche Bugs gefunde habe, und vorher wie blind war. -- Thilo Köhler, Author von: HD-Rec, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, TKUnpacker Homepage: http://www.hd-rec.de [ - Antworten - Zitieren - Direktlink - ] |
19.05.2006, 15:27 Uhr Holger Posts: 8116 Nutzer |
Zitat: Da gibt's aber auch die Gegentheorie: „Ein gut modularisiertes Programm besteht aus Funktionen, von denen jede für sich auf eine Bildschirmseite paßt“. Dieses Axiom dadurch zu hintergehen, daß man 2000x1000 Auflösung auf 30" Bildschirm benutzt, verbessert nicht unbedingt die Qualität der Software. Übertrieben gesagt, natürlich; mit Basic ist das eh so eine Sache... mfg -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
19.05.2006, 15:28 Uhr gni Posts: 1106 Nutzer |
Zitat:CGX hat mit 24-Bit für PicDTs nichts zu tun. Mit CGX kommt ein PicDT gar nicht in Berührung. Ein PicDT verwendet das V43 API wenn echtes 24Bit benutzt werden soll und um den Rest hat sich die Superklasse zu kümmern ;-) [ - Antworten - Zitieren - Direktlink - ] |
19.05.2006, 16:03 Uhr bubblebobble Posts: 707 Nutzer |
@Holger Das ist schon richtig, aber bei AGA hast du eine Auflösung von 256. Da bekommst du maximal gerade mal 32 Zeilen (PAL) oder 25 Zeilen (NTSC) drauf gequetscht bei einer 8x8 Font. Wenn man noch ein bisschen Screen Titel und GUI abzieht ist das wirklich nicht viele. Manche Funktionen sind einfach größer, z.B. FFT. Zu viele Zeilen ist natürlich auch nicht gut, aber ich denke das otpimum erreicht man irgendwo bei einer Auflösung ab 1024 Höhe und einer relativ kleinen Font (also 8-12 pixel hoch). -- Thilo Köhler, Author von: HD-Rec, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, TKUnpacker Homepage: http://www.hd-rec.de [ - Antworten - Zitieren - Direktlink - ] |
19.05.2006, 17:42 Uhr Holger Posts: 8116 Nutzer |
Zitat:Na ja, VGA 480 oder 50Hz 512 gehen durchaus auch, mit TFT und etwas Glück sogar noch ein bisserl mehr (ohne sich die Augen zu verderben). Aber eben ohne Augenschmerzen länger draufschauen zu können, ist wirklich Gold wert. Also höhere Bildfrequenz oder Auflösung (und größerer Font) verbessern die Produktivität ungemein. Insofern hast Du natürlich recht, Grafikkarte rentiert sich für Entwickler. <blasphemie>PC mit cross-compiler noch viel mehr</blasphemie>. mfg PS: hab mal kurz nachgeschaut, bei mir sind's derzeit 40 Zeilen aber dafür die ca. 80 Zeichen in der Breite und vor allem das Ganze mit deutlich besserem Font als 8x8, flimmerfrei und diversen Werkzeugen um den Editor drumherum... -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
19.05.2006, 17:51 Uhr bubblebobble Posts: 707 Nutzer |
Hm, das wäre mir zu wenig. Mit Amiblitz habe ich 120 Zeilen, mit Topaz 8 font, im TuiTED (für C) etwa 60. Ist vielleicht ein bisschen zu viel, gebe ich zu. Aber 60-80 Zeilen denke ich solltens schon sein, zumindest für mich. Dann muss man funktionen auch nicht unnötig zerhacken, wenn sie straight-foreward sind. -- Thilo Köhler, Author von: HD-Rec, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, TKUnpacker Homepage: http://www.hd-rec.de [ - Antworten - Zitieren - Direktlink - ] |
19.05.2006, 21:27 Uhr Ralf27 Posts: 2779 Nutzer |
Zitat: Ich hab hier auch einen A1200T mit BPPC und BVision. Leider zur Zeit defekt. Und auch auf diesem Rechner hatte ich damals Probleme mit AmiBlitz. Also, ich habe/hatte hier beides und rate mal wo ich lieber programmiert habe? Kein Witz, aber der große war bei mir in Sachen programmieren nur zum testen da. Es hat mir einfach kaum Spaß gemacht bei 1024*768 auf einem 19"-Moni zu programmieren. Außerdem wird man blind bei zu vielen Zeilen. Mir ist es jedenfalls so ergangen. -- http://www.alternativercomputerclub.de.vu [ - Antworten - Zitieren - Direktlink - ] |
19.05.2006, 21:30 Uhr Ralf27 Posts: 2779 Nutzer |
Zitat: Das ist eingentlich Käse. Bei PAL und NTSC bieten sich die Overscanauflösungen geradezu an. Wenn man dann denn Monitor etwas von der Auflösung her runterdreht und PAL auf Overscan bringt, dann hat man eine höhere Auflösung bei der gleichen Bildfrequenz. Bei meinem kleinen hab ich so die Auflösung bei PAL etwas aufgedreht und hab nun 33Zeilen bei der Darstellung. Und mir reicht dies eigentlich aus. Aber jedem so wie es ihm Spaß macht. -- http://www.alternativercomputerclub.de.vu [ - Antworten - Zitieren - Direktlink - ] |
19.05.2006, 21:32 Uhr Ralf27 Posts: 2779 Nutzer |
Zitat: Mit AGA wären 120Zeilen auch möglich, aber das wäre auf dem 14"-Moni eine Suche mit der Lupe. Aber selbst auf einem 19" mit Grafikkarte wären mir 120Zeilen eindeutig viel zu viel. Aber wie schon geschrieben, jedem so wie er es mag. -- http://www.alternativercomputerclub.de.vu [ - Antworten - Zitieren - Direktlink - ] |
20.05.2006, 00:51 Uhr NoImag Posts: 1050 Nutzer |
Zitat: Mir ist das viel zu viel. Ich habe meinen Editor extra nur auf 1024x768 (mit Topaz 11, 17"-Monitor) laufen, weil mir die Schrift auf meiner Standard-Auflösung (1152x852) zu klein ist. Ich könnte zwar eine größere Schrift einstellen, aber damit würde ich zum einen nur die höhere Auflösung wieder kompensieren und zum anderen empfinde ich Topaz als besser lesbar als die anderen Fonts, die ich so habe. Lesbarkeit der Schrift geht mir beim Programmieren über alles andere. Welchen Font benutzt du? Tschüß [ - Antworten - Zitieren - Direktlink - ] |
20.05.2006, 15:29 Uhr bubblebobble Posts: 707 Nutzer |
Es ist wirklich müßig, sich über die Anzahl der Zeilen zu steiten. Allerdings gehen 120 Zeilen auf AGA nicht. Oder willst du eine Font mit 4 Pixel Höhe, das kann ja kein Mensch lesen ? Ich benutze für AB2 meistens Topaz/8. Für C benutze ich Vera Sans/15 (mit AfA) oder früher Helvetica/13 (ohne AfA), auf einem 19" TFT bei 1280x1024. Das ist für mich optimal, muss für andere sicher nicht so sein. Bei C Programmiere ich aber auch eher im Basic Stil, d.h. dichter gedrängt. Bei C wird oft sehr inflationär mit den Zeilen umgegangen, gerade da bräuchte man doch eigentlich mehr Zeilen auf dem Bildschirm. zB. code:würde ich schreiben (in der Hälfte der Zeilen):void test() { myfunc(param1, param2, param3); return (0); } code:void test() { myfunc(param1,param2,param3); return (0); } -- Thilo Köhler, Author von: HD-Rec, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, TKUnpacker Homepage: http://www.hd-rec.de [ - Antworten - Zitieren - Direktlink - ] |
20.05.2006, 21:39 Uhr Ralf27 Posts: 2779 Nutzer |
Zitat: Ist es wirklich. Denn ich würde niemals 120Zeilen benutzen, auch auf einem System mit Grafikkarte, da es eigentlich für mich unübersichtlich ist. Aber jedem das seine Achja, für Hardcoreleute: 120Zeilen geht auch auf AGA mit snapshot und da geht sogar noch mehr: Z.b. auf 1024*768*8 mit snapshot=128Zeilen, bzw. mit Topaz8=96 Zeilen. (ok, minus Titelleiste) Nur das würde bestimmt keiner benutzen. Edit: Oder z.b. MULITSCAN: Producitvity Interlace: 640*960: -> snapshot=160 Zeilen, Topaz8=120 Ha! Ok, jetzt aber genug von den Extremen. Ich finde 30-40 Zeilen sind genug für mich. Was andere benutzen müssen sie selbst wissen. Bzw. konnte ich auch schon Grafikkarten testen und hab auch da die Zeilenanzahl nicht erhöht. -- http://www.alternativercomputerclub.de.vu [ Dieser Beitrag wurde von Ralf27 am 20.05.2006 um 21:46 Uhr geändert. ] [ - Antworten - Zitieren - Direktlink - ] |
21.05.2006, 11:33 Uhr Holger Posts: 8116 Nutzer |
Zitat:Das ist kein normaler C-Stil. Parameter werden üblicherweise genauso in eine Zeile geschrieben, wie in anderen Programmiersprachen auch. Du hast einfach die andere Eigenheit viele C-Programmierer übersehen. code:So sieht ein normales C-Programm aus. Die Parameter sind nur deshalb untereinander geschrieben, weil der rechte Rand erreicht wurde.void test() { myfunc(param1, param2, param3); return (0); } Zitat: Das entspricht in etwa Suns Styleguide für Java. Wobei die meisten Programmierer dann doch unter void test() { eine Leerzeile einfügen, damit es lesbarer wird. Weil man dann genausogut statt der Leerzeile die Klammer in eine eigene Zeile schreiben kann, und ich lieber öffnende und zugehörige schließende Klammer auf derselben Höhe habe, schreib ich das dann doch so: code:void test() { myfunc(param1, param2, param3); return 0; } (Aber man kann auch Ewigkeiten über Codestyle diskutieren, während die eigentliche Software liegen bleibt...) 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 > Datatypes und 24Bit | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
Impressum |
Datenschutzerklärung |
Netiquette |
Werbung |
Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten. |