Sophie

Sophie

distrib > Arklinux > devel > i586 > media > main > by-pkgid > 2c46997be5021ee3173c5af9332905d7 > files > 835

blender-manual-2.49a-1ark.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>Blender's Plugins System</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE="Blender Documentation Volume I - User Guide"
HREF="book1.html"><LINK
REL="UP"
TITLE="Extending Blender"
HREF="p10374.html"><LINK
REL="PREVIOUS"
TITLE="Python Scripts"
HREF="x10606.html"><LINK
REL="NEXT"
TITLE="Specification:"
HREF="x10623.html"></HEAD
><BODY
CLASS="chapter"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>Blender Documentation Volume I - User Guide: Last modified April 29 2004 S68</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="x10606.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="x10623.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="chapter"
><H1
><A
NAME="chapter_plugin_reference"
></A
>Blender's Plugins System</H1
><P
><I
CLASS="emphasis"
>by Kent Mein</I
></P
><P
>This section reports an in-depth reference
          for coding Blender's Texture and Sequence plugins.</P
><DIV
CLASS="section"
><H1
CLASS="section"
><A
NAME="section_plugin_texture"
></A
>Writing a Texture Plugin</H1
><P
>&#13;In this Section we will write a basic texture plugin and then go through
the steps to use a texture plugin. The basics behind a texture plugin is that you
are given some inputs; position, and normal values as well as some other
info. Then you return intensity, colour and/or normal information depending 
on the type of texture plugin. 
    </P
><P
>&#13;All the files necessary to develop plugins as well as a few sample plugins
can be found in the blender/plugins. You can alternately get
a bunch of plugins from <A
HREF="http://www.cs.umn.edu/~mein/blender/plugins"
TARGET="_top"
>&#13;http://www.cs.umn.edu/~mein/blender/plugins</A
>
    </P
><P
>&#13;Plugins are supported (loaded/called) in Blender using the dlopen() family of 
calls. For those unfamiliar with the dlopen system it allows a program 
(Blender) to use a compiled object as if it were part of the program itself, 
similar to dynamically linked libraries, except the objects to load are 
determined at runtime. 
    </P
><P
>&#13;The advantage of using the dlopen system for plugins is that it is very fast 
to access a function, and there is no overhead in interfacing to the plugin, 
which is critical when as (in the case of texture plugins) the plugin can be 
called several million times in a single render. 
    </P
><P
>&#13;The disadvantage of the system is that the plugin code works just like it is 
part of Blender itself, if the plugin crashes, Blender crashes. 
    </P
><P
>&#13;The include files found in the plugin/include/ subdirectory of the Blender 
installation document the Blender functionality provided to the plugins. 
This includes the Imbuf library functions for loading and working with images 
and image buffers, and noise and turbulence functions for consistent texturing. 
    </P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="x10606.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="book1.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="x10623.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Python Scripts</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="p10374.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Specification:</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>