Archive for » July, 2008 «

Wednesday, July 30th, 2008 | Author: admin

Применяя текстуру, DirectX заполняет ею поверхность полигона с помощью интерполяции. Элементы растрового изображения называются пикселями (pixel), а элементы текстуры называются текселями (texel). Интерполяция сводится к назначению текселя каждой ячейке на поверхности многоугольника.
Рис. 6.2.
Посмотрите на рисунок 6.2. У изображенного на нем треугольника есть три вертекса. Верхнему вертексу присвоены текстурные координаты (0, 0), поэтому на него накладывается компонент (0, 0) текстуры с рисунка 6.1. У правого вертекса текстурные координаты равны (1, 1), а у левого вертекса - (0, 1). После задания текстурных координат текстура накладывается на поверхность с помощью интерполяции. more…

Tags: Динамика, Столкновения, треугольник

Related posts

Friday, July 25th, 2008 | Author: admin

Попробуем найти момент инерции относительно центра масс для тела, изображенного на рисунке 9.11. Это твердое тело состоит из трех элементов: двух однородных сфер и обруча, расположенных так, как показано на рисунке. Масса каждой сферы равна 200 кг, а радиус -1м. Радиус обруча - тоже 1 м, а его масса - 100 кг. Все твердое тело может двигаться только в одной плоскости, поэтому мы будем рассматривать его как двумерное.Теперь с помощью теоремы Гюйгенса можно найти моменты инерции каждого элемента тела относительно оси, проходящей через центр массы тела. Расстояния от центра массы каждого элемента до центра массы тела приведены в таблице 9.1.Нам понадобятся моменты инерции каждого элемента относительно его центра массы. Момент инерции однородной сферы относительно любого диаметра равен (2/5)MR2, поэтому момент инерции каждой сферы равен 80 кг»м2. Момент инерции обруча more…

Tags: ГЮЙГЕНСА, Столкновения, треугольник

Related posts

Friday, July 25th, 2008 | Author: admin

Все, что мы сделаем с Х-файлами, - найдем несколько моделей и загрузим их. Можно создать Х-файл собственными силами в программе ЗО-моделирования или скачать его с сайта, на котором доступны бесплатные модели. Пример - раздел Free Stuff сайта http://www.3DCafe.com.В Х-файле содержится сетчатая модель. Также в нем могут храниться текстуры и данные о материалах. Прежде чем мы сможем загрузить сетчатую модель, нужно понять, как используются текстуры и материалы.

Текстуры - это растровые рисунки, которые можно наносить на поверхность треугольника как обои. В умелых руках текстуры могут здорово улучшить вид модели. Если вы посмотрите на большинство персонажей игр, то убедитесь, что большая часть глубины и структуры этих персонажей определяется не количеством вертексов в их моделях, а использованными текстурами. Именно текстуры создают впечатление правдоподобия персонажа. Если вы умеете more…

Tags: ГЮЙГЕНСА, Столкновения, Текстуры

Related posts

Sunday, July 20th, 2008 | Author: admin

Эта глава названа «Сетчатые модели и Х-файлы», но на самом деле она посвящена созданию моделей, выглядящих приемлемо. Моделирование физики в играх стало важным, когда достижения компьютерной графики позволили играм реалистично изображать объекты. Реалистичные объекты должны реалистично двигаться.
Вам вряд ли удастся создать множество реалистичных объектов, вписывая их прямо в программы в виде нескольких строк кода на С++. Вместо этого объекты создаются в ЗБ-редакторах, например, MilkShape3D фирмы chUmbaLum sOft, 3ds max фирмы Discreet или trueSpace фирмы Caligari. Затем созданные объекты преобразуются в формат, который можно использовать в игре.
Модели состоят из треугольников, поскольку треугольник - самая простая из возможных фигур на плоскости. Каждый треугольник образуется тремя вертексами. Все три вершины обязательно лежат в одной плоскости. Часть плоскости между вершинами (вертексами) треугольника называется поверхностью (face) этого треугольника. more…

Tags: ГЮЙГЕНСА, Текстуры, файлы

Related posts

Tuesday, July 15th, 2008 | Author: admin

Все три вектора должны храниться в матрице отображения. Вспомните - матрица отображения преобразует глобальные координаты в координаты камеры или координаты отображения. Функция UpdateFra-me () создает матрицу отображения в используемой DirectX левосторонней системе координат, вызывая вспомогательную функцию DirectX D3DXMatrixLookAtLH (). В строке 29 функция UpdateFrame () сохраняет матрицу отображения, чтобы DirectX применяла эту матрицу при рендеринге кадра.
Последняя операция, выполняемая функцией UpdateFrame (), - подготовка матрицы проецирования. Эта матрица подготавливается в строках 32-34. Как вы, вероятно, уже догадались, для подготовки этой матрицы тоже используется вспомогательная функция DirectX. Это функция D3DXMatrixPerspectiveFovLH (). Она создает матрицу проецирования, добавляющую перспективу и определяющую поле зрения в левосторонней системе координат DirectX. Эта матрица в строке 35 сохраняется для использования при рендеринге. more…

Tags: ГЮЙГЕНСА, КАДРА, файлы

Related posts

Thursday, July 10th, 2008 | Author: admin

Вспомогательные функции DirectX не являются встроенной частью API DirectX. Это набор дополнительных функций. Для выполнения своих задач они обращаются к API DirectX. Однако использование этих функций упрощает многие аспекты работы с DirectX.
Для отображения процесса вращения треугольника программе нужно объединить три матрицы вращения в одну. Функция UpdateFrame () делает это с помощью перемножения матриц. В строке 15 она вызывает еще одну вспомогательную функцию DirectX D3DXMatrixMultiply (), чтобы перемножить матрицы rotationX и rotationY и сохранить результат перемножения в матрице worldMatrix. Затем с помощью еще одного вызова функции D3DXMatrixMultiply () матрица worldMatrix умножается на матрицу rotationZ и результат записывается обратно в матрицу worldMatrix. Таким образом объединяются три матрицы вращения. more…

Tags: ГЮЙГЕНСА, Замечание, КАДРА

Related posts

Thursday, July 10th, 2008 | Author: admin

Перемещение вектора в трехмерных координатах выполняется практически так же, как и в двумерных - сложением вектора с вектором смещения t, представляющим перемещение.
х” = х + t
Если вернуться к главе 4, вы увидите, что в двумерных координатах для перемещения используется в точности такое же уравнение. Единственное отличие заключается в том, что вместо двумерных векторов теперь мы будем использовать трехмерные.
Мы будем использовать однородную координату w в ЗО-преобразова-ниях — каждый вектор будет состоять из 4 компонентов, а каждая матрица преобразования будет иметь размер 4×4:Заметьте - это матрица 4×4, а не 3×3. Дополнительная строка и столбец нужны, чтобы учесть однородную координату w. Первый, второй и третий элементы more…

Tags: Замечание, КАДРА, Перемещение

Related posts

Saturday, July 05th, 2008 | Author: admin

В этой главе мы перейдем от работы на двумерных плоскостях к работе в трехмерных пространствах. Мы разберемся, как перенести все преобразования из четвертой главы «2Б-преобразования и рендеринг» в трехмерное пространство. По ряду причин эти преобразования в трехмерных пространствах более сложны. Одна из основных причин - в трехмерных сценах должна присутствовать перспектива, и объекты, более удаленные от наблюдателя, должны казаться меньше по размеру, чем такие же, но более близкие объекты. В процессе чтения этой главы вы узнаете, как перспектива влияет на рендеринг.
В этой главе также показано, как создавать ЗБ-модели объектов в глобальных координатных системах и отображать их. В примерах из этой главы мы будем использовать математические преобразования, рассмотренные в предыдущих главах.
ЗР-преобразования more…

Tags: Замечание, Перемещение, преобразования

Related posts