Logo    
Продукты, технологии Проекты, внедрения Новости мира IT Форумы Курилка Новые публикации Учебный центр
CitForum    CITForum на CD Море(!) аналитической информации! :: CITFORUM.RU   
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware HOWTO

23.05.2004

Google
WWW CITForum.ru

Новости мира IT:


21.05 - Колонка Айдара Богданова: информационная безопасность на президентском уровне
  • 21.05 - Путин подписал указ о создании нового Министерства информационных технологий и связи РФ во главе с Рейманом
  • 21.05 - Региональные GSM-операторы нашли способ конкурентной борьбы с гигантами рынка
  • 21.05 - Новая цифровая 5-ти мегапиксельная фотокамера для российских пользователей
  • 21.05 - Apple разделяется
  • 21.05 - Домашний ПК с экстремальными возможностями
  • 21.05 - Червь Lovegate научился отвечать на письма
  • 21.05 - Microsoft объявила об альянсе с Oracle
  • 21.05 - Компания «Никита» — лучший партнер ОАО «ВымпелКом».
  • 21.05 - Компания «Никита» — лучший партнер ОАО «ВымпелКом».
  • 21.05 - Panda Software предупреждает о появлении двух новых версий червя Bobax
  • 21.05 - Группа компаний «Формоза» открывает свой двухсотый магазин
  • 21.05 - IBS Поставила сервер IBM REGATA в Центральный Банк РФ
  • 21.05 - CSBI получает западные инвестиции
  • 21.05 - Коробочный Mandrakelinux - впервые в России
  • 21.05 - Wi-Fi инициатива IBM, Intel и AT&T провалилась
  • 21.05 - CTR в почте растет
  • 21.05 - Российский рынок ИТ: +20,3%
  • 21.05 - Краснодарский край уже год торгует в интернете
  • 21.05 - INTEL вдвое увеличит штат своих российских сотрудников, занимающихся исследованиями и разработками
  • 21.05 - Компания «Голден Лайн» подключила к корпоративной сети «Копейка» 50-й магазин
  • 20.05 - IBM открыла европейский центр вычислений на заказ
  • 20.05 - Google случайно увеличила емкость почтовых ящиков до терабайта
  • 20.05 - Путин подписал антихакерский указ
  • 20.05 - Подробности о процессоре VIA Esther
  • 20.05 - Google вынашивает тайные планы
  • 20.05 - Microsoft представил русскую версию Visual Basic .NET 2003
  • 20.05 - Учебный центр DIAMOND Communications становится авторизованным центром обучения Cisco Systems
  • 20.05 - Вимком на выставке «Связь-Экспокомм’2004»
  • 20.05 - Инлайн представляет кулер нового поколения
  • 20.05 - Впервые в России: уникальный программно-аппаратный комплекс от СТИНС КОМАН и «ФОРС- Центр разработки»
  • 19.05 - Вышла версия 5.0.6. системы контент-менеджмента OpenCMS, соответствующая международному стандарту WAI
  • 19.05 - Apple хочет запатентовать прозрачные окна
  • 19.05 - Очередной альтернативный офисный пакет
  • 19.05 - Новая версия Linux-дистрибутива Fedora
  • 19.05 - Троян Bobax превращает компьютер в прокси-сервер
  • 19.05 - Microsoft выпускает Office 2004 для Mac
  • 19.05 - Yahoo выпустил новый почтовый стандарт для борьбы со спамом
  • 19.05 - В Казахстане открылось представительство Intel
  • 19.05 - Cisco и IBM объединились на ниве IP-телефонии

    Архив новостей >>>


  • Наложение текстур

    Процедура наложения текстур состоит из двух частей, которыми занимаются соответствующие узлы. Узлы ImageTexture, MovieTexture, PixelTexture описывают ЧТО использовать в качестве текстуры, а вспомогательные узлы TextureCoordinate и TextureTransform задают КАК разместить текстуру на объекте. Аналогичная ситуация уже встречалась в разделе "Текст", где узел Text задавал ЧТО написать, а FontStyle задавал КАК это сделать.

    ImageTexture (текстура-картинка)

    Описание:

    ImageTexture {
    url []
    repeatS TRUE
    repeatT TRUE
    }
    

    Узел ImageTexture - очень полезный узел, предназначенный для обтягивания объектов картинками. Область использования этого приема исключительно широка: начиная от создания аватара с собственной фотографией и заканчивая привешиванием картинок на background. В разделе url указывается местоположения графического файла.

    Самой текстуре присваивается локальная система координат S на T, где S соответсвует нижнему обрезу картинки, а T - левому. Значения S и T изменяются от 0 (левый нижний пиксель) до 1 (правый нижний пиксель для S и левый верхний пиксель для T). Значения параметров repeatS и repeatT определяют, будет ли текстура размножена в направлениях S и T, чтобы заполнить весь объект.

    Теперь пару слов о форматах. Броузерам СТРОГО ПРЕДПИСАНО поддерживать jpeg и png. Но кроме того обычно поддерживаются gif и ряд других распространенных форматов.

    Те броузеры, которые я использовал, поддерживают:

    MS VRML 2.0 Viewer: GIF, BMP, JPG, RAS, PPM, PNG.

    Cosmoplayer: в release notes указаны только JPEG и PNG, но GIF точно поддерживается.

    Paragraph Cortona: в явном виде не нашел, но исходя из того, что ISB поддерживает BMP, GIF, JPEG, и PNG, то, вероятно, и Cortona с этими форматами справится

    GLView: DIB,BMP, GIF, TGA, JPEG, PPM and RGB

    Я надеюсь, вы еще не забыли, что в качестве примера постепенно создается стол, на котором уже стоит глобус и клетка. Вот его-то мы и оттекстурим.

    Просмотр. Текст кода.

    Пусть вас не смущает наличие в коде узла Viewpoint. О принципах его работы будет сказано чуть позже.

    MovieTexture (текстура-видеоролик)

    Описание:

    MovieTexture {
    loop FALSE
    speed 1.0
    startTime 0
    stopTime 0
    url []
    repeatS TRUE
    repeatT TRUE
    }
    

    Данный узел в качестве текстуры задает файл в формате MPEG. Поскольку этот формат позволяет хранить как видео-, так и аудиоинформацию, соответственно узел MovieTexture может появляться и в разделе texture узла Appearance, и в разделе source узла Sound (о нем позже). В последнем случае, естественно, рендеринг изображения не проводится, а обрабатывается только саундтрек файла.

    loop, как обычно задает, будет ли файл прокручиваться бесконечно.

    Параметр speed позволяет задавать скорость проигрывания MPEG файла. В случае speed <0 проигрывание идет в обратном порядке. В случае speed=0 будет статично отображаться 0-й фрейм MPEG файла.

    startTime и stopTime определяют обработку проигрывания во времени MPEG файла и обычно используются для запуска/остановки в определенный момент или после определенного события.

    Параметры url, repeatS и repeatT занимаются тем же, что и в узле ImageTexture

    Просмотр. Текст кода.

    ЗАМЕЧАНИЕ. Эту mpg-шку, подвернувшуюся под руку, я где-то в сети нашел. Сам же обычно их изготавливаю так: рисую кадры -> собираю в avi -> конвертирую в mpg. Если кто идет другим путем - напишите, вдруг есть удобнее.

    PixelTexture (пиксельная текстура)

    Описание:

    PixelTexture {
    image 0 0 0
    repeatS TRUE
    repeatT TRUE
    }
    

    Механизм работы данного узла такой же, как и у ImageTexture, кроме того, что Вы указываете не готовую картинку из файла, а должны ручками раскрасить каждый указанный Вами пиксель. Ситуации, когда Вам такой выход покажется оптимальным, единичны. Что такое repeatS и repeatT читайте выше.

    В параметре image первые два числа задают размер текстуры в пикселях, третье - способ раскрашивания: 1 - градации серого, 2 - градации серого плюс прозрачность, 3 - цветное изображение, 4 - цветное изображение плюс прозрачность.

    Таким образом, запись

    PixelTexture {image 2 2 1 0 255 255 0}
    
    задает текстуру размером 2x2, раскрашенную в шахматном порядке белым и черным

    Просмотр. Текст кода.

    А запись

    PixelTexture {image 2 2 4 0xff000080 0x00ff0080 0x0000ff80 0x00000080}
    
    задает текстуру в полупрозрачную клеточку красного, зеленого, синего и черного цвета.

    Можете посмотреть кубик с такой текстурой. Для иллюстрации полупрозрачности текстуры внутри я расположил белый непрозрачный шарик. Если Вы его не видите в своем броузере, переключитесь в режим wireframe и убедитесь, что он там есть. Кстати, даже если Вы видите этот шарик сквозь полупрозрачные стенки кубика, не надейтесь разглядеть противоположные грани кубика!!! Как уже говорилось несколько раз, вид примитивов ИЗНУТРИ не определен.

    Просмотр. Текст кода.

    TextureTransform (трансформация текстур)

    Описание:

    TextureTransform {
    center 0 0
    rotation 0
    scale 0
    translation 0 0
    }
    

    Как упоминалось в начале этой страницы, узел TextureTransform применяется для указания КАК разместить текстуру на объекте. Названия параметров узла говорят сами за себя: center задает точку, относительно которой происходит вращение (rotation) и масштабирование (scale). Translation сдвигает текстуру по поверхности объекта. Все действия проводятся в локальной ST-системе координат текстуры, о которой смотри выше. Узел TextureTransform, безусловно, жизненно необходим, но пользоваться им путем "ручного" исправления параметров очень неудобно. В любом приличном VRML редакторе трансформация текстур проводится визуально перетаскиванием либо самой текстуры (например, ISB), либо слайдеров, задающих численые параметры rotation, scale, translation (например,CosmoWorlds).

    Видели когда-нибудь стены, сложенные пьяными каменщиками наискосок? Нет? Можете посмотреть :)

    Просмотр. Текст кода.

    Назад | Содержание | Вперед

     

    Подписка на новости библиотеки:

    Новые поступления в on-line библиотеку:

    20 мая

  • Оперативная интеграция данных на основе XML: системная архитектура BizQuery
  • Математика криптологии
  • Использование USB Flash под Linux
  • Мониторинг материнских плат в Linux
  • Работа с последовательными портами
  • Три письма на Perl

    18 мая

  • Xabre 600: GPU с претензиями
  • Linux: укрощение мыши и монитора
  • Семь вещей, которые нужно знать о VMWare и VirtualPC
  • BlueJ: учебная оболочка или полноценная среда разработки?
  • Inferno - виртуальный пост-Unix в кармане
  • CVS - система управления версиями

    12 мая

  • Бесполезный Perl и общая теория улучшения мира
  • Как подружить Olympus c ПК?
  • Шесть правил ухода за монитором
  • Веб-сервер своими руками
  • Поддержка MS-макросов в DELPHI
  • Интеграция Tomcat с Apache. Развертывание веб-приложений Java2 на Linux-платформе
  • Экстремальное программирование: новые возможности

    29 апреля

  • Linux на работе и дома
  • Автоматическая установка Windows
  • Гостевая книга из Perl'овки
  • HTML Help ActiveX control: всплывающие окна
  • NQL: твои агенты в Сети

    27 апреля

  • Материалы конференции "Корпоративные базы данных-2004"
  • Практическая реализация DNS
  • Shell Extensions и как с ними бороться
  • BI для массового использования:
    Барьеры, которые нужно преодолеть:: Поиск наилучшего способа реализации:: Расчет окупаемости вложений в BI-проект
  • SOAP 1.2 и запрос GET

    22 апреля

  • Обзор XML-стандартов
  • Windows и Delphi на защите секретов
  • Один в поле не воин: межсетевые экраны и антивирусы - братья навеки!
  • Все будет Samba!
  • ISPMail-HOWTO v.2.0

    20 апреля

  • Семейство алгоритмов ARIES
  • Русификация OpenBSD

    19 апреля

  • Как правильно задавать вопросы
  • Сжатие данных в целях экономии места и ускорения работы
  • Концепции построения ERP-систем на предприятии

    15 апреля

  • XML-схема. Часть 0: пример (Рекомендации W3C)
  • Сжатие таблиц в СУБД Oracle9i release 2: анализ эффективности
  • Как правильно деинсталлировать СУБД Informix на платформе Windows
  • Как написать драйвер принтера в BeOS

    13 апреля

  • Наиболее интересные новшества в стандарте SQL:2003
  • Новый взгляд на ноутбуки
  • Статистическая информация уровня сегмента в событии 10046 Oracle 9.2
  • Сколько стоит update?
  • Формирование хранимых шаблонов в Oracle 9
  • Стабилизация плана оптимизатора в Oracle 8i/9i
  • Понимание индексов на основе битовых карт
  • Oracle_trace - лучшее встроенное средство диагностики?

    8 апреля

  • Анализ рынка средств защиты от копирования и взлома программных средств
  • Аутентификация и авторизация пользователей между Web-сервером и сервером приложения в .NET
  • Особенности в проектировании и практической разработке медицинской информационной системы
  • Настройка доменов контроля доступа в JBoss 3.х.х
  • Сборка сервера JBoss 3.x из исходного кода
  • Развертывание приложения с помощью Java Web Start

    6 апреля

  • FreeBSD 5.2. Первые впечатления
  • FreeBSD 5.2: файловая система устройств
  • Примеры использования IPF
  • Настройка Ethernet Bridge
  • Управление непрерывностью вашего бизнеса
  • Веб-сервисы как вариант основы информационной инфраструктуры предприятия

    5 апреля

  • Примеры использования IPF
  • Настройка Ethernet Bridge

    1 апреля

  • ORACLE и коммерческая GRID
  • Открытые программы в Linux и их платные конкуренты в Windows
  • Windows&Fonts
  • Правильный снос Windows

    30 марта

  • Учебный курс Основы операционной системы UNIX
  • Иерархия защиты веб-серверов
  • На перекрестке дорог (сравнение стандартов памяти DDR II и RDRAM)
  • IT-планирование: новые перспективы

    25 марта

  • Новый раздел - Операционная система BeOS

  • Учебник Основы конструирования компиляторов

    Обзоры журнала Computer:

  • Диета для компьютеров
  • Бедным тоже нужны электронные услуги

    Все новости >>>



  • IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware HOWTO

    Реклама на IT-портале citforum.ru

    Нестандартные PR-акции - pr@citforum.ru
    Пресс-релизы и информация в каталог компаний - manager@citforum.ru
    Комментарии: mailto:info@citforum.ru?Subject='From bottom of CIT FORUM' Rambler's Top100 TopList This Web server launched on February 24, 1997
    Copyright © 1997-2000 CIT, © 2001-2004 CIT Forum
    Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав.