ผลต่างระหว่างรุ่นของ "PyOpenGL Programming"
Cardcaptor (คุย | มีส่วนร่วม) |
Cardcaptor (คุย | มีส่วนร่วม) (→OpenGL) |
||
แถว 13: | แถว 13: | ||
OpenGL เป็นไลบรารีที่เหมาะสมต่อการสร้างโปรแกรมที่มีการตอบสนองต่อผู้ใช้แบบทันทีทันควัน (interactive) เนื่องจากการวาดรูปใช้ GPU จึงทำได้อย่างรวดเร็ว แต่ GPU เองไม่สามารถสร้างรูปที่มีรายละเอียดสูง หรือมีการกระจายตัวของแสงในฉากที่ซับซ้อนได้ จึงไม่เหมาะสำหรับใช้สร้างภาพนิ่งคุณภาพสูงหรือภาพยนตร์สามมิติต่างๆ | OpenGL เป็นไลบรารีที่เหมาะสมต่อการสร้างโปรแกรมที่มีการตอบสนองต่อผู้ใช้แบบทันทีทันควัน (interactive) เนื่องจากการวาดรูปใช้ GPU จึงทำได้อย่างรวดเร็ว แต่ GPU เองไม่สามารถสร้างรูปที่มีรายละเอียดสูง หรือมีการกระจายตัวของแสงในฉากที่ซับซ้อนได้ จึงไม่เหมาะสำหรับใช้สร้างภาพนิ่งคุณภาพสูงหรือภาพยนตร์สามมิติต่างๆ | ||
− | OpenGL ทำหน้าที่'''สั่ง GPU ให้วาดรูปเท่านั้น''' | + | OpenGL ทำหน้าที่'''สั่ง GPU ให้วาดรูปเท่านั้น''' มันไม่ได้จัดการการติดต่อกับผู้ใช้ ไม่ได้จัดการวินโดว์ที่โปรแกรมใช้ และมันก็ไม่สามารถหา framebuffer มาใช้เองได้ ดังนั้นต้องมีโค้ดส่วนอื่นมาจัดการเรื่องพวกนี้ให้ |
+ | |||
+ | == GLUT == | ||
+ | GLUT ย่อมาจาก Open'''GL''' '''U'''tility '''T'''oolkit |
รุ่นแก้ไขเมื่อ 16:57, 24 ตุลาคม 2551
OpenGL (ย่อมาจาก Open Graphics Library) เป็น Application Programming Interface (API) สำหรับควบคุม Graphics Processing Unit (GPU) ที่ใช้กันอย่างแพร่หลายในปัจจุบัน (เนื่องจากมี API แบบนี้ในโลกอยู่แค่สองตัว คือ OpenGL และ DirectX) จริงๆ แล้ว OpenGL เขียนขึ้นมาครั้งแรกเพื่อใช้กับภาษา C แต่หลังจากนั้นก็มีคนเขียนซอฟต์แวร์เพิ่มเติมให้ใ้ช้ OpenGL กับภาษาอื่นๆ เช่น Java, Pascal, Ruby, ฯลฯ ได้ PyOpenGL เป็นไลบรารีที่ทำให้ภาษาไพทอนใช้ OpenGL ได้ เอกสารนี้จะสอนวิธีการเขียนใช้ PyOpenGL สร้างโปรแกรมเพื่อแสดงภาพสองมิติและสามมิติอย่างง่ายๆ
หากท่านต้องการอ่านเอกสารนี้ให้ได้อรรถรสมากที่สุด กรุณาใช้ Crunchy คุณสามารถดูวิดิทัศน์แสดงการติดตั้งและใช้ Crunchy ได้ที่นี่: วิธีการติดตั้งภาษา Python และ Crunchy
การติดตั้ง PyOpenGL
ก่อนติดตั้ง PyOpenGL คุณจะต้องติดตั้งภาษาไพทอนไว้ก่อนแล้ว เราแนะนำให้ติดตั้งภาษาไพทอนเวอร์ชัน 2.5.2 เนื่องจากมันเป็นเวอร์ชันที่ Crunchy สามารถทำงานร่วมด้วยอย่างราบรื่น
คุณสามารถดูวิดิทัศน์แสดงวิธีการติดตั้ง PyOpenGL ได้ที่นี่: http://access.cs.sci.ku.ac.th/~pramook/install-pyopengl/
OpenGL
ผู้ใช้ OpenGL สามารถใช้มันวาดรูปทรงสองมิติหรือสามมิติได้ โดยระุบุรูปทรงและรูปร่างพื้นฐาน เช่น จุด เส้น และรูปหลายเหลี่ยม เป็นต้น แล้ว OpenGL จะทำหน้าที่สร้างภาพสามมิตินั้นไว้บนหน่วยความจำที่่เรียกว่า framebuffer ซึ่งเก็บข้อมูลสีของแต่ละ pixel บนหน้าจอเอาไว้
OpenGL เป็นไลบรารีที่เหมาะสมต่อการสร้างโปรแกรมที่มีการตอบสนองต่อผู้ใช้แบบทันทีทันควัน (interactive) เนื่องจากการวาดรูปใช้ GPU จึงทำได้อย่างรวดเร็ว แต่ GPU เองไม่สามารถสร้างรูปที่มีรายละเอียดสูง หรือมีการกระจายตัวของแสงในฉากที่ซับซ้อนได้ จึงไม่เหมาะสำหรับใช้สร้างภาพนิ่งคุณภาพสูงหรือภาพยนตร์สามมิติต่างๆ
OpenGL ทำหน้าที่สั่ง GPU ให้วาดรูปเท่านั้น มันไม่ได้จัดการการติดต่อกับผู้ใช้ ไม่ได้จัดการวินโดว์ที่โปรแกรมใช้ และมันก็ไม่สามารถหา framebuffer มาใช้เองได้ ดังนั้นต้องมีโค้ดส่วนอื่นมาจัดการเรื่องพวกนี้ให้
GLUT
GLUT ย่อมาจาก OpenGL Utility Toolkit