Войти
Вело-изобретателиФорумSR2D - софтовый 2D движок

SR2D, тестируем x64 версию. (5 стр)

Страницы: 1 2 3 4 5 6 Следующая »
#60
15:15, 20 авг. 2020

Mikle
Привет, напомни (мы вроде обсуждали это, я уже не помню),
почему я рисую спрайт загруженный из файла, на 2ой пустой спрайт
и он не рисуется, пока я явно не укажу в draw op.paint?

#61
16:12, 20 авг. 2020

Привет.
Если явно не указан Op спрайта источника, то используется Op.DefaultOp, а он может быть разным, например, при использовании ColorKey это будет Op.AlphaTest,
при загрузке из PNG с альфаканалом это будет Op.AlphaBlend. А, если в файле альфаканал пуст - ничего и не нарисуется.
DefaultOp для спрайта можно указать любой свой, например:

SprCol.Op = Op.Add2D

#62
17:58, 20 авг. 2020

Mikle
ну значит я примерно правильно запомнил
тогда вопрос, если я загружаю ПНГ, но у него нет прозрачности, т.е вся альфа получается 255 (если я не путаю, я вечно путаю что прозрачное а что не прозрачное почему-то), разве он не должен просто нарисоваться, как не прозрачный, если альфатест?
или это через альфа бленд должно так
а альфа тест вообще что делает?

#63
18:08, 20 авг. 2020

SilentPrayerCG
> разве он не должен просто нарисоваться, как не прозрачный, если альфатест?
Должен. Видимо, в том PNG альфа есть, и она нулевая.
А если там альфа вся = 255, то нарисуется, но в любом случае лучше использовать Op.Paint - так быстрее.
Если не разберёшься - пришли мне этот PNG, посмотрю.
Вообще, для альфабленда 0 - это прозрачно, 255 - непрозрачно, остальное - градации.
А для альфатеста меньше 128 - полностью прозрачно, иначе - полностью непрозрачно.

#64
20:08, 20 авг. 2020

Mikle
я заменил на альфабленд, и теперь если открываю пнг файл и он рисуется на холст, то рисуется нормально, если не прозрачная то просто рисуется, если прозрачная то рисуется с прозрачностью
но альфатест картинка не рисовалась что-то вообще, я так понимаю альфатест должен выдавать без плавных переходов, тупо cutout как-бы?

проверил заменил на альфатест, вроде работает. может первый раз криво что-то было.


не подскажешь кстати, если делать вывод картинки через паинттодевайс а не перегонять в битмап и загружать в picturebox
если та часть формы куда выводится картинка улетает за пределы экранов, то эти участки чистятся, и нужно снова painttodevice делать
как-то можно нормально реализовать что-бы перерисовывалось? или в событие form_move делать проверку если форма улетала за края экранов?
я попробовал сейчас процедуру отрисовки засунуть в событие паинт, но оно кривовато работает, потому что процесс перерисовки не поспевает за событием как-бы, если дергать туда сюда, в итоге не полная картинка выходит.

может я фигней страдаю и лучше в конце отрисовки засунуть итог в битмап и подгрузить его в picturebox ?

но если у меня будут какие-то вещи, которые модифицируют изображение быстро, на лету, так сказать, то каждый раз переводить в битмап это медленно

#65
21:57, 20 авг. 2020

В Paint нужно засовывать не всю процедуру отрисовки, а только финальный painttodevice, тогда при перетаскивании формы не тормозит.
Через битмап тормознее будет.

#66
8:45, 21 авг. 2020

Mikle
Да точно, что-то я и не подумал, спасибо.

#67
(Правка: 11:27) 11:22, 5 сен. 2020

Mikle
Привет. А ты не знаешь, можно как-то SR2D дллку запихнуть в ресурсы и что-бы импортилось оттуда?
Когда подцепляю к ресурсам, дллимпорты начинают гнать что не могут загрузить ничего, им нужно чтобы файл физически лежал рядом где-то.
Я попробовал по вот этой инструкции https://wiki.ledhed.net/index.php?title=Embed_DLL_as_Resource
Но я не могу SR2D64.dll добавить как референс, он говорит нафиг мол иди, убедись что файл доступен и что он пригоден как COM компонент, или что-то такое.

В общем возможно ли как-то использовать SR2D на vb.net на актуальной студии так что-бы на выходе был 1 ехе?

#68
11:44, 5 сен. 2020

Сомневаюсь, что это возможно, по крайней мере на основе NET EXE, вот если попробовать собрать нативный x64 EXEшник, может что-то и получится, ну для этого, видимо, нужно применить ещё какой-то инструмент, типа C++ NET. Не знаю, не занимался таким.

#69
14:03, 5 сен. 2020

Mikle
ясно, а я надеялся, что это проще все можно сделать

#70
10:33, 6 сен. 2020

Вчера сделал простенькую прогу, которая картинку показывает на форме, (скейл по пропорциям при ресайзе, паинт то дейвайс в паинте)
Скинул другу, он попробовал под вайном запустить, не заработало. Ну т.е когда я просто в picturebox загружал картинку, работало, как добавил SR2D, все, ни картинка не подгружается, не фига.
Не представляю как там тогда тяжелый софт типа 3дмакса запускать, никак наверное, если он ср2д не смог переварить.

#71
10:40, 6 сен. 2020

Я не раз запускал под Вайном программы на SR2D, работало. Может Вайн 32-х битный, а ты запускал x64?

#72
16:15, 6 сен. 2020

Mikle
у меня была такая мысль
потому, что я ему первый раз кидал 32 битную, и он что-то там специально делал что-бы она запустилась.
а последний раз я ему кинул 64 битный, он как-бы запускается, часть функционала работает. но картинки не открывается, потом драг н дроп такое ощущение что не работает вообще, файла на форму.
ладно, посмотрим потом еще раз, ради интереса, раз 64 битная запустилась и не выдала ошибку, я думал он сам определяет разрядность.

#73
18:29, 6 сен. 2020

SilentPrayerCG
Ты вообще компилируешь под x64 или "any CPU"? Если второе, то Вайн, если даже и поддерживает x64 (я не знаю), может выбрать x86, и NET программа будет работать, но на подключении x64 dll обломится.

#74
15:33, 12 сен. 2020

Mikle
извини, что не отвечал, не проверял тред

вообще там в "платформа" стоит  "эни цпу"
но таргет цпу стоит х64

https://gamedev.ru/files/images/?id=149483

мне всегда казалось, что там и компилится под х64

в платформе то я ничего больше выбрать и не могу.

как-то иначе делать нужно?

Страницы: 1 2 3 4 5 6 Следующая »
Вело-изобретателиФорумSR2D - софтовый 2D движок