-
Б (05.07.09 21:17) [0]Создал квадр (2 стрип-треугольника),
при FVF = D3DFVF_XYZ or D3DFVF_DIFFUSE. Получился ровный прямоугольник. Окрасил вертексы в разные цвета, всё выводится нормально.
Изменил FVF на D3DFVF_XYZ or D3DFVF_TEX1 or D3DFVF_DIFFUSE
(Добавил текстурные координаты).
Структура вертекса стала такой:
Type
TVertex = packed record
X, Y, Z: single;
U, V : single;
Cl : DWord;
End;
Пытался "натянуть" текстуру на цветной квадр, но получается только чёрный прямоугольник. Хотя раньше текстура "натягивалась" на тот же флаг, но без D3DFVF_DIFFUSE и без поля цвета в структуре вертекса.
Что не так? -
CrytoGen (06.07.09 00:06) [1]Type
TVertex = packed record
X, Y, Z: single;
Cl : DWord;
U, V : single;
End;
Может так? -
@!!ex © (06.07.09 00:29) [2]> [0] Б (05.07.09 21:17)
Порядок задания параметров вершину указан в MSDN.
И там написано то, что уже написал в [1] - сначала дифузный цвет, потом текстурные координаты. -
CrytoGen (06.07.09 11:57) [3]Товарищ похоже просто решил, что последовательность он задаёт строкой:
D3DFVF_XYZ or D3DFVF_TEX1 or D3DFVF_DIFFUSE
:) -
Б (06.07.09 12:59) [4]
> @!!ex © (06.07.09 00:29) [2]
Понятно.
> CrytoGen (06.07.09 11:57) [3]
Угу, конечно, попутал последовательность в сложении. Ты прав, надо изменить...