Trim remaining trailing whitespaces after #1695
parent
1ebf62e102
commit
3d4bc98f6b
|
|
@ -3,5 +3,5 @@ include(Prebuilt)
|
||||||
|
|
||||||
use_prebuilt_binary(tinyexr)
|
use_prebuilt_binary(tinyexr)
|
||||||
|
|
||||||
set(TINYEXR_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include/tinyexr)
|
set(TINYEXR_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include/tinyexr)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -525,11 +525,11 @@ void LLAvatarAppearance::computeBodySize()
|
||||||
new_body_size.mV[VZ] = mPelvisToFoot +
|
new_body_size.mV[VZ] = mPelvisToFoot +
|
||||||
// the sqrt(2) correction below is an approximate
|
// the sqrt(2) correction below is an approximate
|
||||||
// correction to get to the top of the head
|
// correction to get to the top of the head
|
||||||
F_SQRT2 * (skull.mV[VZ] * head_scale.mV[VZ]) +
|
F_SQRT2 * (skull.mV[VZ] * head_scale.mV[VZ]) +
|
||||||
head.mV[VZ] * neck_scale.mV[VZ] +
|
head.mV[VZ] * neck_scale.mV[VZ] +
|
||||||
neck.mV[VZ] * chest_scale.mV[VZ] +
|
neck.mV[VZ] * chest_scale.mV[VZ] +
|
||||||
chest.mV[VZ] * torso_scale.mV[VZ] +
|
chest.mV[VZ] * torso_scale.mV[VZ] +
|
||||||
torso.mV[VZ] * pelvis_scale.mV[VZ];
|
torso.mV[VZ] * pelvis_scale.mV[VZ];
|
||||||
|
|
||||||
// TODO -- measure the real depth and width
|
// TODO -- measure the real depth and width
|
||||||
new_body_size.mV[VX] = DEFAULT_AGENT_DEPTH;
|
new_body_size.mV[VX] = DEFAULT_AGENT_DEPTH;
|
||||||
|
|
|
||||||
|
|
@ -102,7 +102,7 @@ void main()
|
||||||
|
|
||||||
// Initialize temp variables
|
// Initialize temp variables
|
||||||
vec3 sunlight = (sun_up_factor == 1) ? sunlight_color : moonlight_color * 0.7; //magic 0.7 to match legacy color
|
vec3 sunlight = (sun_up_factor == 1) ? sunlight_color : moonlight_color * 0.7; //magic 0.7 to match legacy color
|
||||||
|
|
||||||
// Sunlight attenuation effect (hue and brightness) due to atmosphere
|
// Sunlight attenuation effect (hue and brightness) due to atmosphere
|
||||||
// this is used later for sunlight modulation at various altitudes
|
// this is used later for sunlight modulation at various altitudes
|
||||||
vec3 light_atten = (blue_density + vec3(haze_density * 0.25)) * (density_multiplier * max_y);
|
vec3 light_atten = (blue_density + vec3(haze_density * 0.25)) * (density_multiplier * max_y);
|
||||||
|
|
@ -152,7 +152,7 @@ void main()
|
||||||
sunlight *= max(0.0, (1. - cloud_shadow));
|
sunlight *= max(0.0, (1. - cloud_shadow));
|
||||||
|
|
||||||
// Haze color below cloud
|
// Haze color below cloud
|
||||||
vec3 add_below_cloud = (blue_horizon * blue_weight * (sunlight + ambient)
|
vec3 add_below_cloud = (blue_horizon * blue_weight * (sunlight + ambient)
|
||||||
+ (haze_horizon * haze_weight) * (sunlight * haze_glow + ambient));
|
+ (haze_horizon * haze_weight) * (sunlight * haze_glow + ambient));
|
||||||
|
|
||||||
// Attenuate cloud color by atmosphere
|
// Attenuate cloud color by atmosphere
|
||||||
|
|
|
||||||
|
|
@ -61,9 +61,9 @@ namespace LL
|
||||||
std::string mName;
|
std::string mName;
|
||||||
|
|
||||||
const BufferView& operator=(const tinygltf::BufferView& src);
|
const BufferView& operator=(const tinygltf::BufferView& src);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class Accessor
|
class Accessor
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
|
||||||
|
|
@ -159,7 +159,7 @@ namespace LL
|
||||||
// min/max time values for all samplers combined
|
// min/max time values for all samplers combined
|
||||||
F32 mMinTime = 0.f;
|
F32 mMinTime = 0.f;
|
||||||
F32 mMaxTime = 0.f;
|
F32 mMaxTime = 0.f;
|
||||||
|
|
||||||
// current time of the animation
|
// current time of the animation
|
||||||
F32 mTime = 0.f;
|
F32 mTime = 0.f;
|
||||||
|
|
||||||
|
|
@ -168,7 +168,7 @@ namespace LL
|
||||||
std::vector<ScaleChannel> mScaleChannels;
|
std::vector<ScaleChannel> mScaleChannels;
|
||||||
|
|
||||||
const Animation& operator=(const tinygltf::Animation& src);
|
const Animation& operator=(const tinygltf::Animation& src);
|
||||||
|
|
||||||
void allocateGLResources(Asset& asset);
|
void allocateGLResources(Asset& asset);
|
||||||
|
|
||||||
void update(Asset& asset, float dt);
|
void update(Asset& asset, float dt);
|
||||||
|
|
|
||||||
|
|
@ -71,7 +71,7 @@ void Node::updateTransforms(Asset& asset, const LLMatrix4a& parentMatrix)
|
||||||
makeMatrixValid();
|
makeMatrixValid();
|
||||||
matMul(mMatrix, parentMatrix, mAssetMatrix);
|
matMul(mMatrix, parentMatrix, mAssetMatrix);
|
||||||
mAssetMatrixInv = inverse(mAssetMatrix);
|
mAssetMatrixInv = inverse(mAssetMatrix);
|
||||||
|
|
||||||
S32 my_index = this - &asset.mNodes[0];
|
S32 my_index = this - &asset.mNodes[0];
|
||||||
|
|
||||||
for (auto& childIndex : mChildren)
|
for (auto& childIndex : mChildren)
|
||||||
|
|
@ -133,7 +133,7 @@ S32 Asset::lineSegmentIntersect(const LLVector4a& start, const LLVector4a& end,
|
||||||
{
|
{
|
||||||
if (node.mMesh != INVALID_INDEX)
|
if (node.mMesh != INVALID_INDEX)
|
||||||
{
|
{
|
||||||
|
|
||||||
bool newHit = false;
|
bool newHit = false;
|
||||||
|
|
||||||
// transform start and end to this node's local space
|
// transform start and end to this node's local space
|
||||||
|
|
@ -162,7 +162,7 @@ S32 Asset::lineSegmentIntersect(const LLVector4a& start, const LLVector4a& end,
|
||||||
if (newHit)
|
if (newHit)
|
||||||
{
|
{
|
||||||
// shorten line segment on hit
|
// shorten line segment on hit
|
||||||
node.mAssetMatrix.affineTransform(p, asset_end);
|
node.mAssetMatrix.affineTransform(p, asset_end);
|
||||||
|
|
||||||
// transform results back to asset space
|
// transform results back to asset space
|
||||||
if (intersection)
|
if (intersection)
|
||||||
|
|
@ -229,7 +229,7 @@ void Node::makeMatrixValid()
|
||||||
sc.set_scale(mScale);
|
sc.set_scale(mScale);
|
||||||
|
|
||||||
glh::matrix4f t;
|
glh::matrix4f t;
|
||||||
//t = sc * rot * trans;
|
//t = sc * rot * trans;
|
||||||
//t = trans * rot * sc; // best so far, still wrong on negative scale
|
//t = trans * rot * sc; // best so far, still wrong on negative scale
|
||||||
//t = sc * trans * rot;
|
//t = sc * trans * rot;
|
||||||
t = trans * sc * rot;
|
t = trans * sc * rot;
|
||||||
|
|
@ -538,7 +538,7 @@ const Asset& Asset::operator=(const tinygltf::Model& src)
|
||||||
{
|
{
|
||||||
mSkins[i] = src.skins[i];
|
mSkins[i] = src.skins[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -616,7 +616,7 @@ void Skin::uploadMatrixPalette(Asset& asset, Node& node)
|
||||||
for (U32 i = 0; i < mJoints.size(); ++i)
|
for (U32 i = 0; i < mJoints.size(); ++i)
|
||||||
{
|
{
|
||||||
Node& joint = asset.mNodes[mJoints[i]];
|
Node& joint = asset.mNodes[mJoints[i]];
|
||||||
|
|
||||||
//t_mp[i].set_value(joint.mRenderMatrix.getF32ptr());
|
//t_mp[i].set_value(joint.mRenderMatrix.getF32ptr());
|
||||||
//t_mp[i] = t_mp[i] * mInverseBindMatricesData[i];
|
//t_mp[i] = t_mp[i] * mInverseBindMatricesData[i];
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@
|
||||||
// whenever we add support for more types
|
// whenever we add support for more types
|
||||||
|
|
||||||
#ifdef _MSC_VER
|
#ifdef _MSC_VER
|
||||||
#define LL_FUNCSIG __FUNCSIG__
|
#define LL_FUNCSIG __FUNCSIG__
|
||||||
#else
|
#else
|
||||||
#define LL_FUNCSIG __PRETTY_FUNCTION__
|
#define LL_FUNCSIG __PRETTY_FUNCTION__
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@
|
||||||
* This library is free software; you can redistribute it and/or
|
* This library is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
* License as published by the Free Software Foundation;
|
* License as published by the Free Software Foundation;
|
||||||
* version 2.1 of the License only.
|
* version 2.1 of the License only.
|
||||||
*
|
*
|
||||||
* This library is distributed in the hope that it will be useful,
|
* This library is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
|
@ -86,7 +86,7 @@ void Primitive::allocateGLResources(Asset& asset)
|
||||||
}
|
}
|
||||||
|
|
||||||
U32 mask = ATTRIBUTE_MASK;
|
U32 mask = ATTRIBUTE_MASK;
|
||||||
|
|
||||||
if (!mWeights.empty())
|
if (!mWeights.empty())
|
||||||
{
|
{
|
||||||
mask |= LLVertexBuffer::MAP_WEIGHT4;
|
mask |= LLVertexBuffer::MAP_WEIGHT4;
|
||||||
|
|
@ -124,7 +124,7 @@ void Primitive::allocateGLResources(Asset& asset)
|
||||||
{
|
{
|
||||||
mColors.resize(mPositions.size(), LLColor4U::white);
|
mColors.resize(mPositions.size(), LLColor4U::white);
|
||||||
}
|
}
|
||||||
|
|
||||||
// bake material basecolor into color array
|
// bake material basecolor into color array
|
||||||
if (mMaterial != INVALID_INDEX)
|
if (mMaterial != INVALID_INDEX)
|
||||||
{
|
{
|
||||||
|
|
@ -142,7 +142,7 @@ void Primitive::allocateGLResources(Asset& asset)
|
||||||
{
|
{
|
||||||
mNormals.resize(mPositions.size(), LLVector4a(0, 0, 1, 0));
|
mNormals.resize(mPositions.size(), LLVector4a(0, 0, 1, 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
mVertexBuffer->setNormalData(mNormals.data());
|
mVertexBuffer->setNormalData(mNormals.data());
|
||||||
|
|
||||||
if (mTangents.empty())
|
if (mTangents.empty())
|
||||||
|
|
@ -169,9 +169,9 @@ void Primitive::allocateGLResources(Asset& asset)
|
||||||
|
|
||||||
mVertexBuffer->setWeight4Data(weight_data.data());
|
mVertexBuffer->setWeight4Data(weight_data.data());
|
||||||
}
|
}
|
||||||
|
|
||||||
createOctree();
|
createOctree();
|
||||||
|
|
||||||
mVertexBuffer->unbind();
|
mVertexBuffer->unbind();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -235,9 +235,9 @@ void Primitive::createOctree()
|
||||||
const LLVector4a& v0 = mPositions[i0];
|
const LLVector4a& v0 = mPositions[i0];
|
||||||
const LLVector4a& v1 = mPositions[i1];
|
const LLVector4a& v1 = mPositions[i1];
|
||||||
const LLVector4a& v2 = mPositions[i2];
|
const LLVector4a& v2 = mPositions[i2];
|
||||||
|
|
||||||
initOctreeTriangle(tri, scaler, i0, i1, i2, v0, v1, v2);
|
initOctreeTriangle(tri, scaler, i0, i1, i2, v0, v1, v2);
|
||||||
|
|
||||||
//insert
|
//insert
|
||||||
mOctree->insert(tri);
|
mOctree->insert(tri);
|
||||||
}
|
}
|
||||||
|
|
@ -297,7 +297,7 @@ void Primitive::createOctree()
|
||||||
{
|
{
|
||||||
// nothing to do, no volume... maybe add some collision geometry around these primitive types?
|
// nothing to do, no volume... maybe add some collision geometry around these primitive types?
|
||||||
}
|
}
|
||||||
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
LL_ERRS() << "Unsupported Primitive mode" << LL_ENDL;
|
LL_ERRS() << "Unsupported Primitive mode" << LL_ENDL;
|
||||||
|
|
|
||||||
|
|
@ -64,7 +64,7 @@ namespace LL
|
||||||
// raycast acceleration structure
|
// raycast acceleration structure
|
||||||
LLPointer<LLVolumeOctree> mOctree;
|
LLPointer<LLVolumeOctree> mOctree;
|
||||||
std::vector<LLVolumeTriangle> mOctreeTriangles;
|
std::vector<LLVolumeTriangle> mOctreeTriangles;
|
||||||
|
|
||||||
S32 mMaterial = -1;
|
S32 mMaterial = -1;
|
||||||
U32 mMode = TINYGLTF_MODE_TRIANGLES; // default to triangles
|
U32 mMode = TINYGLTF_MODE_TRIANGLES; // default to triangles
|
||||||
U32 mGLMode = LLRender::TRIANGLES;
|
U32 mGLMode = LLRender::TRIANGLES;
|
||||||
|
|
@ -75,7 +75,7 @@ namespace LL
|
||||||
// must be called before buffer is unmapped and after buffer is populated with good data
|
// must be called before buffer is unmapped and after buffer is populated with good data
|
||||||
void createOctree();
|
void createOctree();
|
||||||
|
|
||||||
//get the LLVolumeTriangle that intersects with the given line segment at the point
|
//get the LLVolumeTriangle that intersects with the given line segment at the point
|
||||||
//closest to start. Moves end to the point of intersection. Returns nullptr if no intersection.
|
//closest to start. Moves end to the point of intersection. Returns nullptr if no intersection.
|
||||||
//Line segment must be in the same coordinate frame as this Primitive
|
//Line segment must be in the same coordinate frame as this Primitive
|
||||||
const LLVolumeTriangle* lineSegmentIntersect(const LLVector4a& start, const LLVector4a& end,
|
const LLVolumeTriangle* lineSegmentIntersect(const LLVector4a& start, const LLVector4a& end,
|
||||||
|
|
@ -84,7 +84,7 @@ namespace LL
|
||||||
LLVector4a* normal = NULL, // return the surface normal at the intersection point
|
LLVector4a* normal = NULL, // return the surface normal at the intersection point
|
||||||
LLVector4a* tangent = NULL // return the surface tangent at the intersection point
|
LLVector4a* tangent = NULL // return the surface tangent at the intersection point
|
||||||
);
|
);
|
||||||
|
|
||||||
const Primitive& operator=(const tinygltf::Primitive& src);
|
const Primitive& operator=(const tinygltf::Primitive& src);
|
||||||
|
|
||||||
void allocateGLResources(Asset& asset);
|
void allocateGLResources(Asset& asset);
|
||||||
|
|
|
||||||
|
|
@ -70,7 +70,7 @@ public:
|
||||||
static LLFetchedGLTFMaterial sDefault;
|
static LLFetchedGLTFMaterial sDefault;
|
||||||
protected:
|
protected:
|
||||||
// Lifetime management
|
// Lifetime management
|
||||||
|
|
||||||
void materialBegin();
|
void materialBegin();
|
||||||
void materialComplete(bool success);
|
void materialComplete(bool success);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -198,7 +198,7 @@ void LLHeroProbeManager::update()
|
||||||
mFaceUpdateList[i] = ceilf(cube_facing * gPipeline.RenderHeroProbeConservativeUpdateMultiplier);
|
mFaceUpdateList[i] = ceilf(cube_facing * gPipeline.RenderHeroProbeConservativeUpdateMultiplier);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
mProbes[0]->mOrigin = probe_pos;
|
mProbes[0]->mOrigin = probe_pos;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
||||||
|
|
@ -51,18 +51,18 @@ class alignas(16) LLHeroProbeManager
|
||||||
{
|
{
|
||||||
LL_ALIGN_NEW
|
LL_ALIGN_NEW
|
||||||
public:
|
public:
|
||||||
enum class DetailLevel
|
enum class DetailLevel
|
||||||
{
|
{
|
||||||
STATIC_ONLY = 0,
|
STATIC_ONLY = 0,
|
||||||
STATIC_AND_DYNAMIC,
|
STATIC_AND_DYNAMIC,
|
||||||
REALTIME = 2
|
REALTIME = 2
|
||||||
};
|
};
|
||||||
|
|
||||||
// allocate an environment map of the given resolution
|
// allocate an environment map of the given resolution
|
||||||
LLHeroProbeManager();
|
LLHeroProbeManager();
|
||||||
~LLHeroProbeManager();
|
~LLHeroProbeManager();
|
||||||
|
|
||||||
// release any GL state
|
// release any GL state
|
||||||
void cleanup();
|
void cleanup();
|
||||||
|
|
||||||
// maintain reflection probes
|
// maintain reflection probes
|
||||||
|
|
@ -90,11 +90,11 @@ public:
|
||||||
LLVector3 mMirrorPosition;
|
LLVector3 mMirrorPosition;
|
||||||
LLVector3 mMirrorNormal;
|
LLVector3 mMirrorNormal;
|
||||||
HeroProbeData mHeroData;
|
HeroProbeData mHeroData;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
friend class LLPipeline;
|
friend class LLPipeline;
|
||||||
friend class LLReflectionMapManager;
|
friend class LLReflectionMapManager;
|
||||||
|
|
||||||
// update UBO used for rendering (call only once per render pipe flush)
|
// update UBO used for rendering (call only once per render pipe flush)
|
||||||
void updateUniforms();
|
void updateUniforms();
|
||||||
|
|
||||||
|
|
@ -103,7 +103,7 @@ private:
|
||||||
// render target for cube snapshots
|
// render target for cube snapshots
|
||||||
// used to generate mipmaps without doing a copy-to-texture
|
// used to generate mipmaps without doing a copy-to-texture
|
||||||
LLRenderTarget mRenderTarget;
|
LLRenderTarget mRenderTarget;
|
||||||
|
|
||||||
LLRenderTarget mHeroRenderTarget;
|
LLRenderTarget mHeroRenderTarget;
|
||||||
|
|
||||||
std::vector<LLRenderTarget> mMipChain;
|
std::vector<LLRenderTarget> mMipChain;
|
||||||
|
|
@ -120,7 +120,7 @@ private:
|
||||||
// update the specified face of the specified probe
|
// update the specified face of the specified probe
|
||||||
void updateProbeFace(LLReflectionMap* probe, U32 face, bool is_dynamic, F32 near_clip);
|
void updateProbeFace(LLReflectionMap* probe, U32 face, bool is_dynamic, F32 near_clip);
|
||||||
void generateRadiance(LLReflectionMap *probe);
|
void generateRadiance(LLReflectionMap *probe);
|
||||||
|
|
||||||
// list of active reflection maps
|
// list of active reflection maps
|
||||||
std::vector<LLPointer<LLReflectionMap>> mProbes;
|
std::vector<LLPointer<LLReflectionMap>> mProbes;
|
||||||
|
|
||||||
|
|
@ -136,10 +136,10 @@ private:
|
||||||
|
|
||||||
// resolution of reflection probes
|
// resolution of reflection probes
|
||||||
U32 mProbeResolution = 1024;
|
U32 mProbeResolution = 1024;
|
||||||
|
|
||||||
// maximum LoD of reflection probes (mip levels - 1)
|
// maximum LoD of reflection probes (mip levels - 1)
|
||||||
F32 mMaxProbeLOD = 6.f;
|
F32 mMaxProbeLOD = 6.f;
|
||||||
|
|
||||||
F32 mHeroProbeStrength = 1.f;
|
F32 mHeroProbeStrength = 1.f;
|
||||||
bool mIsInTransition = false;
|
bool mIsInTransition = false;
|
||||||
|
|
||||||
|
|
@ -148,9 +148,9 @@ private:
|
||||||
|
|
||||||
bool mRenderingMirror = false;
|
bool mRenderingMirror = false;
|
||||||
std::map<int, int> mFaceUpdateList;
|
std::map<int, int> mFaceUpdateList;
|
||||||
|
|
||||||
U32 mCurrentProbeUpdateFrame = 0;
|
U32 mCurrentProbeUpdateFrame = 0;
|
||||||
|
|
||||||
std::vector<LLPointer<LLVOVolume>> mHeroVOList;
|
std::vector<LLPointer<LLVOVolume>> mHeroVOList;
|
||||||
LLPointer<LLVOVolume> mNearestHero;
|
LLPointer<LLVOVolume> mNearestHero;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -65,7 +65,7 @@ void LLReflectionMap::update(U32 resolution, U32 face, bool force_dynamic, F32 n
|
||||||
}
|
}
|
||||||
|
|
||||||
F32 clip = (near_clip > 0) ? near_clip : getNearClip();
|
F32 clip = (near_clip > 0) ? near_clip : getNearClip();
|
||||||
|
|
||||||
gViewerWindow->cubeSnapshot(LLVector3(mOrigin), mCubeArray, mCubeIndex, face, clip, getIsDynamic() || force_dynamic, useClipPlane, clipPlane);
|
gViewerWindow->cubeSnapshot(LLVector3(mOrigin), mCubeArray, mCubeIndex, face, clip, getIsDynamic() || force_dynamic, useClipPlane, clipPlane);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@ class alignas(16) LLReflectionMap : public LLRefCount
|
||||||
{
|
{
|
||||||
LL_ALIGN_NEW
|
LL_ALIGN_NEW
|
||||||
public:
|
public:
|
||||||
|
|
||||||
enum class ProbeType
|
enum class ProbeType
|
||||||
{
|
{
|
||||||
ALL = 0,
|
ALL = 0,
|
||||||
|
|
@ -44,8 +44,8 @@ public:
|
||||||
IRRADIANCE,
|
IRRADIANCE,
|
||||||
REFLECTION
|
REFLECTION
|
||||||
};
|
};
|
||||||
|
|
||||||
// allocate an environment map of the given resolution
|
// allocate an environment map of the given resolution
|
||||||
LLReflectionMap();
|
LLReflectionMap();
|
||||||
|
|
||||||
~LLReflectionMap();
|
~LLReflectionMap();
|
||||||
|
|
@ -86,7 +86,7 @@ public:
|
||||||
|
|
||||||
// point at which environment map was last generated from (in agent space)
|
// point at which environment map was last generated from (in agent space)
|
||||||
LLVector4a mOrigin;
|
LLVector4a mOrigin;
|
||||||
|
|
||||||
// distance from main viewer camera
|
// distance from main viewer camera
|
||||||
F32 mDistance = -1.f;
|
F32 mDistance = -1.f;
|
||||||
|
|
||||||
|
|
@ -106,7 +106,7 @@ public:
|
||||||
// cube map used to sample this environment map
|
// cube map used to sample this environment map
|
||||||
LLPointer<LLCubeMapArray> mCubeArray;
|
LLPointer<LLCubeMapArray> mCubeArray;
|
||||||
S32 mCubeIndex = -1; // index into cube map array or -1 if not currently stored in cube map array
|
S32 mCubeIndex = -1; // index into cube map array or -1 if not currently stored in cube map array
|
||||||
|
|
||||||
// probe has had at least one full update and is ready to render
|
// probe has had at least one full update and is ready to render
|
||||||
bool mComplete = false;
|
bool mComplete = false;
|
||||||
|
|
||||||
|
|
@ -136,7 +136,7 @@ public:
|
||||||
GLuint mOcclusionQuery = 0;
|
GLuint mOcclusionQuery = 0;
|
||||||
bool mOccluded = false;
|
bool mOccluded = false;
|
||||||
U32 mOcclusionPendingFrames = 0;
|
U32 mOcclusionPendingFrames = 0;
|
||||||
|
|
||||||
ProbeType mType;
|
ProbeType mType;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue