Book review: Blender 3D: Architecture, Buildings, and Scenery
Mon, 07 Jul 2008 18:00:00 GMT
You probably know the open source 3-D modeler Blender for its animation tools, which have brought audiences short films Elephants Dream and Big Buck Bunny. But Blender can create realistic 3-D models for any purpose, as Allan Brito's Blender 3D: Architecture, Buildings, and Scenery (Packt Publishing, $45) presents. This book approaches Blender as an architecture visualization tool, detailing the features built in to the editor and the techniques that make architectural modeling differ from crafting game or video effects.
BVRML(3pm) User Contributed Perl Documentation BVRML(3pm)NAME
XRacer::BVRML - Parser for a tiny subset of VRML generated by Blender
SYNOPSIS
use XRacer::BVRML;
DESCRIPTION
This is a parser for a tiny subset of VRML generated by Blender, so called Blender-VRML or BVRML. In fact, this parser is by no means
guaranteed to be able to parse everything that Blender could generate. I will add parsing capability to it as I see the need.
"XRacer::BVRML" parses a Blender VRML file, and stores it in an internal world representation, which can be inspected and manipulated.
"XRacer::BVRML" can also write out a C function containing GL commands which render this world object, and this function can then be used
inside an XRacer track or craft file.
CLASS METHODS
$world = XRacer::BVRML->parse ($filename [, $world]);
This function parses a BVRML file called $filename, and generates a $world object. If the second optional $world parameter is given,
then the BVRML file is parsed and the results are merged with the existing $world object.
If the parsing fails, then this function will print an error message and return "undef".
WORLD OBJECT METHODS
$nr_vertices = $world->nr_vertices;
Return the total number of vertices in the world.
$nr_faces = $world->nr_faces;
Return the total number of faces in the world.
@vertices = $world->vertices;
Aggregate all vertices in the world, and return it as a list.
@faces = $world->faces;
Aggregate all faces in the world, and return it as a list.
($smallest_x, $largest_x, $smallest_y, $largest_y, $smallest_z, $largest_z) = $world->bbox;
Return the bounding box (or bounding cuboid, to be more precise) of this world.
$world->write_display_function ([name => $function_name,] [filehandle => $filehandle,] [decl => $decl]);
Write out a C function containing GL calls which, when invoked, will display this world object. The C function is called $function_name
and will be written to the file specified by the $filehandle. The function will be declared as "void function_name (void)" unless the
$decl parameter is given, which gives the return declaration. The C function is suitable for directly linking into XRacer craft and
track files. However, it requires some support. In particular, you will need to include the header file GL/gl.h, and probably xracer.h
before the function.
AUTHOR
Richard W.M. Jones, <rich@annexia.org>
COPYRIGHT
XRacer is copyright (C) 1999-2000 Richard W.M. Jones (rich@annexia.org) and other contributors listed in the AUTHORS file.
SEE ALSO perl(1), xracer(6).
perl v5.14.2 2000-01-07 BVRML(3pm)