Difference between revisions of "User:Darien Caldwell/New Materials"

From Second Life Wiki
Jump to navigation Jump to search
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
•LSL support for materials is in testing
•LSL support for materials
   
   
•Certain Aditi regions (DRTSIM-253 channel, presently) have LSL support for materials
•Regions “roller-test102″ and “roller-test103″ are on this channel
•This is still a work-in-progress – testing is still underway
•Materials can be added to object faces with llSetPrimitiveParams() functions  
•Materials can be added to object faces with llSetPrimitiveParams() functions  


Line 14: Line 8:


•[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
Line 55: Line 51:


•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)
•The version currently on Aditi lacks proper throttling, so there could be performance issues if scripts behave badly

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)