Форум: "Игры";
Текущий архив: 2005.09.04;
Скачать: [xml.tar.bz2];
ВнизПропадает сфера Найти похожие ветки
← →
Qwertyk © (2005-05-10 16:16) [0]Здравствуйте! Задавал этот вопрос с теме про небо. Все же решил вынести в оидельный топик :)
Значит ресую я сферу. Работает нормально, но как я вставляю модель, то сфера пропадает. Почему?
glPopMatrix;
Angle := 0.03;
glRotatef (Angle, 0.0, 0.0, 1.0);
glFogCoordfEXT(KFog);
glBindTexture(gl_texture_2d,Textures[texcount+1]);
glEnable (GL_BLEND);
glCallList(Inside);
glDisable (GL_BLEND);
glPushMatrix;
//После вставки нижестоящего кода появился такой баг
glPopMatrix;
MyMesh.Draw;
glPushMatrix;
← →
П7 (2005-05-10 16:34) [1]Ты что-то неправильно делаешь! (:
Код полный давай, а то я тоже могу спросить:
Почему у меня игра не работает? Вот код:
var
Game : TGame;
begin
Game.Exec();
end;
← →
petya-kurochkin (2005-05-10 17:51) [2]А может тебе туман обозрение подрывает?
← →
хм © (2005-05-10 20:17) [3]П7 (10.05.05 16:34) [1]
дык :D
var
Game : TGame;
begin
Game:=TGame.Create;
try
Game.Exec();
finally
Game.Free;
end;
:)
← →
Qwertyk © (2005-05-10 20:50) [4]Вот основной код
procedure OnRender();
var
i,j:integer;
t:tvector;
t1:longint;
begin
glBindTexture(gl_texture_2d,Textures[1]);
{Ландшафт}
for j:=0 to H-2 do
begin
glBegin(GL_TRIANGLE_STRIP);
for i:=0 to W-1 do
begin
glTexCoord2f(i/W,1-j/H);
with MapArr[i,j] do glVertex3f(x,y,z);
glTexCoord2f(i/W,1-(j+1)/H);
with MapArr[i,j+1] do glVertex3f(x,y,z);
end;
glEnd;
end;
KFog:=KFog+0.0001;
glcolor3f(0,1,1);
glPopMatrix;
Angle := 0.03;
glRotatef (Angle, 0.0, 0.0, 1.0);
glFogCoordfEXT(KFog);
{Sky BOX}
glBindTexture(gl_texture_2d,Textures[texcount+1]);//texcount+1
glEnable (GL_BLEND);
glCallList(Inside);
glDisable (GL_BLEND);
glPushMatrix;
{--- Sky----}
glPopMatrix;
glTranslated(10,10,10);
glRotatef(90,-1,-1,-1);
MyMesh.Draw;
glPushMatrix;
SwapBuffer();
inc( framec);
end;
procedure InicialiseOpenGLProgramm;
var
i,j:integer;
Quadric : GLUquadricObj;
begin
Tss:=10;
F:=true;
tt:=1;
time := GetTickCount;
First:=true;
MyMesh := TGLMultyMesh.Create; Создание модели
MyMesh.LoadFromFile( "ManRun.gms" );
MyMesh.Extent := true;
if not InitOpenGL( GrWindow ) then exit;
// FONT
wglUseFontBitmaps( GetDC( GrWindow ), 0, 255, GLF_START_LIST );
glListBase( GLF_START_LIST );
//SOME PARAMETRES
glClearColor( 0.0, 0.0, 0.2, 0.0 );
glTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL );
// VIEWPORT
glViewport( 0, 0, Screen_Width,Screen_Height);
glMatrixMode( GL_PROJECTION );
glLoadIdentity();
gluPerspective( 65.0, Screen_Width/Screen_Height, 0.5, 500.0 );
glMatrixMode( GL_MODELVIEW );
glLoadIdentity();
glEnable( GL_DEPTH_TEST );
glDepthFunc( GL_LESS );
//Loading textures,models and other actions
LoadMap("map.txt");
glEnable(gl_texture_2d);
TargetCamera.Create;
HMAP := TBitmap.Create;
HMAP.LoadFromFile("map.bmp");
W:=HMAP.Width;
H:=HMAP.Height;
SetLength(MapArr,W+2,H+2);
for i := 0 to H-1 do
for j := 0 to W-1 do
begin
MapArr[j,i].X:=j;
MapArr[j,i].Y:=GetBValue(HMAP.Canvas.Pixels[j,i])/10;
MapArr[j,i].Z:=i;
end;
HMAP.free;
{Fog}
glEnable(GL_FOG);
glFogi(GL_FOG_MODE, GL_LINEAR);
glFogfv(GL_FOG_COLOR, @fogColor);
glFogf(GL_FOG_START, 0.0);
glFogf(GL_FOG_END, 1.0);
glHint(GL_FOG_HINT, GL_NICEST);
// "крепим" туман на координатах вершин
glFogi(GL_FOG_COORDINATE_SOURCE_EXT, GL_FOG_COORDINATE_EXT);
Quadric := gluNewQuadric;
gluQuadricTexture (Quadric, TRUE);
glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glNewList (Inside, GL_COMPILE); Фот и сфера!
glEnable(GL_CULL_FACE);
glCullFace(GL_FRONT);
gluSphere (Quadric, 100.99, 24, 24);
glDisable(GL_CULL_FACE);
glEndList;
gluDeleteQuadric (Quadric);
glEnable(GL_DEPTH_TEST);
{--}
end;
← →
П7 (2005-05-10 21:49) [5]
> хм © (10.05.05 20:17) [3]
5 баллов!!! (:
← →
Qwertyk © (2005-05-10 22:12) [6]П7 (10.05.05 21:49) [5]
А если по делу :)
← →
П7 (2005-05-11 01:11) [7]Почитай подробнее про glPopMatrix и glPushMatrix и поймёшь, где ты ошибся (:
← →
Darth (2005-05-11 14:30) [8]glPopMatrix и glPushMatrix везде местами поменяй
← →
Qwertyk © (2005-05-11 16:09) [9]Ой блин .... Спасибо :)
Страницы: 1 вся ветка
Форум: "Игры";
Текущий архив: 2005.09.04;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.019 c