Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2





Скачать 475.81 Kb.
НазваниеПрограмма по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2
страница10/13
Дата публикации17.05.2014
Размер475.81 Kb.
ТипРуководство
100-bal.ru > Информатика > Руководство
1   ...   5   6   7   8   9   10   11   12   13

6.3.Генерация текстурных координат


Помимо прямого задания текстурных координат Direct3D API позволяет вычислять текстурные координаты на основе некоторых данных или изменять текущие текстурные координаты.

Схема получения текстурных координат показана на рис. 9.



Рис. 9. Схема вычисления текстурных координат
Как показано на рис. 9 вычисление текстурных координат можно разделить на два этапа: получение текстурных координат из источника и трансформация полученных текстурных координат. Второй этап является опциональным.

За выбор источника отвечает уже знакомая нам настройка D3DTSS_TEXCOORDINDEX, задаваемая через SetTextureStageState().

Помимо прямого задания номера текстурного канала эта величина может принимать значения:

  • D3DTSS_TCI_CAMERASPACENORMAL – нормаль в вершине, заданная в системе координат камеры

  • D3DTSS_TCI_CAMERASPACEPOSITION – позиция вершины, заданная в системе координат камеры

  • D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR – вектор отражения в вершине, заданный в системе координат камеры.

Вектор отражения вычисляется по следующей формуле

,

где - нормаль в вершине, а - нормализованное направление от вершины к наблюдателю.

Флаг D3DTSS_TCI_SPHEREMAP, который может использоваться совместно с индексом текстурного канала или любым из перечисленных выше значений, включает пересчет текстурных координат для выборки из сферически заданной текстуры окружения (spherical environment map).

Перейдем к рассмотрению трансформации полученных текстурных координат. За управление трансформацией отвечает настройка D3DTSS_TEXTURETRANSFORMFLAGS, задающая, как следует из названия, флаги трансформации, которые могут принимать следующие значения:

  • D3DTTFF_DISABLE – выключает трансформацию,

  • D3DTTFF_COUNT1..4 – включает трансформацию и выставляет соответствующую размерность текстурных координат,

  • D3DTTFF_PROJECTED – дополнительный флаг, включающий деление на последнюю компоненту текстурных координат.

При включенной трансформации производится умножение текстурных координат на матрицу, заданную с помощью метода SetTransform() c первым параметром D3DTS_TEXTUREi (i от 0 до 7). Индекс определяет номер текстурного этапа, в который установлена текстура.

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

Допустим, требуется сгенерировать описанным образом текстурные координаты для 1-ого текстурного этапа. Для этого используем следующий код:

pDev->SetTextureStageState(1, // номер канала

D3DTSS_TEXCOORDINDEX,

// используем позицию вершины в камерной системе

D3DTSS_TCI_CAMERASPACEPOSITION);
// Используем ту же матрицу проецирования, что и для D3DTS_PROJECTION

D3DMATRIX projMatrix;

pDev->SetTransform(D3DTS_TEXTURE1, &projMatrix);
pDev->SetTextureStageState(1, D3DTSS_TEXTURETRANSFORMFLAGS,

D3DTTFF_COUNT4 | // Будем делить на w, поэтому устанавливаем 4

// координаты

D3DTTFF_PROJECTED // Включаем проецирование (деление на w)

);

6.4.Выборка из текстуры


Как уже упоминалось в п. 6.2, после получения текстурных координат конкретной точки на поверхности треугольника (или, при растеризации, текстурных координат в пикселе), по ним осуществляется выборка цвета из текстуры. Этот процесс можно разбить на две стадии: адресацию и фильтрацию. Адресация переводит текстурные координаты из R2 в [0,1]2. Фильтрация осуществляет интерполяцию между дискретными пикселями, чтобы получающаяся в результате функция цвета текстуры от положения внутри треугольника была непрерывной.

Запишем функцию адресации в виде . Будем рассматривать скалярную функцию a(t), так как Direct3D позволяет задавать режим адресации покомпонентно.

Наиболее часто используются два режима адресации (см. результаты на рис. 10):

  • Repeat (или wrap), задающий повторение текстуры: 11,

  • Clamp: .



Рис. 10. Иллюстрация адресации. Слева “шахматная” текстура со знаком @, по центру квадрат с текстурными координатами (0,0) в левом нижнем углу, (2.9,2.9) в правом верхнем. Используется адресация wrap. Справа, такой же квадрат, но с адресацией clamp.
Настройки адресации, являются настройками способа выборки цвета из текстуры и устанавливаются вызовами SetSamplerState().

IDirect3DDevice9::SetSamplerState(

stageIndex, // номер stage

D3DSAMP_ADDRESSU, // или D3DSAMP_ADDRESSV

addressMode // режим адресации D3DTADDRESS_WRAP или _CLAMP

);
Настройки фильтрации также устанавливаются вызовами SetSamplerState().

IDirect3DDevice9::SetSamplerState(

stageIndex, // номер stage

D3DSAMP_MAGFILTER, // или D3DSAMP_MINFILTER или D3DSAMP_MIPFILTER

filterMode // режим фильтрации D3DTEXF_XXX

);

DirectX позволяет задавать три типа фильтрации:

  • D3DSAMP_MAGFILTER – magnification фильтрация, применяющаяся когда размер текселя на экране больше пикселя. Возможные значения:

    • D3DTEXF_POINT, D3DTEXF_LINEAR.

  • D3DSAMP_MINFILTER – minification фильтрация, применяющаяся когда размер текселя на экране меньше пикселя. Возможные значения:

    • D3DTEXF_POINT, D3DTEXF_LINEAR, D3DTEXF_ANISOTROPIC12.

  • D3DSAMP_MIPFILTER – фильтрация между двумя соседними мипмапами. Возможные значения:

    • D3DTEXF_NONE, D3DTEXF_POINT, D3DTEXF_LINEAR.
1   ...   5   6   7   8   9   10   11   12   13

Похожие:

Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...
Проектно-образовательная деятельность по формированию у детей навыков безопасного поведения на улицах и дорогах города
Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...
Цель: Создание условий для формирования у школьников устойчивых навыков безопасного поведения на улицах и дорогах
Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...
«Организация воспитательно- образовательного процесса по формированию и развитию у дошкольников умений и навыков безопасного поведения...
Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...
Цель: формировать у учащихся устойчивые навыки безопасного поведения на улицах и дорогах, способствующие сокращению количества дорожно-...
Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...
Конечно, главная роль в привитии навыков безопасного поведения на проезжей части отводится родителям. Но я считаю, что процесс воспитания...
Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...
Поэтому очень важно воспитывать у детей чувство дисциплинированности и организованности, чтобы соблюдение правил безопасного поведения...
Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...
Всероссийский конкур сочинений «Пусть помнит мир спасённый» (проводит газета «Добрая дорога детства»)
Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...
Поэтому очень важно воспиты­вать у детей чувство дисциплинированности, добиваться, чтобы соблюдение правил безопасного поведения...
Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...

Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...

Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...

Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...

Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...

Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...

Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...

Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...



Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск