Wednesday, November 13, 2013

Компютер графикийн боловсруулах үе шатууд

Иймэрхүү төрлийн блог пост хийж байсан боловч арай л ойлгомжгүй байлаа. Одоо жаахан цэгцтэй бичье.




  • Vertex Processor - энд геомертийн оройн цэгийн утгуудыг оролт болгон авч нэг координатын системээс нөгөө координатын системрүү хөрвүүлэх үйл ажиллагаа явагддаг, мөн шинэ геометрийн орой үүсгэх үйл ажиллагаа ч явагддаг.
    объектийн дотоод координатаас нийт талбарыг хамрах координатын системрүү хөрвүүлэг хийж байгаа нь

    камерийн координатын системрүү оройнуудыг хөрвүүлж байгаа нь

    шинэ орой үүсгэж байгаа нь
  • Clipper болон Assembler - энд боловсруулсан геометрийн оройн цэгүүдээ хоёр хэмжээст хавтгайд буулгахад бэлтгэх үйл ажиллагаа явагддаг. Дэлгэцийн зургийн хавтгайн хүрээнээс гадуурх цэгүүдтэй холбоотой шулуунуудад тайралт хийж шинэ дүрсүүд үүсгээд геометрийн оройнуудыг бүлэглэн индексжүүлж эмхлэн бэлтгэх үйл ажиллагаа явагдана, мөн аль дүрс нь наана цаанаа байна гэдгийг ч тодорхойлж өгдөг, ингэснээр дараачийн боловсруулах үе шатанд шаардлагатай тооцооллыг маш ихээр хөнгөлдөг байна.
    камерийн харах хэмжээсийг доторхойлж буй байдал

    харах хэмжээсээс гадуурх орой болон дүрсүүдэд хасалт хийж өгч байна
  • Rasterizer - энд бүлэглэгдэн эмхлэгдсэн геометрийн оройнуудын хооронд дөхөлт хийж шинэ fragment буюу пиксел болохын өмнөх үе шатны боловсруулалтын өгөгдөлүүдээс бүрдэх массив үүсгэнэ. 
    оройнуудад холбогдсон ирмэг хооронд дөхөлт хийн фрагментүүдээр бүрж өгч байна
  • Fragment Processor - энд бие болсон fragment-үүд дээрээ тооцоолол үйлдэж эцсийн зураг үүсгэхэд шаардлагатай пикселүүдийг тооцон бодож гаргана, ажиглагчийн хувьд нуугдмал гадаргууд хасалт хийнэ, frame buffer-ийн пикселүүдийг шинэчлэн тооцох гэх мэт үйл ажиллагаа явагддаг.
fragment-үүд тус бүр дээр тооцоолол хийгээд дараагаар нь эцсийн пикселүүдээ гаргаж авч байна

График технологийн эхний үеүүдэд Vertex Processor болон Fragment Processor үе шатуудыг хэрэглэгч өөрөө програмчлан ажиллуулах боломжгүй байсан. Өнөө үед эдгээрийг програмчлах бололцоотой болгож өгснөөр дурын зургаа өндөр дөхөлттэйгээр програмчлан гаргаж авах боломж бүрджээ.

SIMD гэх ойлголт байх бөгөөд энэ нь Single Instruction Multiple Data гэсэн үгний товчлол болно. Түрүүний хоёр програмчлах бололцоотой үе шатуудад хэрэглэгч өөрсдийн бичсэн програмаа нэг л удаа хуулж тавиад асар олон геометрийн оройн өгөгдлүүд, тэдгээрээс гарсан fragment өгөгдлүүдийг нэг төрлийн програмаар бүгдийг зэрэгцээгээр машиндуулан ажиллуулах бололцоог олгох технологийг SIMD гэж байна. Тийм учраас SIMD архитектурт нийцүүлэн техник хангамж үйлдвэрлэгч нар буюу график картны процессор үйлдвэрлэгчид дотроо маш олон тооны stream processor-уудтайгаар процессорыг загварчлан хийдэг.