Како приказати круг у ОпенГЛ-у

Аутор: Eugene Taylor
Датум Стварања: 14 Август 2021
Ажурирати Датум: 14 Новембар 2024
Anonim
OpenGL - Урок 2 - точка, линия, треугольник, круг
Видео: OpenGL - Урок 2 - точка, линия, треугольник, круг

Садржај

ОпенГЛ или Опен Грапхицс Либрари је графички АПИ (Интерфејс за програмирање апликација) за писање 2Д и 3Д апликација на различитим програмским језицима и платформама. Може се користити за приказивање било чега, од једноставних, примитивних објеката до сложених 3Д сцена. Опен ГЛ се широко користи у рачунарском дизајну, научној визуелизацији, симулацији лета и видео играма. Иако ОпенГл нема методе за директно цртање круга, могуће је направити један помоћу низа линија. Да бисте нацртали круг, мораћете да имате основно знање ОпенГЛ-а.

Корак 1

Направите основни програм с приказом ОпенГЛ. Ако нисте упознати са овим поступком, постоји водич на ОпенГЛ страници.


Корак 2

Додајте датотеку матх.х.хеадер у свој програм уношењем следећег кода на почетку програма: #инцлуде . Ово ће вам пружити функције цос () и син () (синус и косинус) потребне за израчунавање круга.

3. корак

Започните метод круга додавањем следећег кода пре приказивања функције повратног позива:

воид дравЦирцле (ГЛинт к, ГЛинт и, радијус ГЛинт, инт нум_линес) {}

Променљиве „к“ и „и“ користиће се за дефинисање средишта круга у вашем прозору, док „радијус“ утврђује радијус круга. Цели број "нум_линес" је број линија употребљених за састављање круга. Што је већи овај број, круг ће се појавити глађи.

4. корак

У кључеве додајте следећи код за конфигурацију:

плутајући угао ГО инт нум_линес ГО глЦолор3ф (0.0, 0.0, 0.0) ГО.

Променљива „угао“ садржаће угао линија коришћених за конструкцију круга. Позивањем функције глЦолор3ф () боја линија се поставља на црну, при чему серија од три 0 одговара интензитету црвене, зелене и плаве боје на скали од 0 до 1.


Корак 5

Додајте следећи код испод функције глЦолор3ф () из корака 4:

глБегин (ГЛ_ЛИНЕ_ЛООП) ГО

То ОпенГЛ-у говори да све наредне линије укључују цртање линија. Конкретно, нацртаће „ГЛ_ЛИНЕ_ЛООП“, што је низ повезаних линија.

Корак 6

Унесите следећи код за петљу фор након позива глБегин ():

за (инт и = 0; и <број_реда; и ++) {угао = и * 2 * М_ПИ / нум_лине; глВертек2ф (к + (цос (угао) * полупречник), и + (син (угао) * полупречник)); }

Ова петља чини три ствари. Прво се итерира према вредности "нум_линес", где је нум_линес цео број, цртајући линију у свакој итерацији и резултирајући кругом који се састоји од равних линија нум_линес. Друго, израчунава угао правих у односу на средиште круга у радијанима. „М_П“ је константа дефинисана у матх.х која представља пи. На крају, позив на глВертек2ф () израчунава координате крајњих тачака линија.


Корак 7

Након петље, унесите следећи ред кода:

глЕнд () ГО

Ово ће рећи ОпенГЛ-у да сте завршили са цртањем линија.

Корак 8

Да бисте нацртали круг у сцени, додајте позив из методе дравЦирцле () функцији приказа повратног позива програма, која мора бити припремљена у кораку 1. Наведите вредности к, и, полупречника и нум_лине, где к и и представљају тачку у вашој сцени радијус је полупречник круга, а нум_линес је број линија које чине круг. Опет, ако нисте упознати са ОпенГЛ-ом и приказом повратног позива, погледајте упутство за ОпенГЛ.

Корак 9

Саставите и покрените свој програм. Ако сте правилно унели функције, требало би да се компајлира без грешака. Ако сте навели вредности за к, и и радијус, требали бисте видети црни круг приказан на белој позадини.

Инфекције уха су веома честе код паса који често пливају или су удвостручени и тешки уши. Пресавијене уши стварају тамну, влажну средину која узрокује инфекцију гљивицама и бактеријама. Иако се гљивич...

Снажно уже јуте можете намотати у кошару и користити вунену пређу као материјал за везивање. Пређа од органског памука добро се уклапа са јутом и доступна је у неколико боја природног изгледа. Можете ...

Наш Савет