Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2003.03.27;
Скачать: [xml.tar.bz2];

Вниз

Прозрачная текстура   Найти похожие ветки 

 
APTEMKA   (2002-10-18 03:19) [0]

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


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

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


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

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


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

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


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

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


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

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

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

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


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

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


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

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

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


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

Прости , я же забыл что 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;


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

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

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


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

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

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

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


 
Ketmar   (2002-10-22 22:08) [11]

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

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


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

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

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


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

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



Страницы: 1 вся ветка

Форум: "Игры";
Текущий архив: 2003.03.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.007 c
14-88132
Игорь Шевченко
2003-03-12 17:59
2003.03.27
Жизненный цикл программы


3-87841
bytebutcher
2003-03-06 18:37
2003.03.27
BatchMove но с ProgressBarом


7-88285
Black VIRt
2003-02-01 11:04
2003.03.27
Как выставить задержку менее 10 милисекунд???


1-87956
GIMLI
2003-03-16 14:19
2003.03.27
Старые открытые файлы


9-87767
APTEMKA
2002-10-18 03:19
2003.03.27
Прозрачная текстура





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский