диапазоне от 0 до 255. Для конкретного потока данных 73А42406… эти значения равны 115,168,36,6.....

С другой стороны, если nBits равно 1, то каждая шестнадцатеричная цифра отображает четыре отдельных значения пикселов. Для потока данных 73А8… эти значения равны 0111 0011 1010 1000....

Введение в SDL

Язык описания сцен (Scène Description Language - SDL) - это очень простой язык для описания геометрических объектов и источников света в ясной и понятной манере. Этот язык воспринимается методом геасЮкласса Scène (см. определение этого класса в приложении В). Вначале мы в общих чертах рассмотрим основы класса Scène, а затем опишем сам язык SDL и рассмотрим, как он используется.

Для того чтобы прочитать файл myScene.dat, написанный на SDL, определим глобальный объект класса Scène под названием scn и вызовем для него метод readO, задав ему для обработки имя какого-нибудь SDL-файла:

Scène scn;
// create a Scène object

// создаем объект класса Scène

scn.read("myScene.dat"):
// read the SDL file: make the scene

// читаем SDL-файл: создаем сцену

В процессе чтения и интерпретации файла myScene.dat создается список объектов. Кроме того, составляется список источников света. Эти списки доступны через поля scn.obj и sen.light соответственно. Списки используются в методе drawOpenGLO, который был описан в главе 5, где он применялся для визуализации сцен с использованием возможностей OpenGL, а также подпрограммой shadeO, описанной в главе 14 и использованной там для визуализации сцен посредством трассировки лучей.

Класс Scene

Объект класса Scene имеет несколько полей, описывающих свойства сцены. Главным ингредиентом является список геометрических форм, присутствующих на сцене. Поле obj является указателем на первую форму списка. Для того чтобы нарисовать все объекты из списка, достаточно пройтись по нему, предписывая каждому из объектов нарисовать самого себя:

forCGeomObj* р - scn.obj: р !- NULL: р - p->next) p->drawOpenGL(): Все объекты в списке принадлежат к одному из типов Shape (например, Sphere, Cube, Icosahedron и т. д.), а каждый из них знает, как нарисовать самого себя. Здесь используется полиморфизм: все типы Shape


⇐ Предыдущая| |Следующая ⇒