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

OpenGL и C ++ Builder. Част 1.
Конфигуриране на Borland C ++ Builder 6 да работи с OpenGL.

Целта на тази статия - колкото е възможно повече, за да ви помогне в създаването на вашата среда C ++ Builder 6 и изготвяне на допълнителни библиотеки за работа с OpenGL графична система.

Напред. Сред BCB имате файл $ (BCB) \ ИЪ \ Import32.lib, която съдържа позоваване на "всичко е наред", включително в с DLL библиотеки, споменати по-горе. Когато компилирате проекта от IDE или използване на грешки компилатора връзка (bcc32 -v -Tpe test.cpp) тази библиотека е свързана автоматично. Ако linkuem извън ilink32.exe, е необходимо да се свърже тази библиотека изрично.

заглавията на файла (когато това се изисква поддръжка на OpenGL) вмъкват линия 2

По този начин, ако проектът по начин, предписани включват-директория $ (BCB) \ включва неограничено-директория $ (BCB) \ либералните и gl.h файлове, glu.h, import32.lib на място и не са счупени (това се отнася за подразбиране), а след това не е нужно да правите нищо повече.

Има още един малък детайл, свързан с обработката на математически копроцесор грешки. Ако вашата програма изведнъж "сваля" в плаваща запетая изчисления в MS библиотеки, се препоръчва преди да се направят всеки кадър (в Win9x), за да вмъкнете няколко отбора

_control87 (MCW_EM, MCW_EM); / * Разположен в float.h BCB * /)

или втора команда (Win2k, WinXP) в раздела за инициализация.

Те рядко "deconfinement" е налице, когато по изключение се хвърля от копроцесор. MS игнорира тези изключения, Borland - не. Екип _control87 с тези знамена води до пренебрегване на тези изключения и BCB.

Сега за библиотеки GLAUX и GLUT, използването на която често предизвиква много въпроси.

Първият от тях е най-вече за сваляне на изображения в текстурата и за изграждането на някои от стандартните триизмерни тела. На второ място, като platformennonezavisimoy, предназначен за създаване на рендиране прозорци (графичен възпроизвеждането) в прозореца и прозорци медии, обработка на съобщение въз основа на рамката функции с обаждане (обратно повикване), поддръжка на входни устройства, работещи с празни цикли, програмируем таймер, каскадни менюта, подкрепа различни шрифтове, както и за изграждането на триизмерни тела.

Не ги използвайте в модерни приложения, като Той съобщи, че се състои от първи изтичане на памет, а вторият има ограничения и не работи изцяло с VCL. Тяхното разпределение се дължи на големия брой примери за използването им в ръководства и учебници.

Ако не разполагате с файл заглавието glaux.h погледнете в архива в края на статията. След това го поставете в $ (BCB) \ включва \ гл.

За GLAUX се заменят (за изображения):

1. NeHe сваляния са заменили GLAUX за качване на изображения (Разни), по същия начин, има порт за всички класове в C ++ Builder 6, които могат да бъдат работещи в BCB, научете OpenGL на чист Win API.

4 см. Пример $ (BCB) \ Примери \ OpenGL \ Рисуване \ GlSkel.cpp (SetupTextures), която показва как да заредите .bmp файлове, използвайки TBitmap компонент (и дори създаде прозрачен цвят).

Кой наистина трябва GLUT:

За практика се препоръчва да създадете множество видове проекти, като се използват примерни файлове от изтегления пакет glut-3.7.6-src.zip (папката примери) на. Вземете, например, triangle.c файл. В BCB ще създаде -file / New / Друг раздел и изберете конзола прилагането на новата конзола Wizard. Поставете отметка в квадратчето Посочете източник проект и да изберете даден файл (не забравяйте, че неговото разширение .c). Всичко е готово! Ние сме създали проект конзола приложение в чист C. Имайте предвид, че при използване на GLUT е необходимо да се напише директивата.

Необходим само линията

А малко по-трудно да се създаде проект за приложение в C ++. С помощта на съветника за конзолата, е необходимо да се премахне посочено проверката и поставете превключвателя на C ++. Запазване на проекта. Сега поставете целия текст, с изключение на основната си функция от triangle.s в Unit1.cpp веднага след #pragma hrdstop, както и съдържанието на основната функция на Unit1.cpp заменят съдържанието на основната функция на triangle.s файл. Опитайте се да се съберат на проекта. То не е работа? Това няма значение. Добавяне на свойствата на проекта Project Options \ Directories / условни \ Условно определя чрез «;» GLUT_BUILDING_LIB.

Повтарям още веднъж. По-добре да не се използва GLAUX и GLUT (с изключение на обучение) и само на работа BCB средства. Разберете 2 примера на $ (BCB) \ Примери \ OpenGL.

OpenGL и в строител
OpenGL и в строител

dplakosh / - предшественик на предходната (BCB5) (могъщия български език!).

(Само погледнете в архива в края на статията).

При наличие на достатъчно информация, за да започне собствено ползване Borland C ++ Builder да се развива в продължение на OpenGL проекти. One "но" - не беше разисквана режим на цял екран. Но за това - следващия път.

Използвайте само C ++ Builder, поради различни причини:

Аз го искам. Свикнали.

Наистина, продукт на бона. Трудно е да се откъснат. Но той смята, на първо място, до бързото развитие на интерфейса и работата с бази данни. За да го решим други необичайни явления, изучава тя ще има много по-дълбоко, отколкото обикновено се прави. Но усилията се увенчаха с успех. Мога да препоръчам книгата Чарли Calvert'a.

Аз не искам да учи всички тези WM_SYSCOMMAND ...

Самият греха, който, особено след като C ++ Builder елегантно прикрива всички тези трудности. Но без добро познаване на Win API в програмирането Windows не се движи ...

Не Visual Studio.

Можете да изтеглите безплатно VS Express Edition. И, между другото, C ++ Builder от?

Но най-важното, като RAD и увити в елегантна събития обвивка.

Да, в които Borland изпревари MS години 10. Едва с появата на .NET MS затегнати. Но има и ще трябва да се научите на нова среда, евентуалните проблеми, свързани ... Кръгът е затворен.

С GLScene малко затруднение. 714 освобождаване под Delphi и трябва да работим усилено, за създаване TortouseCVS за изтегляне от CVS GLScene клонове за C ++ Builder (вж. FAQ) и изучаване на много сцена. Но като цяло обещаващо, дори обещава по-платформа! Да, на сцената се забавя. Но този въпрос е много тънка. И тогава се появи първата стабилна версия преди само шест месеца, въпреки че развитието е почти 5 години. В близко бъдеще нова версия.

Свързани статии

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