Difference between revisions of "User:Darien Caldwell/New Materials"
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
•LSL support for materials | •LSL support for materials | ||
•Materials can be added to object faces with llSetPrimitiveParams() functions | |||
•[PRIM_SPECULAR, integer face, string texture, vector repeats, vector offsets, float rotation_in_radians, vector color, integer glossy, integer environment] | •[PRIM_SPECULAR, integer face, string texture, vector repeats, vector offsets, float rotation_in_radians, vector color, integer glossy, integer environment] | ||
•[PRIM_NORMAL, integer face, string texture, vector repeats, vector offsets, float rotation_in_radians] | •[PRIM_NORMAL, integer face, string texture, vector repeats, vector offsets, float rotation_in_radians] | ||
•[PRIM_ALPHA_MODE, integer face, integer alpha_mode, integer alpha_cutoff] | •[PRIM_ALPHA_MODE, integer face, integer alpha_mode, integer alpha_cutoff] | ||
Wiki Pages: [[PRIM_NORMAL]], [[PRIM_SPECULAR]], and [[PRIM_ALPHA_MODE]] | |||
•Valid alpha_mode options are PRIM_ALPHA_MODE_NONE, PRIM_ALPHA_MODE_BLEND, PRIM_ALPHA_MODE_MASK, PRIM_ALPHA_MODE_EMISSIVE | •Valid alpha_mode options are PRIM_ALPHA_MODE_NONE, PRIM_ALPHA_MODE_BLEND, PRIM_ALPHA_MODE_MASK, PRIM_ALPHA_MODE_EMISSIVE | ||
•Materials can be read with the various llGetPrimitiveParams() functions | •Materials can be read with the various llGetPrimitiveParams() functions | ||
•[PRIM_SPECULAR, integer face] returns [string texture, vector repeats, vector offsets, float rotation_in_radians, vector color, integer glossy, integer environment] | •[PRIM_SPECULAR, integer face] returns [string texture, vector repeats, vector offsets, float rotation_in_radians, vector color, integer glossy, integer environment] | ||
•[PRIM_NORMAL, integer face] returns [string texture, vector repeats, vector offsets, float rotation_in_radians] | •[PRIM_NORMAL, integer face] returns [string texture, vector repeats, vector offsets, float rotation_in_radians] | ||
•[PRIM_ALPHA_MODE, integer face] returns [integer alpha_mode, integer alpha_cutoff] | •[PRIM_ALPHA_MODE, integer face] returns [integer alpha_mode, integer alpha_cutoff] | ||
•Behavior for both getting and setting materials parameters should basically correspond to behavior with PRIM_TEXTURE | •Behavior for both getting and setting materials parameters should basically correspond to behavior with PRIM_TEXTURE | ||
•The color vectors use 0.0-1.0 as the range, as with llSetColor() | •The color vectors use 0.0-1.0 as the range, as with llSetColor() | ||
•The integer parameters for PRIM_SPECULAR correspond to the same values that you see in the build tool | •The integer parameters for PRIM_SPECULAR correspond to the same values that you see in the build tool | ||
•Components of a material can be ‘reset’ as follows: | •Components of a material can be ‘reset’ as follows: | ||
• | • | ||
•PRIM_NORMAL and PRIM_SPECULAR settings are set to ‘default’ values by setting the texture to NULL_KEY | •PRIM_NORMAL and PRIM_SPECULAR settings are set to ‘default’ values by setting the texture to NULL_KEY | ||
•PRIM_ALPHA_MODE settings are set to ‘default’ values by setting the alpha_mode to PRIM_ALPHA_MODE_BLEND •mask_cutoff is actually reset to 0 unless the alpha mode is PRIM_ALPHA_MODE_MASK | |||
•PRIM_ALPHA_MODE settings are set to ‘default’ values by setting the alpha_mode to PRIM_ALPHA_MODE_BLEND | |||
•mask_cutoff is actually reset to 0 unless the alpha mode is PRIM_ALPHA_MODE_MASK | |||
•When PRIM_NORMAL, PRIM_SPECULAR, and PRIM_ALPHA_MODE settings are all set to ‘default’ values, the material is deleted from that prim face, and LI may be updated accordingly | •When PRIM_NORMAL, PRIM_SPECULAR, and PRIM_ALPHA_MODE settings are all set to ‘default’ values, the material is deleted from that prim face, and LI may be updated accordingly | ||
•Known issues | •Known issues | ||
•There is a viewer rendering issue, where the face will not be rendered and you’ll see log spam (BUG-6187), | •There is a viewer rendering issue, where the face will not be rendered and you’ll see log spam (BUG-6187), | ||
•If the viewer has ALM enabled | •If the viewer has ALM enabled | ||
•and a prim face has a material on it | •and a prim face has a material on it | ||
•and PRIM_ALPHA_MODE is PRIM_ALPHA_MODE_BLEND (this is the default after a material is added) | •and PRIM_ALPHA_MODE is PRIM_ALPHA_MODE_BLEND (this is the default after a material is added) | ||
•and the diffuse texture does not have an alpha channel (e.g. plywood) | •and the diffuse texture does not have an alpha channel (e.g. plywood) | ||
Latest revision as of 08:18, 29 July 2014
•LSL support for materials
•Materials can be added to object faces with llSetPrimitiveParams() functions
•[PRIM_SPECULAR, integer face, string texture, vector repeats, vector offsets, float rotation_in_radians, vector color, integer glossy, integer environment]
•[PRIM_NORMAL, integer face, string texture, vector repeats, vector offsets, float rotation_in_radians]
•[PRIM_ALPHA_MODE, integer face, integer alpha_mode, integer alpha_cutoff]
Wiki Pages: PRIM_NORMAL, PRIM_SPECULAR, and PRIM_ALPHA_MODE
•Valid alpha_mode options are PRIM_ALPHA_MODE_NONE, PRIM_ALPHA_MODE_BLEND, PRIM_ALPHA_MODE_MASK, PRIM_ALPHA_MODE_EMISSIVE
•Materials can be read with the various llGetPrimitiveParams() functions
•[PRIM_SPECULAR, integer face] returns [string texture, vector repeats, vector offsets, float rotation_in_radians, vector color, integer glossy, integer environment]
•[PRIM_NORMAL, integer face] returns [string texture, vector repeats, vector offsets, float rotation_in_radians]
•[PRIM_ALPHA_MODE, integer face] returns [integer alpha_mode, integer alpha_cutoff]
•Behavior for both getting and setting materials parameters should basically correspond to behavior with PRIM_TEXTURE
•The color vectors use 0.0-1.0 as the range, as with llSetColor()
•The integer parameters for PRIM_SPECULAR correspond to the same values that you see in the build tool
•Components of a material can be ‘reset’ as follows:
• •PRIM_NORMAL and PRIM_SPECULAR settings are set to ‘default’ values by setting the texture to NULL_KEY
•PRIM_ALPHA_MODE settings are set to ‘default’ values by setting the alpha_mode to PRIM_ALPHA_MODE_BLEND
•mask_cutoff is actually reset to 0 unless the alpha mode is PRIM_ALPHA_MODE_MASK
•When PRIM_NORMAL, PRIM_SPECULAR, and PRIM_ALPHA_MODE settings are all set to ‘default’ values, the material is deleted from that prim face, and LI may be updated accordingly
•Known issues
•There is a viewer rendering issue, where the face will not be rendered and you’ll see log spam (BUG-6187),
•If the viewer has ALM enabled
•and a prim face has a material on it
•and PRIM_ALPHA_MODE is PRIM_ALPHA_MODE_BLEND (this is the default after a material is added)
•and the diffuse texture does not have an alpha channel (e.g. plywood)