Rozdział 1. WPROWADZENIE

1.8. Standardy w grafice kokmputerowej

Potrzeba standaryzacji operacji i możliwości przenoszenia oprogramowania pojawiła się wraz z upowszechnieniem się sprzętu wykorzystywanego do grafiki w latach siedemdziesiątych. Pierwszy standard (3D Core Graphics System - 1977) został opracowany przez ACM SIGGRAPH. Przez wiele lat, praktycznie do lat dziewięćdziesiątych powszechnie stosowanym standardem w rozwiązaniach przemysłowych był GKS (Graphical Kernel System – 1985, rozszerzony do GKS 3D w 1988). Wynikało to z prostej konstrukcji operacji 2D  i typowego stosowania grafiki 2D we wspomaganiu prac inżynierskich. Bardziej rozbudowane możliwości zaoferował PHIGS (Programmer’s Hierarchical Interactive Graphics System – 1988), dając do dyspozycji hierarchiczne struktury prymitywów. Standard ten był rozszerzany o możliwości tworzenia grafiki realistycznej do postaci PHIGS+ oraz PHIGS PLUS. Dodatkową zaletą tych systemów jest efektywne wykorzystanie wspomagania sprzętowego. Obecnie wydaje się, że najpowszechniejszym standardem jest OpenGL opracowany w 1993 przez Silikon Graphics  (SGI) – firmę przodująca w rozwiązaniach dla potrzeb grafiki realistycznej.  Obecnie standard ten rozwija Khronos Group.

Na bazie OpenGL, w 2016 roku Khronos Group zaproponował nowe rozwiązanie – Vulkan. Jest to API, które o wiele bardziej wspiera rozwiązania sprzętowe (kontrolę pamięci i wielowątkowość) zapewniając obiektowość danych.

Niezależnie popularność zyskał Direct3D zaproponowany w 1985 przez firmę Microsoft dla potrzeb obsługi gier komputerowych. Jako DirectX jest najpowszechniej akceptowanym standardem w środowisku kart graficznych.

Warto wspomnieć także o VRML (Virtual Realisty Modelling Language - 1994) ułatwiającym korzystanie z grafiki 3D w Internecie. Standard ten w zasadzie przestał być używany, jednak był podstawą do wprowadzenia kilku nowszych rozwiązań. Wydaje się że dzisiaj (w 2024 roku) powszechniejsze są standardy takie jak glTF, czy X3D (Extensible 3D) jako standard ISO/IEC.

 

Formaty graficzne można podzielić na dwie grupy:

  • Związane z grafiką rastrową (nieskalowalne),
  • Związane z grafiką wektorową (skalowalne).

Do pierwszej grupy (rastrowej) miedzy innymi można zaliczyć:

  • BMP (i DIB) –  zapis w postaci mapy bitowej bezstratnej o różnej dostępnej palecie  barw: 1,4,8,24 bity na piksel.
  • GIF – zapis z indeksacją barwy – paleta ograniczona do 256 pozycji, bezstratna kompresja LZW, możliwość zapisu kilku obrazów w pliku – GIF animowany.
  • PCX – format stosowany w programach Paint/Paintbrush, istnieje kilka wersji zapisu, paleta 1,4,8,24 bity na piksel.
  • TIFF – zapis bezstratny, paleta 1,4,8,24 bity na piksel, stosowane różne metody kompresji najczęściej LZW. Format pierwotnie przeznaczony dla poligrafii.
  • TGA – (Targa) mapa bitowa z opcjonalną kompresją RLE, paleta 8,16,24,32 bity na piksel, dodatkowo TGA ma możliwość zapisania informacji o przezroczystości (tzw. kanał Alfa).
  • JPG (JPEG) zapis z pełną paleta barw ale stratną kompresją DCT. Zaletą jest bardzo wydajna kompresja. Najnowsza wersja JPEG 2000 o znacznie podwyższonej jakości stratnej kompresji.
  • PNG – unowocześniona wersja formatu GIF, wydajniejsza kompresja bezstratna, pełna paleta barw, obsługa kanału Alfa. Dodatkową zaletą jest brak ograniczeń licencyjnych.

Do drugiej grupy (wektorowej) można między innymi zaliczyć:

  • WMP – zapis stosowany w MS Windows.
  • EPS, PS – Postscript – język opisu strony opracowany przez firmę Adobe.
  • HPGL – język sterowania ploterami firmy HP.
  • DXF – przemysłowy standard stosowany przez firmę Autodesk w swoich aplikacjach (AutoCAD).
  • SVG – standard opracowany w oparciu o XML na potrzeby WWW.

 Więcej informacji na temat standardów graficznych oraz budowy i przechowywania plików graficznych można znaleźć w książkach [3, 6].