Maxwell писал(а):Может кто нибуть ещё знает или хотя бы, как это на DX8 делается? 

 
На восьмерке .TGA загружается легко:
     Dim MtrlBuffer As D3DXBuffer     ' универсальный кусок памяти
     Dim i As Long
     ' загрузить Mesh из .х файла
     Set Mesh = D3DX.LoadMeshFromX(App.Path & "\cube.x", D3DXMESH_MANAGED, _
                         D3DDevice, Nothing, MtrlBuffer, NumMaterials)
    
    ' распределить пространство для наших материалов и текстур
    ReDim MeshMaterials(NumMaterials)
    ReDim MeshTextures(NumMaterials)
    Dim strTexName As String
    ' извлечь  свойства материалов и имена текстур из MtrlBuffer
    For i = 0 To NumMaterials - 1
           
        ' копировать материалы, используя d3dx функцию
        D3DX.BufferGetMaterial MtrlBuffer, i, MeshMaterials(i)
        ' установить окружающий цвет для материала (D3DX не делает этого)
        MeshMaterials(i).Ambient.r = 200
        MeshMaterials(i).Ambient.g = 200
        MeshMaterials(i).Ambient.b = 200
        MeshMaterials(i).Ambient.a = 200
        
        MeshMaterials(i).diffuse = MeshMaterials(i).Ambient
        MeshMaterials(i).specular = MeshMaterials(i).Ambient
        
'         создать текстуры
        strTexName = D3DX.BufferGetTextureName(MtrlBuffer, i)
        If strTexName <> "" Then
            'Set MeshTextures(i) = D3DX.CreateTextureFromFileEx(D3DDevice, App.Path & "" & strTexName, 256, 256, D3DX_DEFAULT, 0, D3DFMT_UNKNOWN, D3DPOOL_MANAGED, D3DX_DEFAULT, D3DX_DEFAULT, &HFF000000, ByVal 0, ByVal 0)
            Set MeshTextures(i) = D3DX.CreateTextureFromFileEx(D3DDevice, App.Path & "" & "Red.tga", 256, 256, D3DX_DEFAULT, 0, D3DFMT_UNKNOWN, D3DPOOL_MANAGED, D3DX_DEFAULT, D3DX_DEFAULT, &HFF000000, ByVal 0, ByVal 0)
        End If
        
        
       ' установить материал и текстуру для этого подмножества
       D3DDevice.SetMaterial MeshMaterials(i)
       D3DDevice.SetTexture 0, MeshTextures(i)
    Next i
    
    Set MtrlBuffer = Nothing