<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.osgrid.org/index.php?action=history&amp;feed=atom&amp;title=LlCloud</id>
	<title>LlCloud - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.osgrid.org/index.php?action=history&amp;feed=atom&amp;title=LlCloud"/>
	<link rel="alternate" type="text/html" href="http://wiki.osgrid.org/index.php?title=LlCloud&amp;action=history"/>
	<updated>2026-10-25T11:17:26Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>http://wiki.osgrid.org/index.php?title=LlCloud&amp;diff=75&amp;oldid=prev</id>
		<title>Osgridadmin: /* Function: float llCloud( vector offset ); */</title>
		<link rel="alternate" type="text/html" href="http://wiki.osgrid.org/index.php?title=LlCloud&amp;diff=75&amp;oldid=prev"/>
		<updated>2017-12-30T16:18:29Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Function: float llCloud( vector offset );&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Function: float llCloud( vector offset );==&lt;br /&gt;
Returns a float that is the cloud density at the object position + offset &amp;lt;br&amp;gt;&lt;br /&gt;
• vector 	offset 	&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Examples&amp;#039;&amp;#039;&amp;#039; &amp;lt;br&amp;gt;&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&amp;lt;source lang=&amp;quot;lsl&amp;quot;&amp;gt;&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    touch_start(integer num)&lt;br /&gt;
    {&lt;br /&gt;
        llSay(0,&amp;quot;Cloud density:&amp;quot; + (string)llCloud(ZERO_VECTOR));&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Notes&amp;#039;&amp;#039;&amp;#039; &amp;lt;br&amp;gt;&lt;br /&gt;
How clouds work: &amp;lt;br&amp;gt;&lt;br /&gt;
• SL features a cellular automata-based weather system. &amp;lt;br&amp;gt;&lt;br /&gt;
• There are 16x16 square cloud &amp;quot;cells&amp;quot; per sim (which means each is 16x16m in size). &amp;lt;br&amp;gt;&lt;br /&gt;
• The cloud density data is sent from the server to the client once every time the agent connects to a simulator via logging in or teleporting into a simulator. &amp;lt;br&amp;gt;&lt;br /&gt;
• The client attempts to render clouds from the cloud algorithm results sent from the server, which is why different clients can see different cloud formations and de-synchronizes cloud view from the server over time. &amp;lt;br&amp;gt;&lt;br /&gt;
• The Z value in the vector is irrelevant (clouds are always between about 180-200m absolute height). &amp;lt;br&amp;gt;&lt;br /&gt;
• It returns a value between 0.0 and 1.0, with 0.0 being no clouds, and 1.0 very dense clouds. &amp;lt;br&amp;gt;&lt;br /&gt;
• Values returned above 1.0 - 2.0 indicate rainfall, but the option for rain is not currently implemented so values are capped at 1.0. &amp;lt;br&amp;gt;&lt;br /&gt;
• Clouds and wind are related. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The cloud seed/growth/dissipation algorithm uses a solenoidal vector field, which &amp;lt;br&amp;gt;&lt;br /&gt;
is a vector field with zero-divergence: ∇ · v = 0 &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This condition is satisfied whenever v has a vector potential A, because &amp;lt;br&amp;gt;&lt;br /&gt;
if v = ∇ ⨯ A then ∇ · v = ∇ · (∇ ⨯ A) = 0 &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See Also &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Functions&amp;#039;&amp;#039;&amp;#039; &amp;lt;br&amp;gt;&lt;br /&gt;
•  	[[llWind]] 	&amp;lt;br&amp;gt; 		&lt;br /&gt;
•  	[[llGetSunDirection]] 	&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Osgridadmin</name></author>
	</entry>
</feed>