Re: SDL Mailing list question

[email protected] (Kartik Thakore)
Newsgroups perl.sdl.devel
Message-ID <[email protected]>
On Sun, Sep 27, 2009 at 2:39 AM, Christian Schmid <[email protected]>wrote:
>
>> Hi.
>>
>> Thank you for your valuable hints. On the one hand I want to use VBOs
>> (which makes me force using POGL as you said) but on the other hand I
>> want to continue using SDL for all the nice things it provides
>> (furthermore it seems glut is a bit broken and no competition to SDL).
>> So I am now trying to combine both worlds. Maybe I am doing something
>> stupid wrong, but it seems there is some buffer problems when not using
>> SDL::OpenGL. At least I don't see any window when I say "opengl => 1"
>> and I see a black window when I say "opengl => 0".
>>
>  Can you give me a bug report or some code so I can look into this?

>
>> I really appreciate your help in this matter. For your coincidence, I
>> set up a really short code and attached it, so you can immediately see
>> whats wrong. Basically its just some cubes spinning around. Feel free to
>> comment right into the code if you want.
>>
>>
>>
>> #!/usr/bin/perl
>>
>> use strict;
>> use warnings;
>> use OpenGL qw(:all);
>>
>        use SDL; #this is needed from now on.

> use SDL::App;
>> use SDL::Event;
>>
>> my ($SDLAPP, $WIDTH, $HEIGHT, $SDLEVENT);
>>
>> $| = 1;
>> $WIDTH = 1024;
>> $HEIGHT = 768;
>> $SDLAPP = SDL::App->new(-title => "Test shit", -width => $WIDTH, -height
>> => $HEIGHT, -gl => 1,
>
>
  -init   => SDL_INIT_VIDEO); #init only the video


> $SDLEVENT = SDL::Event->new;
>>
>> SDL::ShowCursor(0);
>> glEnable(GL_DEPTH_TEST);
>> glMatrixMode(GL_PROJECTION);
>> glLoadIdentity;
>> gluPerspective(60, $WIDTH / $HEIGHT, 1, 1000);
>> glTranslatef(0, 0, -20);
>>
>>
>>
>> while (1) {
>>  &handlepolls;
>>  glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
>>  glRotatef(.1, 1, 1, 1);
>>  &drawscene;
>>  $SDLAPP->sync;
>> }
>>
>>
>>
>> sub drawscene {
>>  my ($color, $x, $y, $z);
>>
>>  for (-2 .. 2) {
>>    glPushMatrix;
>>    glTranslatef($_ * 3, 0, 0);
>>    glColor3f(1, 0, 0);
>>    &draw_cube;
>>    glPopMatrix;
>>  }
>>
>>  return "";
>> }
>>
>>
>>
>> sub draw_cube {
>>  my (@indices, @vertices, $face, $vertex, $index, $coords);
>>
>>  @indices = qw(4 5 6 7   1 2 6 5   0 1 5 4
>>                0 3 2 1   0 4 7 3   2 3 7 6);
>>  @vertices = ([-1, -1, -1], [ 1, -1, -1],
>>               [ 1,  1, -1], [-1,  1, -1],
>>               [-1, -1,  1], [ 1, -1,  1],
>>               [ 1,  1,  1], [-1,  1,  1]);
>>
>>  glBegin(GL_QUADS);
>>
>>  foreach $face (0..5) {
>>    foreach $vertex (0..3) {
>>      $index  = $indices[4 * $face + $vertex];
>>      $coords = $vertices[$index];
>>      glVertex3f(@$coords);
>>    }
>>  }
>>
>>  glEnd;
>>
>>  return "";
>> }
>>
>>
>>
>>
>> sub handlepolls {
>>  my ($type, $key);
>>
>>  $SDLEVENT->pump;
>>
>
# for comparing $type use the SDL_KEYDOWN and stuff provided form use SDL;


>  while ($SDLEVENT->poll) {
>>    $type = $SDLEVENT->type();
>>    $key = ($type == 2 or $type == 3) ? $SDLEVENT->key_name : "";
>>
>>    if ($type == 4) { printf("You moved the mouse! x=%s y=%s xrel=%s
>> yrel=%s\n", $SDLEVENT->motion_x, $SDLEVENT->motion_y,
>> $SDLEVENT->motion_xrel, $SDLEVENT->motion_yrel) }
>>    elsif ($type == 2) { print "You are pressing $key\n" }
>>    elsif ($type == 3) { print "You released $key\n" }
>>    elsif ($type == 12) { exit }
>>    else { print "TYPE $type UNKNOWN!\n" }
>>
>>    if ($type == 2) {
>>      if ($key eq "q" or $key eq "escape") { exit }
>>    }
>>  }
>>
>>  return "";
>> }
>>
>>
>> Kartik Thakore schrieb:
>> >
>> > On 26-Sep-09, at 4:06 AM, Christian Schmid <[email protected]>
>> > wrote:
>> >
>> >> Hi Kartik,
>> >>
>> >> Thank you for your reply. I am new to OpenGL programming. I used to
>> >> write everything in Perl. No matter if its a network stack or a fully
>> >> blown web-custimizable FTP server. Now I am trying to code blast-away
>> >> 3d-applications... in Perl. Some people say this is crazy, but I am
>> sure
>> >> as soon as I have created an amazing framework, it will work as well as
>> >> C-applications do.
>> > It should!
>> >>
>> >>
>> >> That said, I tried figuring out what I can do in Perl without using
>> Perl
>> >> too much for the "loads and loads of stupid vertex work". I also rely
>> on
>> >> caching as good as I can, especially on models with 1 Mio Polygons, I
>> >> need the VBOs. Unfortunately it seems the VBOs are only part of OpenGL
>> >> 1.5 or higher, and since its not implemented in Perl-SDL, I suppose
>> >> Perl-SDL does not support 1.5 yet?
>> > I don't think so I would recommend looking in to Perl OpenGL. The
>> > module is opengl on cpan.
>> >>
>> >>
>> >> Sure, I could just try to implement it myself in Perl-SDL. But I think
>> >> this is not the very best solution and (since I don't know anything
>> >> about Perl-SDLs interna, nor libsdl) this would take a very long time I
>> >> suppose.
>> > If your concern is only opengl then the module I mentioned above,
>> > POGL, is your best bet.
>> >>
>> >>
>> >> So to bring it to the point: What OpenGL version is supported (at least
>> >> glGenBuffers does not work). When will OpenGl 3.1 be supported? ;) Most
>> >> stunning effects are only possible with the latest revision I suppose.
>> > POGL has more features then SDL Perl's implementation. We are actually
>> > considering to move our base to theirs.
>> >>
>> >>
>> >> Do people widely use OpenGL with Perl-SDL?
>> >>
>> > I haven't seen extensive use so far. I could be wrong as I have only
>> > started maintaining a month ago.
>> >> What would it take for you to implement the newest OpenGL technology in
>> >> Perl-SDL?
>> > Help to migrate to POGL. Also a latest  system which can handle the
>> > latest video card would help.
>> >>
>> >>
>> >> Do you accept motivation-pushing donations in case its much work?
>> > Give a shout out to POGL devs. I am more interested in making SDL Perl
>> > work well with their OpenGL.
>> >>
>> >>
>> >> Are you still highly interested in spending time in Perl-SDL?
>> >>
>> > Yup :). If you are interested in SDL too besides just OpenGL, would
>> > you consider setting up bounties that you would pay for and the core
>> > devs of SDL would check?
>> >
>> > I have wanted to sell some games and pump money in the form of
>> > bounties into SDL Perl, but I have been busy coding internals.
>> >> What is your current occupation if I may ask?
>> > I am an intern/student. That's all I am saying :p
>> >>
>> >>
>> >> - Christian
>> >>
>> >>
>> >> Kartik Thakore schrieb:
>> >>> Hi Christian,
>> >>>
>> >>> Kartik Thakore
>> >>>
>> >>> On 26-Sep-09, at 2:39 AM, Christian Schmid <[email protected]>
>> >>> wrote:
>> >>>
>> >>>> Hello.
>> >>>>
>> >>>> As far as I have found out, you are the main maintainer of
>> >>>> perl-sdl. Is
>> >>>> this correct?
>> >>> Yes this is correct.
>> >>>>
>> >>>>
>> >>>> I have some questions about OpenGL V1.5 and later implementations in
>> >>>> Perl-SDL, the future about Perl-SDL and possible donations to the
>> >>>> respective hard working programmers, who have made it possible to
>> >>>> produce high-performance OpenGL applications within Perl.
>> >>>> I am looking
>> >>>> forward for your reply.
>> >>>>
>> >>> What are your questions I would be glad to answer them?
>> >>>> Best regards,
>> >>>> Christian Schmid
>> >>>>
>> >>> Regards
>> >>>
>> >
>> >
>>
>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.