forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Xors3D (http://forum.boolean.name/forumdisplay.php?f=126)
-   -   Image и артефакты (http://forum.boolean.name/showthread.php?t=16434)

impersonalis 15.02.2012 16:56

xMaskImage
 
xMaskImage для больших картинок (более 800х600) работает некорректно: крешит выполнение программы или просто не применяется (участки с маской рисуются её цветом) в зависимости от конфигурации ПК. Если картинку уменьшить (или закомментить установку цвета маски) - всё работает.
Протестировал на трёх компах:
win XP SP3 встроенный контроллер от интел, XP SP3 жираф 5700, XP x64 SP2 жираф 9600 gt
Xors3d (если верить справке - больше отметок не нашёл) 1.15.738 (Dec 08 2011)
ЧЯДНТ?

ОТВЕТЫ в конце темы

HolyDel 15.02.2012 18:00

Ответ: xMaskImage
 
размер окна?

ARA 15.02.2012 18:27

Ответ: xMaskImage
 
Это кто у нас тут текстуры 800х600 юзаетъ? 8 )

impersonalis 16.02.2012 01:16

Ответ: xMaskImage
 
Цитата:

Сообщение от HolyDel (Сообщение 219631)
размер окна?

меньше чем image

Цитата:

Сообщение от ARENSHI (Сообщение 219634)
Это кто у нас тут текстуры 800х600 юзаетъ? 8 )

Спасибо, друг
и это говорит человек, использующий goto вместо цикла в ком.проектах 8 )


Вообще, апеллировать к тезису "это говнокод!" на булке, конечно, традиция, но:
1) не вижу смысла растекаться мыслею по древу на тему "чем оправдана такая реализация" (начнём с того, что это был прикидычный эскиз, и я знаю несколько вариантов реализации, лишённых описанной проблемы, но, обращаю внимание сообщества на - см. п.2).
2) подобное должно завершаться не крешем (или артефактами), а более информативно или содержать указания в хелпе.

ах, йопти - я ж теги забыл
Теги: Xors3D mask MAV memory access violation маскимейдж почему я идиот МАВ креш артфеакт без смс торрент бесплатно без ограничений и регистрации

HolyDel 16.02.2012 01:28

Ответ: xMaskImage
 
если картинку уменьшить до размеров меньше окна, тогда становится нормально?

impersonalis 16.02.2012 01:34

Ответ: xMaskImage
 
Цитата:

Сообщение от HolyDel (Сообщение 219690)
если картинку уменьшить до размеров меньше окна, тогда становится нормально?

не хватило ума приметить (сейчас не в состоянии проверить), но, емнип - да

Randomize 16.02.2012 02:31

Ответ: xMaskImage
 
Вложений: 1
Успешно провёл тест.
Версия DLL: Xors3d Engine version: 1.15.738.0 ( Dec 08 2011 )
Подробности в аттаче.

Приложи чтоль твою пикчу да код покажи.

pozitiffcat 16.02.2012 16:53

Ответ: xMaskImage
 
у меня не работает, даже изменял картинку на 512x512 видео GMA X4500

ARA 16.02.2012 17:04

Ответ: xMaskImage
 
Цитата:

и это говорит человек, использующий goto вместо цикла в ком.проектах 8 )
Я? Goto? Да никогда в жизни. Я вообще не кодю и ниприделах.

impersonalis 16.02.2012 22:33

Ответ: xMaskImage
 
Всем спасибо. Как и обещал - проблему обошёл. Работоспособность команды, вероятно, зависит от конфигурации ПК. Времени на обстоятельное тестирование пока нет.

impersonalis 01.03.2012 19:49

Ответ: Не работает на Win XP SP 3.0
 
апд2: картинки в "чистом виде" рисуются. Вероятно дело в преобразованиях (рисование в буфер, накладывание имаг с маской) - коих у меня много. Но суть в том что на XP с древним железом это всё работало.
апд3: неадекватно отрабатывают конструкции типа
Код:

int img=xLoadImage("ground.bmp");
    int bbb=xGraphicsBuffer();
    xSetBuffer(xImageBuffer(img));
    xRect(10,10,100,100,true);
    xSetBuffer(bbb);


Randomize 01.03.2012 23:21

Ответ: Не работает на Win XP SP 3.0
 
Может надо скорее xBackBuffer() нежели xGraphicsBuffer()???

impersonalis 01.03.2012 23:23

Ответ: Не работает на Win XP SP 3.0
 
Цитата:

Сообщение от Randomize (Сообщение 221187)
Может надо скорее xBackBuffer() нежели xGraphicsBuffer()???

аналогичный результат: картинка выводится без нарисованного квадратика
апд: и блокировка буфера (которая не нужна) тоже не влияет на результат
апд2: и под ХР это всё работало
апд3: одинаково не работает и в фуллскрине и в окне.
апд4: если картинку не грузить, а создавать - то всё работает
апд5: так же работать с буфером не удаётся, если он превышает размеры окна (да - на ХР [но может дело и не в ОС - а в видеокарте] работало)

L-ee-X 02.03.2012 01:12

Ответ: Не работает на Win XP SP 3.0
 
Win 7 Максимальная (x64)
Все работает на ура...

impersonalis 02.03.2012 01:57

Ответ: Не работает на Win XP SP 3.0
 
Цитата:

Сообщение от L-ee-X (Сообщение 221196)
Win 7 Максимальная (x64)
Все работает на ура...

Да, вероятно, как и в случае с xMask, дело не только в ОСи, а в конфиге в целом или в железе.
Кстати, если в xDrawImageRect, например, правая граница рисуемого фрагмента будет выходить за пределы изображения, из которого этот фрагмент "вырезан", то и существующая часть (некоторая область слева) рисоваться не будет. Это только на моём конфиге?


Часовой пояс GMT +4, время: 02:56.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot