ผลต่างระหว่างรุ่นของ "PyOpenGL Programming/Tutorial 1: First Program"
ไปยังการนำทาง
ไปยังการค้นหา
Cardcaptor (คุย | มีส่วนร่วม) |
|||
| แถว 50: | แถว 50: | ||
*: ล้าง bitplane ที่เก็บสีด้วยสีทีกำหนดใน glClearColor | *: ล้าง bitplane ที่เก็บสีด้วยสีทีกำหนดใน glClearColor | ||
* <tt>glColor3f(1.0, 1.0, 1.0)</tt> | * <tt>glColor3f(1.0, 1.0, 1.0)</tt> | ||
| − | *: เปลี่ยนสีเป็นสีขาว | + | *: เปลี่ยนสีเป็นสีขาว โดยที่จุด เส้น และรูปทรงที่วาดต่อจากนี้ไปจะเป็นสีขาว |
| − | + | * <tt>glBegin(GL_QUADS)</tt> | |
| + | *: บอกว่าต่อไปนี้เราจะวาดรูปสี่เหลี่ยม | ||
| + | * <tt>glVertex3f(x, y, z)</tt> | ||
| + | *: กำหนดจุดยอดมุมของสี่เหลี่ยม | ||
| + | * <tt>glEnd()</tt> | ||
| + | *: บอกว่าสิ่งที่เริ่มไปตั้งแต่ glBegin ที่แล้วได้เสร็จสิ้นแล้ว ในที่นี้คือบอกว่ากำหนดสี่เหลี่ยมเสร็จสิ้นแล้ว (เราได้กำหนดไปสี่จุดพอดี!) | ||
{{PyOpenGL Programming/Navigation|Basic Vocabulary|Tutorial 2: Geometric Primitives}} | {{PyOpenGL Programming/Navigation|Basic Vocabulary|Tutorial 2: Geometric Primitives}} | ||
รุ่นแก้ไขเมื่อ 05:56, 27 ตุลาคม 2551
โปรแกรมต่อไปนี้วาดสี่เหลี่ยมจัุตุรัสสีขาวรูปหนึ่งที่กลางวินโดว์
from OpenGL.GL import *
from OpenGL.GLU import *
from OpenGL.GLUT import *
import sys
def display():
glClearColor(0,0,0,0)
glClear(GL_COLOR_BUFFER_BIT)
glBegin(GL_QUADS)
glVertex2d(-0.5, -0.5)
glVertex2d(0.5, -0.5)
glVertex2d(0.5, 0.5)
glVertex2d(-0.5, 0.5)
glEnd()
glutSwapBuffers()
if __name__=="__main__":
glutInit(sys.argv)
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA)
glutInitWindowSize(512, 512)
glutCreateWindow("Test 01")
glutDisplayFunc(display)
glutMainLoop()
คำสั่ง OpenGL
ถ้าเราตัดโปรแกรมข้างบนเอามาแค่ส่วนที่เป็นคำสั่ง OpenGL จะได้ผลดังต่อไปนี้
glClearColor(0,0,0,0)
glClear(GL_COLOR_BUFFER_BIT)
glBegin(GL_QUADS)
glVertex2d(-0.5, -0.5)
glVertex2d(0.5, -0.5)
glVertex2d(0.5, 0.5)
glVertex2d(-0.5, 0.5)
glEnd()
เรามาดูกันทีละคำสั่ง
- glClearColor(0.0, 0.0, 0.0, 0.0)
- เปลี่ยนสีที่จะใช้ล้างหน้าจอเป็นสีดำ
- glClear(GL_COLOR_BUFFER_BIT)
- ล้าง bitplane ที่เก็บสีด้วยสีทีกำหนดใน glClearColor
- glColor3f(1.0, 1.0, 1.0)
- เปลี่ยนสีเป็นสีขาว โดยที่จุด เส้น และรูปทรงที่วาดต่อจากนี้ไปจะเป็นสีขาว
- glBegin(GL_QUADS)
- บอกว่าต่อไปนี้เราจะวาดรูปสี่เหลี่ยม
- glVertex3f(x, y, z)
- กำหนดจุดยอดมุมของสี่เหลี่ยม
- glEnd()
- บอกว่าสิ่งที่เริ่มไปตั้งแต่ glBegin ที่แล้วได้เสร็จสิ้นแล้ว ในที่นี้คือบอกว่ากำหนดสี่เหลี่ยมเสร็จสิ้นแล้ว (เราได้กำหนดไปสี่จุดพอดี!)
| หน้าก่อน: Basic Vocabulary | สารบัญ | หน้าต่อไป: Tutorial 2: Geometric Primitives |