Поля VRML 
SF:поля, которые содержат единственное значение 
 
SFBITMASK SFENUM SFLONG SFSTRING
SFBOOL SFFLOAT SFMATRIX SFVEC2F
SFCOLOR SFIMAGE SFROTATION SFVEC3F
 MF:поля, которые содержат множество значений 
 
MFCOLOR  MFLONG  MFVEC2F  MFVEC3F 
VRML имеет два общих класса полей: поля, которые содержат единственное значение, в качестве которого может выступать число, вектор иди даже образ, и поля, которые содержат множество значений.

Поля VRML обеспечивают возможность использования документами чисел, как целых, так и с плавающей точкой, булевых значений, векторов, строк и т.д. Поля VRML используются для описания в математических терминах того, как броузер должен выполнять рендеринг трехмерных объектов. Как можно вспомнить, по соглашению о наименовании имена однозначных полей имеют префиксом две буквы SF, а имена многозначных полей начинаются с букв MF. Спецификация VRML 2.0 также добавляет поля, которые поддерживают узлы: это поля для задания времени, что необходимо для анимации, и т.д. Подробности относительно типов полей VRML 2.0 вы сможете найти в соответствующей спецификации VRML 2.0.

 

МНОГОЗНАЧНЫЕ ПОЛЯ
 

VRML поддерживает многозначные поля, которые определяют процесс рендеринга трехмерных объектов. Различия между однозначными и многозначными полями заключаются в том факте, что многозначные поля могут воздействовать более чем на один узел, тогда как однозначные поля воздействуют только на один узел. 


 
 
 
 
 
 
 
ПОЛЕ SFBITMASK 
Поле SFBitMask является однозначным и содержит битовую маску флагов, которую документы VRML применяют с целью позволить броузеру пробегать через различные состояния графа сцены, используя занумерованные имена. Документы VRML применяют этот класс полей для узлов, использующих мнемонические имена в качестве битовых флагов. 
 


 
 
 
 
 
 
 
 
 
 
ПОЛЕ SFBOOL 
Поле SFBool является однозначным. Документы VRML используют его для записи булевых величин. Численное значение 0 по определению равно строке "FALSE". Аналогично численное значение 1 равно строке "TRUE". 
 

 
 
 
 
 
 
 
 
 
 
ПОЛЕ SFCOLOR 
Поле SFColor является однозначным полем, которое содержит определение цвета. Документы VRML определяют значение SFColor, используя стандартное определение цветов RGB (red, green и blue). Например, тройка (1, 0, 0) представляет собой 100% красного цвета, 0% зеленого и 0% голубого соответственно. 
 

 
 
 
 
 
 
 
 
 
 
ПОЛЕ SFENUM 
Поле SFEnum является однозначным полем, которое содержит перечисляемый тип, обычно использующийся для определения мнемонического имени для численного значения. 
 

 
 
 
 
 
 
 
 
 
 
ПОЛЕ SFFLOAT 
Поле SFFloat является однозначным и определяет числа с плавающей точкой единичной точности. Документы VRML присваивают значение SFFloat, используя научную нотацию, например 0.125. 
 
 
 
 
 
 


 
 
 
ПОЛЕ SFIMAGE 
Поле SFImage является однозначным полем, служащим для хранения растровых, т.е. битовых образов. Поле SFImage может содержать несжатый черно-белый или цветной образ. Документы VRML определяют поле SFImage^ используя три целых числа, которые представляют высоту, ширину и число компонентов образа;а ними следует число пикселов в рисунке. 

Однокомпонентный образ характеризуется также однобайтным числом в шестнадцатиричной системе, которое представляет собой интенсивность образа (OxFF соответствует наибольшей интенсивности, а 0х00 - отсутствию интенсивности). В двухкомпонентном рисунке интенсивность записывается в первый (верхний) байт, а прозрачность - во второй (нижний) байт. В четырехкомпонентном рисунке байт прозрачности помещается после значений красного, зеленого и голубого. 

 

 
 
 

 
 
 
 
 
ПОЛЕ SFLONG 
Поле SFLong является однозначным полем, которое определяет длинное целое (32 бита). Документы VRML могут присваивать значения полю SFLong , используя десятичную, шестнадцатиричную или восьмеричную запись значений. 
 
 
 


 

 

 
 
 
 
 
ПОЛЕ SFMATRIX 
Поле SFMatrix является однозначным полем, которое содержит матрицу преобразований. Документы VRML задают матрицу преобразования в виде шестнадцати чисел с плавающей точкой, записывая их одно за другим и разделяя пробелами. 
 

 

 
 
 
 
 
 
 
ПОЛЕ SFROTATION 
Поле SFRotation является однозначным полем, которое определяет вращение. Поле SFRotation задается четырьмя числами с плавающей точкой, разделенными пробелами. Эти четыре значения задают ось вращения, а также угол поворота вокруг нее в радианах. 
 


 

 

 
 
 
 
 
ПОЛЕ SFSTRING 
Поле SFString является однозначным полем, которое определяет строку символов ASCII. Документы VRML присваивают значение полю SFString^ используя последовательность символов ASCII, заключенную в двойные кавычки. Если строка не содержат пробелов, то кавычки можно опустить. В кавычках могут быть записаны любые символы, включая знак новой строки. Для того чтобы включить саму двойную кавычку в качестве символа строки, перед ней надо написать обратный слэш. 
 


 
 
 

 
 
 
 
 
 
ПОЛЕ SFVEC2F 
Поле SFVec2f является однозначным и содержит двумерные вектора. Документы VRML присваивают значения полю SFVec2f используя пару чисел с плавающей точкой, разделенных пробелом. 
 


 

 
 
 
 
 
 
 
ПОЛЕ SFVEC3F 
Поле SFVec3f является однозначным и содержит трехмерные вектора. Документы VRML присваивают значения полю SFVec3f , используя три числа с плавающей точкой, разделенных пробелом. 
 

 
 
 
 
 
 
 

 
 


 

 
 
 
 
 
ПОЛЕ MFCOLOR 
Поле MFColor является многозначным и содержит произвольное число цветов, заданных в формате RGB. Документы VRML присваивают полю MFColor значение, используя одну или больше троек чисел в формате RGB. Для того, чтобы задать больше одного значения, документ должен заключать эти значения в квадратные скобки, а сами значения разделяют запятыми. 

 
 
 
 
 
 
 
 
 
 
ПОЛЕ MFLONG 
Поле MFLong является многозначньш полем, которое содержит произвольное число длинных целых (32-битных) чисел. Документы VRML присваивают полю MFLong значение, используя одно или больше число целых значений в десятичной, шестнадцатиричной или восьмеричной форме. Для того чтобы задать более одного значения, их необходимо заключить в квадратные скобки и разделить запятыми. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 

 
 
ПОЛЕ MFVEC2F 
Поле MFVec2f является многозначным и содержит произвольное число двумерных векторов. Документы VRML присваивают полю MFVec2F значения, используя одну или больше пар чисел с плавающей точкой, разделенных пробелами. Если присваивается больше одного вектора, то значения пары разделяются запятыми, а весь набор векторов заключается в квадратные скобки. 
 
 
 
 
 
 
 
 
 
 
 
 


 
ПОЛЕ MFVEC3F 
Поле MFVec3f является многозначным полем, которое содержит произвольное число трехмерных векторов. Документы VRML присваивают значения полю MFVec3F , используя одну или больше троек чисел с плавающей точкой. Если присваивается больше одного вектора, то между собой вектора разделяются запятыми, а весь их набор заключается в квадратные скобки.