Тема: CreateTexture
Показать сообщение отдельно
Старый 26.07.2007, 13:39   #3
Platon
Знающий
 
Регистрация: 04.08.2006
Адрес: Россия
Сообщений: 297
Написано 39 полезных сообщений
(для 70 пользователей)
Re: CreateTexture

Для загружаемых текстур просто указывай флаг 4 при загрузке, для создаваемых маску надо делать через альфаканал, вот тебе функция
Function MaskTexture(Texture, Red, Green, Blue)
	Local MaskColor = (Red Shl 16) Or (Green Shl 8) Or Blue
	Local MaskSizeX = TextureWidth(Texture)
	Local MaskSizeY = TextureHeight(Texture)
	Local MaskBuffer = TextureBuffer(Texture)
	LockBuffer(MaskBuffer)
	For x = 0 To MaskSizeX
		For y = 0 To MaskSizeY
			Pixel = ReadPixelFast(x, y, MaskBuffer) And $00FFFFFF
			If (Pixel = MaskColor) Then
				WritePixelFast(x, y, Pixel, MaskBuffer)
			Else
				WritePixelFast(x, y, Pixel Or $FF000000, MaskBuffer)
			EndIf
		Next
	Next
	UnlockBuffer(MaskBuffer)
End Function
Текстуре укажи флаг 4 или 2, и с помощью этой функции установи маску на нужный цвет.

Зы
В принципе можешь сразу указывать прозрачность, во время рисования в текстуру, но так более универсально.
(Offline)
 
Ответить с цитированием