Тема: CreateTexture
Показать сообщение отдельно
Старый 12.02.2009, 05:04   #11
DartWaider aka Yxo
AnyKey`щик
 
Регистрация: 12.02.2009
Сообщений: 6
Написано 2 полезных сообщений
(для 6 пользователей)
Ответ: CreateTexture

Если ещё актуально то выяснилось что можно копировать имэйдж в текстуру и с флагом маски, только пустой цвет(маскированый) записать как: А shl 24; где А от 0 до 128.

вот пример:

Graphics3D 800,600,16,1
SetBuffer BackBuffer()
SeedRnd MilliSecs()

Dim pix(64,64)

cube=CreateCube()

Global img=LoadImage("tex.bmp")
Global tex=CreateTexture(64,64,5)

;--------------------------
	SetBuffer ImageBuffer(img)
		LockBuffer()
		For i=0 To 63
			For j=0 To 63
				pix(j,i)=ReadPixel(j,i)
			Next
		Next
		UnlockBuffer()
	SetBuffer TextureBuffer(tex)
		LockBuffer()
		For i=0 To 63
			For j=0 To 63
				r=pix(j,i) Shr 16 And 255
				g=pix(j,i) Shr 8 And 255
				b=pix(j,i) And 255
				If  Not r=g=b Then	
					WritePixel j,i,0 Shl 24; + r Shl 16 + g Shl 8 + b
				Else 
					WritePixel j,i,pix(j,i)
				End If
			Next
		Next
		UnlockBuffer()
	SetBuffer BackBuffer()
;------------------------

EntityTexture cube,tex

lit=CreateLight()
cam=CreateCamera()
CameraClsColor cam,63,63,63
PositionEntity cam,0,0,-5

EntityFX cube,17

Repeat

	x=x+2:y=x-z:z=x-y
	RotateEntity cube,x,y,z
	
	UpdateWorld()
	RenderWorld()
	Flip 1
Until KeyHit(1)
End
Нарисовать в паинте какую-то фигню размером 64х64 на чёрном фоне думаю не проблема.
(Offline)
 
Ответить с цитированием