home << prev next >> contents  


This section only describes the representation of phenomena in the .mi language. The declaration of a phenomenon is very similar to the declaration of a shader, except that the keyword shader is replaced with phenomenon, and the addition of new optional statements in the declaration block:

    declare phenomenon  
        [type] "phenomenon_name" (  
            type "parameter_name",  
            type "parameter_name",  
            type "parameter_name"  
        [ version versionint ]  
        [ shader "name" ... ]  
        [ material "name" ... end material ]  
        [ light "name" ... end light ]
        [ instance "name" ... end instance ]
        [ roots ]  
        [ options ]  
    end declare  

For a description of version, shader, material, light, and instance definitions, see the corresponding section above; the syntax is identical to the one described there. The order of shaders, materials, lights, and instances is arbitrary, as long as a name is not used before it was defined. The options are identical to the options described in the shader declaration section above. The roots are described below.

The phenomenon phenomenon_name declared with this statement is available for the definition of shaders just like a shader declared with a declare shader statement. Named and anonymous shader definitions can be derived from either type of declaration. Phenomena were designed to extend the concept of shaders, not to replace it.

home << prev next >> contents  

Copyright © 1986-2007 by mental images GmbH