ПредишенСледващото

Когато се направи една точка, размерът му по подразбиране е един пиксел. Промяна на стойността на точката с помощта glPointSize.void glPointSize (размер GLfloat) функция;

функция glPointSize приема единствен параметър посочва приблизителния диаметър на пиксел се изготвя точка. Не всички размери, така че трябва да се провери, ако размерът е на разположение, което искат една точка. За да намерите разнообразие от размери и по-кратък интервал между тях, използвайте следния код:

размера на задачата по отношение на OpenGL

Тук размер на масива ще съдържа два елемента - най-ниската и най-високата възможна glPointsize стойност. Освен това, променлива стъпка ще бъде равна на най-малката стъпка между възможни размери точки. OpenGL спецификация изисква подкрепа за само един размер на точки - 1.0. Софтуер изпълнение OpenGL от Microsoft, например, позволява да промените размера на точки от 0.5 до 10.0 с минимален размер на стъпка от 0.125. размера на задачата, която не е в диапазон, не може да се тълкува като грешка. Вместо това, тя използва най-големите или най-малкото поддържан размер най-близо до определена стойност. Точките за разлика от други геометрии, не се променят, когато се раздели с коефициент перспектива. Т.е. те не стават по-малки, тъй като разстоянието от точката на наблюдение, и не станат по-големи, когато наближава наблюдателя. Точки винаги са квадратни. Дори и при използване glPointsize за увеличаване на размера на точки, вие просто се големи площади! За да видите кръг точка, трябва да се използва техника за защита на смесване (виж следващия раздел.).

OpenGL съхранява състоянието на своя набор от променливи и настройки. Такъв набор от настройки, се нарича краен автомат OpenGL. Можете да изпратите Вашето запитване към държавната машина, за да се определи състоянието на всяко променливо или комплект. С помощта на набор от вариации glGet, можете да поискате характеристика или функция, която активира или деактивира използване glEnable / glDisable. Това важи и за цифрови настройки, определени от glSet. Разгледаме следния пример, който използва няколко от тези функции. Кодът е показано в Пример 3.3, дава същия спирална форма като първия пример, но този размер точка време постепенно се увеличава от най-малките до възможно най-голям размер. Този пример е взет от тяхната про- грама POINTSZ, показана на CD в папка, съответстваща на тази глава. POINTSZ изход на програмата е показано на фиг. 3.4, получена чрез използване на софтуера на Microsoft. Фиг. 3.5 показва една и съща програма, работеща на ускорител, с подкрепата на голяма точка.

размера на задачата по отношение на OpenGL

Чрез определянето на размера на точката е по-голяма от тази, връща размера на променливата, можете да гледате (в зависимост от хардуера), че OpenGL използва най-високия възможен размер точка, но не го увеличи в изображението. Тази точка е обща за всички параметри OpenGL функциите, които имат диапазон на приемливи стойности. Стойностите не попадат в този обхват, тя влезе в сила. Твърде малки стойности се преобразуват в най-ниската приемлива стойност, но е твърде голям - в най-.

Най-очевидният точката, че може да сте, отбелязано в началото на програма POINTSZ, е, че по-голямата точка представлява големи кубчета. Това е поведението по подразбиране, но обикновено в много приложения, не е желателно. В допълнение, може да се чудя какво се случва, ако се увеличи размера на стойността на точките на по-голяма от един. Ако стойността 1.0 представлява един пиксел, как да се направи един пиксел или по-малко, да речем 2.5 пиксел?

Подкрепете проекта - споделете линка, благодаря!