Глюк при мультитекстурировании

Работа с 2D и 3D графикой, видео, звуком.

Модератор: Mikle

GLEB
Бывалый
Бывалый
 
Сообщения: 246
Зарегистрирован: 24.05.2005 (Вт) 12:16

Глюк при мультитекстурировании

Сообщение GLEB » 06.02.2006 (Пн) 18:57

Как убрать эти искажения с текстуры при таком способе фильтрации:

Код: Выделить всё
d3ddevice.SetTextureStageState 0, D3DTSS_MIPFILTER, 2
d3ddevice.SetTextureStageState 0, D3DTSS_MAGFILTER, 2
d3ddevice.SetTextureStageState 0, D3DTSS_MINFILTER, 2
 
d3ddevice.SetTextureStageState 1, D3DTSS_MIPFILTER, 2
d3ddevice.SetTextureStageState 1, D3DTSS_MAGFILTER, 2
d3ddevice.SetTextureStageState 1, D3DTSS_MINFILTER, 2



Если D3DTSS_MIPFILTER, 1, то все нормально, а если 2 или 3, то какие-то точки в мип уровнях.

Вот TSS текстур, может тут что-то не то:

Код: Выделить всё
d3ddevice.SetTextureStageState 0, D3DTSS_COLORARG1, D3DTA_TEXTURE
d3ddevice.SetTextureStageState 0, D3DTSS_COLORARG2, D3DTA_DIFFUSE
d3ddevice.SetTextureStageState 0, D3DTSS_COLOROP, D3DTOP_MODULATE
d3ddevice.SetTextureStageState 0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE
d3ddevice.SetTextureStageState 0, D3DTSS_ALPHAARG2, D3DTA_DIFFUSE
d3ddevice.SetTextureStageState 0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1
 
d3ddevice.SetTextureStageState 1, D3DTSS_TEXCOORDINDEX, 1
d3ddevice.SetTextureStageState 1, D3DTSS_COLOROP, D3DTOP_MODULATE2X
d3ddevice.SetTextureStageState 1, D3DTSS_COLORARG1, D3DTA_TEXTURE
d3ddevice.SetTextureStageState 1, D3DTSS_COLORARG2, D3DTA_CURRENT
d3ddevice.SetTextureStageState 1, D3DTSS_ALPHAARG1, D3DTA_TEXTURE
d3ddevice.SetTextureStageState 1, D3DTSS_ALPHAARG2, D3DTA_DIFFUSE
d3ddevice.SetTextureStageState 1, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1
У вас нет доступа для просмотра вложений в этом сообщении.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 06.02.2006 (Пн) 19:22

GLEB

Если D3DTSS_MIPFILTER, 1, то все нормально, а если 2 или 3, то какие-то точки в мип уровнях.

Что за 1, 2, 3 ? Почему не применяешь типизированные константы?

В TSS ничего нерабочего нет, но много лишнего. Нафига задавать Arg2 для альфы, если оператор - SelectArg1?
Зачем это:
d3ddevice.SetTextureStageState 1, D3DTSS_TEXCOORDINDEX, 1
Ведь это значение по умолчанию?

GLEB
Бывалый
Бывалый
 
Сообщения: 246
Зарегистрирован: 24.05.2005 (Вт) 12:16

Сообщение GLEB » 07.02.2006 (Вт) 16:56

Ну 2 - линейная фильтрация (LINEAR), 3 - анизотропная,
Почему не применяешь типизированные константы

просто лень константы было писать, сразу цифры поставил, какая разница?

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 07.02.2006 (Вт) 17:52

GLEB
какая разница?

Когда читаешь чужой код, разыскивая ошибки - разница есть.
Проверь капсы, держится ли трилинейная фильтрация.

GLEB
Бывалый
Бывалый
 
Сообщения: 246
Зарегистрирован: 24.05.2005 (Вт) 12:16

Сообщение GLEB » 08.02.2006 (Ср) 18:34

Ну наверное держится. Не проверял, но когда ставлю ее границы между мип уровнями исчезают, и все нормально, а если 2 текстуры такая фигня. В Кваке 3 ставил трилинейную, вроде все нормально.

GLEB
Бывалый
Бывалый
 
Сообщения: 246
Зарегистрирован: 24.05.2005 (Вт) 12:16

Сообщение GLEB » 08.02.2006 (Ср) 18:47

Mikle, а может быть такое, что для первой текстуры трилинейная поддерживается, а для второй нет. Видюха TNT2?

GLEB
Бывалый
Бывалый
 
Сообщения: 246
Зарегистрирован: 24.05.2005 (Вт) 12:16

Сообщение GLEB » 08.02.2006 (Ср) 19:18

Mikle
Проверил в софте (REF) все нормально, значит из-за видюхи?
Mikle, а как проверить капсы именно для второй текстуры?

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 09.02.2006 (Чт) 14:19

GLEB
По капсам все не выясниш. Попробуй после установки TSS перед самой командой Draw такое:

Код: Выделить всё
debug.print d3ddevice.validatedevice


Если что-то не поддерживается - даст ошибку.

GLEB
Бывалый
Бывалый
 
Сообщения: 246
Зарегистрирован: 24.05.2005 (Вт) 12:16

Сообщение GLEB » 09.02.2006 (Чт) 20:13

debug.print d3ddevice.validatedevice


После установки
d3ddevice.SetTextureStageState 0, D3DTSS_MIPFILTER, 2
d3ddevice.SetTextureStageState 1, D3DTSS_MIPFILTER, 2

Automation error - значит не поддерживается?


Вернуться в Мультимедиа

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15

    TopList