Содержание
- 2. Темы Введение в компьютерную графику Преобразования модели Преобразования координат Преобразования проецирования Растровая графика Трехмерное моделирование Модели
- 3. Литература Баяковский Ю.М., Игнатенко А.В. Начальный курс OpenGL. – М.: «Планета знаний», 2007 Божко А.Н., Жук
- 4. Литература Роджерс Д. Алгоритмические основы машинной графики: Пер. с англ. – М.: Мир, 1989. Роджерс Д.,
- 5. Учебное пособие Набережнов Г.М., Максимов Н.Н. Компьютерная геометрия и графика: Учебное пособие / Под ред. канд.
- 6. 1. Введение в компьютерную графику
- 7. Графический процесс
- 8. OpenGL http://www.opengl.org
- 9. OpenGL
- 10. Конвейер OpenGL
- 11. Пример программы 1 #include void init(); void draw(); void main(int argc, char **argv) { glutInit(&argc, argv);
- 12. Пример программы 1 void init(void) { glClearColor(1.0,1.0,0.0,0.0); glClear(GL_COLOR_BUFFER_BIT); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluOrtho2D(0, 640, 0, 480); glMatrixMode(GL_MODELVIEW); glLoadIdentity();
- 13. Пример программы 1 void draw(void) { glClear(GL_COLOR_BUFFER_BIT); glViewport(0, 0, 640, 480); glColor3f(1.0, 0.0, 0.0); glBegin(GL_LINE_STRIP); GLfloat
- 14. Пример программы 1
- 15. OpenGL height
- 16. Типы OpenGL
- 17. Примитивы
- 18. Примитивы
- 19. Пример программы 2 #include void init (void); void display(void); int main(int argc, char** argv) { glutInit(&argc,
- 20. Пример программы 2 void init (void) { glClearColor (1.0, 1.0, 1.0, 0.0); glMatrixMode(GL_PROJECTION); glLoadIdentity(); glOrtho(0.0, 1.0,
- 21. Пример программы 2 void display(void) { glClear (GL_COLOR_BUFFER_BIT); glColor3f (1.0, 0.0, 0.0); glBegin(GL_LINES); glVertex3f (0.25, 0.25,
- 22. Пример программы 2 void display(void) { glClear (GL_COLOR_BUFFER_BIT); glColor3f (1.0, 0.0, 0.0); glBegin(GL_LINE_STRIP); glVertex3f (0.25, 0.25,
- 23. Пример программы 2 void display(void) { glClear (GL_COLOR_BUFFER_BIT); glColor3f (1.0, 0.0, 0.0); glBegin(GL_LINE_LOOP); glVertex3f (0.25, 0.25,
- 24. Пример программы 2 void display(void) { glClear (GL_COLOR_BUFFER_BIT); glColor3f (1.0, 0.0, 0.0); glBegin(GL_TRIANGLES); glVertex3f (0.25, 0.25,
- 25. Пример программы 2 void display(void) { glClear (GL_COLOR_BUFFER_BIT); glColor3f (1.0, 0.0, 0.0); glBegin(GL_TRIANGLE_STRIP); glVertex3f (0.25, 0.25,
- 26. Пример программы 2 void display(void) { glClear (GL_COLOR_BUFFER_BIT); glColor3f (1.0, 0.0, 0.0); glBegin(GL_TRIANGLE_FAN); glVertex3f (0.25, 0.25,
- 27. Пример программы 2 void display(void) { glClear (GL_COLOR_BUFFER_BIT); glColor3f (1.0, 0.0, 0.0); glPolygonMode(GL_FRONT, GL_LINE); glBegin(GL_TRIANGLE_FAN); glVertex3f
- 28. Пример программы 2 void display(void) { glClear (GL_COLOR_BUFFER_BIT); glColor3f (1.0, 0.0, 0.0); glBegin(GL_POLYGON); glVertex3f (0.25, 0.25,
- 29. События void glutDisplayFunc(void (*func)(void)); void glutPostRedisplay(void); void glutIdleFunc(void (*func)(void)); void glutReshapeFunc(void (*func)(int width, int height)); void
- 30. События void glutMouseFunc(void (*func)(int button, int state, int x, int y)); button: GLUT_LEFT_BUTTON GLUT_MIDDLE_BUTTON GLUT_RIGHT_BUTTON state:
- 31. Пример программы 3 #include void init (void); void display(void); void keyboard(unsigned char, int, int); void reshape
- 32. Пример программы 3 void init (void) { glClearColor (1.0, 1.0, 1.0, 0.0); glMatrixMode(GL_PROJECTION); glLoadIdentity(); glOrtho(0.0, 1.0,
- 33. Пример программы 3 void keyboard(unsigned char key, int x, int y) { switch (key) { case
- 34. Пример программы 3
- 35. Пример программы 4 #include include #include #define _USE_MATH_DEFINES #include float R = 150.0; float angle =
- 36. Пример программы 4 void figure(void) { glBegin(GL_LINE_LOOP); for(int i = 0; i { float x =
- 37. Пример программы 4 void display(void) { glClearColor(1.0, 1.0, 1.0, 0.0); glClear(GL_COLOR_BUFFER_BIT); glColor3f(0.0, 0.0, 0.0); figure(); glFlush();
- 38. Пример программы 4 void special(int key, int x, int y) { switch(key) { case GLUT_KEY_F1: n
- 39. Пример программы 4 void reshape(int w, int h) { width = w; height = h; glViewport(0,
- 40. Пример программы 4 void main(int argc, char **argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); glutInitWindowSize(640, 480);
- 41. Пример программы 3
- 42. OpenTK http://www.opentk.com Windows.Form
- 43. Пример программы 5 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using
- 44. Пример программы 5 namespace ExampleOpenTK { public partial class OpenTK_Form : Form { public OpenTK_Form() {
- 45. Пример программы 5 private void glControl1_Paint(object sender, PaintEventArgs e) { GL.Clear(ClearBufferMask.ColorBufferBit); GL.Viewport(0, 0, this.ClientSize.Width, this.ClientSize.Height); GL.Color3(1.0,
- 46. Пример программы 5 private void glControl1_Resize(object sender, EventArgs e) { GL.ClearColor(1.0f, 1.0f, 0.0f, 0.0f); GL.MatrixMode(MatrixMode.Projection); GL.LoadIdentity();
- 48. Скачать презентацию