График pipeline гэж юу вэ?

Эхлээд зураг үзүүлье

wireframe

rendered

эхний зураг дээрхи шиг зүгээр нэг buffer санах ойд хийсэн цэгүүдийн мэдээлэл яаж энэ хоёр дахь зураг дээрхи шиг гоёмсог болж гарч байна гэж та бодож байна?

Үүнийг ойлгоход тань graphics pipeline гээч зүйлийн үйл ажиллагаа түүний дотоод үе шатлалууд тус болно. http://sharavaa.blogspot.com/2012/03/graphics-pipeline.html энэ холбоос дээр энэ талаар ерөнхийд нь тайлбарласан байгаа.

Тэгэхээр pipeline нь график карт дээр болж байдаг үйл ажиллагаануудын дарааллыг хэлдэг байхнээ. OpenGL-ийн хувьд ерөнхий хэрэглэгддэг vertex stage болон fragment stage гэсэн хоёр програмчлагдах бололцоотой үе шат байдаг. Програмчлах бололцоотой гэдэг нь бид график карт дээр ажилладаг shader гэж нэрлэгдэх жижиг хэмжээний програмыг GPU-рүү аваачиж upload хийж тавиад өөрийнхөө хүссэн үйлдлээ гүйцэтгүүлэх бололцоотой гэсэн үг юм.

Shader програмыг бичихийн тулд дор хаяж vertex, fragment гэсэн хоёр төрлийн код бичих хэрэгтэй байдаг. Энэ хоёр төрлийн програм нь график карт дээр очоод тус тусын үүргээ гүйцэтгээд өгөгдлүүдээ өмнөх хойнох stage-үүдэд хувиргаад дамжуулаад явдаг.

Vertex гэсэн ойлголт байх бөгөөд энэ нь моделийг бүрэлдүүлж байгаа нэг цэгийг илтгэж байдаг. Модел гэдэг цэгүүдийн цуглуулга өөрөөр хэлбэл vertex-үүдийн цуглуулга байдаг.

Санах ойд vertex-үүд тодорхойлж буферт хийж хадгалаад GPU-рүү илгээнэ. Энэ GPU дээр очсон vertex-үүд нь vertex shader програмын оролтын утга болж орж ирдэг. Өөрөөр хэлбэл vertex shader програм нь vertex бүр дээр ажиллана. цаашаагаа гарсан өгөгдлүүд нь primitive-үүд болж цуглуулагдаад primitive-ийг тодорхойлж байгаа оройнуудын хооронд дөхөлт хийгдэж fragment мэдээллүүдийг бөглөх бөгөөд энэ үе шатыг нь rasterization гээд байгаа. rasterize хийгдэж дөхөлтөөр бий болсон fragment бүрийг оролтын утга болгон авч fragment shader програм ажиллана. цаашаагаа хэд хэдэн үе шат дамжиж график картын default framebuffer-лүү пикселийн мэдээлэл бичигдэж очино. Энэ нь та бидний дэлгэцэн харж байгаа пикселийн мэдээлэл болно.

Дээрхи зураг дээр харагдаж байгаа тэр гоёмсог гэрлийн эффектүүд ойлт гэх мэтийн тооцооллуудыг чухамхүү энэ fragment shader програм дээр бичиж өгч програмчилж өгдөг.

pipeline-ий товчхон зураг

 

Сэтгэгдэл бичих

*

Таныг илтгэгч аватар зураг GrAvatar.com (Хэрхэн ашиглах вэ?)

© 2010-2012 Hicheel.Net .
Wordpress дээр суурьлаж Theme Junkie ашиглан SaKu бүтээв. HOSTED BY DUSAL HOSTING
Read previous post:
Матриц гэж юу вэ?

3D програмчлалд матриц хэмээх ойлголт чухал үүрэгтэй. Англиар matrix гэж бичдэг хэрэв гүүгэлдвэл энэ үг хэрэг болох байх. Матриц нь...

Close