-
-A stoic stone will sit idle,
-but will some effort,
-A rolling rock will run!
-
-
-In the past week the SDL Perl team has been busy! This is what we have accomplished
+
PDL provides great number crunching capabilities to Perl and SDL provides game-developer quality real-time bitmapping and sound.
+You can use PDL and SDL together to create real-time,
+responsive animations and simulations.
+In this section we will go through the pleasures and pitfalls of working with both powerhouse libraries. -- David Mertnes
-
Commitment to Testing!
In an effort to focus on continuing our focus on testing we have setup a
Smolder site for the SDL redesign process. Currently we have two platforms (linux, windows32) regularly tested on here. If there are more people following the redesign process and would like to share their test results; contact us at sdl-devel@perl.org and we will provide access to you.
+
Creating a SDL Surface piddle
+PDL's core type is a piddle.
+Once a piddle is provided to PDL it can go do a numerous amounts of things.
+Please see the example in '
examples/cookbook/pdl.pl' in github.
-
SDL::Video
For the core development most of the focus has been on redesigning around the Video category of the SDL perl API. As of now we are
50% done. 19 functions out of 38 functions have been implemented and tested.
+
Creating a simple piddle
+First lets get the right modules.
+
use PDL;
+ use SDL::Rect;
+ use SDL::Video;
+ use SDL::Surface;
+ use SDL::PixelFormat;
+
+Suppose you want a surface of size (200,400) and 32 bit (RGBA).
-
Site Redesign + Migration
On the end of the spectrum, Froggs has been hard at work on the
graphical design of the site. More over with mst's help we will soon be migrating to http://sdl.perl.org.
+
my ( $bytes_per_pixel, $width, $height ) = ( 4, 200, 400 );
+
+Define the
$width,
$height and
$bytes_per_pixel. Your
$bytes_per_pixel is the number of bits (in this case 32) divided by 8 bits per byte. Therefore for our 32 bpp we have 4 Bpp;
+
my $piddle = zeros( byte, $bytes_per_pixel, $width, $height );
+
+Create a normal $piddle with zeros, byte format and the Bpp x width x height dimensions.
+
my $pointer = $piddle->get_dataref();
+
+Here is where we get the acutal data the piddle is pointing to. We will have SDL create a new surface from this function.
-
Documentation
Moreover this week we have seen an increase effort from magnet on the
SDL docs. Kudos!
+
my $surface = SDL::Surface->new_from( $pointer, $width, $height, 32,
+ $width * $bytes_per_pixel );
+
+Using the same dimensions we create the surface using
SDL::Surface->new_form(). The
$width * $Bpp is the scanline (pitch) of the surface in bytes.
+
warn "Made surface of $width, $height and ". $surface->format->BytesPerPixel;
+ return ( $piddle, $surface );
+
+Finally make sure that the surface acutally has the correct dimensions we gave.
-
SWIG Experimentation
Finally
Katrina has begun looking into SWIG as alternative for SDL in the future.
-
-