У VRML можна використовувати чотири типи джерел:
ü headlight – базове;
ü pointLight – точкове;
ü spotLight – конусне;
ü directionalLight – спрямоване.
Тіло, що має матеріал ambientLight теж може бути джерелом освітлення, створюючи ефект розсіяного світла.
Одиниці виміру VRML
Відстань і розмір: метри;
Кути: радіани;
Інші значення: виражаються, як частина від 1;
Система координат – тривимірна права декартова система координат. Значення по осі X збільшуються зліва направо, по осі Y – знизу вгору і по осі Z – у напрямку до спостерігача.
Вузли VRML
Кількість базових сутностей, що використовуються мовою VRML, досить велика: стандарт описує п’ятдесят два типи різник об’єктів (вузлів). Вузли описуються форми об’єктів та властивості цих форм у VRML-світах (це метод задання інструкцій по відображенню об’єктів).
Існують три основні класи вузлів:
ü Властивості (property);
ü Форми (shape);
ü Групи (group).
В загальному випадку вузли містять таку інформацію:
ü Ім’я типу вузла (Sphere, Box, тощо);
ü Параметри, які називають полями. Інформація в полях дозволяє відрізнити конкретний вузол від інших вузлів аналогічного типу;
ü Сукупність подій, які вузол може передавати або приймати.
Для створення власних вузлів використовується конструкція:
DEF name type {поля нащадків}
Для того, щоб додати до VRML-файла раніше визначену фігуру, використовується команда USE. Наприклад,
Separator {USE name}
Примітиви VRML
У VRML визначені чотири базові фігури: куб (прямокутний паралелепіпед), сфера, циліндр і конус.
Ці фігури називаються примітивами (primitives). Набір примітивів невеликий, однак комбінуючи їх, можна будувати досить складні тривимірні зображення. Розглянемо детальніше кожний із примітивів.
Куб
[слайд на стор. 16, Lect_16.pdf]
Сфера
[слайд на стор. 17, Lect_16.pdf]
Конус
[слайд на стор. 18, Lect_16.pdf]
Циліндр
[слайд на стор. 19, Lect_16.pdf]
Колір і матеріал
[слайд на стор. 20-21, Lect_16.pdf]
Опис двох циліндрів, менший просвічує через більший
[слайд на стор. 22, Lect_16.pdf]
Накладання текстур
[слайд на стор. 23-24, Lect_16.pdf]
Положення об’єктів у просторі. Зміна координат.
За замовчанням будь-який описаний об’єкт буде розташовуватися точно по центру вікна web-браузера. Якщо ми опишемо два однаковим циліндри, вони зіллються один з одним.
Для зміни положення другого циліндра, застосуємо вузол Translation, який визначає координати об’єкта:
Translation {translation 1 2 3 # x=1 y=2 z=3}
Узагалі, координати, що вказуються в Translation не є абсолютними. Фактично, це координати відносно попереднього вузла Translation.