418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 3
418341...
description
Transcript of 418341...
![Page 1: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/1.jpg)
418341 สภาพแวดลอมการทำางานคอมพวเตอรกราฟกสการบรรยายครงท 10
ประมข ขนเงน
![Page 2: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/2.jpg)
Blending
• เวลาเรากำาหนดสดวย glColor*(…) เราสามารถกำาหนด alpha ของสไดดวย
• Alpha มไวใชควบคมการทำา blending• Blending คอการคำานวณสของ pixel ใหมเมอ
fragment ใหมกำาลงจะถกเขยนลงบน framebuffer โดยนำาเอาสของ pixel เดมมารวมคำานวณดวย
![Page 3: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/3.jpg)
Blending (ตอ)
• ทเราเรยนผานมาใชวธการคำานวณสของ pixel สองแบบ– เอาสของ fragment ทมาทหลงเขยนทบลงบน framebuffer– เกบสของ fragment ทใกลตาทสดเอาไว (z-buffer
algorithm)• OpenGL สามารถทำาการคำานวณสไดหลายแบบกวาน
มาก • การคำานวณสหลายๆ แบบ ทไมใชสองแบบขางบนนเรา
กเรยกตขลมวา blending
![Page 4: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/4.jpg)
การใชและเลกใช blending
• เวลาจะทำา blending ตองสงคำาสงglEnable(GL_BLEND);
• เวลาจะเลกทำา blending (กลบไปใช z-buffer หรอการวาดทบ) ใหสงglDisable(GL_BLEND);
![Page 5: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/5.jpg)
Source และ Destination
• เวลาทำา blending จะมขอมลสทเกยวของสองตว– Source คอ ส RGBA ของ fragment อนใหมทกำาลงจะ
ถกเขยนลงบน pixel หนงของ framebuffer– Destination คอ ส RGBA ของ pixel ทอยบน
framebuffer เรยบรอยแลว• เราอาจคดไดวา destination คอสทคำานวณจากส
ของ fragment ทเกดจากรปรางทถกสงวาดกอน source ทงหมด
![Page 6: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/6.jpg)
สมการ Blending
• การคำานวณสใหมจะเปนไปตามสมการขางลางน
โดยท คอสของ source
คอสของ destination เรยกวา “blending factor” ของ source เรยกวา “blending factor” ของ dest’
),,,(colornew adasbdbsgdgsrdrs DASADBSBDGSGDRSR
),,,( ssss ABGR),,,( dddd ABGR
),,,( abgr SSSS
),,,( abgr DDDD
![Page 7: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/7.jpg)
คำาสงกำาหนด Blending Factor
• เราสามารถกำาหนด blending factor ไดดวยคำาสงglBlendFunc(GLenum src, GLenum dest)และคำาสงglBlendFuncSeparate(GLenum srcRGB, GLenum srcAlpha, GLenum destRGB, GLenum destAlpha)
• สองฟงกชนนตางกนตรงท glBlendFuncSeparate สามารถกำาหนด blending factor โดยแยก RGB กบ A ออกจากกนได
![Page 8: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/8.jpg)
คาคงทกำาหนดสำาหรบ Blending Factor
• คาทใสให argument แตละตวเปนคาคงทในตารางตอไปน
![Page 9: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/9.jpg)
กำาหนดเครองหมายทใชในสมการ Blending
• เรายงสามารถเครองหมายทใชรวมสของ source กบ destination เขาดวยกนได มนไมจำาเปนตองเปนเครองหมายบวก
• เครองหมายนสามารถกำาหนดไดดวยคำาสงglBlendEquation(GLenum mode)และglBlendEquationSeparate(GLenum modeRGB,GLenum modeAlpha)
• เชนเคย glBlendEquationSeparate สามารถกำาหนดเครองหมายของ RGB และ A แยกกนได
![Page 10: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/10.jpg)
คาคงทในการกำาหนดเครองหมายในการทำา blending
คาคงท การคำานวณสใหมGL_FUNC_ADD
GL_FUNC_SUBTRACT
GL_FUNC_REVERSE_SUBTRACT
GL_MIN
GL_MAX
GL_LOGIC_OP
DCSC ds
DCSC ds
SCDC sd
),min( DCSC ds
),max( DCSC ds
DCSC ds op
![Page 11: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/11.jpg)
GL_LOGIC_OP
• กรณทใช GL_LOGIC_OP คำาวา “op” จะถกแทนดวยเครองหมายทางตรรกศาสตรซงสามารถกำาหนดไดดวยคำาสง glLogicOp()
![Page 12: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/12.jpg)
ตวอยาง: Matting
• การนำารปสองรปมาซอนกน• รปทอยดานหนาบาง pixel อาจม alpha ไมเปน 0
แสดงวา pixel โปรงแสง ทำาใหเหนรปทอยขางหลง• กรณนให destination blending factor เปน
GL_ONE_MINUS_SRC_ALPHA• และให source blending factor เปน
GL_SRC_ALPHA
![Page 13: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/13.jpg)
ด demo
![Page 14: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/14.jpg)
ตวอยาง: Billboarding
• การสรางวตถคลายสามมตจากภาพ เชน ตนไม เปนตน
• ทำาใหไมตองวางสามเหลยมจำานวนมาก• ใชภาพทบาง pixel ม alpha เทากบ 0• จะวาไปกเหมอนทำา matting ในสามมต• ให destination blending factor เปน
GL_ONE_MINUS_SRC_ALPHA• และ source blending factor เปน GL_SRC_ALPHA
![Page 15: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/15.jpg)
ตวอยาง: Billboarding (ตอ)
![Page 16: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/16.jpg)
ตวอยาง: การรวมรปสามรปเขาดวยกน
• ให destination blending factor เปน GL_ONE• ให source blending factor เปน GL_SRC_ALPHA• วาดรปแตละรปดวย alpha = 1/3
![Page 17: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/17.jpg)
ตวอยาง: ปรบส RGB
• วาดภาพภาพหนงลงบน framebuffer โดยไมตองทำา blending
• หลงจากนนใช destination blending factor เปน GL_SRC_COLOR
• และใช source blending factor เปน GL_ZERO• หลงจากนนวาดสเหลยมสเดยวทบลงบนภาพนน
![Page 18: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/18.jpg)
การวาดวตถโปรงแสงในสามมต• ตองวาดวตถทบแสดงใหหมดกอนโดยใช depth
buffer• หลงจากนนเปด blending• แลววาดวตถโปรงแสง• ขอควรระวง 1: เพอใหไดภาพทถกตอง เราตอง
วาดวตถโปรงแสงจากดานหลงไปดานหนา
![Page 19: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/19.jpg)
การวาดวตถโปรงแสงในสามมต (ตอ)
• ขอควรระวง 2: เวลาวาดวตถโปรงแสงจะตองทำาการปองกนไมใหวตถโปรงแสงไปเปลยนแปลง depth buffer
• เราสามารถทำาให depth buffer ไมถกเขยนทบไดดวยการสงglDepthMask(GL_FALSE);
• และทำาใหมนถกเขยนทบไดใหมอกครง (เพอวาดรปวตถทบแสงใหม) ดวยคำาสงglDepthMask(GL_TRUE);
![Page 20: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/20.jpg)
ด demo
![Page 21: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/21.jpg)
ดโคดglPushMatrix ();
glTranslatef (-0.15, -0.15, solidZ);glMaterialfv(GL_FRONT, GL_EMISSION, mat_zero);glMaterialfv(GL_FRONT, GL_DIFFUSE, mat_solid);glCallList (sphereList);
glPopMatrix ();
glPushMatrix ();glTranslatef (0.15, 0.15, transparentZ);glRotatef (15.0, 1.0, 1.0, 0.0);glRotatef (30.0, 0.0, 1.0, 0.0);glMaterialfv(GL_FRONT, GL_EMISSION, mat_emission);glMaterialfv(GL_FRONT, GL_DIFFUSE, mat_transparent);glEnable (GL_BLEND);glBlendFunc (GL_SRC_ALPHA, GL_ONE);glDepthMask (GL_FALSE);glCallList (cubeList);glDepthMask (GL_TRUE);glDisable (GL_BLEND);
glPopMatrix ();
![Page 22: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/22.jpg)
หมอก• หมอกใน OpenGL ทำาให pixel มสเปลยนไปตาม
ระยะหางจากตา• ทำาใหเกด effect เหมอนหมอกจรงๆ ได• เวลาใชหมอกตองสง
glEnable(GL_FOG);เวลาเลอกใชสงglDisable(GL_FOG);
![Page 23: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/23.jpg)
การคำานวณหมอก• การคำานวณหมอกตองม depth buffer เพอวดระยะหาง
จากตา ดงนนตองม GLUT_DEPTH ใน glutInitDisplay• การคำานวณหมอกจะทำาหลงจาก render รปขนตอนอน
ทงหมด• เวลาคำานวณสของ pixel เมอมหมอกจะใชสตรตอไปน
C คอสของ pixel หลงจากคำานวณแลวf คอ fog factor ทจะบอกวธคำานวณในสไลดตอไปCi คอสของ pixel ใน frame buffer
Cf คอสของหมอก
fi CfCfC )1(
![Page 24: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/24.jpg)
Fog Factor
• เราสามารถกำาหนดวธการคำานวณ fog factor ไดโดยคำาสงglFogi(GL_FOG_MODE, GLenum mode)โดย mode มคาไดสามคาดงตอไปน
– GL_EXP
– GL_EXP2
– GL_LINEAR
)( zdensityef
2)( zdensityef
startendzendf
![Page 25: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/25.jpg)
การเซตหมอกคาตางๆ• เราสามารถเซตคาสของหมอกไดโดยคำาสง
glFogfv(GL_FOG_COLOR, Glfloat *color)เชนfloat fog_color[4] = {0.5f, 0.5f, 0.5f, 1.0f};glFogfv(GL_FOG_COLOR, fog_color);
![Page 26: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/26.jpg)
การเซตหมอกคาตางๆ (ตอ)
• เราสามารถเซตคา density ของหมอก (ใชในการคำานวณกรณ GL_EXP และ GL_EXP2) ไดดวยคำาสงglFogf(GL_FOG_DENSITY, GLfloat density)
• เราสามารถเซตคา start และ end (ใชในการคำานวณกรณ GL_LINEAR) ไดดวยคำาสงglFogf(GL_FOG_START, GLfloat start) และglFogf(GL_FOG_END, GLfloat end)ตามลำาดบ
![Page 27: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/27.jpg)
ด demo
![Page 28: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/28.jpg)
การชกตวอยางและการสรางคน
![Page 29: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/29.jpg)
ภาพดจตอล• ประกอบดวย พกเซล เรยงกนเปนตาราง“ ”
รปจาก http://en.wikipedia.org/wiki/Pixel
![Page 30: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/30.jpg)
พกเซลคออะไร?
• พกเซลไมใช– กลองสเหลยม– จดวงกลม– เสนขด
รปจาก http://en.wikipedia.org/wiki/Pixel
![Page 31: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/31.jpg)
พกเซลคออะไร? (ตอ)
• มนคอตวเลขสามตวแทนคา RGB ณ จดจดหนงบนระนาบภาพ
• “จด ทวาน”– ไมมขนาด ความกวาง ความยาว– ไมมมต– มองไมเหน– มแต ตำาแหนง“ ”
![Page 32: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/32.jpg)
ภาพคออะไร?
• ฟงกชนจากระนาบสองมต ไปยงความเขมแสง
• รปภาพเปนฟงกชนตอเนอง• สามารถมองวาแตละจดมความสงของมน
R2
![Page 33: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/33.jpg)
ภาพดจตอล• สรางโดยการหาคาของฟงกชนภาพ ณ จดทเรยง
กนเปนตารางสเหลยม• กระบวนการทำาเชนนเรยกวา การชกตวอยาง
(sampling)
![Page 34: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/34.jpg)
ภาพดจตอล (ตอ)
![Page 35: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/35.jpg)
การสรางคน• เมอไดภาพดจตอล ซงเปนตวอยางหลายๆ
ตวอยางทเราชกมาจากภาพ • เราตองทำาการสรางคน (reconstruction) เพอให
ไดฟงกชนตอเนองสองมตอนใหม
![Page 36: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/36.jpg)
การสรางคน (ตอ)
• เราตองการใหภาพทเราสรางคนเหมอนกบภาพตนแบบทสดเทาทจะเปนไปได
• ปกตแลวอปกรณแสดงผลจะสรางภาพคนใหเราโดยอตโนมต
• สวนมากดวยการวาดสของตวอยางทชกมาเปนสเหลยม
![Page 37: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/37.jpg)
เอเลยสซง• แตการสรางคนดวยการวาดเปนสเหลยมนเอง
ทำาใหเกดปญหาตามมาหลายอยาง เรยกรวมๆ วา เอเลยสซง (aliasing)
• ทำาใหภาพออกมาดไมด จะดไมดมากโดยเฉพาะเวลาทำาภาพเคลอนไหว
![Page 38: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/38.jpg)
เอเลยสซง (ตอ)
• ขอบเปนหยกๆ
![Page 39: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/39.jpg)
เอเลยสซง (ตอ)
• รายละเอยดหายหรอถกขยายใหญเกนไป
![Page 40: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/40.jpg)
เอเลยสซง (ตอ)
• จตรกรรมฝาผนงดไมสวย
![Page 41: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/41.jpg)
การแปลงฟเรยร
![Page 42: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/42.jpg)
โดเมนความถ• ฟงกชนเกอบทกฟงกชนสามารถเขยนอยในรปผล
บวกของฟงกชนไซนหรอโคไซนได• ถาเขยนในรปแบบน เราเรยกวามนอยใน โดเมน
ความถ (frequency domain)• ถาเขยนแบบปกตจะเรยกวาอยใน โดเมนปรภม
(spatial domain)• นกถงเสยง ซงเปนฟงกชนการเคลอนทของลำาโพง– เราสามารถเอาเสยงไปใส spectrum analyzer– มนจะบอกวาเสยงความถเทานมความดงเทาไหร
![Page 43: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/43.jpg)
โดเมนความถ (ตอ)
• ฟงกชนทเปลยนแปลงเรว มความถสง• ฟงกชนทเปลยนแปลงชา มความถตำา
![Page 44: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/44.jpg)
โดเมนความถ (ตอ)
• ฟงกชนในโดเมนปรภม
ความถตำา ความถสง
![Page 45: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/45.jpg)
โดเมนความถ (ตอ)
• เมออยในโดเมนความถ
ขอบเขตแคบ ขอบเขตกวาง
![Page 46: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/46.jpg)
การแปลงฟเรยร (ตอ)
• เรามฟงกชน ในโดเมนปรภม• การแปลงฟเรยรทำาใหเราไดฟงกชน ใน
โดเมนความถ• ความสมพนธระหวางทงสองฟงกชน:
f (x)
F (! )
F (! ) =Z 1
¡ 1f (x)e¡ i2¼! xdx
f (x) =Z 1
¡ 1F (! )ei2¼! xd!
![Page 47: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/47.jpg)
การแปลงฟเรยร (ตอ)
• เราใชสญลกษณ แทนการแปลงฟเรยรของ
• การแปลงฟเรยรเปนฟงกชนเชงเสน
F f f (x)g f (x)
F f f (x)g= F (! ) =Z 1
¡ 1f (x)e¡ i2¼! xdx
F f f (x) + g(x)g= F f f (x)g+ F fg(x)gF fcf (x)g= cF f f (x)g
![Page 48: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/48.jpg)
การคณและการแปลงฟเรยร• ถาเราทำาการแปลงฟเรยรของผลคณของฟงกชน
สองฟงกชน• เราจะไดคอนโวลชนของการแปลงฟเรยรของ
ฟงกชนสองฟงกชนนน
• ในทำานองเดยวกน
F f f (x)g(x)g= F (! ) G(! )
F f f (x) g(x)g= F (! )G(! )
![Page 49: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/49.jpg)
คอนโวลชน• มนยามดงน
• มความหมายเหมอนกบการ เลอน ไปคณ“ ”กบ ทละคาของ แลวเอาผลลพธทงหมดมาบวกกน
f (x) g(x) = (f g)(x) =Z 1
¡ 1f (t)g(x ¡ t)dt
f (x)g(x)x
![Page 50: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/50.jpg)
คอนโวลชน (ตอ)
![Page 51: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/51.jpg)
ทฤษฎการชกตวอยาง
![Page 52: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/52.jpg)
ดแรกเดลตาฟงกชน• สญลกษณ • ฟงกชนททำาคอนโวลชนกบอะไรกไดคาของ
ฟงกชนนน
• ถาเลอน แลว กจะเลอนตามไปดวย
±(x)
f (x) ±(x) = f (x)
±(x) f (x)
f (x) ±(x ¡ t) = f (x ¡ t)
![Page 53: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/53.jpg)
ดแรกเดลตาฟงกชน (ตอ)
• หนาตาของมน
• หาคาจรงไมได แตรวา integrate แลวได 1Z 1
¡ 1±(x) dx = 1
![Page 54: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/54.jpg)
การชกตวอยาง• คอการเอาฟงกชนภาพมาคณกบดเรกเดลตา
ฟงกชนทวางไวหางเปนระยะเทาๆ กน
![Page 55: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/55.jpg)
ชาฮฟงกชน• ดเรกเดลตาฟงกชนทเอามาเรยงหางกนเปนระยะ
เทาๆ กนมชอเรยกวา ชาฮฟงกชน (Shah) หรอ หวของดแรก (Dirac comb)
• สญลกษณ
• โดยคา คอ คาบ ของฟงกชน“ ”
I I IT (x) = T1X
k=¡ 1±(x ¡ kT)
I I IT (x)
T
![Page 56: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/56.jpg)
ชาฮฟงกชน (ตอ)
![Page 57: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/57.jpg)
ชาฮฟงกชน (ตอ)
• เมอนำาชาฮฟงกชนทมคาบ ไปทำาการแปลงฟเรยร จะไดชาฮฟงกชนทมคาบ
T1=T
F f II IT (x)g= 1T
1X
k=¡ 1±(! ¡ k=T) = III1=T (! )
![Page 58: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/58.jpg)
การชกตวอยาง (อกครง)
• ดงนนการชกตวอยางทกๆ คาบ สามารถเขยนเปนประโยคสญลกษณไดวา
• การแปลงฟเรยรของฟงกชนขางบนคอ
T
f (x)II IT (x)
F f f (x)II IT (x)g= F (! ) I I I1=T (! )
![Page 59: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/59.jpg)
การชกตวอยาง (อกครง)
• เราทำาการคณ กบ ในโดเมนปรภม• เราจะลองเขยนฟงกชนและผลลพธทเกดขนกบ
มนของการคณในโดเมนความถด• ยำาวาเราไมไดตองแปลงฟงกชนเหลานใหอยใน
โดเมนความถจรงๆ ฟงกชนทกฟงกชนเขยนอยในโดเมนความถไดอยแลว เราแคดเฉยๆวาถาเขยนอยในโดเมนความถแลวเกดอะไรขน
f (x) I I IT (x)
![Page 60: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/60.jpg)
การชกตวอยาง (ตอ)
• สมมตวาฟงกชน ในโดเมนความถคอ• และให มหนาตาเชนน
• การคณ กบ ในโดเมนปรภมมคาเทากบการเอา กบ มาทำาคอนโวลชนกน
F (! )f (x)
F (! )
f (x) I I IT (x)
F (! ) I I I1=T (! )
![Page 61: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/61.jpg)
การชกตวอยาง (ตอ)
• เมอเอามนมาทำาคอนโวลชนกบ จะไดI I I1=T (! )
![Page 62: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/62.jpg)
การชกตวอยาง (ตอ)
• แลวตอนนเราไดอะไรบาง• เรารวาหลงจากการชกตวอยางแลว เราจะไดฟงกชน
ทมหนาตาคลายๆ รปขางลางในโดเมนปรภม
• กลาวคอมนเปนดแรกเดลตาฟงกชนความสงตำาตางกนเรยงกนเปนชวงๆ
f (x)I I IT (x)
![Page 63: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/63.jpg)
การชกตวอยาง (ตอ)
• แตถาเราเขยนฟงกชนดแรกเดลตาสงๆ ตำาในโดเมนความถ เราจะได
ซงมลกษณะเหมอนเอาฟงกชนตนฉบบ ในโดเมนความถมาถายเอกสารแลวแปะเปนชวงๆ ระยะหางเทากน
F (! )
![Page 64: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/64.jpg)
การชกตวอยาง (ตอ)
• ขอสงเกต:– ดแรกเดลตาฟงกชนแตละตวในโดเมนปรภมจะหางกน
เปนระยะ– แตจดศนยกลางของฟงกชน แตละตวในโดเมน
ความถจะหางกนเปนระยะ – ยงเราสมถขนเทาไหร กอปปของฟงกชน กจะ
หางขนไปเรอยๆ
TF (! )
1=TF (! )
![Page 65: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/65.jpg)
การชกตวอยาง (ตอ)
• เรากลาววาฟงกชน เปนฟงกชนความถจำากด (band limit) ถาเราเขยนมนอยในโดเมนความถ แลวมนจะมคาเปน ถา มคาสงถงระดบหนง
• กลาวคอม (ยอมาจากคำาวา band)ททำาให ถา
f (x)F (! ) !
B F (! ) = 0
F (! )
j! j > B
B¡ B
![Page 66: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/66.jpg)
การชกตวอยาง (ตอ)
• ถา มความถจำากด และถา มคานอยพอ กอปป ของ จะอยหางกนและไมซอนทบกน
• แตถา มคามากเกนไป (เราชกตวอยางไมถพอ) กอปป ของ อาจซอนทบกนได
Tf (x) F (! )
T F (! )
![Page 67: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/67.jpg)
การชกตวอยาง (ตอ)
• แลวตองเลอก ใหมคาเทาไหร ถงจะไดกอปป ทไมซอนทบกน?
• คำาตอบคอตองเลอกให• นนคอตองสมใหถกวาความถสงสดของ
สองเทา• ความถนเรยกวา ความถไนควสท (Nyquist
Frequency)
T1=T > 2B
f (x)
![Page 68: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/68.jpg)
การชกตวอยาง (ตอ)
B B
1=T
![Page 69: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/69.jpg)
การสรางกลบ• ในการสรางกลบ เราตองการเอาฟงกชนทชก
ตวอยางมาแลวมาทำาอะไรสกอยางใหไดฟงกชนทคลายฟงกชนตนฉบบมากทสด
• สมมตวาฟงกชนตนฉบบมความถจำากด และเราตวอยางมนทความถสงกวาความถไนควสท ปญหาของเราคอ
ทำาอยางไรจะได จาก ?
![Page 70: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/70.jpg)
การสรางกลบ (ตอ)
• ตองลบสวนเกนทอยรอบนอกออกไป• คณดวย กลอง“ ” ในโดเมนความถ
£
![Page 71: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/71.jpg)
ฟงกชนกลอง• สญลกษณ¦ T (! )
¦ T (! ) =(
1=(2T) j! j < T0 otherwise
T¡ T
1=(2T)
![Page 72: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/72.jpg)
ซงคฟงกชน• ฟงกชนกลองทวามานนอยในโดเมนความถ ถา
ทำาใหอยในโดเมนปรภมแลวจะมหนาตาเปนอยางไร?
• โดยท
F ¡ 1f ¦ T (x)g= sinc(Tx)
sinc(x) =(
1; x = 0sinx=x; otherwise
![Page 73: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/73.jpg)
การสรางกลบ (ตอ)
![Page 74: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/74.jpg)
การสรางกลบ (ตอ)
• เขยนการสรางกลบจากการชกตวอยางเปนประโยคสญลกษณในโดเมนความถไดวา
• เมอเขยนอยในโดเมนปรภม จะไดเปน
• ดงนน การสรางกลบคอการเอาฟงกชนทชกตวอยางมาแลวมาทำาคอนโวลชนกบซงคฟงกชน
(F (! ) I I I 1=T (! ))¦ T (! )
(f (x)I I I T (x)) sinc(Tx)
![Page 75: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/75.jpg)
การสรางกลบ (ตอ)
• ถา มความถจำากดและเราชกตวอยางดวยความถสงกวาความถไนควสทของมน เราจะสามารถสรางฟงกชน กลบคนได เนองจาก
ดงนน
f (x)f (x)
(F (! ) I I I 1=T (! ))¦ T (! ) = F (! )
(f (x)I I I T (x)) sinc(Tx) = f (x)
![Page 76: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/76.jpg)
การสรางกลบ (ตอ)
• แตถาเราชกตวอยางดวยความถตำากวาความถไนควสท กอปป ของ จะซอนทบกน และเมอคณดวยฟงกชนกลองจะไดฟงกชนอกอนหนงทไมเหมอน ทกประการ
F (! )
F (! )
![Page 77: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/77.jpg)
การสรางกลบ (ตอ)
• ความไมเหมอนกนทกประการทเกดจากการชกตวอยางดวยความถไมมากพอนเองทเปนสาเหตของเอเลยสซงทงหมด
ฟงกชนตนแบบ ฟงกชนทสรางคนทมเอเลยสซง
![Page 78: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/78.jpg)
การบรรเทาเอเลยสซง
![Page 79: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/79.jpg)
เอเลยสซง• เอเลยสซงเวลาทำาการสรางภาพสามมตเกดขน
จาก– ฟงกชนภาพเปนฟงกชนความถไมจำากด เนองจากม
ความไมตอเนองของส ณ ขอบเขตของวตถและเงา– จตรกรรมฝาผนงมความไมตอเนอง
![Page 80: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/80.jpg)
เอเลยสซง (ตอ)
• เอเลยสซงทเกดจากขอบเขตของวตถ
![Page 81: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/81.jpg)
เอเลยสซง (ตอ)
• เอเลยสซงทเกดจากความไมตอเนองของจตรกรรมฝาผนง
![Page 82: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/82.jpg)
เอเลยสซง (ตอ)
• ปกตแลวการบรรเทาเอเลยสซงจากความไมตอเนองของรปทรงและเงาทำาไดยาก– ความไมตอเนองของรปทรงและเงาเปนฟงกชนทม
ความถไมจำากด– เราไมสามารถลบสวนความถไมจำากดนออกไปได
• แตการบรรเทาเอเลยสซงจากความไมตอเนองของจตรกรรมฝาผนงทำาไดงายกวา– เพราะเราสามารถดดแปลงรปเพอลบสวนทมความถสง
ออกไปไดกอนนำามนมาใชคำานวณส
![Page 83: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/83.jpg)
เทคนคการบรรเทาเอเลยสซงทวๆ ไป• เพมความถการชกตวอยาง (วาดใหละเอยดขน)– ใชไดผลด แตไมคอยคมคาเพราะตองเสยวาดเพมขน
• ชกตวอยางแบบสมๆ– แทนทจะชกตวอยางแบบเปนตารางมระเบยบ กชกให
มนหลดๆ ออกไปจากตำาแหนงทมนควรจะเปนสกเลกนอย แบบสมๆ
– ทำาใหภาพมคลนรบกวนเยอะขน แตเอเลยสซงกถกเปลยนเปนคลนรบกวนดวย ทำาใหภาพดสบายตาขน
![Page 84: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/84.jpg)
เทคนคการบรรเทาเอเลยสซงทวๆ ไป (ตอ)
• เพมความถการชกตวอยางโดยอาศยการเรยนรจากภาพ– ถาภาพสวนไหนมความเปลยนแปลงสมาก กใหสมมากขน
• สวนขอบของวตถ• จดสองจดทอยขางกนทสตางกนมากๆ
– ลดการคำานวณลงไดพอสมควร แตกมขอบกพรอง• จดสองจดทอยตดกนบางค อาจจะมสตางกนมาก แตความจรงไม
ตองสมเพมกได เชน จดสองจดขางกนทสตางกนเนองจากจตรกรรมฝาผนง
• บรเวณทตองการความถการสมสงอาจจะไมถกสมความถสงขนกได
![Page 85: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/85.jpg)
การชกตวอยางแบบ มวในบลอก“ ”• ปกตเราจะชกตวอยางโดยในแตละพกเซลเราจะยง
รงส ไปทกลางพกเซลนน“ ”
• แตมนทำาใหเกดเอเลยสซงไดงาย
![Page 86: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/86.jpg)
การชกตวอยางแบบ มวใน“บลอก ” (ตอ)
• เราสามารถชกตวอยางแบบมวๆ เพอเปลยนเอเลยสซงเปนคลนรบกวน
• แตแบบนบางพกเซลจะไมถกชกตวอยางออกมาเลย
![Page 87: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/87.jpg)
การชกตวอยางแบบ มวใน“บลอก ” (ตอ)
• เราสามารถรวมสองวธขางตนเขาดวยกน โดยในแตละพกเซลเราจะชกตวอยางมาหนงตว แตตำาแหนงของตวอยางนนจะมวเอา
• วธนเปนวธชกตวอยางทไดผลดมาก
![Page 88: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/88.jpg)
การชกตวอยางแบบ มวใน“บลอก ” (ตอ)
• ภาพในอดมคต คำานวณดวยการชกตวอยาง 256 ตวอยางในหนงพกเซล
![Page 89: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/89.jpg)
การชกตวอยางแบบ มวใน“บลอก ” (ตอ)
• 1 ตวอยางตอหนงพกเซล
![Page 90: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/90.jpg)
การชกตวอยางแบบ มวใน“บลอก ” (ตอ)
• มวในบลอก หนงตวอยางตอหนงพกเซล
![Page 91: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/91.jpg)
การชกตวอยางแบบ มวใน“บลอก ” (ตอ)
• มวในบลอก 4 ตวอยางตอหนงพกเซล
![Page 92: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/92.jpg)
ฟลเตอรการสรางกลบ
![Page 93: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/93.jpg)
การสรางกลบ (อกรอบ)
• การสรางภาพกลบคอการนำาเอาฟงกชนทชกตวอยางออกมาแลวมาทำาคอนโวลชนกบฟงกชนตวหนง
• ฟงกชนตวนเราจะเรยกวา เคอรเนล (kernel) หรอ ฟลเตอร (filter)
• เรารวาฟงกชนซงคเปนฟงกชนการสรางกลบในอดมคต– มนสามารถสรางฟงกชนเดมออกมาไดถาเราชกตวอยาง
ดวยความถสงกวาความถไนควสท
![Page 94: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/94.jpg)
การสรางกลบ (ตอ)• แตจรงๆ เวลาจะแสดงผล เราไมไดสรางฟงกชนตอเนอง
ตนฉบบกลบแตอยางไร• เวลาเราสงจอภาพใหแสดงภาพ หรอจะเซฟภาพลงในไฟล
เราตองสงตวอยางของฟงกชนไปใหจอภาพหรอดสกอยด• ตวอยางทจะสงใหจอภาพหรอดสก เปนตวอยางทจดของ
มนเรยงกนเปนระเบยบ หนงตวอยางตอหนงพกเซล• แตตอนเราชกตวอยาง เราอาจไมไดชกตวอยางแบบนน
(ถาชกแบบนนกแลวไป ไมตองทำาอะไร)• บางท เราอาจชกตวอยางมากกวาหนงตวอยางในหนง
พกเซล
![Page 95: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/95.jpg)
การสรางกลบ (ตอ)
เราอาจจะชกตวอยางแบบน แตตวอยางทตองสงใหจอภาพเปนแบบน
![Page 96: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/96.jpg)
การสรางกลบ (ตอ)
• สงทเราตองทำาคอตองหาคาของตวอยางทชกมาอยางเปนระเบยบ หนงตวอยางตอหนงพกเซล จากตวอยางทเราชกมาจรงๆ ซงอาจไมคอยเปนระเบยบนก หรออาจมมากกวาหนงตวตอหนงพกเซล
![Page 97: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/97.jpg)
การสรางกลบ (ตอ)
• การหาคาทวานเราจะนำาเอาตวอยางทอยใกลๆ จดทเราตองการหาคาฟงกชนมาถวงนำาหนกแลวเฉลย
โดยท คอฟลเตอร คอคาความเขมแสงทไดจากการยงเรย คอคาความเขมแสงทเราตองการหา
I (x;y) =P
i f (x ¡ xi ;y ¡ yi )L(xi ;yi )Pi f (x ¡ xi ;y ¡ yi )
f (¢;¢)L(¢;¢)I (¢;¢)
![Page 98: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/98.jpg)
การสรางกลบ (ตอ)
![Page 99: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/99.jpg)
ฟลเตอร• เราใชซงคฟงกชนเปนฟลเตอรไมได– มนมขอบเขตกวางเกนไป หมายความวาจะตองใช
ตวอยางทกตวทสมมา– นอกจากนมนยงอาจทำาใหเกนคลนกระเพอม (ringing)
ในภาพได ถาตวอยางทสมมาความถตำากวาความถไนควสท
![Page 100: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/100.jpg)
ฟลเตอร (ตอ)
• ฟลเตอรทคนนยมใช ไดแก– กลอง– สามเหลยม– เกาส– มทเชล– ซงคแบบถกจำากดขอบเขต (แลงคซอส
![Page 101: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/101.jpg)
กลอง
เอเลยสซงเตมไปหมด
![Page 102: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/102.jpg)
สามเหลยม
เรยบและเบลอ
![Page 103: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/103.jpg)
เกาส
เบลอมากๆ
![Page 104: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/104.jpg)
มทเชล
คมกวาเกาส
![Page 105: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/105.jpg)
ซงคแบบถกจำากดขอบเขต
![Page 106: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/106.jpg)
ANTI-ALISING ใน OPENGL
![Page 107: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/107.jpg)
Antialiasing ใน OpenGL
• การทำา antialiasing ของจดและเสน• การทำา multisampling
![Page 108: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/108.jpg)
การทำา antialiasing ของจดและเสน• ถาตองการทำา antialiasing ของจดใหสง
glEnable(GL_POINT_SMOOTH);• ถาตองการทำา antialiasing ของเสนใหสง
glEnable(GL_LINE_SMOOTH);• เมอถาจะเลกใชใหสง glDisable(…) ตามสมควร
![Page 109: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/109.jpg)
การทำา antialiasing ของจดและเสน (ตอ)
• การทำา antialiasing ของจดและเสนใน OpenGL เปนการกำาหนดคา alpha ของ fragment ทประกอบขนเปนจดหรอเสนนน
• คา alpha ถกคำานวณดวย unweighted area sampling
• ดงนนถาจะทำา antialiasing จะตอง– สง glEnable(GL_BLENDING);– และสง glBlendFunc(…) ใหเหมาะสม
![Page 110: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/110.jpg)
การทำา antialiasing ของจดและเสน (ตอ)
• แลวจะสง glBlendFunc อยางไร?• ปกตแลวใช
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)
• แตกสามารถใช glBlendFunc(GL_SRC_ALPHA, GL_ONE)เพอทำาใหจดตดสวางขน
![Page 111: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/111.jpg)
การทำา antialiasing ของจดและเสน (ตอ)
• ขอควรระวง– เนองจากเราใช blending ลำาดบการวาดเสนและจดจง
มผลตอรป– ถามวตถทบแสงอยในฉากดวย • ตองวาดวตถทบแสงใหหมดกอน แลวคอยวาดเสนและจด • และจะตองมการทำาให depth buffer เปนแบบ readonly
ดวย• ดรายละเอยดในการบรรยายครงท 16
![Page 112: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/112.jpg)
ด demo
![Page 113: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/113.jpg)
การทำา multisampling
• สามารถใชไดกบรปทรงใดๆ กได• แตเสยเวลาการทำานานมาก• หลกการคอสราง fragment เพมขน 4 เทา• แลวทำาสรางภาพทจะนำาไปแสดงโดยใหสของ 1
fragment ของ primitive ทจะเอาไปแสดง เทากบคาเฉลยของสของ 4 fragment (สเหลยมกวาง 2 pixel ยาว 2 pixel) ของทสรางขนมา
![Page 114: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/114.jpg)
ขนตอน• เพม GLUT_MULTISAMPLE ลงใน
glutInitDisplayMode ดงน:
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH |
GLUT_MULTISAMPLE);
• เวลาใชใหสง glEnable(GL_MULTISAMPLING);
![Page 115: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/115.jpg)
ด demo
![Page 116: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/116.jpg)
ปญหาการ compile บน Windows
• Multisampling เปนความสามารถใหมทเพมเขามาใน OpenGL เวอรชนหลงๆ
• แต OpenGL ทมากบ Windows อยทเวอรชน 1.1 ซงมอายประมาณ 10 ปแลว
• ดงนนถา compile โคดตวอยางตามธรรมดาแลวจะพบวามนไมรจกคา GL_MULTISAMPLE
![Page 117: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/117.jpg)
GLEW
• OpenGL Extension Wrangler (GLEW) เปนไลบรารทใชในการเขาถงความสามารถของ OpenGL อนใหมๆ ทไมมในเวอรชนเกา หรอทมเฉพาะในฮารดแวรบางตว
• สามารถ download มนไดท http://glew.sourceforge.net
• ให download Win32 binary ของมนมา แลวแตก zip ไฟล
• นำา glew32.dll ไปใสไวท c:\windows\system32• เสรจแลวนำา glew.h และ glew32.lib ไปใสไวใน
solution ของโปรแกรมของเรา เชนเดยวกบ GLUT
![Page 118: 418341 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 10](https://reader035.fdocuments.net/reader035/viewer/2022070502/56814cfc550346895dba1b12/html5/thumbnails/118.jpg)
GLEW (ตอ)
• เวลาใชงาน GLEW ให include ไฟล glew.h กอน glut.h เชน
#include <windows.h>#include <GL/glew.h>#include <GL/glut.h>