Кіріспе
Векторлық графикалық кескінді растрлық кескінге түрлендіру
Компьютерлік графикада растерлеу (британдық ағылшын тілінде) немесе растерлизация (американдық ағылшын тілінде) – векторлық графика форматында сипатталған кескінді (пішіндерді) алып, оны растрлық кескінге (пиксельдердің, нүктелердің немесе сызықтардың тізбегі, олар бірге көрсетілгенде пішіндер арқылы бейнеленген кескінді құрайды) түрлендіру процесі. Растрленген кескін компьютерлік мониторда, бейне дисплейде немесе принтерде көрсетілуі мүмкін, сондай-ақ бит картасы файлдық форматында сақталуы мүмкін. Растерлеу 3D модельдерді салу әдісіне, немесе 2D рендеринг примитивтерін, мысалы, көпбұрыштарды және сызық сегменттерін растрленген форматқа түрлендіруге қатысты болуы мүмкін.
Этимология
"Растеризация" термині туындайды.
Сызықтық примитивтер
Брезенхам сызық алгоритмі – сызықтарды растрлеуге қолданылатын алгоритмдердің мысалы.
Дөңгелектің примитивтері
Мидпойнт шеңбер алгоритмі сияқты алгоритмдер пикселденген бетке шеңберді салу үшін қолданылады.
3D бейнелер
Растерлеу – 3D модельдерді көрсетудің (рендерингтің) әдеттегі әдістерінің бірі. Сәулелерді қабылдау (ray tracing) сияқты басқа көрсету әдістерімен салыстырғанда, растерлеу өте жылдам болғандықтан, көптеген 3D ойын қозғалтқыштарында нақты уақыт режимінде қолданылады. Дегенмен, растерлеу – бұл сахна геометриясын пиксельдерге бейнелеуді есептеу процесі ғана, ал олардың түсін есептеудің нақты жолын көрсетпейді. Әр пикселдің нақты түсі пикселдік шейдермен анықталады (қазіргі заманғы GPU-да ол толығымен бағдарламаланады). Көлеңкелендіру (shading) жарықтың орналасуы, оның жуықтамалары немесе таза көркемдік ниет сияқты физикалық эффектілерді ескере алады. Компьютер экранында ("экран кеңістігінде") көрсету үшін 3D модельдерді 2D жазықтыққа растерлеу процесі графикалық құбыржолдың ішінде көбінесе белгілі бір функциялы (бағдарламаланбайтын) аппараттық құралдармен жүзеге асырылады. Бұл себебі, көрсету кезінде қолданылатын растерлеу әдістерін өзгертуге қажеттілік жоқ, ал арнайы құрылғы жоғары тиімділікке мүмкіндік береді.
Үшбұрышты растерлеу
Көпбұрыштар – цифрлық 3D модельдердің кең таралған бейнелеу тәсілі. Растерлеуге дейін жеке көпбұрыштар әдетте үшбұрыштарға бөлінеді; демек, 3D растерлеудегі ең көп кездесетін мәселе – үшбұрышты растерлеу. Үшбұрышты растерлеу алгоритмдерінен көбінесе талап етілетін қасиеттер – екі іргелес үшбұрышты (яғни, ортақ қабырғасы бар) растерлеу кезінде үшбұрыштар арасында тесіктер (растерленбеген пиксельдер) қалдырмау, нәтижесінде растерленген аймақ толығымен толтырылуы керек (іргелес үшбұрыштардың беті сияқты). Сондай-ақ, бір пиксел бір реттен астам растерленбеуі тиіс, яғни растерленген үшбұрыштар бірін-бірі жаппауы керек. Бұл, нәтиже растерлеу ретіне тәуелді болмайтынын қамтамасыз етеді. Пиксельдерді қайта-қайта сызу есептеу қуатын қажетсіз пиксельдерге жұмсаумен тең, олар жаңа мәліметтермен жазылатын болады. Осы жағдайларды қамтамасыз ету үшін растерлеу ережелерін белгілеу қажет. Мұндай ережелердің бірі – «жоғарғы сол» ережесі деп аталады, ол пикселдің растерленуі үшін мына шарттардың бірі орындалуы керек екенін көрсетеді:
leaves no holes (non rasterized pixels) between the triangles, so that the rasterized area is completely filled (just as the surface of adjacent triangles). And
no pixel is rasterized more than once, i. e. the rasterized triangles don't overlap. This is to guarantee that the result doesn't depend on the order in which the triangles are rasterized. Overdrawing pixels can also mean wasting computing power on pixels that would be overwritten. This leads to establishing rasterization rules to guarantee the above conditions. One set of such rules is called a top left rule, which states that a pixel is rasterized if and only if
its center lies completely inside the triangle. Or
its center lies exactly on the triangle edge (or multiple edges in case of corners) that is (or, in case of corners, all are) either top or left edge. A top edge is an edge that is exactly horizontal and lies above other edges, and a left edge is a non horizontal edge that is on the left side of the triangle. This rule is implemented e. g. by Direct3D and many OpenGL implementations (even though the specification doesn't define it and only requires a consistent rule).
оның ортасы үшбұрыштың ішінде толығымен орналасқан; немесе
оның ортасы үшбұрыштың қабырғасында (немесе бұрыштарда бірнеше қабырғада) орналасқан, яғни (немесе бұрыштардағы барлық қабырғалар) жоғарғы немесе сол қабырға болып табылады. Жоғарғы қабырға – дәл көлденең және басқа қабырғалардың үстінде орналасқан қабырға, ал сол қабырға – үшбұрыштың сол жағында орналасқан көлденең емес қабырға. Бұл ереже, мысалы, Direct3D және көптеген OpenGL жүзеге асыруларында қолданылады (егер спецификация оны нақты анықтамаса да, тек дәйекті ереже талап етілсе де).
leaves no holes (non rasterized pixels) between the triangles, so that the rasterized area is completely filled (just as the surface of adjacent triangles). And
no pixel is rasterized more than once, i. e. the rasterized triangles don't overlap. This is to guarantee that the result doesn't depend on the order in which the triangles are rasterized. Overdrawing pixels can also mean wasting computing power on pixels that would be overwritten. This leads to establishing rasterization rules to guarantee the above conditions. One set of such rules is called a top left rule, which states that a pixel is rasterized if and only if
its center lies completely inside the triangle. Or
its center lies exactly on the triangle edge (or multiple edges in case of corners) that is (or, in case of corners, all are) either top or left edge. A top edge is an edge that is exactly horizontal and lies above other edges, and a left edge is a non horizontal edge that is on the left side of the triangle. This rule is implemented e. g. by Direct3D and many OpenGL implementations (even though the specification doesn't define it and only requires a consistent rule).
Сапасы
Растерлеу сапасын антиалиазинг арқылы жақсартуға болады, ол "тегіс" жиектерді құрайды. Субпикселдік дәлдік – пикселдік тордан гөрі ұсақ масштабтағы орналасуларды ескеретін әдіс, және примитивтің соңғы нүктелері бірдей пикселдік координаталарға түскен жағдайда да, әртүрлі нәтижелер бере алады, нәтижесінде тегіс қозғалыс анимациялары пайда болады. PlayStation 1 сияқты қарапайым немесе ескі аппараттарда 3D растерлеуде субпикселдік дәлдік болмаған.