Light modo 401 extension

From COLLADA Public Wiki
Revision as of 06:13, 26 September 2011 by LLutz74 (talk | contribs) (None)
Jump to: navigation, search
Extension information
This article is part of the COLLADA extensions directory
Adding to the extensions directory

<extra>/<technique profile="modo401">/<param> Elements

<!--

         TIP: The ":" at the beginning of lines indents them. 

-->

Category: (core) Lighting <!-- fill in --> (See list of specification categories)

Introduction

Describes custom light settings, including various light sub-types supported by modo 401.<!-- fill in one sentence starting with a verb that describes purpose of this element -->

Concepts

The modo render engine provides a general purpose collection of light settings and light sub-types, including both the basic directional, point, and spot lights specified by the common COLLADA technique, as well as more specialized light sub-types such as area lights and physically correct sunlights.<!-- Background info needed to understand this element's purpose and place within COLLADA -->
Attributes
Name Type Description Required?
sid xs:ncname A unique symbol within the technique; one for each param. Yes
name xs:ncname A user-friendly name for the param. No
Related Elements
Parent element(s) <visual_scene>
Extra and/or Technique <extra>/<technique profile="modo401"><!-- e.g., <extra type="foo">/<technique profile="BAR"> -->
Child elements None <!-- or state None -->
Other <!-- list any other relevant elements -->

Shared Light Param Child Elements

Table of Shared Light Param Child Elements
sid name Description type Default Occurrences Named values
lightType Light_Type Sub-type of the light Name N/A 1 area_light, cylinder_light, dome_light, photometric_light, point_light, spot_light, sun_light
render Render If light contributes to the final rendered scene Name default 0 or 1 on, off, default
size Display_Size Size of the light apparatus in the 3D viewport float 1.0 0 or 1
dissolve Dissolve Amount by which light effect is faded float 0.0 0 or 1
radiance Radiant_Intensity Watts per volumetric meter float 3.0 1
samples Samples Samples used for soft edge shadows int 64 0 or 1
shadType Shadow_Type Shadow rendering method Name raytrace 0 or 1 none, raytrace, shadowmap
shadRes Shadow_Resolution Resolution of calculated deep shadow map int 1024 0 or 1
fast Simple_Shading If specular and diffuse calculated regardless of spread angle bool true 0 or 1

Sunlight Sub-type Child Elements

Table of "sun_light" Sub-type Child Elements
sid name Description type Default Occurrences Named values
azimuth Azimuth Arc of the horizon measured clockwise float 0 1
clamp Clamp_Intensity If overall brightness of the sun is limited bool true 1
day Day Year * 1000 + Day of the Year int 2009172 1
elevation Elevation Angle of altitude off the horizon float 0 1
haze Haze Amount of haze in the air float 2 1
height Height Depth of volume extending from front of light float 10 1
lat Latitude Latitude in radians float 0.655057 1
lon Longitude Longitude in radians float -2.13456 1
mapSize Map_Size Size of shadow map, in meters float 2 1
north North Offset for north direction float 0 1
radius Radius Circular region around the light, where volume effect originates float 0.5 1
spread Spread Angle to control edge softness float 0 1
sunPos Sun_Position Physical sun positioned by time and location. bool false 0 or 1
time Time Time of day float 12 0 or 1
timeZone Time_Zone Time zone float -8 0 or 1
volumetrics Volumetrics If volumetric lighting is enabled. bool false 0 or 1
vdissolve Volumetrics_Dissolve Percentage to fade volumetrics by. float 0 0 or 1
vsamples Volumetric_Samples Number of samples for volumetrics. int 40 0 or 1

Details

modo 401 supports the following light sub-types, as indicated by the initial param element identified child carrier by the "lightType" sid, as shown in the table, above, and also as shown in the example later in this article:<!-- Additional info about how and where to use the element (and its children), lists of additional relevant links, detailed value tables for element or attribute values, etc. -->
  • area_light
  • cylinder_light
  • dome_light
  • photometric_light
  • point_light
  • spot_light
  • sun_light
Each of these light sub-types shares common light param elements, followed by the light sub-type-specific params, as shown in the tables above.

Examples

<!-- Really required. -->

area_light

   <library_lights>
       <light id="Light-Area_Light" name="Area_Light">
           <technique_common>
               <point>
                   <color sid="point_light_rgb">1 1 1</color>
                   <quadratic_attenuation sid="quad_atten">1</quadratic_attenuation>
               </point>
           </technique_common>
           <extra>
               <technique profile="modo401">
                   <param sid="lightType" name="Light_Type" type="Name">area_light</param>
                   <param sid="render" name="Render" type="Name">default</param>
                   <param sid="size" name="Display_Size" type="float">1</param>
                   <param sid="dissolve" name="Dissolve" type="float">0</param>
                   <param sid="radiance" name="Radiant_Intensity" type="float">3</param>
                   <param sid="samples" name="Samples" type="int">64</param>
                   <param sid="shadType" name="Shadow_Type" type="Name">raytrace</param>
                   <param sid="shadRes" name="Shadow_Resolution" type="int">1024</param>
                   <param sid="fast" name="Simple_Shading" type="bool">true</param>
                   <param sid="width" name="Area_Width" type="float">1</param>
                   <param sid="height" name="Area_Height" type="float">1</param>
                   <param sid="shape" name="Area_Shape" type="Name">rectangle</param>
               </technique>
           </extra>
       </light>
   </library_lights>

cylinder_light

   <library_lights>
       <light id="Light-Cylinder_Light" name="Cylinder_Light">
           <technique_common>
               <point>
                   <color sid="point_light_rgb">1 1 1</color>
                   <quadratic_attenuation sid="quad_atten">1</quadratic_attenuation>
               </point>
           </technique_common>
           <extra>
               <technique profile="modo401">
                   <param sid="lightType" name="Light_Type" type="Name">cylinder_light</param>
                   <param sid="render" name="Render" type="Name">default</param>
                   <param sid="size" name="Display_Size" type="float">1</param>
                   <param sid="dissolve" name="Dissolve" type="float">0</param>
                   <param sid="radiance" name="Radiant_Intensity" type="float">3</param>
                   <param sid="samples" name="Samples" type="int">64</param>
                   <param sid="shadType" name="Shadow_Type" type="Name">raytrace</param>
                   <param sid="shadRes" name="Shadow_Resolution" type="int">1024</param>
                   <param sid="fast" name="Simple_Shading" type="bool">true</param>
                   <param sid="length" name="Length" type="float">1</param>
                   <param sid="radius" name="Radius" type="float">0.2</param>
               </technique>
           </extra>
       </light>
   </library_lights>

dome_light

   <library_lights>
       <light id="Light-Dome_Light" name="Dome_Light">
           <technique_common>
               <point>
                   <color sid="point_light_rgb">1 1 1</color>
                   <quadratic_attenuation sid="quad_atten">1</quadratic_attenuation>
               </point>
           </technique_common>
           <extra>
               <technique profile="modo401">
                   <param sid="lightType" name="Light_Type" type="Name">dome_light</param>
                   <param sid="render" name="Render" type="Name">default</param>
                   <param sid="size" name="Display_Size" type="float">1</param>
                   <param sid="dissolve" name="Dissolve" type="float">0</param>
                   <param sid="radiance" name="Radiant_Intensity" type="float">3</param>
                   <param sid="samples" name="Samples" type="int">64</param>
                   <param sid="shadType" name="Shadow_Type" type="Name">raytrace</param>
                   <param sid="shadRes" name="Shadow_Resolution" type="int">1024</param>
                   <param sid="fast" name="Simple_Shading" type="bool">true</param>
                   <param sid="radius" name="Radius" type="float">10</param>
               </technique>
           </extra>
       </light>
   </library_lights>

point_light

   <library_lights>
       <light id="Light-Point_Light" name="Point_Light">
           <technique_common>
               <point>
                   <color sid="point_light_rgb">1 1 1</color>
                   <quadratic_attenuation sid="quad_atten">1</quadratic_attenuation>
               </point>
           </technique_common>
           <extra>
               <technique profile="modo401">
                   <param sid="lightType" name="Light_Type" type="Name">point_light</param>
                   <param sid="render" name="Render" type="Name">default</param>
                   <param sid="size" name="Display_Size" type="float">1</param>
                   <param sid="dissolve" name="Dissolve" type="float">0</param>
                   <param sid="radiance" name="Radiant_Intensity" type="float">3</param>
                   <param sid="samples" name="Samples" type="int">64</param>
                   <param sid="shadType" name="Shadow_Type" type="Name">raytrace</param>
                   <param sid="shadRes" name="Shadow_Resolution" type="int">1024</param>
                   <param sid="fast" name="Simple_Shading" type="bool">true</param>
                   <param sid="radius" name="Radius" type="float">0</param>
                   <param sid="volumetrics" name="Volumetrics" type="bool">false</param>
                   <param sid="vdissolve" name="Volumetrics_Dissolve" type="float">0</param>
                   <param sid="vsamples" name="Volumetric_Samples" type="int">40</param>
                   <param sid="vrad" name="Volumetric_Sphere_Radius" type="float">1</param>
               </technique>
           </extra>
       </light>
   </library_lights>

spot_light

   <library_lights>
       <light id="Light-Spot_Light" name="Spot_Light">
           <technique_common>
               <spot>
                   <color sid="spot_light_rgb">1 1 1</color>
                   <quadratic_attenuation sid="quad_atten">1</quadratic_attenuation>
                   <falloff_angle sid="falloff_deg">45</falloff_angle>
               </spot>
           </technique_common>
           <extra>
               <technique profile="modo401">
                   <param sid="lightType" name="Light_Type" type="Name">spot_light</param>
                   <param sid="render" name="Render" type="Name">default</param>
                   <param sid="size" name="Display_Size" type="float">1</param>
                   <param sid="dissolve" name="Dissolve" type="float">0</param>
                   <param sid="radiance" name="Radiant_Intensity" type="float">3</param>
                   <param sid="samples" name="Samples" type="int">64</param>
                   <param sid="shadType" name="Shadow_Type" type="Name">raytrace</param>
                   <param sid="shadRes" name="Shadow_Resolution" type="int">1024</param>
                   <param sid="fast" name="Simple_Shading" type="bool">true</param>
                   <param sid="cone" name="Cone_Angle" type="float">0.785398</param>
                   <param sid="edge" name="Soft_Edge_Angle" type="float">0.0872665</param>
                   <param sid="outside" name="Outside" type="bool">false</param>
                   <param sid="volumetrics" name="Volumetrics" type="bool">false</param>
                   <param sid="vdissolve" name="Volumetrics_Dissolve" type="float">0</param>
                   <param sid="vsamples" name="Volumetric_Samples" type="int">40</param>
               </technique>
           </extra>
       </light>
   </library_lights>

sun_light

   <library_lights>
       <light id="Light-Directional_Light" name="Directional_Light">
           <technique_common>
               <directional>
                   <color sid="directional_light_rgb">1 1 1</color>
               </directional>
           </technique_common>
           <extra>
                <technique profile="modo401">
                   <param sid="lightType" name="Light_Type" type="Name">sun_light</param>
                   <param sid="render" name="Render" type="Name">default</param>
                   <param sid="size" name="Display_Size" type="float">1</param>
                   <param sid="dissolve" name="Dissolve" type="float">0</param>
                   <param sid="radiance" name="Radiant_Intensity" type="float">3</param>
                   <param sid="samples" name="Samples" type="int">64</param>
                   <param sid="shadType" name="Shadow_Type" type="Name">raytrace</param>
                   <param sid="shadRes" name="Shadow_Resolution" type="int">1024</param>
                   <param sid="fast" name="Simple_Shading" type="bool">true</param>
                   <param sid="azimuth" name="Azimuth" type="float">0</param>
                   <param sid="clamp" name="Clamp_Intensity" type="bool">true</param>
                   <param sid="day" name="Day" type="int">2009172</param>
                   <param sid="elevation" name="Elevation" type="float">0</param>
                   <param sid="haze" name="Haze" type="float">2</param>
                   <param sid="height" name="Height" type="float">10</param>
                   <param sid="lat" name="Latitude" type="float">0.655057</param>
                   <param sid="lon" name="Longitude" type="float">-2.13456</param>
                   <param sid="mapSize" name="Map_Size" type="float">2</param>
                   <param sid="north" name="North" type="float">0</param>
                   <param sid="radius" name="Radius" type="float">0.5</param>
                   <param sid="spread" name="Spread" type="float">0</param>
                   <param sid="sunPos" name="Sun_Position" type="bool">false</param>
                   <param sid="time" name="Time" type="float">12</param>
                   <param sid="timeZone" name="Time_Zone" type="float">-8</param>
                   <param sid="volumetrics" name="Volumetrics" type="bool">false</param>
                   <param sid="vdissolve" name="Volumetrics_Dissolve" type="float">0</param>
                   <param sid="vsamples" name="Volumetric_Samples" type="int">40</param>
               </technique>
           </extra>
       </light>
   </library_lights>

Status

<!-- Status can be one of: Incomplete, Complete, Released product version, Obsolete -->

IP Status

<!-- Document any known patents or other IP claims that may prohibit royalty-free implementation of the extension, or impose other constraints on implementations -->

Dependencies

<!-- List the COLLADA version(s) required by this extension as well as any other dependencies -->

Issues

<!-- List remaining open issues, or closed issues whose resolution set a precedent or was otherwise especially interesting. Briefly describe each issue, options considered, the choice made, and the reason for that choice -->