1. คำนำ
การวาดภาพกราฟิก Delphi สามารถทำได้ระหว่าง glBegin() และ glEnd() โค้ดเฟรมการวาดสามารถใช้โค้ดเริ่มต้นของการวาด OpenGL2d ภายใต้ Delphi สำหรับเนื้อหาเฉพาะ โปรดดูที่ไซต์นี้ //www.VeVB.COm/article /52141.htm . ส่วนที่แก้ไขคือเนื้อหาของฟังก์ชัน Draw
2. วาดแต้ม
ใช้ฟังก์ชัน glPointSize เพื่อระบุเส้นผ่านศูนย์กลางของจุดที่แรสเตอร์ ค่าเริ่มต้นคือ 1.0 ซึ่งใช้งานได้ภายใต้ GL_POINTS เท่านั้น เราจะศึกษาการป้องกันนามแฝงและฟังก์ชันอื่นๆ ในภายหลัง ใช้ glBegin(GL_POINTS) เพื่อบอก OpenGL ให้วาดจุด พารามิเตอร์ GL_POINTS แสดงถึงจุด และมีพารามิเตอร์อื่นๆ เช่น การวาดเส้น GL_LINES เป็นต้น สำหรับรายละเอียด โปรดดูที่ซอร์สโค้ดของหน่วย OpenGL ฟังก์ชัน glBegin() และ glEnd() มีคำอธิบายดังนี้:
ต้นแบบฟังก์ชัน:
เป็นโมฆะ glBegin (โหมด GLenum)
เป็นโมฆะ glEnd (เป็นโมฆะ)
คำอธิบายพารามิเตอร์:
โหมด: ประเภทของดั้งเดิมที่สร้างขึ้น สามารถเป็นค่าต่อไปนี้
GL_POINTS: ประมวลผลแต่ละจุดยอดเป็นจุด จุดยอด n กำหนดจุด n และดึงจุดทั้งหมด N จุด
GL_LINES: ถือว่าแต่ละจุดยอดเป็นส่วนหนึ่งของเส้นตรงที่เป็นอิสระ มีการกำหนดส่วนของเส้นทั้งหมด n เส้นระหว่างจุดยอด 2n-1 และ 2n และมีการวาดส่วนของเส้นทั้งหมด N/2
GL_LINE_STRIP: วาดชุดส่วนของเส้นตรงที่เชื่อมต่อกันตามลำดับจากจุดยอดแรกถึงจุดยอดสุดท้าย จุดยอดที่ n และ n+1 กำหนดส่วนของเส้นตรง n จำนวนเส้นทั้งหมด n-1 จะถูกวาด
GL_LINE_LOOP: วาดชุดส่วนของเส้นตรงที่เชื่อมต่อตามลำดับจากจุดยอดแรกไปยังจุดยอดสุดท้าย จากนั้นจุดยอดสุดท้ายเชื่อมต่อกับจุดยอดแรก จุดยอดที่ n และ n+1 กำหนดส่วนของเส้นตรง n และผลรวมของเส้น n ส่วนต่างๆ ถูกวาดออกมา
GL_TRIANGLES: ถือว่าแต่ละจุดยอดเป็นรูปสามเหลี่ยมอิสระ จุดยอด 3n-2, 3n-1 และ 3n กำหนดสามเหลี่ยมที่ n ทั้งหมด
GL_TRIANGLE_STRIP: วาดชุดของสามเหลี่ยมที่เชื่อมต่อกัน สำหรับเลขคี่ n จุดยอด n, n+1 และ n+2 กำหนดสามเหลี่ยมที่ n; สำหรับเลขคู่ n จุดยอด n+1, n และ n+2 กำหนด สามเหลี่ยมที่ n สามเหลี่ยม N-2 ทั้งหมดถูกวาดขึ้น
GL_TRIANGLE_FAN: วาดชุดของสามเหลี่ยมที่เชื่อมต่อกัน สามเหลี่ยมถูกกำหนดโดยจุดยอดแรก และจุดยอดที่กำหนดหลังจากนั้น
GL_QUADS: วาดรูปสี่เหลี่ยมชุดแยกกันซึ่งประกอบด้วยจุดยอดสี่จุด จุดยอด 4n-3, 4n-2, 4n-1 และ 4n กำหนดรูปสี่เหลี่ยมที่ n วาดรูปสี่เหลี่ยมจัตุรัส N/4 ทั้งหมด
GL_QUAD_STRIP: วาดชุดของรูปสี่เหลี่ยมที่เชื่อมต่อกัน รูปสี่เหลี่ยมขนมเปียกปูนแต่ละอันถูกกำหนดโดยจุดยอดคู่หนึ่ง ตามด้วยจุดยอดคู่ที่กำหนด จุดยอด 2n-1, 2n, 2n+2 และ 2n+1 กำหนดรูปสี่เหลี่ยมขนมเปียกปูนที่ n และจะมีการวาดรูปสี่เหลี่ยมขนมเปียกปูน N/2-1 ทั้งหมด
GL_POLYGON: วาดรูปหลายเหลี่ยมนูน จุดยอด 1 ถึง n กำหนดรูปหลายเหลี่ยมนี้
คำอธิบายฟังก์ชัน:
ฟังก์ชัน glBegin และ glEnd กำหนดคำจำกัดความจุดคงที่ของกลุ่มพื้นฐานตั้งแต่หนึ่งกลุ่มขึ้นไป
ซอร์สโค้ดเพื่อใช้จุดวาดมีดังนี้:
ขั้นตอน TForm1.Draw;begin // ล้างบัฟเฟอร์ glClear(GL_COLOR_BUFFER_BIT หรือ GL_DEPTH_BUFFER_BIT); // กำหนดขนาดจุด ไม่สามารถอยู่ระหว่าง glBegin และ glEnd glPointSize(10); // วาดจุด // ตั้งค่า จุดสี glColor3f (1, 0, 0); // วาดจุด glVertex2f (50, 50); glColor3f (0, 1, 0); สลับเนื้อหาของบัฟเฟอร์คู่ ซึ่งจะคัดลอกกราฟิกที่เพิ่งวาดไปที่หน้าจอ จบ;
glColor3f() ใช้ในการวาดสีของจุด glVertex2f ใช้ในการวาดตำแหน่งของจุด
คลิกที่นี่เพื่อดาวน์โหลดรหัสที่สมบูรณ์