Opengl Примеры Delphi

Подробности 08 октября 2015 В этом уроке: - создаем простейший пример.

  1. В свободное время я потихоньку раскуриваю OpenGL. Простой пример использования GLM.
  2. Delphi Sources: архив исходников на Delphi - Графика / Мультимедиа. Delphi DirectX, OpenGL, GDI+, Jpeg, BMP, фракталы, PNG.

Procedure TForm1.Draw; var quadObj:GLUquadricObj; begin glClear (GLDEPTHBUFFERBIT or GLCOLORBUFFERBIT ); quadObj:=gluNewQuadric; gluQuadricDrawStyle (quadObj, GLUFILL ); glColor3f ( 1, 0, 0 ); gluSphere (quadObj, 2, 10, 10 ); glRotatef ( 3, 0, 1, 0 ); gluDeleteQuadric (quadObj ); SwapBuffers (ghDC ); end; Всё, можно нажимать F9!!! А теперь кое-что поясню (в процедуре Draw не встретилось ни одной знакомой строчки:( ). GlClear сбрасывает значения всего перечисленного в качестве параметров (в нашем случае очищает буфер цвета и буфер глубины). Этой процедуре передавать много всяких буферов для очистки, но лично я использую только 3: GLDEPTHBUFFERBIT, GLCOLORBUFFERBIT, иногда GLSTENCILBUFFERBIT (буфер трафарета). GlColor устанавливает цвет фигуры. Существует следующий синтаксис как для glColor, так и для других функций OpenGL: glntype Поясняю, каждая функция OpenGL начинается с префикса 'gl'. Далее следует название функции.

После названия - количество параметров (если функция определена для разного количества параметров). И, наконец, переменными какого типа являются параметры:. b - GLbyte байт. s - GLshort короткое целое. i - GLint целое.

f - GLfloat дробное. d - GLdouble дробное с двойной точностью. ub - GLubyte беззнаковый байт. us - GLushort беззнаковое короткое целое. ui - GLuint беззнаковое целое. v - вектор - массив из n элементов указанного типа Итак, glColor3f означает, что цвет задаётся тремя компонентами типа GLfloat.

Для рисования сферы мы используем механизм из glu32.dll. Создаём объект типа GLUquadricObj и инициализируем его функцией gluNewQuadric.

Далее устанавливаем стиль фигуры функцией gluQuadricDrawStyle(quadObj, GLUFILL). Стиль может быть GLUFILL, GLULINE или GLUPOINT.

Opengl

Что каждый из них значит, проверьте сами. GluSphere - делает из quadObj сферу.

Opengl Примеры Delphi Indiana

Три последних параметра - это радиус и количество разбиений поперёк и вдоль оси Z соответственно. Я взял маленькое число разбиений, чтобы было видно, что сфера крутится. И не забудем освободить память, занимаемую под quadObj - gluDeleteQuadric(quadObj). GlRotatef - заставляет нашу сферу крутиться. О том как - в следующей статье. И, наконец, SwapBuffers(ghDC) выводит всё на экран.

Delphi

Исходники к статье: Советую почитать: 1. Пишет мудрёно, но очень много полезной информации. Кстати, у него вышла вторая книга, может она ещё толковее и понятней?

Delphi

Opengl Примеры Delphinium

Просто, доступно, но для другой ИСР.