|
||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||
Підготовка вікна Підготовку контексту
передачі OPENGL треба розглядати як деякий обов'язковий ритуал, в
якому порядок дій давно визначений і без якого не можна починати творчу
роботу із створення сцени OPENGL. Варто десь промахнутися, і ви побачите мовчазний
білий екран. Спочатку треба підготувати вікно так, щоб виклики функцій OPENGL
почали працювати. У цій процедурі виділяють наступні кроки:
Аби використовувати функції бібліотеки OPENGL у вашому застосуванні, треба переконатися, що в системному каталозі Windows присутні модулі OpenGL32.dll і GLU32.dll. Вони мають бути там, оскільки компанія Silicon Graphics (автори пакету OPENGL) постаралася, аби підтримка OPENGL на платформі Windows була максимально доступна і досить надійна. Проте хочу попередити, що я зустрічав системи, в яких контекст передачі (rendering context) OPENGL працює ненадійно, - з'являються плями пропусків і затримка перемальовування, якщо робота йде не в повноекранному режимі. Якщо це є, то повинно виявлятися при запуску будь-якої програми, використовуючою OPENGL. Причина, мабуть, в драйвері відеопам'яті. Типи даних OPENGL використовує
своїх власних типів даних, які повинні відповідати аналогічним типам
тієї платформи, на якій бібліотека встановлена. У Microsoft-реализации відповідність
типів задана у файлі заголовків GL.H так, як показано нижче. Ця таблиця знадобиться
вам при аналізі прикладів і при розробці власної коди: typedef unsigned int GLenum; typedef unsigned char GLboolean; typedef unsigned int GLbitfield; typedef signed char GLbyte; typedef short GLshort; typedef int GLint; typedef int GLsizei; typedef unsigned char GLubyte; typedef unsigned short GLushort; typedef unsigned int GLuint; typedef float GLfloat; typedef
float GLclampf; typedef double GLdouble; typedef double GLclampd; typedef void GLvoid;
рекламодавці: / LF KS |
|
|||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||