Міністерство освіти України
ДИПЛОМНИЙ ПРОЕКТ
Тема: “ Реалізація алгоритму та програми ядра представлення тривимірної графічної моделі ”
ABSTRACT
This research work deals with realization of algorithm and scheme of nucleus producing 3-D graphics modal.
There is a large number of fields where 3-D modeling and animation is used. In most cases there are 3-D geometrical primitives, such as cube, sphere, pyramid with superposed textures. But there is the problem which appears with the quality of representation and the large-scale of object, when the texture is superposed, but to reflect a big texture on the landscape area it is necessary to have a large memory size. This diploma research studies the problem of optimization superposes of large texture to an object.
It is not a good idea to load detailed square (they do not used for resterization ) at resterization distant pixels, and near pixels it is opposite. Every other square which occupies the landscape area is four times bigger and has four times worse detailing then the previous one. So there is no need the whole megatexture to build view of player’s eyes, who is in the centre of the landscape. It is needed only not very big part round it. The same happens with other levels of detailing, until it come to the last square, which has reduced copy of the whole mega-texture.
Key words: rasterization, videomemory, pixel, DirectX, lod, clipmaps, megatexture, video-processor, resolution.
Реферат
Темою дипломного проекту є реалізація алгоритму та програми ядра представлення тривимірної графічної моделі.
Існує величезна кількість областей, де застосовується тривимірне моделювання й анімація. В основному це тривимірні геометричні примітиви, такі як куб, сфера, піраміда з накладеними на них текстурами. Та з якістю відображення та масштабністю об’єкта виникає проблема накладання на нього текстури, адже на масштабному об’єкті, щоб відобразити велику текстуру необхідно великого об’єму пам’яті. В даній дипломній роботі розглянута проблема оптимізації накладання великої текстури на об’єкт.
При растеризації далеких пікселів в GPU бажано не завантажувати деталізовані лоди (вони не використаються для растеризації), а для растеризації ближніх пікселів усе з точністю навпаки. Кожен наступний займає площу на ландшафті в чотири рази більше й має в чотири рази гіршу деталізацію, чим попередній. Тож не потрібна вся деталізована мегатекстура для того, щоб побудувати вид з очей гравця, що перебуває в центрі ландшафту. Потрібна лише невелика частина довкола нього. Те ж стосується й для інших рівнів деталізації, поки не дійде до останнього лоду, що містить зменшену копію всієї мегатекстури.
Ключові слова: DirectX, відеопам’ять, піксель, лод, текстура, clipmaps, відеопросесор, растеризація, розрішення.
РЕФЕРАТ
Темой дипломного проекта является реализация алгоритма и программы ядра представления трехмерной графической модели.
Существует огромное количество областей, где применяется трехмерное моделирование и анимация. В основному это трехмерные геометрические примитивы, такие как куб, сфера, пирамида с наложенными на них текстурами. И с качеством отображения и масштабностью объекта возникает проблема наложения на него текстуры, ведь на масштабном объекте, чтобы отобразить большую текстуру необходимо большого объема памяти. В данной дипломной работе рассмотренная проблема оптимизации наложения большой текстуры на объект.
При растеризації дальнихих пикселей в GPU желательно не загружать детализированные лоды (они не применяться для растеризации), а для растеризации ближних пикселей все с точностью наоборот. Каждый следующий занимает площадь на ландшафте в четыре раза больше и имеет в четыре раза худшую детализацию, чем предыдущий. Итак не нужна вся детализированная мегатекстура для того, чтобы построить вид из глаз игрока, который находится в центре ландшафта. Нужна лишь небольшая часть вокруг него. То же касается и для других уровней детализации, пока не дойдет к последнему лоду, что содержит уменьшенную копию всей мегатекстури.
Ключевые слова: DirectX, видеопамять, пиксель, лод, текстура, clipmaps, видеопроцессор, растеризация, разрешение.
ЗМІСТ
СПИСОК УМОВНИХ СКОРОЧЕНЬ………………………………………... | 7
ВСТУП…………………………………………………………………………… | 8
1 ПОРІВНЯННЯ КРАЩИХ ПРОГРАМ ТРИВИМІРНОЇ ГРАФІКИ
1.1 3D Studio Max ……………………………………………………………. | 10
1.2 Rhinoceros ……………………………………………………………….. | 12
1.3 Softimage ………………………………………………………………… | 13
1.4 Cinema 4D………………………………………………………………… | 15
1.5 Bryce………………………………………………………………………. | 16
1.6 Maya………………………………………………………………………. | 17
1.7 LightWave………………………………………………………………… | 18
1.8 Poser………………………………………………………………………. | 20
2 ТЕХНОЛОГІЯ ТА ІНСТРУМЕНТАРІЙ DIRECTX
2.1 Основні поняття………………………………………………………….. | 22
2.2 Історія версій……………………………………………………………... | 24
2.3 Особливості DirectХ 10………………………………………………….. | 26
3. ПРОГРАМУВАННЯ З ВИКОРИСТАННЯМ DIRECTX
3.1 Побудова сцени…………………………………………………………... | 34
3.2 Основні функції для реалізації програми………………………………. | 35
3.3 Створення віконного додатка…………………………………………… | 46
3.4 Ініціалізація Direct……………………………………………………….. | 47
3.5 Функція для рендерінгу сцени………………………………………….. | 50
3.6 Створення об'єкта………………………………………………………... | 51
3.7 Рендерінг об'єкта…………………………………………………………. | 53
4 МЕГАТЕКСТУРИЗАЦІЯ
4.1 Проблема мегатекстуризації…………………………………………….. | 54
4.2 Попередні підходи до текстурування великих ландшафтів…………... | 55
4.3 Підрахунок необхідного об’єму відеопам'яті для пастеризації………. | 57
4.4 Реалізація мегатекстури……………………………………………...….. | 58
4.5 Створення тривимірного ландшафту…………………………………… | 61
4.6 Створення мегатекстури на ландшафті………………………………… | 63
ВИСНОВКИ……………………………………………………………………
ПЕРЕЛІК ПОСИЛАНЬ НА ДЖЕРЕЛА.……………………………………
ДОДАТКИ
БІБЛІОГРАФІЧНА ДОВІДКА
ВСТУП
Застосування комп'ютерної техніки в сучасному житті стало незамінним.
Величезна кількість галузей використовують обчислювальні машини для прискорення рішення завдань. Донедавна вся комп'ютерна техніка була лише допоміжним пристроєм для людини. Комп'ютер здійснював різні обчислення, а основна робота лежала однаково на людині. Перед людством же стояли завдання масштабних будівництв, проектів на майбутнє, випробувань, яких комп'ютер вирішити не міг. З появою потужних графічних станцій, а так само комп'ютерів, здатних вирішувати не тільки математичні завдання, але й візуалізувати надскладні технологічні процеси на екрані, починається нова ера в комп'ютерній промисловості.
Сама більша радість для програміста - це бачити й