forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Flags для текстур. Поясните все их значения. (http://forum.boolean.name/showthread.php?t=2395)

НУБ 14.01.2007 20:39

Re: Flags для текстур. Поясните все их значения.
 
эээ чо?
сделай развёртку ей в максе, наложи 2 текстуры, рассчитай альфу при смешивании ;)

CRASHER 16.12.2007 20:26

Re: Flags для текстур. Поясните все их значения.
 
а умене вопрос, как заальфить текстуру каким либо мне нужным цветом?
Я нашёл только как чёрный цвет сделать прозрачным.:dontknow:

Bagration 16.12.2007 20:29

Re: Flags для текстур. Поясните все их значения.
 
Цитата:

Сообщение от CRASHER
а умене вопрос, как заальфить текстуру каким либо мне нужным цветом?
Я нашёл только как чёрный цвет сделать прозрачным.:dontknow:

Код:

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


Tadeus 16.12.2007 21:24

Re: Flags для текстур. Поясните все их значения.
 
Цитата:

Сообщение от НУБ
4 - скалярное умножение нормалей, такой тип смешивания используется в бамп мапинге, текстура нормалей получается либо из карты высот(по средством плагина для фотожопа например, хоя можно и самому сделать), либо через хай-поли модель(в melody или в 3д максе начиная с 7-го). Для попиксельного освещения с картой нормалей нужно проецировать на мешь текстуру этого самого освещения(тоже карта нормалей с направлением света), обычное вершинное освещение здесь работать не будет.
Выглядеть это может так:
1й слой - карта нормалей с блендом 2
2й - карта освещения с блендом 4(1 и 2 можно поменять местами)
3 - дефуз(2 или 5 бленд)

У меня такой код нормально работает:

Код:

Graphics3D 1024,768,32,1
SetBuffer BackBuffer()
cam=CreateCamera()

lit=CreateLight(1)

apel=CreateSphere(32)
PositionEntity apel,0,0,4

atex=LoadTexture("texture.png")
EntityTexture apel,atex,0,1

bump=LoadTexture("Orange-bumpmap.bmp")
TextureBlend bump,4
EntityTexture apel,bump,0,0

While Not KeyHit(1)
        TurnEntity apel,0,1,0
        TurnEntity cam,0,KeyDown(203)-KeyDown(205),0
        MoveEntity cam,0,0,KeyDown(200)*0.1-KeyDown(208)*0.1
          r#=(EntityX(apel)+1.1) *128.0
          g#=(EntityZ(apel)+1.1) *128.0
          b#=(EntityY(apel)+1.1) *128.0
          EntityColor apel,r#,g#,b#

        RenderWorld
        Flip
Wend
End

Причем не только нормально, но и красиво :-)

ЗЫЖ У меня как получилось, я сразу на радостях стал статью писать, чтоб другие как я пару месяцев не мучались))

CRASHER 16.12.2007 22:59

Re: Flags для текстур. Поясните все их значения.
 
Bagration, а чтот у меня не выходит.:''((
Я загрузил текстуру в png формате потом функцию применил, предварительно узнал RGB код в фотошопе, а он что то не хочэт

ааа работает, правда не без фильтра и не всегда, иногда просто не загружается.
А вот было бы сдорово сделать цвет в периоде. Ну чтоб наверняка и может ешчё поскажешь как сгладить края пзалст :)?

Bagration 17.12.2007 00:27

Re: Flags для текстур. Поясните все их значения.
 
Цитата:

Сообщение от CRASHER
Bagrationт ешчё поскажешь как сгладить края пзалст :)?

LoadTexture и два раза F1. Или:

flags (не обязательно) - дополнительные флаги:
1: Color - цветная (по умолчанию)
2: Alpha - прозрачная
4: Masked - маскированная
8: Mipmapped - сглаживание на расстоянии
16: Clamp U - ограничить текстуру по координате U
32: Clamp V - ограничить текстуру по координате V
64: Spherical environment map - сферическая карта окружения
128: Cubic environment map - кубическая карта окружения
256: Store texture in vram - сохранять текстуру в видеопамяти
512: Force the use of high color textures - улучшенная обработка многоцветных текстур

сам поймешь наверно. ;) Вообщем эксперементируй и все получиться.
P.S. советую заглянуть сюда http://www.boolean.name/showthread.php?t=4695
;)

CRASHER 17.12.2007 01:51

Re: Flags для текстур. Поясните все их значения.
 
ну если присмотрется, то я третим поблагодарил :)
я пользовался ентой штукой но я не понял как регулировать альфу и не понял как она вобще края то сгладить может? у меня просто вся текстура полупрозрачная.
ну и мож всётки подскажешь как сделать допустим R от 5 до 15 и G и B так же.
УУФФ да чтож я всё тут мусолюсь :))
ну ведь вопрос частый , всем понятно что надо в итоге глаткие края текстуры с альфой любого какого надо цвета.
Я не прошу больше чем ссылку на тутор или на тему обсуждения где всё чётко сказано. :) извиняюс сорвалсь :):)

Bagration 17.12.2007 02:04

Re: Flags для текстур. Поясните все их значения.
 
Цитата:

Сообщение от CRASHER
ну если присмотрется, то я третим поблагодарил :)
я пользовался ентой штукой но я не понял как регулировать альфу и не понял как она вобще края то сгладить может? у меня просто вся текстура полупрозрачная.
ну и мож всётки подскажешь как сделать допустим R от 5 до 15 и G и B так же.
УУФФ да чтож я всё тут мусолюсь :))
ну ведь вопрос частый , всем понятно что надо в итоге глаткие края текстуры с альфой любого какого надо цвета.
Я не прошу больше чем ссылку на тутор или на тему обсуждения где всё чётко сказано. :) извиняюс сорвалсь :):)

Как я знаю по моему опыту, дело не в Блитце. Надо сохранять в bmp. Ибо как я замечал jpg немного затуманивает цвета, даже черный не совсем черным становиться. :''(( Вроде так. В паинте ставишь цвета R от 5 до 15 и G и B так же и заливаешь задний фон... Просто jpeg уменьшает качество соотвественно размытие цветов.

CRASHER 17.12.2007 03:25

Re: Flags для текстур. Поясните все их значения.
 
да нет я вобще не сам рисую а уменя есть готовые, но в этих готовых фон как уже стпло понятно размытый. В фотошопе переправлять оч доло да и картинку испортить легко:(. :)
А что ссылки не будет?;)

Bagration 17.12.2007 15:55

Re: Flags для текстур. Поясните все их значения.
 
Цитата:

Сообщение от CRASHER
да нет я вобще не сам рисую а уменя есть готовые, но в этих готовых фон как уже стпло понятно размытый. В фотошопе переправлять оч доло да и картинку испортить легко:(. :)
А что ссылки не будет?;)

Какая ссылка? Гоу Гугл и "уроки по Photoshop". Дело как я уже сказал в качестве картинки. У меня уж был опыт когда мой знакомый нарисовал курсор 64*64 и сохранил его в jpeg - я ужас как долго парился закрашивая фон... :(

CRASHER 17.12.2007 17:56

Re: Flags для текстур. Поясните все их значения.
 
Bagration, Ну лано замучил чёт я тебя.;)
Попробую что понял:)

CRASHER 17.12.2007 18:04

Re: Flags для текстур. Поясните все их значения.
 
Цитата:

Сообщение от Bagration
Код:

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


ах да, хотел попросить о последней просьбе.:-D
не мог бы ты к функции добавить всё что нужно для простейшего примера, а то я ни как не могу вставить, если тяжело я не обижусь:)

Bagration 17.12.2007 21:36

Re: Flags для текстур. Поясните все их значения.
 
Цитата:

Сообщение от CRASHER
ах да, хотел попросить о последней просьбе.:-D
не мог бы ты к функции добавить всё что нужно для простейшего примера, а то я ни как не могу вставить, если тяжело я не обижусь:)

http://dump.ru/files/n/n010462830/ Вот сэмпл. Хочу отметить что фон тесктуры красный.


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

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