forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Эм, текстура. (http://forum.boolean.name/showthread.php?t=1892)

AnRee 11.11.2006 21:48

Эм, текстура.
 
Такая есть проблема:

Создаю я текстуру 64*64, далее в нее CopyRect`ом копирую кусок рисунка одного. Затем SaveBuffer() сохраняю текстуру в файл "tex.bmp",
потом мне надо загрузить текстуру допустим brush = loadtexture("tex.bmp") и наложить на спрайт, косяк в том, что исходное изображение "tex.bmp" - меняется на нужные мне, а вот brush не меняется тоесть постоянно одна и та же тестура на спрайте. Вопрос: в чем дело?:)

jimon 11.11.2006 23:01

Re: Эм, текстура.
 
можно предположить что кешируется по имени текстуры
попробуй другое имя файла :)

AnRee 11.11.2006 23:17

Re: Эм, текстура.
 
Неа, все равно не работает :wallbash:

jimon 11.11.2006 23:29

Re: Эм, текстура.
 
может оно изменяется после того как ты загрузиш ? попробуй там delay поставить ... но ето тупость :) хотя фиг его знает

ps. а зачем тебе в файл ? нельзя ли текстуру так юзать ?

AnRee 11.11.2006 23:38

Re: Эм, текстура.
 
Цитата:

Сообщение от jimon
ps. а зачем тебе в файл ? нельзя ли текстуру так юзать ?

Да я бы и сделал так если можно было бы созданной текстуре, после рисования в нее, поставить флаг 4. - мне надо было обойти как нить это, я решил как в 1-ом моем посте, но опять проблема.:)

jimon 12.11.2006 00:09

Re: Эм, текстура.
 
ето тормозно покрайней мере будет :)

pax 12.11.2006 00:45

Re: Эм, текстура.
 
А создать текстуру с этим флагом и на ней рисовать нельзя?

Platon 12.11.2006 06:10

Re: Эм, текстура.
 
Действительно, зачем такие извращения?
Ставишь у текстуры Флаг 4, а у Ентити на который накладываешь Бленд 3, и все:)

НУБ 12.11.2006 06:56

Re: Эм, текстура.
 
На сколько мне известно, флаг 4 - это отсечение по чёрному цвету и реализуется оно через альфа тест, т.е. при загрузке тексы блиц ищет чёрные тексели с записывает туда нулевую альфу, когда ты рисуешь в текстуру - соответственно меняешь там значение альфы и тест не срабатывает как надо ;)

AnRee 12.11.2006 11:10

Re: Эм, текстура.
 
Цитата:

Сообщение от jimon
ето тормозно покрайней мере будет :)

Нет, совсем даже не тормозно.

Цитата:

Сообщение от Cyan
Действительно, зачем такие извращения?
Ставишь у текстуры Флаг 4, а у Ентити на который накладываешь Бленд 3, и все

У тебя работает? :)

Цитата:

Сообщение от НУБ
На сколько мне известно, флаг 4 - это отсечение по чёрному цвету и реализуется оно через альфа тест, т.е. при загрузке тексы блиц ищет чёрные тексели с записывает туда нулевую альфу, когда ты рисуешь в текстуру - соответственно меняешь там значение альфы и тест не срабатывает как надо

Так и какой выход есть из этой ситуации?;)

НУБ 12.11.2006 11:30

Re: Эм, текстура.
 
Выход: править альфу попиксельно ;)

AnRee 12.11.2006 11:39

Re: Эм, текстура.
 
Ясно, а как черному пиксу поставить нулевую альфу?:)

Platon 12.11.2006 12:09

Re: Эм, текстура.
 
Цитата:

Сообщение от AnRee
У тебя работает? :)

А как ты думаешь, стал бы я писать если бы не работало???

AnRee 12.11.2006 13:19

Re: Эм, текстура.
 
Просто мне + еще без бленда нужно.

вот пример:

Graphics3D 800,600,32,2
SetBuffer BackBuffer()

cam = CreateCamera()
CameraClsColor cam,192,192,192
lig = CreateLight()

tex = CreateTexture(64,64,1+4+256)
spr = CreateSprite()

PositionEntity spr,0,0,4
;EntityBlend spr,3

im = CreateImage(64,64)
;MaskImage im, 255,128,255

SetBuffer ImageBuffer(im)
Color 255,0,0
Rect 0,0,64,64
Color 0,0,0
Rect 16,16,32,32
SetBuffer BackBuffer()

While Not KeyHit(1)

If KeyHit(57)
CopyRect 0,0,64,64,0,0,ImageBuffer(im),TextureBuffer(tex)
EntityTexture spr,tex
EndIf

UpdateWorld()
RenderWorld()

DrawImage im,0,0

Flip(0)
Wend
End

impersonalis 12.11.2006 13:35

Re: Эм, текстура.
 
Цитата:

Сообщение от AnRee
Ясно, а как черному пиксу поставить нулевую альфу?:)

WritePixelFast x,y,rgb,[buffer]


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot