llperlin.cpp File Reference

#include "linden_common.h"
#include "llmath.h"
#include "llperlin.h"

Include dependency graph for llperlin.cpp:

Go to the source code of this file.

Defines

#define B   0x100
#define BM   0xff
#define N   0x1000
#define NF32   (4096.f)
#define NP   12
#define NM   0xfff
#define s_curve(t)   ( t * t * (3.f - 2.f * t) )
#define lerp_m(t, a, b)   ( a + t * (b - a) )

Functions

static void normalize2 (F32 v[2])
static void normalize3 (F32 v[3])
static void fast_setup (F32 vec, U8 &b0, U8 &b1, F32 &r0, F32 &r1)
static F32 fast_at2 (F32 rx, F32 ry, F32 *q)
static F32 fast_at3 (F32 rx, F32 ry, F32 rz, F32 *q)

Variables

static S32 p [B+B+2]
static F32 g3 [B+B+2][3]
static F32 g2 [B+B+2][2]
static F32 g1 [B+B+2]


Detailed Description

LicenseInfo
firstyear=2001&license=viewergpl

Copyright (c) 2001-2007, Linden Research, Inc.

Second Life Viewer Source Code The source code in this file ("Source Code") is provided by Linden Lab to you under the terms of the GNU General Public License, version 2.0 ("GPL"), unless you have obtained a separate licensing agreement ("Other License"), formally executed by you and Linden Lab. Terms of the GPL can be found in doc/GPL-license.txt in this distribution, or online at http://secondlife.com/developers/opensource/gplv2

There are special exceptions to the terms and conditions of the GPL as it is applied to this Source Code. View the full text of the exception in the file doc/FLOSS-exception.txt in this software distribution, or online at http://secondlife.com/developers/opensource/flossexception

By copying, modifying or distributing this software, you acknowledge that you have read and understood your obligations described above, and agree to abide by those obligations.

ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, COMPLETENESS OR PERFORMANCE. $/LicenseInfo$

Definition in file llperlin.cpp.


Define Documentation

#define B   0x100

Definition at line 36 of file llperlin.cpp.

Referenced by clip_side_to_horizon(), dtClip(), init(), LLPerlinNoise::init(), and LLVolumeImplFlexible::remapSections().

#define BM   0xff

Definition at line 37 of file llperlin.cpp.

Referenced by LLPerlinNoise::noise1().

#define lerp_m ( t,
a,
b   )     ( a + t * (b - a) )

Definition at line 123 of file llperlin.cpp.

Referenced by noise1(), LLPerlinNoise::noise1(), noise2(), LLPerlinNoise::noise2(), noise3(), and LLPerlinNoise::noise3().

#define N   0x1000

Definition at line 38 of file llperlin.cpp.

Referenced by line_plane(), LLPerlinNoise::noise1(), and ray_plane().

#define NF32   (4096.f)

Definition at line 39 of file llperlin.cpp.

Referenced by fast_setup().

#define NM   0xfff

Definition at line 41 of file llperlin.cpp.

#define NP   12

Definition at line 40 of file llperlin.cpp.

#define s_curve ( t   )     ( t * t * (3.f - 2.f * t) )

Definition at line 121 of file llperlin.cpp.

Referenced by noise1(), LLPerlinNoise::noise1(), noise2(), LLPerlinNoise::noise2(), noise3(), and LLPerlinNoise::noise3().


Function Documentation

static F32 fast_at2 ( F32  rx,
F32  ry,
F32 q 
) [static]

Definition at line 147 of file llperlin.cpp.

Referenced by noise2(), and LLPerlinNoise::noise2().

static F32 fast_at3 ( F32  rx,
F32  ry,
F32  rz,
F32 q 
) [static]

Definition at line 192 of file llperlin.cpp.

Referenced by noise3(), and LLPerlinNoise::noise3().

static void fast_setup ( F32  vec,
U8 b0,
U8 b1,
F32 r0,
F32 r1 
) [static]

Definition at line 65 of file llperlin.cpp.

References lltrunc(), NF32, and S32.

Referenced by noise2(), LLPerlinNoise::noise2(), noise3(), and LLPerlinNoise::noise3().

static void normalize2 ( F32  v[2]  )  [static]

Definition at line 50 of file llperlin.cpp.

References s.

Referenced by init(), and LLPerlinNoise::init().

static void normalize3 ( F32  v[3]  )  [static]

Definition at line 57 of file llperlin.cpp.

References s.

Referenced by init(), and LLPerlinNoise::init().


Variable Documentation

F32 g1[B+B+2] [static]

Definition at line 46 of file llperlin.cpp.

Referenced by init(), LLPerlinNoise::init(), noise1(), and LLPerlinNoise::noise1().

F32 g2[B+B+2][2] [static]

Definition at line 45 of file llperlin.cpp.

Referenced by LLHaze::calcPhase(), init(), LLPerlinNoise::init(), noise2(), and LLPerlinNoise::noise2().

F32 g3[B+B+2][3] [static]

Definition at line 44 of file llperlin.cpp.

Referenced by init(), LLPerlinNoise::init(), noise3(), and LLPerlinNoise::noise3().

S32 p[B+B+2] [static]

Definition at line 43 of file llperlin.cpp.

Referenced by LLCamera::AABBInFrustum(), LLBBoxLocal::addPoint(), LLBBox::addPointAgent(), LLBBox::addPointLocal(), base32_encode(), LLCamera::calcAgentFrustumPlanes(), LLCamera::calculateWorldFrustumPlanes(), LLCallbackListH::callFunctions(), className(), LLCallbackListH::containsFunction(), LLBBox::containsPointAgent(), LLBBox::containsPointLocal(), LLCallbackListH::deleteFunction(), LLSDSerialize::deserialize(), dtReflection(), LLKeywords::findSegments(), LLSDSerialize::fromBinary(), LLSDSerialize::fromNotation(), LLSDSerialize::fromXML(), functionName(), gain(), LLProfile::genNGon(), LLError::Settings::get(), LLXmlTreeNode::getTextContents(), LLXMLNode::getTextContents(), init(), LLPerlinNoise::init(), boost::intrusive_ptr_add_ref(), boost::intrusive_ptr_release(), lerp(), LLBVHLoader::loadBVHFile(), LLKeyframeMotionParam::loadMotions(), LLVoiceClient::muteListChanged(), noise1(), LLPerlinNoise::noise1(), noise2(), LLPerlinNoise::noise2(), noise3(), LLPerlinNoise::noise3(), operator>>(), OrderToString(), LLPipeline::renderGeom(), LLFacePool::renderVisibility(), LLFollowCam::reset(), LLError::Settings::reset(), LLError::Settings::restore(), LLError::Settings::saveAndReset(), LLVoiceClient::sendPositionalUpdate(), LLVolumeImplFlexible::setCollisionSphere(), LLTrustNetDatum::setParent(), LLVolumeImplFlexible::setParentPositionAndRotationDirectly(), LLRoamTriNode::setPatch(), LLWearable::setPermissions(), LLFollowCam::setPosition(), LLFollowCamParams::setPosition(), LLFollowCam::setSubjectPositionAndRotation(), LLVoiceVisualizer::setVoiceSourceWorldPosition(), LLVoiceClient::updateMuteState(), LLCamera::visibleDistance(), and LLCamera::visibleHorizDistance().


Generated on Thu Jul 1 06:10:37 2010 for Second Life Viewer by  doxygen 1.4.7