Visual Basic - мастерская разработчика
Библиотеки

DirectX

Обзоры
DirectDraw
Direct3D
DirectX Audio
DirectPlay
DirectInput
Fido Topics
SourceCode
Tools&Libs

OpenGL

Статьи и учебники
Fido Topics
SourceCode
Tools&Libs

Архив по Glide

Движки

Обзоры
Учебники
SourceCode
Downloads

Создание игр

Ваши игры

Обзорные статьи
Учебники
Fido Topics
SourceCode
Download

Stuff

Программер-Чат

Псевдо-FTP
Disclaimer
Оффтопик

 

Текстуpы, mipmapping и дpугие

Fido Themes (ru.directx)

От: Damir Tenisheff <Damir.Tenisheff@p35.f638.n5030.z2.fidonet.org>
Тема: Текстуpы, mipmapping и дpугие
Дата: 17 апреля 2001 г. 20:47

Рад приветствовать тебя All!

Опять же со слов одного коллеги:
1. Квадpатные текстуpы обpабатываются значительно быстpее пpямоугольных
2. Пpямогульные текстуpы нельзя использовать с mipmapping'ом
3. Пpогpаммист не может конpолиpовать и отслеживать удаление текстуp из памяти видеоадаптеpа.

Что из этих утвеpждений веpно, что может быть веpно, а что не веpно совсем?

Удачи в бою!.. ;)
Damir.


От: Alexey Yakovenko <waker@mdart.com>
Тема: Re: Текстуpы, mipmapping и дpугие
Дата: 18 апреля 2001 г. 3:11


"Damir Tenisheff" <Damir.Tenisheff@p35.f638.n5030.z2.fidonet.org> wrote in
message news:987544265@p35.f638.n5030.z2.ftn...
> Рад приветствовать тебя All!
>
> Опять же со слов одного коллеги:
> 1. Квадpатные текстуpы обpабатываются значительно быстpее пpямоугольных

на старых видяхах.

> 2. Пpямогульные текстуpы нельзя использовать с mipmapping'ом

первый раз слышу. нормально использую.

> 3. Пpогpаммист не может конpолиpовать и отслеживать удаление текстуp из памяти
> видеоадаптеpа.

может.

> Что из этих утвеpждений веpно, что может быть веpно, а что не веpно совсем?

см. выше

От: Igor Pavlov <arabesc@elnet.msk.ru>
Тема: Re: Текстуpы, mipmapping и дpугие
Дата: 18 апреля 2001 г. 3:43

Привет, Damir!

> Опять же со слов одного коллеги:
> 1. Квадpатные текстуpы обpабатываются значительно быстpее пpямоугольных

Я бы сказал, что не квадратные, а кратные по ширине и высоте степени 2.

> 2. Пpямогульные текстуpы нельзя использовать с mipmapping'ом

С mipmapping'ом можно использовать текстуры у которых ширина и высота
кратна степени 2.

> 3. Пpогpаммист не может конpолиpовать и отслеживать удаление текстуp из памяти
> видеоадаптеpа.

Полностью контролировать нельзя - это все же Windows, а вот отслеживать можно.
При создании текстуры с классом памяти D3DPOOL_DEFAULT, драйвер размещает ее в наиболее удобном для себя месте, т.е. скорее всего в видео памяти. При некоторых обстоятельствах (например, переключение из полноэкранного режима в другое приложение) видеопамять может быть затребована для хранения иных ресурсов. В этом случае Direct3D устройство переходит в состояние lost. Вернуть его в рабочее состояние может метод Reset(), но перед его вызовом необходимо освободить все D3DPOOL_DEFAULT ресурсы, а после успешного завершения метода эти ресурсы пересоздаются заново (программистом).
При создании тестуры с классом памяти D3DPOOL_MANAGED управление ресурсами происходит почти полностью автоматически. Почти, т.к. на этот процесс можно влиять. Метод PreLoad() - это подсказка, говорящая, что данный ресурс скоро понадобится. Но менеджер ресурсов она ни к чему не обязывает.
Обычно используют следующим образом:

(TextureN+1)->PreLoad();
SetTexture(x, TextureN);

...
(TextureN+2)->PreLoad();
SetTexture(x, TextureN+1)

... и.т.д.

Метод GetPriority() - возвращает приоритет ресурса.
Метод SetPriority() - задает ресурсу приоритет. Ресурсы с меньшим приоритетом имеют больше шансов быть удаленными из памяти. Из ресурсов с одинаковым приоритетом при необходимости выгружается тот, что реже используется. Все ресурсы по умолчанию имеют приоритет 0.

Всего Хорошего!
- Igor Pavlov

 

 


Проект
Создание Народного Учебника по OpenGL

Участвовать!
Поиск
Найдите статью или файл:


Рассылка
Новости сайта
La Vision в вашем почтовом ящике








Программирование на С++ Delphi и Паскаль
Центр демо-искусства в России