Главная страница
    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.47 MB
Время: 0.019 c
14-1123573058
boriskb
2005-08-09 11:37
2005.09.04
Есть у меня "пунктик"


3-1122131750
fizzik
2005-07-23 19:15
2005.09.04
Проблема с кириллицей


6-1116575092
Zavs
2005-05-20 11:44
2005.09.04
как соедениться с FTP-сервером, через прокси


14-1123009670
Михаил(Киров)
2005-08-02 23:07
2005.09.04
Логи WinRoute


11-1106211124
sldragon
2005-01-20 11:52
2005.09.04
Height в CombBox





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