1)
WritePixel (WritePixelFast) и текстурный флаг 2 тебе помогут:
Текстуре ставишь флаг 2 - альфа(прозрачность)
Пишешь в нужную область текстуры пиксели с прозрачностью 0
WritePixel(X, Y, $00000000, TextureBuffer(Текстура))
Пример
Function AlphaRect(Tex, X, Y, Width, Height)
LockBuffer(TextureBuffer(Tex))
For Px = X To (X + Width)
For Py = Y To (Y + Height)
WritePixelFast(Px, Py, $00000000, TextureBuffer(Tex))
Next
Next
UnlockBuffer(TextureBuffer(Tex))
End Function
Graphics3D(640, 480, 16, 2)
SetBuffer(BackBuffer())
BackGround = CreateCube()
ScaleEntity(BackGround, 100, 100, 1)
PositionEntity(BackGround, 0, 0, 20)
Cube = CreateCube()
PositionEntity(Cube, 0, 0, 10)
cam = CreateCamera()
Texture = CreateTexture(512, 512, 2)
EntityTexture(Cube, Texture)
Repeat
TurnEntity(Cube, 0, 1, 1)
If KeyDown(57) Then AlphaRect(Texture, Rand(462), Rand(462), 50, 50)
RenderWorld()
Flip()
Until KeyDown(1)
End
2)
открываешь текстурный буффер и рисуешь туда изображение
SetBuffer(TextureBuffer(Текстура))
DrawImage(Рисунок, X, Y)
SetBuffer(BackBuffer())