[#1] Pytania odnośnie grafiki pod OS4.0
1) W jaki sposób tworzony jest obraz na karcie BVision? Czy dla podwójnego buforowania wystarczy użyc MakeScreen() i RethinkDisplay()? Czy otwieranie własnego View ma sens? Czy podmienianie dwóch View i WaitTOF() da lepsze rezultaty w podwójnym buforowaniu?

2) Jak najlepiej stworzyc animowane obiekty (w 256 kolorach)? Czy zastosowac systemowe Boby, AnimOby czy BltMaskBitMapRastPort() czy może funkcje cybergraphics.library? Wiem, że wszystkie funkcje blitujące zostały przepisane pod kartę graficzną.

3) Jakie identyfikatory DisplayID mają tryby wyświetlania CyberVision np. 800 x 600 x 8? Odpowiedni plik nagłówkowy nie zawiera tych informacji. Wiem, że można użyc requesterów ASL.library. Czy istnieje rozdzielczośc 640 x 480 bo takiej nie mam w spisie?

Dziękuję za odpowiedź.

[#2] Re: Pytania odnośnie grafiki pod OS4.0

@Minniat, post #1

W jaki sposób tworzony jest obraz na karcie BVision?

Yyy... Jest tworzony przez chipset gaficzny. Organizacja danych w pamięci oczywiście jest inna niż w przypadku kości AGA - to chunky (w przypadku ekranów 256 kolorowych - 1 bajt na piksel, i odpowiednio więcej w 15/16/24 bit).

[...]dla podwójnego buforowania wystarczy użyc

...ekranu o podwójnej wysokości oraz ScrollVPort(). Żadnych archaicznych metod związanych z własnym view itp. WaitTOF() na karcie graficznej nie działa tak jak na AGA.

Jak najlepiej stworzyc animowane obiekty (w 256 kolorach)?

BltMaskBitMapRastPort(). Funkcje z tej rodziny są akcelerowane przez chipset graficzny. Alokując bitmapy musisz podawać friendbitmap ekranu na jakim mają być wyświetlane, oraz flagi BMF_MINPLANES.

Jakie identyfikatory DisplayID mają tryby wyświetlania CyberVision np. 800 x 600 x 8?

BestModeID()

Czy istnieje rozdzielczośc 640 x 480

Jeśli nie istnieje, to zawsze możesz ją sobie stworzyć za pomocą systemowych preferencji.

[#3] Re: Pytania odnośnie grafiki pod OS4.0

@MinisterQ, post #2

"...ekranu o podwójnej wysokości oraz ScrollVPort(). Żadnych archaicznych metod związanych z własnym view itp. WaitTOF() na karcie graficznej nie działa tak jak na AGA."

takiego wynalazku uzywalo sie w przypadku starych kart i starych wersji cybergraphics (chyba cgx3. nie wiem jak picasso). poprawnie realizowany multibuffering (polecam potrojne buforowanie. nie ma strat na czekanie na ramke) realizuje sie funkcjami systemowymi do tego przeznaczonymi. AllocScreenBuffer() i ChangeScreenBuffer(). przyklad pewnie jest w RKRM.

[#4] Re: Pytania odnośnie grafiki pod OS4.0

@kiero, post #3

No to nawet jeszcze lepiej. Na pewno to lepsze niż podmienianie view itp. cuda.

[#5] Re: Pytania odnośnie grafiki pod OS4.0

@MinisterQ, post #2

Czy istnieje rozdzielczośc 640 x 480

Jeśli nie istnieje, to zawsze możesz ją sobie stworzyć za pomocą systemowych preferencji.


A jak dodac ową rozdzielczośc? W preferencjach ScreenMode mam dostępne tylko rozdzielczości 800 x 600 w 8 lub 16 bitach. Monitor CyberVision z Devs:Monitors ma niby ustawione w tooltypach minimum 640 x 480 jednak ta rozdzielczośc się nie pojawia na liscie. Z kolei w katalogu Storage/Monitors nie znajduję odpowiedniego monitora, który odpowiadałby mi. Co należy zrobic by uzyskac tą rozdzielczosc?

[#6] Re: Pytania odnośnie grafiki pod OS4.0

@Minniat, post #5

Powinieneś mieć jakiś programik w rodzaju P96Mode, lub podobnie (nie pamiętam jak nazywa się on w przypadku OS4). Tam definiujesz sobie tryby graficzne które pojawią się w requesterze wyboru.
[#7] Re: Pytania odnośnie grafiki pod OS4.0

@wali7, post #6

Już wiem! Wystarczyło dodac MODE=640x480@60 w tooltypach monitora CVisionPPC i ta rozdzielczośc teraz pojawia się na liście.

[#8] Re: Pytania odnośnie grafiki pod OS4.0

@MinisterQ, post #2

BltMaskBitMapRastPort(). Funkcje z tej rodziny są akcelerowane przez chipset graficzny. Alokując bitmapy musisz podawać friendbitmap ekranu na jakim mają być wyświetlane, oraz flagi BMF_MINPLANES.

Dla animowanych obiektów nie będę alokował bitmapy tylko stworzę ich lokalne kopie i użyję InitBitMap(), zaś bm.Planes[] ustawię na dane graficzne obiektów załadowane z oddzielnego pliku.

Jestem jednak bardziej zainteresowany BOBami systemowymi. Pod AGA te BOBy są prawie bezużyteczne, teraz w OS4.0 powinny działac dosyc szybko - są zapewne też akcelerowane przez chipset graficzny.

Pytanie: czy dane w bm.Planes[] oraz dane BOBów muszą byc w formacie chunky?

BestModeID()

Niestety ta funkcja nie spełnia moich oczekiwań. Użyję requestera screenmode ASL.library.



Ostatnia modyfikacja: 31.10.2008 20:25:00
[#9] Re: Pytania odnośnie grafiki pod OS4.0

@Minniat, post #8

Dla animowanych obiektów nie będę alokował bitmapy tylko stworzę ich lokalne kopie i użyję InitBitMap(), zaś bm.Planes[] ustawię na dane graficzne obiektów załadowane z oddzielnego pliku.

Powodzenia.

Jestem jednak bardziej zainteresowany BOBami systemowymi. Pod AGA te BOBy są prawie bezużyteczne, teraz w OS4.0 powinny działac dosyc szybko - są zapewne też akcelerowane przez chipset graficzny.

Będziesz mieć szczęście jeśli boby pod OS4 w ogóle będą działać.

Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem