Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 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.48 MB
Время: 0.292 c
3-1122369606
Ольга
2005-07-26 13:20
2005.09.04
Link между серверами MSSQL-2000 и Oracle 8.1


1-1123677276
3asys
2005-08-10 16:34
2005.09.04
crpe32.pas


14-1123508485
pasha_golub
2005-08-08 17:41
2005.09.04
Стандарт на визуализацию обэектов БД


11-1106520038
Sphinxx
2005-01-24 01:40
2005.09.04
Как в KOL организовать поиск по компонентам на форме


9-1115983886
VVV-First
2005-05-13 15:31
2005.09.04
GLPoint





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