Difference between revisions of "PRIM ALPHA MODE"
Jump to navigation
Jump to search
m |
m |
||
Line 55: | Line 55: | ||
|toc=llSetPrimitiveParams | |toc=llSetPrimitiveParams | ||
}} | }} | ||
|pb={{LSL Constant/List|i_front=[[llGetPrimitiveParams]]([ {{#var:alpha_mode_const}}, |i_end=]); | |pb={{LSL Constant/List|i_front=[[llGetPrimitiveParams]]([ {{#var:alpha_mode_const}}, |i_end= ]); | ||
|r_front=Returns the [[list]] [ |r_end= ] | |r_front=Returns the [[list]] [ |r_end= ] | ||
|text | |text |
Revision as of 19:55, 22 June 2014
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Description
Constant: integer PRIM_ALPHA_MODE = 38;The integer constant PRIM_ALPHA_MODE has the value 38
Used to specify how the alpha channel of the diffuse texture should affect rendering of a prim’s face.
llSetPrimitiveParams
[ PRIM_ALPHA_MODE, integer face, integer alpha_mode, integer mask_cutoff ]• integer | face | – | a face number or ALL_SIDES | |
• integer | alpha_mode | – | PRIM_ALPHA_MODE_* flag | |
• integer | mask_cutoff | – | when the alpha rendering mode is PRIM_ALPHA_MODE_MASK, sets the alpha value above which a pixel renders as fully opaque, in the range 0 to 255 |
When used with llSetPrimitiveParams & llSetLinkPrimitiveParams
llGetPrimitiveParams
llGetPrimitiveParams([ PRIM_ALPHA_MODE, integer face ]);Returns the list [ integer alpha_mode, integer mask_cutoff ]
• integer | face | – | a face number or ALL_SIDES | ||
• integer | alpha_mode | – | PRIM_ALPHA_MODE_* flag | ||
• integer | mask_cutoff | – | when the alpha rendering mode is PRIM_ALPHA_MODE_MASK, sets the alpha value above which a pixel renders as fully opaque, in the range 0 to 255 |
alpha_mode Flags | V | Description | Notes | ||||
---|---|---|---|---|---|---|---|
PRIM_ALPHA_MODE_NONE | 0 | Render the diffuse texture as though the alpha channel were nonexistent | The viewer’s build tool sets this by default when a face has a material and no alpha channel is present in the diffuse texture. | ||||
PRIM_ALPHA_MODE_BLEND | 1 | Render the diffuse texture with alpha-blending. | This value is also used as the default to clear the materials settings from a prim face. | ||||
PRIM_ALPHA_MODE_MASK | 2 | Render the prim face in alpha-masked mode. | Diffuse texture pixels which are more opaque than mask_cutoff will be rendered as fully opaque, while the other pixels will be fully transparent. | ||||
PRIM_ALPHA_MODE_EMISSIVE | 3 | Render the prim face in emissivity mode. | Diffuse texture pixels opacity maps to their emissivity when rendered. Fully opaque pixels will effectively be rendered as ‘full bright’. |
Caveats
Related Articles
Examples
<lsl>llSetPrimitiveParams([ PRIM_ALPHA_MODE, ALL_SIDES, PRIM_ALPHA_MODE_NONE, 0 ]); llSetPrimitiveParams([ PRIM_ALPHA_MODE, ALL_SIDES, PRIM_ALPHA_MODE_MASK, 130 ]);</lsl>
Notes
- Note that as with PRIM_NORMAL and PRIM_SPECULAR, setting a custom (i.e. not PRIM_ALPHA_MODE_BLEND) alpha mode on a prim faces causes the linkset to use the new prim accounting system.
- mask_cutoff is not used or stored unless the mode is set to PRIM_ALPHA_MODE_MASK.
- To delete the material from face, set the alpha_mode to PRIM_ALPHA_MODE_BLEND, in addition to clearing PRIM_NORMAL and PRIM_SPECULAR
- If face indicates a face that exists but does not contain a material, the PRIM_ALPHA_MODE return is '[ PRIM_ALPHA_MODE_BLEND, 0 ]'