Модератор: Mikle
d3drm писал(а):Я вложил пример и скриншот сюда, можете посмотреть, но скорее всего у Юрича вылетит с automation error, так как у него, как я помню, не работает создание текстур из RGB массива...
d3drm писал(а):а вообще у тебя хоть как-то при каких-либо настройках работала данная фича?
Public Function CreateNewTexture(ColorArray() As Long, Width, Height) As Direct3DTexture8
Dim Surface As Direct3DSurface8
Dim Format As CONST_D3DFORMAT
Dim RC As RECT
RC.Left = 0: RC.Top = 0: RC.Right = Width - 1: RC.bottom = Height - 1
Format = D3DFMT_A8R8G8B8
Set CreateNewTexture = D3DDevice.CreateTexture(Width, Height, 1, 0, Format, D3DPOOL_MANAGED)
Set Surface = CreateNewTexture.GetSurfaceLevel(0)
D3DX.LoadSurfaceFromMemory Surface, ByVal 0, RC, ColorArray(0), Format, Width * 4, ByVal 0, RC, D3DX_FILTER_NONE, &HFF000000
D3DX.FilterTexture CreateNewTexture, ByVal 0, D3DX_DEFAULT, D3DX_FILTER_LINEAR
Set Surface = Nothing
End Function
Width=25:Height=25
Set NewTexture = D3DX.CreateTexture(D3DDevice, Width, Height, 1, 0, Format, D3DPOOL_MANAGED)
Объясни, почему не катит D3DDevice и еще отнимаешь 1? В сдк они вроде не отнимают....Yurich писал(а):Байда!!!
- Код: Выделить всё
Width=25:Height=25
Set NewTexture = D3DX.CreateTexture(D3DDevice, Width, Height, 1, 0, Format, D3DPOOL_MANAGED)
Создает текстуру 32х32.
Как заставить делать правильные размеры?
Vovik писал(а):Объясни, почему не катит D3DDevice и еще отнимаешь 1? В сдк они вроде не отнимают....
Width=25:Height=25
Set NewTexture = [b]D3DDevice[/b].CreateTexture(Width, Height, 1, 0, Format, D3DPOOL_MANAGED)
Вот я от Юрича и пытаюсь добиться ответа, чем ему не подходит эта замена...Mikle писал(а):А если вместо D3DX.CreateTexture использовать Direct3DDevice8.CreateTexture ?
Mikle писал(а):А если вместо D3DX.CreateTexture использовать Direct3DDevice8.CreateTexture ?
А мне кажется, баг заключается совсем не в этом... У нас с Юричем одинаковые видеокарты, но у меня создается без проблем, а у него ошибка вылазит... Может чет не то при создании самого девайса? Вообще, это попа какая-тоd3drm писал(а):Yurich вот и ответ нашелся. просто устройство не позволяет создавать текстуры не кратные по ширине и высоте степеням двойки.
Vovik писал(а):А мне кажется, баг заключается совсем не в этом... У нас с Юричем одинаковые видеокарты, но у меня создается без проблем, а у него ошибка вылазит... Может чет не то при создании самого девайса? Вообще, это попа какая-тоd3drm писал(а):Yurich вот и ответ нашелся. просто устройство не позволяет создавать текстуры не кратные по ширине и высоте степеням двойки.
Mikle писал(а):Yurich
Может у тебя что-то не то с дровами. Например может зависеть от драйвера на чипсет мамки. Помню у тебя и HardWareT&L не пускался, а должен.
Mikle писал(а):А текстуры, не кратные по размерам степеням двойки, не создаются при создании нескольких мип-уровней, а тут 1 мип-уровень.
Vovik писал(а):Юрич, может ради эксперемента скачать обновленные дрова и посмотреть, изменится ли положение?
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 34