Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Статьи » Програма для ландшафтного дизайну

Реферат Програма для ландшафтного дизайну





/b>.

Прості додатки, які не вимагають швидкої графіки, можуть використовувати GDI. Однак GDI не забезпечує якісної анімації, оскільки в ньому немає можливості синхронізації з кадровим буфером. Також, в GDI немає растеризації для отрисовки 3D-графіки. Сучасні графічні додатки використовують DirectX або OpenGL, що дає програмістам доступ до більшої кількості апаратних можливостей.

Звідси висновок: GDI не підходить для розробки даного програмного продукту. Тепер стоїть питання: Який з двох варіантів API вибрати? DirectX або OpenGL? [13]

Порівняємо ці дві технології. DirectX побудований за об'єктно-орієнтованої схемою, а OpenGL по процедурної. Що краще? Програма на GL однаково добре виглядає і на C ++, і на чистому C, чого не скажеш про DX (хоча це надумане перевагу, нині мало хто пише на C, особливо під Windows). А ось простота архітектури GL - незаперечний плюс: GL працює виключно з примітивами (трикутники, відрізки і точки) і управляється набором булевих змінних, які дозволяють включати або відключати деякі функції - наприклад, накладати текстуру чи ні, чи використовувати освітлення і т. Д. Код для відображення перший трикутника займає приблизно п'ятдесят рядків. У DX ця цифра куди більше. З одним-то трикутником у GL все добре, але як тільки захочеться використовувати що-небудь із сучасних 3D-ефектів - з'являються розширення GL, і ще недавно простий і зрозумілий код тоне в незрозумілих і нічого не значущих для людини, не в таємниці 3D-Графіка, рядках.

Як не дивно, ведуться суперечки про продуктивності. Перевірити це простіше простого, але навіщо?- Адже результат легко передбачуваний. Він буде однаковий для обох бібліотек, оскільки зараз практично всі функції реалізуються безпосередньо через апаратні прискорювачі. Розбіжність результатів може бути тільки через похибки вимірювань; сюди відноситься і оптимізація тестирующего коду, і специфіка конкретних драйверів, але в цілому для виконання коду на GL і DX відеокарта повинна виконувати одні й ті ж дії, а значить, і дискусії про швидкодію безпідставні. Звичайно, можна копати глибше і сперечатися про якість шейдерних компіляторів HLSL [High-level Shader Language - С-подібна мова для написання шейдеров в DirectX 9.0] і GLSL [OpenGL Shading Language - аналог HLSL для OpenGL], але лізти в такі нетрі не варто, тим більше що обидва рішення далекі від досконалості.

Можливо, відповідь в можливостях сучасного заліза, і що для їх використання надають OpenGL і DirectX. Перш за все, нинішні відеокарти - це програмовані пристрої. Тепер деякий код можна виконувати прямо на графічному процесорі (GPU). Ці програми називають шейдерами. Вони дозволяють створювати складні ефекти в реальному часі. Спочатку ці програми можна було писати тільки на фірмових мовах виробників відеокарт - ATI і nVidia. Обидві мови дуже схожі на асемблер, але, на жаль, несумісні. А кому захочеться писати два різних коду для реалізації одного і того ж ефекту? І ось в DirectX 8.0 з'являється універсальна мова програмування шейдеров. Він теж схожий на асемблер, але дозволяє обійтися одним шейдером для обох типів відеокарт. І знову заковика: кому зараз подобається програмувати на мовах низького рівня? І ось Microsoft представляє у своєму DX 9.0 вже C-подібна мова HLSL. ARB (розробники OpenGL) у відповідь викотив аналогічну технологію GLSL. Як вже говорилося, обидві ці технології далекі від досконалості, насамперед через слабку оптимізації компіляторів.

Отже, дві бібліотеки з практично однаковими можливостями і швидкодією. Відмінності лише в складності написання коду. І навіть тут явного лідерства немає. Все залежить від рівня використовуваних в програмі ефектів. Якщо достатньо базової функціональності OpenGL (тобто не будуть використовуватися розширень), то розумніше використовувати саме GL, а якщо справа дійде до просунутих ефектів, тут переважніше DirectX.

Так що ж вибрати? Слід вирішити, які ефекти будуть необхідні: чи можливо обійтися стандартної функціональністю GL, або неодмінно потрібно використовувати більш просунуті ефекти. І, нарешті, особисті переваги.

Щоб розробляється продукт був більш видовищним, слід вибрати DirectX, та й є досвід у використанні даної технології.


3.2 середу розробки


При виборі середовища розробки програмування для проекту потрібно брати до уваги такі вимоги:

· Можливість роботи з DirectX

· Висока швидкість розробки

· Наявність досвіду роботи в даному середовищі

В якості середовища була обрана Visual Studio 2008, тому задовольняє всім вимогою і є потужною середовищем для розробки, що забезпечує високу якість коду протягом усь...


Назад | сторінка 4 з 8 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: DirectX: характеристика версій, особливості використання
  • Реферат на тему: Немає нічого більш складного і тому більш цінного, ніж мати можливість прий ...
  • Реферат на тему: Автоматизована система генерації додатків, що використовують бібліотеку Ope ...
  • Реферат на тему: Використання OpenGL
  • Реферат на тему: Розробка програмного модуля колірної корекції зображення з використанням за ...