Учить ли Perl?

Discussion in 'PHP' started by Zedi, 10 Aug 2008.

  1. Vid0k

    Vid0k Elder - Старейшина

    Joined:
    24 Dec 2007
    Messages:
    393
    Likes Received:
    125
    Reputations:
    13
    разве на перле такое возможно
    про гуи знаю на что б 3d
    просветите
     
  2. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    Конпиль))
    Code:
    #!/usr/local/bin/perl
    use strict;
    use warnings;
    
    use OpenGL qw/ :all /;
    
    my $spin = 0.0;
    my $toggle = 0;
    
    my @light0_position = (2.0, 8.0, 2.0, 0.0);
    my @mat_specular    = (1.0, 1.0, 1.0, 1.0);
    my @mat_shininess        = (50.0);
    my @mat_amb_diff_color     = (0.5, 0.7, 0.5, 0.5);
    my @light_diffuse = (1.0, 1.0, 1.0, 1.0);
    my @light_ambient = (0.15, 0.15, 0.15, 0.15);
    my @light_specular = (1.0, 1.0, 1.0, 1.0);
    
    sub init {
      glClearColor(1.0, 1.0, 1.0, 1.0);
      glShadeModel(GL_SMOOTH);   
      glEnable(GL_DEPTH_TEST);
      glEnable(GL_LIGHTING);
      glEnable(GL_LIGHT0);  
    }
    
    sub display {
      glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
      glLightfv_p(GL_LIGHT0, GL_POSITION, @light0_position);
      glLightfv_p(GL_LIGHT0, GL_DIFFUSE, @light_diffuse);
      glLightfv_p(GL_LIGHT0, GL_AMBIENT, @light_ambient); 
      glLightfv_p(GL_LIGHT0, GL_SPECULAR, @light_specular);
      glMaterialfv_p(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, @mat_amb_diff_color);
      glLoadIdentity();
      gluLookAt(2.0, 4.0, 10.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
      glPushMatrix();
      glScalef(2.0, 2.0, 2.0);
      glRotatef($spin, 0.0, 1.0, 0.0);
      glutSolidTeapot(1.0);
      glPopMatrix();
      glutSwapBuffers();
    }
    
    sub reshape {
      my ($w, $h) = @_;
      glViewport(0, 0, $w, $h);
      glMatrixMode (GL_PROJECTION);	
      glLoadIdentity ();	#  define the projection
      gluPerspective(45.0, $h ? $w/$h : 0, 1.0, 20.0);
      glMatrixMode(GL_MODELVIEW);
      glLoadIdentity();
    }
    
    sub spinDisplay {
      $spin += 1.0;
      $spin = $spin - 360.0 if ($spin >360.0);
      glutPostRedisplay();
    }
    
    sub mouse {
      my ($button, $state, $x, $y) = @_;
      if ($button == GLUT_LEFT_BUTTON) {
        glutIdleFunc(\&spinDisplay) if ($state == GLUT_DOWN);
      }
      elsif ($button == GLUT_RIGHT_BUTTON) {
        glutIdleFunc(undef) if ($state == GLUT_DOWN);
      }
    }
    
    glutInitDisplayMode (GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
    glutInitWindowPosition (0, 0);
    glutInitWindowSize(300, 300);
    glutCreateWindow ("Teapot");
    init ();
    glutDisplayFunc(\&display);
    glutReshapeFunc(\&reshape);
    glutMouseFunc(\&mouse);
    glutIdleFunc(\&spinDisplay);
    glutMainLoop();
      
    __END__
    
    хотя лучше это
     
    _________________________
    #42 Kaimi, 17 Aug 2008
    Last edited: 17 Aug 2008
    2 people like this.
  3. alextoun

    alextoun Вылет с Трассы

    Joined:
    7 May 2006
    Messages:
    563
    Likes Received:
    216
    Reputations:
    96
    я 3d могу на vrml сделать
    уложившись в 5 строк))))))
     
  4. diehard

    diehard Elder - Старейшина

    Joined:
    30 Sep 2007
    Messages:
    442
    Likes Received:
    266
    Reputations:
    15
    я изучал perl, когда php еще не был особо распространен, думаю сейчас надо бы изучать какой-нибудь ruby, а не perl, хотя хоть приблизительно надо быть знакомым со всеми языками.
     
  5. KSURi

    KSURi tnega AOLPS

    Joined:
    6 Jun 2006
    Messages:
    458
    Likes Received:
    219
    Reputations:
    357
    нерезус не ожидал, что ты напишешь такое. пиздец. давайте накодим на перле под коммуникатор или блять ваще пиздец - 3д демо? да, давайте ебанемся на отличненько!
     
    2 people like this.
  6. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    Нет, а чего тут такого необычного?
    По крайней мере из твоих слов выходит, что перл в отличии от питона не уверсальный язык.

    А вот тебе на питоне пара игрушек.
    Severance: Blade of Darkness http://www.ag.ru/games/severance_blade_of_darkness
    Battlefield 1942 http://www.ag.ru/games/battlefield_1942

    Что касается гуевых приложений - то ты линухи когда видел? Ставил? Вопрос тебе: на чем был написан установщик? В большинстве дистрибутивов - питон. Я не говорю оже о прикладном софте, например о самом популярном клиенте джаббера...

    Гуд ) А загрузи сюда какой-нить меш, текстуркой покрой, и добавь управление с мышки и клавы?


    Ну вы, перловщики, можете ебнутся, а питонщики подобные вещи, что я предложжил, успешно делают ;)

    Кстати меня больше всего интересует вопрос про сайт ) Ибо тут даже ксурент не сможет сказать "Нер, да ты что, ебнулся, кто же на перле сайты делает".
     
  7. Zedi

    Zedi Elder - Старейшина

    Joined:
    6 Jun 2007
    Messages:
    316
    Likes Received:
    120
    Reputations:
    13
    А гуевые приложения на питоне exe? Они запускаются напрямую или через прогу какую то например как ява?
     
  8. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    exe, но требуют dll, которая собственно их и будет исполнять.