ผลต่างระหว่างรุ่นของ "PyOpenGL Programming/Tutorial 1: First Program"

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
แถว 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