 |
|
|
Contents of this web site is owned by CUCG Society. They are copyrighted and protected. For term of use please contact us. |
|
|
|
 |
 |
|
|
 |
|
 |
| |
|
 |
 |
Rain Rendering |
 |
| |


|
|
|
แนวคิด
โครงงานนี้เป็นโครงงานการเรนเดอร์ภาพฝนตก ซึ่งได้แนวคิดมาจาก
ผลการวิจัยเรื่อง Photorealistic Rendering of Rain Streaks โดย K.Garg และ
S.K.Nayar เนื่องจากการเรนเดอร์สายฝนธรรมดา อาจทำให้ภาพ
ที่ออกมาดูไม่สมจริงนัก ทางผู้พัฒนาจึงได้นำแหล่งกำเนิดแสงที่อยู่ใน
ภาพมาคิด สร้างภาพแอ่งน้ำและเพิ่มการกระเซ็นของเม็ดฝนที่เกิดจาก
ฝนตก อีกทั้งยังแปลงภาพฝนตกให้เป็นภาพเคลื่อนไหว เพื่อทำให้ภาพ
ที่ได้มีความสมจริงยิ่งขึ้น
|
เทคนิคที่เกี่ยวข้อง
- C++ : เป็นภาษาระดับกลางที่ใช้สำหรับเรนเดอร์ภาพฝนตก
- C# : เป็นภาษาที่ใช้สำหรับเขียนโปรแกรมส่วนติดต่อกับผู้ใช้ (Interface)
- Gaussian Blur Algorithm : เป็นอัลกอริทึมการสร้างภาพให้มีลักษณะมัว (Blur)
- tga2avi : เป็นโปรแกรม generate ภาพเคลื่อนไหว(avi)จากภาพนิ่งตระกูล tga
|
ความสามารถของโปรแกรม
- แสดงภาพฝนตกที่เคลื่อนไหวได้จากภาพนิ่ง
- ผู้ใช้สามารถปรับลักษณะของสายฝนได้เอง เช่น ทิศทาง ความยาว เป็นต้น
- ผู้ใช้สามารถระบุตำแหน่งของแหล่งกำเนิดแสงเอง
- ผู้ใช้สามารถระบุตำแหน่งของแอ่งน้ำที่เกิดขึ้นจากฝนเอง
- ผู้ใช้สามารถเลือกสร้างภาพนิ่งหรือภาพเคลื่อนไหว
|
การทำงานของโปรแกรม
การทำงานของโปรแกรมจะแยกออกเป็น 2 ส่วน ได้แก่
ส่วน Interface - เป็นส่วนที่ติดต่อกับผู้ใช้ เพื่อให้ผู้ใช้กำหนดค่าต่าง ๆ ดังนี้
- ตำแหน่งของแหล่งกำเนิดแสง
- ตำแหน่งของแอ่งน้ำ
- ลักษณะของสายฝน ประกอบด้วย
- จำนวนสายฝน
- ขนาดของเม็ดฝน
- ความยาวของสายฝน
- ทิศทางของสายฝน
- ความหลากหลายของทิศทางของสายฝน
- ความสว่างของเม็ดฝน
- ความสว่างของภาพ
ส่วน Process - เป็นส่วนที่ทำการเรนเดอร์ภาพสายฝน โดยนำค่าต่าง ๆ จาก
ส่วน Interface มาใช้สร้างภาพสายฝนตามที่ผู้ใช้ต้องการ โดยการสุ่มเลือก
จุดกำเนิดสายฝนแล้วทำการ สุ่มเลือกค่าความยาวของเส้นสายฝน จากนั้น
ทำการคำนวณจุดปลายของสายฝนจากค่าความยาวและค่าทิศทางของสายฝน
จากนั้นนำไปสร้างเป็นสมการเส้นตรง เพื่อใช้หาตำแหน่งของสายฝน สำหรับ
การเรนเดอร์ภาพฝนตกแบบที่มีแหล่งกำเนิดแสงเข้ามาเกี่ยวข้องด้วย จะนำ
ตำแหน่งของแหล่งกำเนิดแสงจากที่ผู้ใช้กำหนด มาคำนวณหาตำแหน่งที่จะต้อง
เพิ่มค่าความสว่างให้มากขึ้น นอกจากนี้ยังสามารถสร้างแอ่งน้ำตามที่ผู้ใช้กำหนดได้
โดยนำตำแหน่งของแอ่งน้ำที่ผู้ใช้กำหนดมาคำนวณ เพื่อหาตำแหน่งของภาพ
ที่จะทำการสะท้อนบนแอ่งน้ำ จากนั้นใช้สมการ sin เพื่อกำหนดให้แอ่งน้ำดูมี
ความเคลื่อนไหวเมื่อฝนตกลงมากระทบ ซึ่งสามารถเลือกสร้างได้ทั้งภาพนิ่ง
และภาพเคลื่อนไหว
|
| |
| Download
|
| |
| [ back to Computer Graphic Projects 2007 ] |
|
 |
|
|
|
 |
|
 |
|
|
|
|
|
|
|
 |
|
|
Chula
 |
|
|
|
|
 |
|
|
|
|
CP
 |
|
|
|
|
 |
|
|
|
|
CU Vichakarn
 |
|
|
|
|
 |
|
|
|
|
SIGGRAPH
 |
|
|
|
|
 |
|
|
|
|
Bangkok SIGGRAPH
 |
|
|
|
|
 |
|
|
|
|
TAM 2006
 |
|
|
|
|
 |
|
|
|
|
TAM 2007
 |
|
|
|
|
 |
|
|
|
|
SIPA
 |
|
|
|
|
 |
|
|
|
|
Alias
 |
|
|
|
|
 |
|
|
|
|
Fake or Foto
 |
|
|
|
|
 |
|
|
|
|
White paper
 |
|
|
|
|
 |
|
|
|
|
|
|
|
 |
|