418382...

123
418382 สสสสสสสสสสสสสส สสสสสสสสสสสสสสสสสสสสสสส สส สสสสสสสสสสสสสสสสส 4 สสสสสส สสสสสสส [email protected]

Upload: hide

Post on 18-Jan-2016

62 views

Category:

Documents


7 download

DESCRIPTION

418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4. ประมุข ขันเงิน [email protected]. rasterization. Projection Transformation. เปลี่ยน eye space เป็น clip space พิกัดใน clip space จะใช้เป็นตัวบอกว่าเราจะเห็น vertex ใดหรือไม่เห็น vertex ใด - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4

418382 สภาพแวดล้อมการทำ�างานคอมพ�วเตอร�กราฟิ�กส�การบรรยายคร��งทำ�� 4

ประม"ข ข�นเง�น[email protected]

Page 2: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4

RASTERIZATION

Page 3: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4

Projection Transformation

• เปล้��ยน eye space เป$น clip space• พ�ก�ดใน clip space จะใช้เป$นต�วบอกว(าเราจะเห็*น

vertex ใดห็ร+อไม(เห็*น vertex ใด• กระบวนการต�ดส�นใจ: vertex ทำ��เห็*นจะตองม�– -1 ≤ x ≤ 1– -1 ≤ y ≤ 1– -1 ≤ z ≤ 1

• Projection transform ย�งม�ผล้ต(อล้�กษณะภาพทำ��เราเห็*นอ�กดวย

Page 4: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4

Projection Transform ใน OpenGL

• OpenGL จะจ�า matrix ของ projection transform เอาไว

• เวล้าตองการเปล้��ยนแปล้ง projection matrix ให็เปล้��ยน mode ของ matrix เป$น GL_PROJECTION ดวยค�าส��งglMatrixMode(GL_PROJECTION);

• ห็ล้�งจากน��นใช้ค�าส��งในการเปล้��ยนแปล้ง matrix อ+�นแบบเด�ม เช้(น glLoadIdentity(), glMultMatrix(…), ฯล้ฯ

• ส(วนมากเราจะส��ง glLoadIdentity() ทำ�นทำ�ห็ล้�งจากส��ง glMatrixMode(GL_PROJECTION) เสร*จแล้ว เพ+�อเคล้�ยร�ค(า projection matrix ก(อนใส(ค(าให็ม(

Page 5: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4

Projection Transformation ทำ��ส�าค�ญ 2 แบบ

• Orthographic Projection• Perspective Projection

Page 6: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4

Orthographic Projection

• ปร�มาตรของบร�เวณทำ��เห็*นเป$นปร�ซึ3ม• ไม(ม� foreshortening กล้(าวค+อ ไม(ว(าว�ตถุ"จะอย5(ใกล้

ไกล้ก*เห็*นขนาดเทำ(าก�นห็มด• ห็ล้�งจากฉาก เสนขนานย�งเป$นเสนขนานอย5(• ใช้ในโปรแกรมช้(วยเข�ยนแบบ/CAD เน+�องจาก

ขนาดของว�ตถุ"เป$นเร+�องส�าค�ญ

Page 7: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4

Orthographic Projection (ต(อ)

http://www2.arts.ubc.ca/TheatreDesign/crslib/drft_1/orthint.htm

Page 8: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4

Orthographic Projection (ต(อ)

http://www2.arts.ubc.ca/TheatreDesign/crslib/drft_1/cad/wdstv.htm

Page 9: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4

การน�ยาม Orthographic Projection

• น�ยามไดโดยการน�ยามปร�ซึ3มของปร�มาตรทำ��เราตองการมองเห็*น

• ปร�ซึ3มน��สามารถุน�ยามไดดวยต�วเล้ข 3 ค5(– left แล้ะ right --- ขอบเขตในแนวแกน x– top แล้ะ bottom --- ขอบเขตในแนวแกน y– near แล้ะ far --- ขอบเขตในแนวแกน -z (เพราะเรามองในแนว -z)

• ค(าทำ��งห็กเป$นพ�ก�ดใน eye space• ปร�ซึ3มทำ��น�ยามค+อ

{(x,y,z) : left ≤ x ≤ right, top ≤ y ≤ bottom, near ≤ -z ≤ far}

Page 10: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4

ปร�ซึ3มปร�มาตรทำ��มองเห็*น

Page 11: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4

การน�ยาม Orthographic Projection (ต(อ)

• Matrix ของ orthographic projection ตองทำ�าอะไรบา– ส(ง x = left ไป x = -1– ส(ง x = right ไป x = 1– ส(ง y = bottom ไป y = -1– ส(ง y = top ไป y = 1– ส(ง z = -far ไป z = 1– ส(ง z = -near ไป z = -1

Page 12: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4

Matrix ของ Orthographic Projection

1000

200

02

0

002

nf

nf

nf

bt

bt

bt

lr

lr

lr

Page 13: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4

ค�าส��ง OpenGL เก��ยวก�บ Orthographic Projection

• glOrtho(left, right, bottom, top, near, far)– ค5ณ matrix ป8จจ"บ�นดวย matrix ของ orthographic

projection ในห็นาก(อน– ก(อนใช้ควรเร�ยก

glMatrixMode(GL_PROJECTION)glLoadIdentity()

ก(อนเพ+�อเปล้��ยน mode แล้ะเคล้�ยร�ค(า projection matrix เด�ม

• glOrtho2D(left, right, bottom, top)– เห็ม+อนก�บ glOrtho แต(ให็ค(า near เป$น 0 แล้ะ ค(า far เป$น 1

Page 14: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4

Perspective Projection

• ปร�มาตรของบร�เวณทำ��เห็*นเป$น frustum (ป9ระม�ดยอดต�ด)

• ม� foreshortening กล้(าวค+อ อะไรทำ��อย5(ใกล้จะเห็*นให็ญ(กว(า

• ห็ล้�งจากฉายแล้ว เสนขนานอาจจะไม(ขนานก�นเห็ม+อนเด�ม

• ให็ความเป$นสามม�ต� เพราะเห็ม+อนก�บทำ��ตาคนทำ�างาน ทำ�าให็เห็ม+อนเขาไปอย5(ในฉากจร�งๆ

• ใช้ก�บโปรแกรมทำางความบ�นเทำ�ง

Page 15: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4

Perspective Projection (ต(อ)

Page 16: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4

Perspective Projection (cont.)

orthographic perspective

Page 17: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4

การน�ยาม Perspective Projection

• น�ยามดวยเล้ข 6 ต�วเห็ม+อนก�บ orthographic projection

Page 18: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4

การน�ยาม Perspective Projection (ต(อ)

• ปร�มาตรทำ��มองเห็*นค+อป9ระม�ดยอดต�ดทำ��ม�ยอดเป$นส��เห็ล้��ยม{(x,y,z) : left ≤ x ≤ right, bottom ≤ y ≤ top,

z = -near}ซึ3�งยอดของม�นถุ5กฉายต(อไปจนถุ3ง z = -far

Page 19: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4

การน�ยาม Perspective Projection (ต(อ)

• ให็จ"ด (x,y,z) มาใน eye space แล้วม�นจะถุ5กแปล้งเป$นอะไรใน clip space?

nzeye

fzeye

1clipx

lxeye

zzeye

(0,0,0)

rxeye

1clipx

(x,y,z)

Page 20: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4

การน�ยาม Perspective Projection (ต(อ)

• ห็า x ใน clip space

nzeye

fzeye

1clipx

lxeye

zzeye

(0,0,0)

rxeye

1clipx

(x,y,z)

???clipx

Page 21: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4

การน�ยาม Perspective Projection (ต(อ)

• เร��มจากการห็า x ใน eye space ของจ"ดปล้ายสองจ"ด

nzeye

fzeye

1clipx

lxeye

zzeye

(0,0,0)

rxeye

1clipx

(x,y,z)

???clipx

???, righteyex???, lefteyex

Page 22: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4

การน�ยาม Perspective Projection (ต(อ)

• อาศั�ยความร5 เร+�องสามเห็ล้��ยมคล้าย ไดว(าด�งน��น

???, righteyex

rxeye

nzeye

zzeye

(0,0,0)

n

z

r

x righteye

,

n

zrx righteye ,

Page 23: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4

การน�ยาม Perspective Projection (ต(อ)

• ทำ�านองเด�ยวก�น ด�งน��น

nzeye

lxeye

zzeye

(0,0,0)

???, lefteyex

n

z

l

x lefteye

,

n

zlx lefteye ,

Page 24: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4

การน�ยาม Perspective Projection (ต(อ)

• เราร5 ว(า ส�าห็ร�บค(าคงทำ�� a แล้ะ b บางต�ว

1clipx

zzeye

(0,0,0)

1clipx

(x,y,z)

???clipx

n

zrx righteye ,

n

zlx lefteye ,

baxxclip

Page 25: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4

การน�ยาม Perspective Projection (ต(อ)

• เน+�องจากถุา x = -zl/n แล้ว xclip = -1

แล้ะถุา x = -zr/n แล้ว xclip = 1

• ไดว(า

• เม+�อแกสมการออกมาจะไดว(า

bn

zra

bn

zla

1

1

lr

lrb

zlr

na

)(

2

Page 26: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4

การน�ยาม Perspective Projection (ต(อ)

• กล้(าวค+อ

• ในทำ�านองเด�ยวก�นเราก*จะไดว(า

lr

lrxzlr

nxclip

)(

2

bt

btyzbt

nyclip

)(

2

Page 27: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4

การน�ยาม Perspective Projection (ต(อ)

• แล้ว zclip ควรจะม�ค(าเทำ(าไห็ร(?• ค(า zclip จะถุ5กใช้เป$น ความล้3ก ของ “ ” fragment

• zclip จะตองม�ค"ณสมบ�ต�สองประการ– ถุา z นอย zclip ก*ตองนอยตามไปดวย– perspective matrix จะตองส(งเสนตรงไปย�งเสนตรง

• ต�วอย(าง zclip ทำ��ใช้ไม(ได– zclip=z

– 222 zyxzclip

Page 28: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4

การน�ยาม Perspective Projection (ต(อ)

• zclip ทำ�� OpenGL ใช้ม�ร5ป

• เน+�องจาก zclip= -1 ถุา z = -n

แล้ะ zclip= 1 ถุา z = -f

จะไดว(า

z

BAzclip

f

BA

n

BA

1

1

Page 29: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4

การน�ยาม Perspective Projection (ต(อ)

• เม+�อแกสมการออกมาแล้วจะไดว(า

• กล้(าวค+อnf

nfA

nf

fnB

2

znf

fn

nf

nfzclip )(

2

Page 30: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4

การน�ยาม Perspective Projection (ต(อ)

• กล้(าวค+อ perspective projection matrix จะตองส(ง

1

z

y

x

znf

fnz

nf

nf

zbt

bty

bt

n

zlr

lrxlr

n

znf

fn

nf

nfbt

btyzbt

nlr

lrxzlr

n

2

2

2

1)(

2)(

2)(

2

ไปย�ง

Page 31: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4

Matrix ของ Perspective Projection

0100

200

02

0

002

nf

fn

nf

nfbt

bt

bt

nlr

lr

lr

n

Page 32: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4

ค�าส��ง OpenGL เก��ยวก�บ Perspective Projection

• glFrustum(left, right, bottom, top, near, far)– ค5ณ matrix ป8จจ"บ�นดวย matrix ของ perspective

projection ในห็นาก(อน– ก(อนใช้ควรเร�ยก

glMatrixMode(GL_PROJECTION)glLoadIdentity()

ก(อนเพ+�อเปล้��ยน mode แล้ะเคล้�ยร�ค(า projection matrix เด�ม

Page 33: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4

ค�าส��ง OpenGL เก��ยวก�บ Perspective Projection (ต(อ)

• gluPerspective(fovy, aspect, near, far)– ค5ณ matrix ป8จจ"บ�นดวย perspective projection

matrix เช้(นเด�ยวก�บ glFrustrum– ม�ผล้เห็ม+อนก�บส��ง glFrustum โดยได• top = near * tan(fovy / 2)• bottom = -top• right = aspect * top• left = -right

Page 34: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4

ค�าส��ง OpenGL เก��ยวก�บ Perspective Projection (ต(อ)

– fovy ย(อมาจาก field of view Y ห็มายถุ3งความกวางของม"มมองตามแนวแกน y (ม�ห็น(วยเป$นองศัา)

– aspect ค+อ aspect ratio ของห็นาต�ดของป9ระม�ด– ป9ระม�ดทำ�� gluPerspective สรางม�ห็นาตาเป$นด�งขาง

ล้(าง

Page 35: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4

ค�าส��ง OpenGL เก��ยวก�บ Perspective Projection (ต(อ)

• ส�งเกตว(าค�าส��ง glFrustum สามารถุสรางป9ระม�ดทำ��ไม(สมมาตรรอบแกน z ได

• แต(ป9ระม�ดทำ��สรางดวย gluPerspective จะเป$นป9ระม�ดทำ��สมมาตรรอบแกน z เสมอ

Page 36: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4

RASTERIZATION

Page 37: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 38: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 39: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 40: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 41: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 42: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 43: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 44: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 45: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 46: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 47: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 48: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 49: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 50: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 51: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 52: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 53: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 54: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 55: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 56: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 57: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 58: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 59: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 60: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 61: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 62: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 63: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 64: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 65: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4

HIDDEN SURFACE REMOVAL

Page 66: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 67: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 68: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 69: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 70: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 71: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 72: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 73: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 74: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 75: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 76: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 77: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 78: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 79: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 80: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 81: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4

DEPTH BUFFER ใน OPENGL

Page 82: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4

เม+�อ Render โดยไม(ม� Depth Buffer

Page 83: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4

จร�งๆ แล้ว code เป$นอย(างน��glColor3d(0.5, 1, 0.5);glBegin(GL_TRIANGLES);glVertex3d(0, 0.5, 0);glVertex3d(-0.5, -0.5, 0);glVertex3d(0.5, -0.5, 0);glEnd();

glColor3d(1, 0.5, 0.5);glBegin(GL_TRIANGLES);glVertex3d(0, -0.75, 1);glVertex3d(0.40, 0, 1);glVertex3d(-0.40, 0.30, -1);glEnd();

Page 84: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4

จร�งๆ แล้วภาพควรจะเป$นแบบน��

Page 85: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4

การใช้ Depth Buffer ใน GLUT

• เวล้าส��ง glutInitDisplayMode ให็เพ��ม GLUT_DEPTH ดวยglutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH)

• เร�ยก glEnable(GL_DEPTH_TEST)

• เวล้าเร�ยก glClear ให็เพ��ม GL_DEPTH_BUFFER_BITglClear(GL_COLOR_BUFFER_BIT | GLUT_DEPTH_BUFFER_BIT)

Page 86: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4

โคดต�วอย(างint main(int argc, char **argv){glutInit(&argc, argv);glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE);glutInitWindowSize(600, 600);glutCreateWindow("No Depth Buffering");glutDisplayFunc(display);glEnable(GL_DEPTH_TEST);glutMainLoop();return 0;

}

Page 87: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4

ILLUMINATION

Page 88: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 89: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 90: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 91: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 92: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 93: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 94: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 95: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 96: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 97: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 98: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 99: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 100: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 101: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 102: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 103: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 104: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 105: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 106: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 107: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 108: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 109: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 110: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 111: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 112: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 113: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 114: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 115: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 116: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 117: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 118: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 119: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 120: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 121: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 122: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
Page 123: 418382 สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4