Кіріспе

Векторлық графикалық кескінді растрлық кескінге түрлендіру

Компьютерлік графикада растерлеу (британдық ағылшын тілінде) немесе растерлизация (американдық ағылшын тілінде) – векторлық графика форматында сипатталған кескінді (пішіндерді) алып, оны растрлық кескінге (пиксельдердің, нүктелердің немесе сызықтардың тізбегі, олар бірге көрсетілгенде пішіндер арқылы бейнеленген кескінді құрайды) түрлендіру процесі. Растрленген кескін компьютерлік мониторда, бейне дисплейде немесе принтерде көрсетілуі мүмкін, сондай-ақ бит картасы файлдық форматында сақталуы мүмкін. Растерлеу 3D модельдерді салу әдісіне, немесе 2D рендеринг примитивтерін, мысалы, көпбұрыштарды және сызық сегменттерін растрленген форматқа түрлендіруге қатысты болуы мүмкін.

Этимология

"Растеризация" термині туындайды.

Сызықтық примитивтер

Брезенхам сызық алгоритмі – сызықтарды растрлеуге қолданылатын алгоритмдердің мысалы.

Дөңгелектің примитивтері

Мидпойнт шеңбер алгоритмі сияқты алгоритмдер пикселденген бетке шеңберді салу үшін қолданылады.

3D бейнелер

Растерлеу – 3D модельдерді көрсетудің (рендерингтің) әдеттегі әдістерінің бірі. Сәулелерді қабылдау (ray tracing) сияқты басқа көрсету әдістерімен салыстырғанда, растерлеу өте жылдам болғандықтан, көптеген 3D ойын қозғалтқыштарында нақты уақыт режимінде қолданылады. Дегенмен, растерлеу – бұл сахна геометриясын пиксельдерге бейнелеуді есептеу процесі ғана, ал олардың түсін есептеудің нақты жолын көрсетпейді. Әр пикселдің нақты түсі пикселдік шейдермен анықталады (қазіргі заманғы GPU-да ол толығымен бағдарламаланады). Көлеңкелендіру (shading) жарықтың орналасуы, оның жуықтамалары немесе таза көркемдік ниет сияқты физикалық эффектілерді ескере алады. Компьютер экранында ("экран кеңістігінде") көрсету үшін 3D модельдерді 2D жазықтыққа растерлеу процесі графикалық құбыржолдың ішінде көбінесе белгілі бір функциялы (бағдарламаланбайтын) аппараттық құралдармен жүзеге асырылады. Бұл себебі, көрсету кезінде қолданылатын растерлеу әдістерін өзгертуге қажеттілік жоқ, ал арнайы құрылғы жоғары тиімділікке мүмкіндік береді.

Үшбұрышты растерлеу

Көпбұрыштар – цифрлық 3D модельдердің кең таралған бейнелеу тәсілі. Растерлеуге дейін жеке көпбұрыштар әдетте үшбұрыштарға бөлінеді; демек, 3D растерлеудегі ең көп кездесетін мәселе – үшбұрышты растерлеу. Үшбұрышты растерлеу алгоритмдерінен көбінесе талап етілетін қасиеттер – екі іргелес үшбұрышты (яғни, ортақ қабырғасы бар) растерлеу кезінде үшбұрыштар арасында тесіктер (растерленбеген пиксельдер) қалдырмау, нәтижесінде растерленген аймақ толығымен толтырылуы керек (іргелес үшбұрыштардың беті сияқты). Сондай-ақ, бір пиксел бір реттен астам растерленбеуі тиіс, яғни растерленген үшбұрыштар бірін-бірі жаппауы керек. Бұл, нәтиже растерлеу ретіне тәуелді болмайтынын қамтамасыз етеді. Пиксельдерді қайта-қайта сызу есептеу қуатын қажетсіз пиксельдерге жұмсаумен тең, олар жаңа мәліметтермен жазылатын болады. Осы жағдайларды қамтамасыз ету үшін растерлеу ережелерін белгілеу қажет. Мұндай ережелердің бірі – «жоғарғы сол» ережесі деп аталады, ол пикселдің растерленуі үшін мына шарттардың бірі орындалуы керек екенін көрсетеді:

оның ортасы үшбұрыштың ішінде толығымен орналасқан; немесе
оның ортасы үшбұрыштың қабырғасында (немесе бұрыштарда бірнеше қабырғада) орналасқан, яғни (немесе бұрыштардағы барлық қабырғалар) жоғарғы немесе сол қабырға болып табылады. Жоғарғы қабырға – дәл көлденең және басқа қабырғалардың үстінде орналасқан қабырға, ал сол қабырға – үшбұрыштың сол жағында орналасқан көлденең емес қабырға. Бұл ереже, мысалы, Direct3D және көптеген OpenGL жүзеге асыруларында қолданылады (егер спецификация оны нақты анықтамаса да, тек дәйекті ереже талап етілсе де).

Сапасы

Растерлеу сапасын антиалиазинг арқылы жақсартуға болады, ол "тегіс" жиектерді құрайды. Субпикселдік дәлдік – пикселдік тордан гөрі ұсақ масштабтағы орналасуларды ескеретін әдіс, және примитивтің соңғы нүктелері бірдей пикселдік координаталарға түскен жағдайда да, әртүрлі нәтижелер бере алады, нәтижесінде тегіс қозғалыс анимациялары пайда болады. PlayStation 1 сияқты қарапайым немесе ескі аппараттарда 3D растерлеуде субпикселдік дәлдік болмаған.