Розробка програми починається зі створення оболонки
Створіть вікно програми і розмістіть на ній елемент openglsimplecontrol. як показано на малюнку 1, після чого встановіть його розміри 500х500. Перейменуйте даний об'єкт, давши йому ім'я AnT.
Також не забудьте встановити посилання на використовувані бібліотеки Tao (рис. 2). Зверніть увагу на посилання на Tao.DevIL - дана бібліотека необхідна нам для завантаження текстур (і не забудьте using Tao.DevIl; інакше ви не зможете працювати з цією бібліотекою).
Малюнок 2. Підключення бібліотек Tao.
Для реалізації візуалізації буде використовуватися таймер - після ініціалізації вікна він буде генерувати подія, зване тиком таймера раз в 30 мілісекунд. Додайте елемент таймер, перейменуйте екземпляр в RenderTimer і встановіть час тика 30 мілісекунд (як показано на малюнку 3), а також додайте йому подія для обробки тика.
Малюнок 3. Налаштування таймера.
Також необхідно додати меню для вибору файлів. Для цього додайте нове меню на форму, об'єкт openFileDialog. У властивостях об'єкта openFileDialog встановіть параметр Filter рівним «JPG files | * .jpg | All files | *. *».
Малюнок 4. Створення меню.
Ініціалізація OpenGl відбувається як завжди, слід зазначити тільки додаткову ініціалізація бібліотеки openIL. Нам буде потрібно оголосити ряд змінних для подальшої роботи програми:
Тепер розглянемо процес завантаження текстури. Для цього ми реалізуємо дві функції - перша виконується як обробка події активації меню, розміщеного на нашій формі. Отримавши ім'я текстури ми проведемо початкову підготовку до завантаження текстури в пам'ять графічного адаптера. Надалі ми виконаємо додаткові налаштування текстури, після яких відразу ж побачимо результат.
Тепер залишається обробити подія відгуку таймера і реалізувати функцію візуалізації сцени. При візуалізації текстури нам необхідно включити режим текстурирования, а також при виведенні вершин об'єктів прив'язувати до них текстурні координати, відповідно до яких відбудеться накладення текстури.
Результат роботи програми - обертається площину із зображенням текстури.
Примітки
У разі виникнення помилки: Unable to find an entry point named 'ilInit' in DLL 'DevIL.dll'. або подібних:- Перейдіть: Мій комп'ютер -> Властивості -> Додаткові параметри системи -> Змінні середовища.
- У списках системних змінних виберіть Path. натисніть «Змінити. »
- Поставте в кінці; (Крапку з комою) і потім додай шлях до TaoFramework \ bin. наприклад, C: \ Program Files (x86) \ TaoFramework \ bin ;. а також до TaoFramework \ lib (шлях повністю).
Сподобалася публікація? Збережіть її, щоб повернутися до вивчення матеріалу!
Прикріплені файли для скачування:
На рахунок інших функцій Il - я не пробував. Порадите що зробити?
Il инициализируется ж нормально.
Добридень! Така ж помилка - An unhandled exception of type 'System.AccessViolationException' occurred in Textures.exe
ation: Спроба читання або запису в захищену пам'ять. Це часто свідчить про те, що інша пам'ять пошкоджена.
Прописані всі бібліотеки:
using Tao.OpenGl;
using Tao.FreeGlut;
using Tao.Platform.Windows;
using Tao.DevIl;
і DevIL.dll скопійований в папку Debug проекту. в чому проблема може бути?