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

Вниз

OpenGL   Найти похожие ветки 

 
Gayrus   (2003-01-24 02:42) [0]

Пишу небольшую игру, так вот, когда вызывается консоль( на ней буквы с прозрачным фоном ), то стекло на карте становится не прозрачным! Может что подскажите?


 
Danlicha   (2003-01-24 03:00) [1]

Yes!


 
Ketmar   (2003-01-24 10:22) [2]

все та же 17-я строка.

Satanas Nobiscum! 24-Jan-XXXVIII A.S.


 
MRB_SPB   (2003-01-24 10:30) [3]

Маловато информации для размышления


 
Gayrus   (2003-01-25 11:24) [4]

glNewList(GlassL);
glPushMatrix;
glEnable(GL_BLEND);
// Само-собой где-то здесь я вставляю текстуру с прозрачным белым фоном
glBlendFunc(GL_DST_ALPHA,GL_SRC_ALPHA_SATURATE);
glBegin(GL_QUADS);
glNormal3f(0,0,1);
glTexCoord2d(0,0);
glVertex3d(x1,y1,z1);
glTexCoord2d(0,1);
glVertex3d(x1,y1,z2);
glTexCoord2d(1,1);
glVertex3d(x2,y2,z2);
glTexCoord2d(1,0);
glVertex3d(x2,y2,z1);
glEnd;
glDisable(GL_BLEND);
glPopMatrix;
glEndList;

// Вывод:
glDepthMask(GL_FALSE);// Временно отключаем тест глубины, между
glCallList(GlassL); // объектами в этом листе, но сквозь
glDepthMask(GL_TRUE); // остальное они не просвечивают.


То что написано выше перестаёт быть прозрачным если я вывожу текст следующей процедурой:

Procedure DrawString(X, Y : Integer; Text : String);
var J,I:Cardinal;
H,V:glFloat;
Col:Boolean;
Key:Byte;
begin
If Length(Text)>0 then begin
Col:=False;
J:=0;
glEnable(GL_TEXTURE_2D);
glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);
glEnable(GL_BLEND);
glDisable(GL_DEPTH_TEST);
glMatrixMode(GL_PROJECTION);
glPushMatrix;
glLoadIdentity;
glOrtho(0, Width, Height,0,-1,1);
// FontTex - Текстура с шрифтом
glBindTexture(GL_TEXTURE_2D, FontTex);
Y:=(LineCount-23)*12+Y;
glTranslate(X,Y,0);
glColor3f(1, 1, 1); // Text color
For I:=1 to Length(Text)do begin
Key:=Ord(Text[i])-32;
If Col then begin
Case Key of
16: glColor3f(0, 0, 0); // 0
17: glColor3f(1, 0, 0); // 1
18: glColor3f(0, 1, 0); // 2
19: glColor3f(1, 1, 0); // 3
20: glColor3f(0, 0, 1); // 4
21: glColor3f(0, 1, 1); // 5
22: glColor3f(1, 0, 1); // 6
23: glColor3f(1, 1, 1); // 7
24: glColor3f(0, 0, 0); // 8
25: glColor3f(1, 0, 0); // 9
else begin
V:=62 div 25;
H:=62 mod 25;
glBegin(GL_QUADS);
glTexCoord2f(H*10/256 ,V*13/256); glVertex3f((J*12),0,0);
glTexCoord2f(H*10/256+9/256,V*13/256); glVertex3f(((J+1)*12),0, 0);
glTexCoord2f(H*10/256+9/256,V*13/256+12/256); glVertex3f(((J+1)*12),12, 0);
glTexCoord2f(H*10/256 ,V*13/256+12/256); glVertex3f((J*12),12, 0);
glEnd;
Inc(J);
V:=Key div 25;
H:=Key mod 25;
glBegin(GL_QUADS);
glTexCoord2f(H*10/256 ,V*13/256); glVertex3f((J*12),0,0);
glTexCoord2f(H*10/256+9/256,V*13/256); glVertex3f(((J+1)*12),0, 0);
glTexCoord2f(H*10/256+9/256,V*13/256+12/256); glVertex3f(((J+1)*12),12, 0);
glTexCoord2f(H*10/256 ,V*13/256+12/256); glVertex3f((J*12),12, 0);
glEnd;
Inc(J);
end;
end;
Col:=False;
end else begin
If(I<Length(Text))and(Key=62)then Col:=True // Eсли ^
else begin
V:=Key div 25;
H:=Key mod 25;
glBegin(GL_QUADS);
glTexCoord2f(H*10/256 ,V*13/256); glVertex3f(J*12,0,0);
glTexCoord2f(H*10/256+9/256,V*13/256); glVertex3f((J+1)*12,0, 0);
glTexCoord2f(H*10/256+9/256,V*13/256+12/256); glVertex3f((J+1)*12,12, 0);
glTexCoord2f(H*10/256 ,V*13/256+12/256); glVertex3f(J*12,12, 0);
glEnd;
Inc(J);
end;
end;
end;
glColor3f(1, 1, 1);
glPopMatrix;
glMatrixMode(GL_MODELVIEW);
end;
end;

P.S. Если что-то не понятно, спрашивайте.


 
Ketmar   (2003-01-25 11:49) [5]

однако порядок вывода? к тому же учтите, что depth-test вы отключили, но это не мешает z-buffer"у радостно заполняться вашим выводом. вывод не тестируется на предмет "глубины", но все равно меняет z-buffer. проверьте, не в этом ли проблема. я однажды забыл, и долго искал модели кораблей, которые были битмапом %-))

Satanas Nobiscum! 25-Jan-XXXVIII A.S.


 
Ketmar   (2003-01-25 11:55) [6]

однако порядок вывода? к тому же учтите, что depth-test вы отключили, но это не мешает z-buffer"у радостно заполняться вашим выводом. вывод не тестируется на предмет "глубины", но все равно меняет z-buffer. проверьте, не в этом ли проблема. я однажды забыл, и долго искал модели кораблей, которые были под битмапом %-))

Satanas Nobiscum! 25-Jan-XXXVIII A.S.


 
Gayrus   (2003-01-25 14:15) [7]

Сначала я вывожу всё содержимое карты(в том числе и стекло), а потом весь текст и не хотелось бы менять, но попробую.



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

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

Наверх





Память: 0.46 MB
Время: 0.007 c
1-20062
GSVSerg
2003-06-25 18:57
2003.07.07
Tform расползается при изменении разрешения экрана


14-20256
Шоломицкий
2003-06-19 17:45
2003.07.07
Про меню...


1-20073
mtn1909
2003-06-23 13:09
2003.07.07
avi


3-19988
nv-vetal
2003-06-13 14:28
2003.07.07
dbExpress->MySQL.Как подключиться, и что для этого...


1-20157
Ann
2003-06-25 11:32
2003.07.07
Excel





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский