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).