Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
САлта курс2.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
250.88 Кб
Скачать
  1. OpenGl –дың delphi-мен байланысы және мүмкіндіктері.

Windows-тағы сияқты Delphі-дe программалар оқиғалар арқылы басқарылады. Мысалы, пайдаланушы программа құру үшін алдымен формаға компонент орнатуы, форманы не фор­мада орналастырылған компонентті тышқан арқылы шертуі мүмкін. Оның әр іс-әрекеті оқиға шақырады. Яғни, оқиға -программаның жұмыс істеуі кезінде объект жағдайының өзгеруі.

Delphi-де әр оқиғаға атау беріліп койылған. Мысалы, компоненттер палитрасының Button түймесі арқылы формада орнатылған Buttonl компонентін шерту Click (Шерту) оқиғасын шақырады.

Әр объектіге байланысты оқиғалар жеткілікті Мысалы, форматқа байланысты оқиғалар саны — 35 (2.4-сурет). Олар қасиеттер терезесінін Events қосымша бетіне енгізілген. Терезеде оқиға атауларнның алдына On префиксі (қосымшасы) тіркестіріліп жазылған. Ол - атаудың оқиға екендігін білдіретін белгі.

2.4-сурет. Форма оқиғалары

Delphi ортасында жиі кездесвтін оқиғалар:

OnClick — тышқан түймесін бір рет басу;

OnDblClick - тышқан түймесін екі рет басу;

OnKeyDown - клавишті басу;

OnKeyUp — басылған клавишті босату;

OnMouseDown — тышқан түймесін басу;

OnMouseUp — тышқан түймесін босату;

OnMouseMove — тышқан көрсеткішін жылжыту;

OnCreate — форманы екі рет шерту, т.б.

Delphi-де программа (проект) екі бөлімнен тұрады: алғашқыда автоматты түрде project1 атауы берілетін проект файлы (негізгі модуль) және unitl.pas атауы берілетін модуль. Олар жеке терезелерде орналастырылған. Модульге окиғаларға сәйкес іс-әрекеттерді орындайтын программа мәтіні (процедуралар) енгізіледі (олар 2.4-тақыръшта кең түрде қарастырылған). Программа мәтінін программалық код деп, терезені прогрлммалық код терезесі не қысқаша редактор терезесі деп те атайды. Delphi іске қосылган кезде ол форма терезесінің астында көрінбей тұрады. Оны экранға шығару тәсілдері:

  • форманы жабу (жабу түймесін шерту);

  • код терезесінің бір шеті форма астында көрініп тұрса, оны шерту. Терезе белсендірулі түрде ашылады да, онда процедура дайындамасы (үлгісі) көрінеді. Оның тақырыбы нүкте аркылы бөлінген класс және процедура атауларынан тұрады (2.5-сурет), т.б.

Жалпы, формадан код терезесіне өту және код терезесінен форматта өту үшін F12 клавишін басу жеткілікті. 2.5-суретте көрініп турғаны — код терезесіне енгізілген процедура дайындамасы. Оқиғаға байланысты құрылатын процедура оқиғаны өндеуіш не оқиғаны өндеу процедурасы делінеді. Процедура дайындамасының жазылу түрі:

Procedure <атау> (Sender : TObject);

сипаттау бөлімі

begin

процедура денесі

end;

мұндағы Sender параметрі құрылатын процедураньң қай класқа тиістілігін анықиайды.

Терезенің сол бөлігіндегі - браузер терезесі. Онда код терезесінде барлық жарияланулардың құрылымын көріп шығуға болады.

2.5-сурет. Редактор терезесі. Онда көрінген процедура дайыңдамасы

Программа құрылымы. Негізгі модель. Модуль. Әдіс

Ксз келіен программа program сөзінен басталатын проект файлы мен бір не бірнеше модульдерден тұрады да, қолдан құрылатын программа модуль ішіне енгізіледі. Проект файлы dpr, модуль pas кеңейтілуі бойынша сақталады. Проект файын негізгі модуль деп атайды. Негізгі модульдің мазмұны проектінің жалпы сипаттамасынан тұрады. Delphi іске қосылган кезде оны ол автоматты түрде дайындап шығады. Негізгі модульге ерекше жағдайлардан басқа кездерде қосымша нұсқаулар енгізудін кажеті жоқ.

Модуль - түрлі іс-әрекеттерді орындауға арналған про­грамма бөлімі. Модуль тақырыбы Unit (модуль) кызметші сөзінен басталып, сонына әдеттегідей нүктелі үгір (;) таңбасымен аяқталатын модуль атауы жазылады. Delphi-дің модульге алғашқы рет меншіктейтін атауы:

Кілттік сөздер және С++ тілінің операциялары.

Кілттік қызметтік сөздер – бұл арнайы қолдануға арналған тілде резервтелген идентификаторлар. С++ шешуші сөздері – asm , auto , break , case , continue , const , register , if , else , for , do , while , switch , goto , return , main class , struct ,union , public ,protected , private , static ,extern , enum bool , int , char , float , double , void , long , short , signed , unsigned , typedet , this , throw , try , catch , default , inline , friend, false , true new , sizeof , template , virtual , operator , delete .

Операциялардың белгілері.

Операциялардың белгілері өрнектердің (выражение) құрылуы мен болашақтағы есептелуін қамтамасыз етеді. Өрнек мәнді алуға арналған ереже болып табылады. Операциялардың бір белгісі түрлі өрнектерде қолданылады және контекстке тәуелді әр түрлі мағына алады.

Унарлы операциялар келесі топтарға бөлінеді:

Аддитивті: + -

Мультипликативті: * / %

Жылжу: « »

Разряды бойынша : & ^ /

Қатынастар: < < = > > = == !=

Логикалық бинарлы: && //

Меншіктеу ( присваивание) : = + = - = * = / = % =&= ^ = « =» = / =

Құрылымдық (структированного) объекттің компоненттерін таңдау: .

Кластар компоненттерімен орындалатын операциялар: . * *

Операциялар жақшалар : ( ) [ ]

Үтір операциясы : ,

Шартты операция : ? :

Типті келтіру операциялары : ( тип) expr тип (expr) жадыны динамикалық түрде тарату операциялары:

New delete delete [ ]

Әрине барлық операциялардың өз ранглері бар және олар приоритеттер иерархиясын түзеді , сонымен бірге олар ассоциативтілік ережелеріне ие (оңнан солға немесе солдан оңға қарай ).

OpenGL(Open Graphics Library - ашық графикалық кiтапхана, графикалық API) - платформалы тәуелсiз программалық интерфейс, екi өлшемдi және үш өлшемдi компьютерлік графиканы қолданушы қосымшаларды жазу үшiн программалау тiлінен тәуелсiз анықтайтын спецификация.

Күрделi үш өлшемдi сахналардың суреттерін салуы үшiн қарапайым примитивтерден 250-ден астам функцияларды қосады. Компъютерлік ойындар жасауда, САПР, виртуалды нақтылықта, ғылыми зерттеулердегi визуализацияда қолданылады. Windowsтiң платформасында Direct3D-мен бәсекелеседi.OpenGL артықшылығы оның кең таралғандығында, ол Sun, Silicon Graphics т.б. типті графикалық жұмыс станцияларының әлемдік стандарты.OpenGL графикалық құрылғыларға интерфейс болып табылады. Бұл интерфейсте 120 шақты командалар бар. Негiздi деңгейде, OpenGL - бұл жай ғана спецификация, яғни функциялардың жиыны және олардың дәл мiнез-құлықтарын суреттейтiн құжат . Осы спецификацияның негiзiнде жабдықтың өндiрушiлерi iске асыруларды құрауда - функциялар, спецификацияның функцияларының тиiстi жиындарының кiтапханасы. Іске асыру жабдықтың мүмкiндiктерін мүмкiндігі бар жерде пайдаланады. Егер аппаратура қандай болмасын мүмкiндiкті жүзеге асыруға мүмкiндiк бермесе, ол программалы эмулдануы керек . Іске асыру OpenGL түрде классифицияланғанға дейiн, өндiрушiлер ерекше тесттер өтуі керек. Сайып келгенде, программалық қамтамасыз етудiң өңдеушiлерiне аппаратты қамтамасыз етудiң соңғы өңдеушiлерiнiң тиiмдi iске асыруын қалдырып, суреттеп айтылған спецификацияны, функцияны пайдалануды үйренудің өзі жеткiлiктi .

OpenGL мүмкіндігі:

  1. Геометриялық примитивтер (нүктелер, сызықтар, беттер) обьектілер құру үшін

  2. Обьектілерді үш өлшемді кеңістікте орналастыру және проекциялар тәсілін және параметрлерін таңдау.

  3. Барлық обьектілердің түсін айқын беруге және есептеуге болады.Сонымен қатар жарық көздерін, жарық параметрлерін, текстураларын есептеуге болады.

  4. Обьектінің математикалық сипатталуын және онымен байланысқан түс туралы ақпаратты экрандағы бейнеге ауыстыру.

OpenGL бейненің фрагменттерін көрінбейтін сызықтарын жоюға т.б. қосымша операцияны орындай алады. OpenGL командалары клиент-сервер моделі түрінде жүзеге асырылған. Қосымша клиент ролінде болады. Ол командаларды береді. OpenGL сервер ролінде болады, ол командаларды интерполяциялайды және орындайды.

OpenGL – ді қолдану ерекшеліктері:

Windows құрамында 2DLL файлдар түрінде қойылады.Файлдың аттары: opengl32.dll және glu32.dll.

OpenGL мүмкінділігі жазылып көрсетілген. Қосымшаларда OpenGL –мен жұмыс істеу үшін шығару контекс (rendering context) түсінігі қолданады. Rendering context – контекст воспроизведения ол OpenGL – ді Windows-тің терезелік жүйесімен байланыстырады.

OpenGL командаларымен жұмыс істеу үшін қосымша ең кем дегенде бір контексін құру керек және оны ағымдағы деп тағайындау керек. Шығару контекстің құру алдында пикселдер форматын орнату керек. Ол үшін: ChoosePixelFormat функциясы қолданылады.

OpenGL-дің барлық командалары (процедуралар және функциялар) gl префиксінен, ал барлық тұрақтылар – GL_ префиксінен басталады. Сонымен қатар, OpenGL-дің процедуралар және функциялар атауларына жіберілетін параметрлер саны мен олардың типтері туралы ақпаратты білдіретін суффикстер кіреді.