Текстура

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

Модератор: Mikle

Maxwell
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 182
Зарегистрирован: 01.10.2003 (Ср) 15:48
Откуда: Russia

Текстура

Сообщение Maxwell » 05.12.2003 (Пт) 18:31

Пытаюсь переместить текстуру на объекте при помощи

Код: Выделить всё
Dim matTex As D3DMATRIX

D3DXMatrixTranslation matTex, X, Y, Z
D3DDevice.SetTransform D3DTS_TEXTURE0, matTex


Ничего не выходит. :( Или хотя бы скажите, кто знает, что это вещь делает?

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 05.12.2003 (Пт) 23:14

Попробуй сначала d3dxmatrixidentity или как там... Без этого с матрицами не работают...

Maxwell
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 182
Зарегистрирован: 01.10.2003 (Ср) 15:48
Откуда: Russia

Сообщение Maxwell » 06.12.2003 (Сб) 11:51

Так, что ли?

Код: Выделить всё
Dim matTex As D3DMATRIX

D3DXMatrixIdentity matTex
D3DDevice.SetTransform D3DTS_TEXTURE0, matTex

D3DXMatrixScaling matTex, 10, 10, 10
D3DDevice.SetTransform D3DTS_TEXTURE0, matTex


Всё равно не работает.

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 06.12.2003 (Сб) 14:29

А что вообще ты хочешь получить?

Maxwell
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 182
Зарегистрирован: 01.10.2003 (Ср) 15:48
Откуда: Russia

Сообщение Maxwell » 06.12.2003 (Сб) 17:52

Как что, тектуру на объекте подвигать. :wink: К примеру, камера двигается и текстура на объекте тоже куда нибудь. Что то вроде для эффектов отблесков и метала...

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 07.12.2003 (Вс) 17:59

Хочешь сказать эффект зеркального отражения? Метал подругому делается...

Maxwell
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 182
Зарегистрирован: 01.10.2003 (Ср) 15:48
Откуда: Russia

Сообщение Maxwell » 07.12.2003 (Вс) 18:16

Мне надо металл. Я имел ввидо типа как в Q3, там текстура стены, а на ней ещё одна с разводами. И когда ты идешь вторая двигается.

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 08.12.2003 (Пн) 13:27

Чем вам не нравится материал... Ставишь Specular на полную и все у тя блестит....

Maxwell
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 182
Зарегистрирован: 01.10.2003 (Ср) 15:48
Откуда: Russia

Сообщение Maxwell » 08.12.2003 (Пн) 19:45

Так, что там с D3DTS_TEXTURE0?

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 08.12.2003 (Пн) 20:36

Хм... Вспомнил, как это назывется environment mapping. Или Chome Mapping. В общем там много названий было. Могу пример на C++ кинуть.

Maxwell
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 182
Зарегистрирован: 01.10.2003 (Ср) 15:48
Откуда: Russia

Сообщение Maxwell » 09.12.2003 (Вт) 17:13

С этим эффектом метал, как реальный, с отражением.

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

Сообщение Mikle » 10.12.2003 (Ср) 15:02

Environment mapping, Cube либо Spherical - это для реальных отражений, Cube даже описано в VB_SDK. А для эмуляции отражения достаточно одной строки:
Код: Выделить всё
d3dDevice.SetTextureStageState 0, D3DTSS_TEXCOORDINDEX, D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR

либо, иногда даже лучше:
Код: Выделить всё
d3dDevice.SetTextureStageState 0, D3DTSS_TEXCOORDINDEX, D3DTSS_TCI_CAMERASPACENORMAL

если, кроме текстуры отражений, нужно обычная текстура - мультитекстурирование.

Maxwell
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 182
Зарегистрирован: 01.10.2003 (Ср) 15:48
Откуда: Russia

Сообщение Maxwell » 10.12.2003 (Ср) 18:10

Большое спасибо!

Как со stage работать?
Мне надо, что бы не у всех текстур был такой еффект. Я ставлю в "D3DDevice.SetTextureStageState" stage - 1. И в рендеринге, для нужных объектов "D3DDevice.SetTexture 1, nameTex". Но не работает...

Да и, как мультитекстурирование работает? :lol:

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 10.12.2003 (Ср) 20:50

примени к девайсу

.SetTextureStageState 0, D3DTSS_COLOROP, D3DTOP_MODULATE
.SetTextureStageState 0, D3DTSS_COLORARG1, D3DTA_TEXTURE
.SetTextureStageState 0, D3DTSS_COLORARG2, D3DTA_DIFFUSE
.SetTextureStageState 1, D3DTSS_COLOROP, D3DTOP_MODULATE
.SetTextureStageState 1, D3DTSS_COLORARG1, D3DTA_TEXTURE
.SetTextureStageState 1, D3DTSS_COLORARG2, D3DTA_CURRENT

только потом не забудь .settexture 1, nothing, а то у тя все вертексы после этого будут тоже иметь эту текстуру.

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

Сообщение Mikle » 11.12.2003 (Чт) 17:03

Это мультитекстурирование, а если без него, нужно использовать TEX0.
Непосредственно перед рендером "металлического" объекта ставишь:

d3dDevice.SetTextureStageState 0, D3DTSS_TEXCOORDINDEX, D3DTSS_TCI_CAMERASPACENORMAL

, а сразу после:

d3dDevice.SetTextureStageState 0, D3DTSS_TEXCOORDINDEX, D3DTSS_TCI_PASSTHRU

чтобы восстановить нормальный Texture Mapping.

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 11.12.2003 (Чт) 21:51

Mikle писал(а):d3dDevice.SetTextureStageState 0, D3DTSS_TEXCOORDINDEX, D3DTSS_TCI_CAMERASPACENORMAL


У меня после этого прога выдает automation err на drawprimitive

Что такое?

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

Сообщение Mikle » 12.12.2003 (Пт) 14:39

Такое бывает на старых видюхах\драйверах. А какой код ошибки?

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 12.12.2003 (Пт) 16:29

Хрен его знает. Ломает смотреть...

Maxwell
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 182
Зарегистрирован: 01.10.2003 (Ср) 15:48
Откуда: Russia

Сообщение Maxwell » 12.12.2003 (Пт) 17:43

Стекло как в Q3 получилось, точь в точь.

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 12.12.2003 (Пт) 18:05

Все, я завидую...

Maxwell
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 182
Зарегистрирован: 01.10.2003 (Ср) 15:48
Откуда: Russia

Сообщение Maxwell » 12.12.2003 (Пт) 18:26

Чему завидуешь?

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 12.12.2003 (Пт) 18:49

Не могу лицезреть это чудо! Вот и завидую...

Maxwell
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 182
Зарегистрирован: 01.10.2003 (Ср) 15:48
Откуда: Russia

Сообщение Maxwell » 12.12.2003 (Пт) 19:18

Почему же неможешь, может тебе пример дать или те текстуры которые я использовал кинуть?

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 12.12.2003 (Пт) 22:14

Кидай, может я что не то натворил... У меня просто не работала эта хрень...

Vovik
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 643
Зарегистрирован: 02.08.2003 (Сб) 15:14
Откуда: Belarus, Minsk

Сообщение Vovik » 12.12.2003 (Пт) 22:29

Maxwell писал(а):Почему же неможешь, может тебе пример дать или те текстуры которые я использовал кинуть?

Если мона, то и мне скинь плиз... :roll:

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 12.12.2003 (Пт) 22:31

Можно просто на сайт выложить...

Maxwell
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 182
Зарегистрирован: 01.10.2003 (Ср) 15:48
Откуда: Russia

Сообщение Maxwell » 13.12.2003 (Сб) 16:27

Вот и пример:
У вас нет доступа для просмотра вложений в этом сообщении.

Vovik
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 643
Зарегистрирован: 02.08.2003 (Сб) 15:14
Откуда: Belarus, Minsk

Сообщение Vovik » 13.12.2003 (Сб) 17:01

Хеммм... И вправду на стекло похоже, причём конкертно! :)

Maxwell
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 182
Зарегистрирован: 01.10.2003 (Ср) 15:48
Откуда: Russia

Сообщение Maxwell » 13.12.2003 (Сб) 17:28

Так, как всё таки подвинуть текстуру на объекте. Допустим если мне надо её проанимировать, то много разных рисунков делать не удобно.

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

Сообщение Mikle » 14.12.2003 (Вс) 11:11

Анимируй матрицу D3DTS_TEXTURE0 (или 1, 2...).

След.

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

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

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

    TopList