Wpis z mikrobloga

#programowanie #programowaniegrafiki #gamedev #grafikakomputerowa czołem, interesuje mnie softwarowa implementacja wklejania jednej bitmapy do drugiej ale z zachowaniem transparentności. Coś jak sprajty w dawnych grach. Przy czym na 8 bitowcach było wspomaganie hardwarowe w postaci blittera. Natomiast mi chodzi o wydajny sposób implementacji tego używając tylko proca. Mam tu na myśli ogólne techniki, nie sprecyzowane pod żaden system czy API.

1. Pierwszy przypadek jest nieco prostszy. Kiedy mamy tylko jeden kolor transparentny, tu jest spoko opisane:
https://en.wikipedia.org/wiki/Bit_blit
najpierw musimy skopiwać jednobitową maskę pokazujaca co ma byc przexroczyste uzywając opracji logiczej AND a potem wkljamy dane obrazka za pomocą operaji OR. (wariant 8 bitowy jest łatwiejszy bo zamiast kolorów mamy indexy do tablicy kolorów, gorzej sie robi jak mamy format RGB)
2. Drugi przykład to kiedy mamy kanał alfa czyli 8 bitową bitmapę dla przexroczystości

I teraz pytanko. Jedyne co posiadamy to funkcje do szybkiego kopiowania fragmenty jednej bitmapy do drugiej. Ale jak najoptymalniej przeprowadzić te operacje. Bo jednak w każdym przypadku musze przeprowadzac jakeiś operacje PER-PIXEL. Np. robiąć AND czy OR, albo zwykłe dodawanie wartości jeśli bym chciał zrobić jakeiś mieszanie kolorów.

Może znacie jakies stronki z takimi zagadnieniami od strony technicznej?
K.....1 - #programowanie #programowaniegrafiki #gamedev #grafikakomputerowa czołem, i...

źródło: comment_15989023794kF50bGSRRAOiBwwXrY3GG.jpg

Pobierz
  • 1