Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > 3D-программирование

3D-программирование Вопросы, касающиеся программирования 3D мира

Ответ
 
Опции темы
Старый 21.02.2006, 20:14   #1
Diplomat
Дэвелопер
 
Регистрация: 07.09.2005
Сообщений: 1,519
Написано 66 полезных сообщений
(для 164 пользователей)
Доброе время суток!

Эти команды работают в разы быстрее, чем связка "семейств" GetColor и Plot.
Но цвета/альфу "прочитанных" точек они возвращают в виде целого числа-интеджера, причем три цвета и альфа прочитанной точки занимают по байту в этом числе...
Не подскажете, как максимально быстро "вычленить" значения цветов из интеджера?
Сойдет и какой-нибудь хитрометод: точность не критична, важна скорость.

Сори за тривиальный вопрос.
(Offline)
 
Ответить с цитированием
Старый 21.02.2006, 21:00   #2
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
В примерах к журналу гдето было, ща гляну... если найду выложу
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 21.02.2006, 21:03   #3
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Во по моему то что тебе нужно:
[blitz]Const RALPHA = 24 ;Return Alpha when using RColor
Const RRED = 16 ;Return Red when using RColor
Const RGREEN = 8 ;Return Green when using RColor
Const RBLUE = 0 ;Return Blue when using RColor

; IntColor returns an integer color useable by WritePixel() and WritePixelFast()
; R = Red
; G = Green
; B = Blue
; A = Alpha.
; return = An integer color useable by functions such as WritePixel() and WritePixelFast()
Function IntColor(R,G,B,A=255)
Return A Shl 24 Or R Shl 16 Or G Shl 8 Or B Shl 0
End Function

; RColor returns the value of Red, Green, Blue, or Alpha in C.
; c = An integer color returned by, for example, ReadPixelFast()
; d = The amount of bits C should be shifted right to. Valid constants are: RRED, RGREEN, RBLUE, RALPHA
; return = An integer ranging from 0 to 255.
Function RColor%(c%,d%)
Return c Shr d And 255 Shl 0
End Function
[/blitz]
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 22.02.2006, 00:31   #4
Diplomat
Дэвелопер
 
Регистрация: 07.09.2005
Сообщений: 1,519
Написано 66 полезных сообщений
(для 164 пользователей)
Вах! Самое оно! Покрутил, прикрутил, запустил- прирост скорости 50% налицо и прочие части тела!
Сенкс и респект фарева!!
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com