OpenGL - съставя прости обекти
3.1 Обща
Точки, линии, триъгълници, правоъгълници, многоъгълници - прости обекти, които изграждат сложна форма. В предишната глава сме се сфера, конус и тор. OpenGL не се отразява пряко подпомагане на функции за генериране на такива сложни обекти, т.е. тези функции не opengl32.dll. Тези функции са в glu32.dll комунални услуги библиотека, и те са подредени по следния начин. За да се направи една сфера функция auxSolidSphere glu32.dll използва функции от библиотеката, а те от своя страна да използвате основния библиотека и opengl32.dll на линии или полигони изграждане сектор. Примитиви са създадени, както следва:
Първо ти казват, че ще се направи - glBegin със съответния параметър. Режим Възможните стойности са изброени в таблицата по-долу. След това уточни върховете, които определят обектите на определения вид. Обикновено, ще помоля един от четирите най-големи начини.
И накрая, да се обадите glEnd, за да покаже, че сте готови изготвяне на обектите от вида, определен в glBegin. На следващо място, ние анализираме подробно създаването на всички елементи.
Всеки разговор се уточнява glVertex една точка.
Всяка двойка от върховете на даден сегмент.
Прекъсната линия е съставен, и последната си точка е свързана с първата.
Всеки три повикване glVertex определи триъгълник.
Наравно триъгълници с обща страна.
Същото, но са свързани с горната част, че е малко вероятно ще се нуждаят от различно правило.
Всеки четири повикване glVertex определи четириъгълник.
Каре с обща страна.
Можете да теглите колкото се може повече точки, колкото е необходимо. Причиняване glVertex3d, можете създаване на нова точка. Когато създадете точка, можете да промените следните параметри. Можете да се обадите glColor3d рамките glBegin / glEnd. размер Dot може да се настрои с помощта на функцията:
Режим на изглаждане може да се настрои, като се обадите на функцията
Call е изключен съответно glDisable () в тази опция. Последната функция - glPointSize и glEnable / glDisable трябва да се обадите на glBegin / glEnd, в противен случай те ще бъдат игнорирани. glEnable / glDisable характеристики включват / изключване на много възможности, но трябва да сте наясно, че някои опции водят до големи изчисления и затова доста инхибират кандидатурата си, така че няма нужда от това не е необходимо да бъдат включени. Очевидно е, че не е, отколкото да се включи осветление, текстуриране и изглаждащи цветове, докато рисувате точки. Докато сте с тези функции OpenGL не се спази, така че не забравяйте, това за в бъдеще.
За линии, можете да промените ширината, цвета, размера, анти-Aliasing. Ако зададете различни цветове за началото и края на линията, цвета му е с преливащи се цветове. OpenGL подразбиране прави интерполация. Можете също така да се направи пунктирана линия, това се прави чрез прилагане на маската с помощта на следните функции:
Вторият параметър определя самата маска. Например, ако стойността е 255 (0x00FF), а след това постави маска, за да се изчисли използване на калкулатора. В двоичен този брой изглежда така: 0000000011111111, т.е. общо 16 бита. Старши осем са нулеви, а след това няма да има ред. Най-младите до един, а след това ще бъде изтеглен на линията. Първият параметър определя колко пъти всеки бит се повтаря. Например, ако е настроен на 2, а след това да се наложи маска ще изглежда така:
3.4 Триъгълниците
3.5 четириъгълници и многоъгълници
Четириъгълници изготвени, като се обадите glBegin параметри функция GL_QUADS или GL_QUAD_STRIP. За първия случай на всеки четири върховете определят правоъгълник. Във втория случай, изготвен свързан четириъгълник. Най-първо, второ, трето и четвърто връх определяне на първи правоъгълник. Третият, четвъртият, петият и шестият връх - втора четириъгълник и т.н. (2п-1), 2N, (2n + 1) и (2n + 2) определят върховете на п-тия четириъгълник. Полигони се определят, като се обадите glBegin с параметър GL_POLYGON. Всички върховете определят многоъгълник. За полигони стилове могат да бъдат определени с помощта на описаните по-горе функции glPolygonMode, дебелина линия, дебелина и цвят точки.
3.6 Упражнение: "примитивни"
Начертайте точки, линии, триъгълници, многоъгълници в един прозорец, както е показано по-долу.
Източникът файл тук. Изпълним тук.
3.7 Упражнение: "Polyhedra"
Прилагане на тел многостени с телени триъгълници, многоъгълници и линии.
3.8 Обобщение
Е, вие сте една стъпка по-напреднали в изучаването на библиотеката OpenGL. Сега имате представа за това как да се направи основни форми. От примитиви, можете да направите една фигура от всякаква сложност.