Конференция "Игры" » Текстура в Direct3D. [Delphi, Windows]
 
  • Б (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]


    Угу, конечно, попутал последовательность в сложении. Ты прав, надо изменить...
 
Конференция "Игры" » Текстура в Direct3D. [Delphi, Windows]
Есть новые Нет новых   [134430   +2][b:0][p:0.001]