|
3D-программирование Вопросы, касающиеся программирования 3D мира |
21.08.2010, 01:11
|
#1
|
Разработчик
Регистрация: 19.05.2009
Адрес: Россия Иркутская область
Сообщений: 350
Написано 51 полезных сообщений (для 66 пользователей)
|
Varptr в Blitz3D
Переписываю код с BlitzMax на Blitz3D и столкнулся с такой фигней как можно в Blitz3D использовать функцию BlitzMax'a Varptr? или как она там называется
Я так понимаю она находит адрес переменной, а вот как в Blitz3D его найти...
|
(Offline)
|
|
21.08.2010, 01:46
|
#2
|
Дэвелопер
Регистрация: 06.04.2009
Адрес: Запорожье
Сообщений: 1,500
Написано 1,011 полезных сообщений (для 4,642 пользователей)
|
Ответ: Varptr в Blitz3D
Никак
__________________
|
(Offline)
|
|
21.08.2010, 02:03
|
#3
|
Разработчик
Регистрация: 19.05.2009
Адрес: Россия Иркутская область
Сообщений: 350
Написано 51 полезных сообщений (для 66 пользователей)
|
Ответ: Varptr в Blitz3D
И что я так понимаю что адрес переменной узнать нельзя в Blitz3D
|
(Offline)
|
|
21.08.2010, 02:50
|
#4
|
Дэвелопер
Регистрация: 06.04.2009
Адрес: Запорожье
Сообщений: 1,500
Написано 1,011 полезных сообщений (для 4,642 пользователей)
|
Ответ: Varptr в Blitz3D
Черезжопно можно.
http://fastlibs.com
Смотри FastPointer
__________________
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
21.08.2010, 02:57
|
#5
|
Разработчик
Регистрация: 19.05.2009
Адрес: Россия Иркутская область
Сообщений: 350
Написано 51 полезных сообщений (для 66 пользователей)
|
Ответ: Varptr в Blitz3D
Ну я так пологаю на C++ можно написать такую либу чтоб она возврощала адрес переменной? Верно?
|
(Offline)
|
|
21.08.2010, 03:40
|
#6
|
Дэвелопер
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений (для 2,920 пользователей)
|
Ответ: Varptr в Blitz3D
Сообщение от maxturbo
Ну я так пологаю на C++ можно написать такую либу чтоб она возврощала адрес переменной? Верно?
|
Верно. Но не для тебя.
|
(Offline)
|
|
21.08.2010, 10:18
|
#7
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Varptr в Blitz3D
Вроде бы можно получать адрес пользовательских типов на сколько я помню... только эти функции не документированы...
Вот тут есть примеры http://www.blitzbasic.com/Community/...hp?topic=53348
|
(Offline)
|
|
21.08.2010, 10:50
|
#8
|
Знающий
Регистрация: 18.02.2008
Сообщений: 276
Написано 121 полезных сообщений (для 299 пользователей)
|
Ответ: Varptr в Blitz3D
Это не адрес, а порядковый номер объекта в типе
|
(Offline)
|
|
21.08.2010, 16:47
|
#9
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Varptr в Blitz3D
Ну в переводе Handle - ссылка. Я не проверял значения получаемые этой функцией до этого. После маленького исследования получается, что это и не совсем номер элемента в типе. Это номер полученной ссылки на объект типа.
Type MyType Field simple End Type
var1.MyType = New MyType var2.MyType = New MyType
Print Handle(var1) Print Handle(var2) Delete var1 Print Handle(var2)
Вот такой код выдает:
Возможно этого хватит для решения задачи, других примеров здесь вроде не предлагали, кроме использования подключаемых библиотек.
|
(Offline)
|
|
21.08.2010, 16:55
|
#10
|
Дэвелопер
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений (для 2,920 пользователей)
|
Ответ: Varptr в Blitz3D
Мне западло поверять, но указание * как тэга типа в decls передает адрес банка или объекта пользовательского типа. Возможно оно будет работать и для переменных.
|
(Offline)
|
|
21.08.2010, 16:57
|
#11
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Varptr в Blitz3D
Сообщение от Knightmare
Мне западло поверять, но указание * как тэга типа в decls передает адрес банка или объекта пользовательского типа. Возможно оно будет работать и для переменных.
|
Ну если человек напишет для этого еще свою библиотеку
|
(Offline)
|
|
21.08.2010, 17:07
|
#12
|
Дэвелопер
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений (для 2,920 пользователей)
|
Ответ: Varptr в Blitz3D
Ну за каким-то хреном же ему нужен адрес переменной.
|
(Offline)
|
|
21.08.2010, 17:21
|
#13
|
Разработчик
Регистрация: 19.05.2009
Адрес: Россия Иркутская область
Сообщений: 350
Написано 51 полезных сообщений (для 66 пользователей)
|
Ответ: Varptr в Blitz3D
Короче объясню так, есть Ninfa3D для BlitzMax я ее юзаю в Blitz3D все работает вот только в BlitzMax команда используется вот так
Local sampledist:Float = 0.0015
Local strength:Float = 4.6
Local multiplier:Float = 0.22
CreateDOF(512,512,Varptr sampledist,Varptr strength,Varptr multiplier)
А как в Blitz3D использовать, если просто ввести переменные то выходит ошибка!!!
|
(Offline)
|
|
21.08.2010, 17:25
|
#14
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Varptr в Blitz3D
если это dll, то просто объяви эту функцию как нужно в decls. И должно работать.
|
(Offline)
|
|
21.08.2010, 17:31
|
#15
|
Разработчик
Регистрация: 19.05.2009
Адрес: Россия Иркутская область
Сообщений: 350
Написано 51 полезных сообщений (для 66 пользователей)
|
Ответ: Varptr в Blitz3D
Сообщение от pax
если это dll, то просто объяви эту функцию как нужно в decls. И должно работать.
|
Да это dll но вроде бы все правельно пишу в decls
Вот так она выглядит в BlitzMax
Global CreateDOF:Int Ptr(w:Int, h:Int, param0:Float Ptr, param1:Float Ptr, param2:Float Ptr) "C" = GetProcAddress(dll,"CreateDOF")
А вот так вот я делаю в decls
NF_CreateDOF_%(w%,h%,param0#,param1#,param2#):"CreateDOF"
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 09:23.
|