Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Прозрачная текстура [Delphi]


APTEMKA ©   (2002-10-18 03:19:00) 

Народ мне нужно чтоб рисунок на текстуре был полупрозрачен,
а пустые места прозрачными используя OpenGL.
ка сделать всю текстуру полу прозрачной я знаю
( color(1,1,1,0.5)
enable(blend)
)
А вот местами полностью прозрачной незнаю.
Спасибо


APTEMKA   (2002-10-28 02:26:00) [1]

Ребята извените что так долго не писал проблемы с инетом были.
Спасибо что ответили.
Но у меня этот код не работает, может я что не так делаю.
Если не трудно какой нибудь пример пошлите на почту forum_delphi@rambler.ru Спасибо.


Gandalf   (2002-10-23 21:02:00) [2]

>что-то помнится, что код то ли Яна Хорна, то ли Кристиана >Хакбарта. но точно не скажу.
OK. Code you can see up Copyright Yan Horn XOR Cristian Hacbart.

>ну да ладно, фиг там те копирайты, я так, просто из вредности, >чтобы докопаться %-))
Да я понял ;) Полезно когда такой человек, пару раз обломает и дурацких вопросов становится меньше. Народ лишьний раз поиск запускает, ЧаВо читает. Ладно, мы от темы отошли. Надеюсь АРТЕМКЕ код помог.


Ketmar   (2002-10-22 22:08:00) [3]

что-то помнится, что код то ли Яна Хорна, то ли Кристиана Хакбарта. но точно не скажу. ну да ладно, фиг там те копирайты, я так, просто из вредности, чтобы докопаться %-))

Satanas Nobiscum! 22-Oct-XXXVII A.S.


Gandalf   (2002-10-22 19:01:00) [4]

Моя-моя, код старый, базировался на... дай бог памяти на каком-то примере. Ну и коментарии с тех пор и перекочевал, зачем убирать-то. Собственно букв-то всего 33, иногда совпадают :)
Вообщем-то я не придендую, на авторство. Если найдешь копирайты присылай, вставлю.

ЗЫ: В английском алфавите букв еще меньше. :))

ЗЗЫ: Нот вообще 7 штук :)))


Ketmar   (2002-10-22 14:18:00) [5]

2Gandalf:
точно ВАША? а то что-то код уж больно знаком... и комментарии... и имена переменных... %-)) "красть - некрасиво" (ц)

Satanas Nobiscum! 22-Oct-XXXVII A.S.


Gandalf   (2002-10-22 13:39:00) [6]

Прости , я же забыл что glLoadTexture энто моя функция... вот ее код:

function glCreateTexture(Width, Height, Format: Integer; pData: Pointer; Filter: Boolean = True): Integer;
var
Texture: GLUInt;
begin
glGenTextures(1, Texture);
glBindTexture(GL_TEXTURE_2D, Texture);
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); {Texture blends with object background}
// glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL); {Texture does NOT blend with object background}

{ Select a filtering type. BiLinear filtering produces very good results with little performance impact
GL_NEAREST - Basic texture (grainy looking texture)
GL_LINEAR - BiLinear filtering
GL_LINEAR_MIPMAP_NEAREST - Basic mipmapped texture
GL_LINEAR_MIPMAP_LINEAR - BiLinear Mipmapped texture
}

if Filter then
begin
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); { only first two can be used }
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR{GL_LINEAR}); { all of the above can be used }
end
else
begin
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); { only first two can be used }
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); { all of the above can be used }
end;

if Format = GL_RGBA then
gluBuild2DMipmaps(GL_TEXTURE_2D, 4, Width, Height, GL_RGBA, GL_UNSIGNED_BYTE, pData)
// glTexImage2D(GL_TEXTURE_2D, 0, 4, Width, Height, 0, GL_RGBA, GL_UNSIGNED_BYTE, pData) // Use when not wanting mipmaps to be built by openGL
else
gluBuild2DMipmaps(GL_TEXTURE_2D, 3, Width, Height, GL_RGB, GL_UNSIGNED_BYTE, pData);
// glTexImage2D(GL_TEXTURE_2D, 0, 3, Width, Height, 0, GL_RGB, GL_UNSIGNED_BYTE, pData); // Use when not wanting mipmaps to be built by openGL

Result := Texture;
end;


Gandalf   (2002-10-21 10:40:00) [7]

>Что то не получается
>Может кто подробней объяснит
>Уже всё перепробывал, все форумы перерыл.
>Пожалуйста не сочтите за труд.
> Заранее благодарен.

Пиши на мыло - поделюсь кодом.


APTEMKA   (2002-10-21 02:25:00) [8]

Что то не получается
Может кто подробней объяснит
Уже всё перепробывал, все форумы перерыл.
Пожалуйста не сочтите за труд.
Заранее благодарен.


Gandalf   (2002-10-19 18:48:00) [9]

>Там вообще такое возможно?
Возможно

>Неужели ни кто не знает
Обижаешь, просто иногда просто лень отвечать... у меня например сейчас мыша глючит, обидно :(
Тестуры делать и использовать умеешь?
Тебе только при загрузке тектуры надо сделать так:

FBitmap := glCreateTexture(FWidth, FHeight, GL_RGBA, TempData);
^^^^^^^
Ну вот, TempData - массив RGBA (может в другом порядку точно не помню). FWidth,FHeight - СТЕПЕНЬ 2!
Потом ...BindTexture.. и т.д.


APTEMKA   (2002-10-19 16:04:00) [10]

Неужели ни кто не знает
дайте хотя бы ссылку.


APTEMKA   (2002-10-18 16:53:00) [11]

cyborg
И как это написать на OpenGl
Там вообще такое возможно


cyborg   (2002-10-18 09:30:00) [12]

Точно незнаю, не делал, но понял так, правда не OpenGL, а в DirectX цвет на текстуре указывать в формате ARGB, каждый пиксел будет прозрачностью A. Если я правильно понял.


APTEMKA   (2002-10-18 03:56:00) [13]

Что такое не везет и как с етим бороться


Наверх

Титульная страница Поиск, карта сайта Написать письмо