C++ Bài 2: Vẽ Các Hình Học Cơ Bản Trong Opengl
Có thể bạn quan tâm
Hi. Chào mừng các bạn đến chủ đề học lập trình opengl tại blog: Phát Triển Phần Mềm 123-az
1. Vẽ các điểm trong OpenGL.
Sử dụng glBegin(GL_POINTS) glEnd và các verterx như sau đây
void RenderScene() { glClear(GL_COLOR_BUFFER_BIT| GL_DEPTH_BUFFER_BIT); glLoadIdentity(); glPushMatrix(); glBegin(GL_POINTS); glPointSize(2.0); glVertex3f(0.0, 0.0, 0.0); glEnd(); glPopMatrix(); glFlush(); }2. Vẽ một đường thằng trong OpenGL .
glBegin(GL_LINES); glVertex3f(0.0, 0.0, 0.0); glVertex3f(5.0, 0.0, 0.0); glEnd();Nhìn hình minh họa dưới dây, bạn có thể vẽ được nhiều dạng line khác nhau với nhiều lựa chọn khác nhau
3. Sử dụng các hàm có sẵn trong OpenGL để vẽ các đối tượng solid/wire frame sẵn có như sau:
glutSolidTeapot; glutWireTeapot; glutSolidTeapot; glutWireTeapot;
#include <stdio.h> #include <GL/glut.h> void DrawCoodinate() { glColor3f(1.0,0.0,0.0); glBegin(GL_LINES); glVertex3f(100.0,0.0,0.0); glVertex3f(-100.0,0.0,0.0); glVertex3f(10.0,0.0,0.0); glEnd(); glColor3f(0.0,1.0,0.0); glBegin(GL_LINES); glVertex3f(0.0,100.0,0.0); glVertex3f(0.0,-100.0,0.0); glEnd(); glColor3f(0.0,0.0,1.0); glBegin(GL_LINES); glVertex3f(0.0,0.0,100.0); glVertex3f(0.0,0.0,-100.0); glVertex3f(0.0,0.0,10.0); glEnd(); } void RenderScene() { glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); glLoadIdentity(); gluLookAt(0.5,0.0,0.5, 0.0,0.0,0.0, 0.0,1.0,0.0); DrawCoodinate(); glPushMatrix(); glTranslatef(-2.0, 0.0, 0.0); glColor3f(1.0, 0.5, 0.5); glutWireTeapot(0.1); glPopMatrix(); glPushMatrix(); glTranslatef(-1.0, 0.0, 0.0); glRotatef(-90.0, 1.0, 0.0, 0.0); glColor3f(1.0, 0.0, 0.5); glutWireCone(0.1, 0.2, 16, 64); glPopMatrix(); glPushMatrix(); glTranslatef(-0.2, 0.0, 0.0); glColor3f(1.0, 0.8, 0.3); glutWireTorus(0.05, 0.1, 16, 64); glPopMatrix(); glutSwapBuffers(); glFlush(); } void ReShape(int width, int height) { if (height == 0) { height = 1; } float ratio = (float)width/(float)height; glViewport(0, 0, width, height); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(45.0, ratio, 0.1, 100.0); glMatrixMode(GL_MODELVIEW); } void main() { glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB); glutInitWindowSize(1200,600); glutInitWindowPosition(100,100); glutCreateWindow ("Phat Trien Phan Mem 123AZ"); glutReshapeFunc(ReShape); glutDisplayFunc(RenderScene); glutMainLoop(); }
Từ khóa » Các Lệnh Opengl
-
Lập Trình Kỹ Thuật đồ Hoạ Với OpenGL Căn Bản Qua Ví Dụ
-
Cơ Bản Về OpenGL | - | Kevin's Blog
-
[PDF] Hướng Dẫn Lập Trình OpenGL Căn Bản
-
OpenGL Là Gì Cấu Trúc Lệnh Trong OpenGL - Tài Liệu Text - 123doc
-
Hướng Dẫn Lập Trình Opengl Căn Bản
-
C++ Bài 3: Phép Quay Và Phép Dịch Trong OpenGL
-
Hướng Dẫn Làm Game Với OpenGL - Phần 1 : Giới Thiệu OpenGL
-
Tìm Hiểu Về OpenGL (1/3) - Viblo
-
OpenGL Là Gì? OpenGL Có Tác Dụng Gì?
-
OpenGL – Chương 1 (II): Cú Pháp Lệnh Của OpenGL - Tâm Carbon Art
-
OpenGL – Chương 2 (II): Mô Tả Điểm, Đường Thẳng Và Đa Giác
-
[PDF] Chương 4 Một Số Công Cụ Hữu Dụng Của OpenGL
-
[PDF] Chương 2: Vẽ Các đối Tượng Hình Học Cơ Bản Trong OpenGL
-
IITHƯ VIỆN OPENGL – CÁC PHÉP BIẾN ĐỔI TRONG OPENGL