diff --git a/Engine/source/environment/VolumetricFog.cpp b/Engine/source/environment/VolumetricFog.cpp new file mode 100644 index 0000000000..f98f7cf048 --- /dev/null +++ b/Engine/source/environment/VolumetricFog.cpp @@ -0,0 +1,1333 @@ +//----------------------------------------------------------------------------- +// Copyright (c) 2012 GarageGames, LLC +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +// IN THE SOFTWARE. +//----------------------------------------------------------------------------- + +#include "environment/VolumetricFog.h" +#include "windowManager/platformWindowMgr.h" +#include "gfx/gfxTransformSaver.h" +#include "renderInstance/renderPassManager.h" +#include "math/mathIO.h" +#include "materials/shaderData.h" +#include "math/util/matrixSet.h" +#include "core/resourceManager.h" +#include "core/stream/bitStream.h" +#include "T3D/gameBase/gameConnection.h" +#include "T3D/shapeBase.h" +#include "ts/tsShapeInstance.h" +#include "console/engineAPI.h" +#include "gui/core/guiCanvas.h" +#include "VolumetricFogRTManager.h" + +#define COLBOX_SCALE Point3F(1.02f, 1.02f, 1.02f) + +IMPLEMENT_CO_NETOBJECT_V1(VolumetricFog); + +ConsoleDocClass(VolumetricFog, + "@brief Volumetric Fog Object class. Main class defining the Volumetric\n" + "Fog objects in the scene. Used in conjunction with the VolumetricFogRTManager\n" + "class which is responsible for the required rendertargets.\n\n" + "Methods (exposed to script):\n" + " setFogColorF(color) Changes the overall fog color (color.rgba range 0.0 - 1.0).\n;" + " setFogColor(color) Changes the overall fog color color.rgba range 0 - 255).\n;" + " setFogDensity(density) Changes the overall fog density.\n" + " setFogModulation(strength, speed1, speed2) changes the strength\n" + " and the speeds of the 2 animation layers.\n\n" + "Callbacks:\n" + "onEnterFog triggered whenever the controlobject (Player or Camera) enters the Fog.\n" + " (current Fog object and the controlobject are exposed to script.\n" + "onLeaveFog triggered whenever the controlobject (Player or Camera) left the Fog.\n" + " (current Fog object and the controlobject are exposed to script.\n\n" + "@tsexample\n" + " new VolumetricFog()\n" + " {\n" + " shapeName = \"art/environment/FogRCube.dts\";\n" + " fogColor = \"200 200 200 128\";\n" + " fogDensity = \"0.2\";\n" + " ignoreWater = \"0\";\n" + " MinSize = \"250\";\n" + " FadeSize = \"750\";\n" + " texture = \"art/environment/FogMod_heavy.dds\";\n" + " tiles = \"1.5\";\n" + " modStrength = \"0.2\";\n" + " PrimSpeed = \"-0.01 0.04\";\n" + " SecSpeed = \"0.02 -0.02\";\n" + " position = \"748.644 656.371 65.3506\"; \n" + " rotation = \"0 0 1 20.354\";\n" + " scale = \"40 30 6\";\n" + " };\n" + "@endtsexample\n" + ); + +IMPLEMENT_CALLBACK(VolumetricFog, onEnterFog, void, (SimObjectId obj), (obj), + "@brief Called when an object enters the volume of the Fog instance.\n\n" + + "@param obj the controlobject entering the fog."); + +IMPLEMENT_CALLBACK(VolumetricFog, onLeaveFog, void, (SimObjectId obj), (obj), + "@brief Called when an object left the volume of the Fog instance.\n\n" + + "@param obj the controlobject leaving the fog."); + + +VolumetricFog::VolumetricFog() +{ + AssertFatal(VFRTM != NULL, "VolumetricFog Fatal Error: No Manager found"); + + if (!VFRTM->IsInitialized()) + VFRTM->Init(); + + mNetFlags.set(Ghostable | ScopeAlways); + + mTypeMask |= EnvironmentObjectType | StaticObjectType; + + mPrepassTarget = NULL; + mDepthBufferTarget = NULL; + mFrontBufferTarget = NULL; + + z_buf = NULL; + mTexture = NULL; + + mIsVBDirty = false; + mIsPBDirty = false; + + mFogColor.set(200, 200, 200, 255); + mFogDensity = 0.3f; + mIgnoreWater = false; + mReflect = false; + mCamInFog = false; + mResizing = false; + mFogReflStrength = 20.0; + mUseGlow = false; + mGlowStrength = 0.3f; + mGlowing = 0; + mModifLightRays = false; + mLightRayMod = 1.0f; + mOldLightRayStrength = 0.1f; + + mShapeName = ""; + mShapeLoaded = false; + mMinDisplaySize = 10.0f; + mFadeSize = 0.0f; + mCurDetailLevel = 0; + mNumDetailLevels = 0; + det_size.clear(); + + mTextureName = ""; + mIsTextured = false; + mStrength = 0.5f; + mTexTiles = 1.0f; + mSpeed1.set(0.5f, 0.0f); + mSpeed2.set(0.1f, 0.1f); +} + +VolumetricFog::~VolumetricFog() +{ + if (isClientObject()) + return; + + for (S32 i = 0; i < det_size.size(); i++) + { + if (det_size[i].indices != NULL) + delete(det_size[i].indices); + if (det_size[i].piArray != NULL) + delete(det_size[i].piArray); + if (det_size[i].verts != NULL) + delete(det_size[i].verts); + } + det_size.clear(); + + if (z_buf.isValid()) + SAFE_DELETE(z_buf); + + if (!mTexture.isNull()) + mTexture.free(); +} + +void VolumetricFog::initPersistFields() +{ + addGroup("VolumetricFogData"); + + addField("shapeName", TypeShapeFilename, Offset(mShapeName, VolumetricFog), + "Path and filename of the model file (.DTS, .DAE) to use for this Volume."); + addField("FogColor", TypeColorI, Offset(mFogColor, VolumetricFog),"Fog color RGBA (Alpha is ignored)"); + addField("FogDensity", TypeF32, Offset(mFogDensity, VolumetricFog), "Overal fog density value (0 disables the fog)."); + addField("IgnoreWater", TypeBool, Offset(mIgnoreWater, VolumetricFog), "Set to true if volumetric fog should continue while submerged."); + addField("MinSize", TypeF32, Offset(mMinDisplaySize, VolumetricFog), "Min size (in pixels) for fog to be rendered."); + addField("FadeSize", TypeF32, Offset(mFadeSize, VolumetricFog), "Object size in pixels at which the FX-fading kicks in (0 disables fading)."); + + endGroup("VolumetricFogData"); + + addGroup("VolumetricFogModulation"); + + addField("texture", TypeImageFilename, Offset(mTextureName, VolumetricFog), + "A texture which contains Fogdensity modulator in the red channel and color with 1-green channel. No texture disables modulation."); + addField("tiles", TypeF32, Offset(mTexTiles, VolumetricFog), "How many times the texture is mapped to the object."); + addField("modStrength", TypeF32, Offset(mStrength, VolumetricFog), + "Overall strength of the density modulation (0 disables modulation)."); + addField("PrimSpeed", TypePoint2F, Offset(mSpeed1, VolumetricFog), + "Overall primary speed of the density modulation (x-speed(u) y-speed(v))"); + addField("SecSpeed", TypePoint2F, Offset(mSpeed2, VolumetricFog), + "Overall secundary speed of the density modulation (x-speed(u) y-speed(v))"); + + endGroup("VolumetricFogModulation"); + + addGroup("Reflections"); + addField("Reflectable", TypeBool, Offset(mReflect, VolumetricFog), "Set to true if volumetric fog should be reflected."); + addField("ReflectStrength", TypeF32, Offset(mFogReflStrength, VolumetricFog), "Strength of the reflections (0 disables the fog)."); + endGroup("Reflections"); + + addGroup("PostFX"); + addField("useGlow", TypeBool, Offset(mUseGlow, VolumetricFog), "Set to true if volumetric fog should use glow PostFX."); + addField("glowStrength", TypeF32, Offset(mGlowStrength, VolumetricFog),"Overall strength of the glow PostFX."); + addField("modLightRay", TypeBool, Offset(mModifLightRays, VolumetricFog), "Set to true if volumetric fog should modify the brightness of the Lightrays."); + addField("lightRayMod", TypeF32, Offset(mLightRayMod, VolumetricFog),"Modifier for LightRay PostFX when inside Fog."); + endGroup("PostFX"); + + Parent::initPersistFields(); +} + +void VolumetricFog::inspectPostApply() +{ + Parent::inspectPostApply(); + + mSpeed.set(mSpeed1.x, mSpeed1.y, mSpeed2.x, mSpeed2.y); + + setMaskBits(VolumetricFogMask | FogColorMask | FogDensityMask | FogModulationMask | FogPostFXMask | FogShapeMask); +} + +bool VolumetricFog::onAdd() +{ + if (!Parent::onAdd()) + return false; + + if (!VFRTM->IsInitialized()) + { + Con::errorf("No VolumetricFogRTManager present!!"); + return false; + } + + resetWorldBox(); + + mShapeLoaded = LoadShape(); + + setRenderTransform(mObjToWorld); + + addToScene(); + ColBox.set(getTransform(), (mObjBox.getExtents() * getScale() * COLBOX_SCALE)); + mObjSize = mWorldBox.getGreatestDiagonalLength(); + mObjScale = getScale(); + mTexTiles = mAbs(mTexTiles); + mSpeed.set(mSpeed1.x, mSpeed1.y, mSpeed2.x, mSpeed2.y); + mInvScale = (1.0f / getMax(getMax(mObjScale.x, mObjScale.y), mObjScale.z)); + + if (isClientObject()) + { + conn = GameConnection::getConnectionToServer(); + if (!conn) + { + Con::errorf("VolumetricFog::onAdd - No Serverconnection"); + return false; + } + + glowFX = static_cast(Sim::findObject("VolFogGlowPostFx")); + + mOldLightRayStrength = Con::getFloatVariable("$LightRayPostFX::brightScalar",1.0f); + + GuiCanvas* cv = dynamic_cast(Sim::findObject("Canvas")); + if (cv == NULL) + { + Con::errorf("VolumetricFog::onAdd - Canvas not found!!"); + return false; + } + mPlatformWindow = cv->getPlatformWindow(); + VolumetricFogRTManager::getVolumetricFogRTMResizeSignal().notify(this, &VolumetricFog::handleResize); + GuiCanvas::getCanvasSizeChangeSignal().notify(this, &VolumetricFog::handleCanvasResize); + + InitTexture(); + return setupRenderer(); + } + + VFRTM->IncFogObjects(); + + + return true; +} + +void VolumetricFog::onRemove() +{ + if (isClientObject()) + { + if (isTicking()) + { + setProcessTick(false); + if (mGlowing != 0) + { + mGlowing = 0; + glowFX->disable(); + } + _leaveFog(static_cast(conn->getControlObject())); + } + VolumetricFogRTManager::getVolumetricFogRTMResizeSignal().remove(this, &VolumetricFog::handleResize); + + GuiCanvas::getCanvasSizeChangeSignal().remove(this, &VolumetricFog::handleCanvasResize); + } + + removeFromScene(); + + VFRTM->DecFogObjects(); + + Parent::onRemove(); +} +void VolumetricFog::handleCanvasResize(GuiCanvas* canvas) +{ + UpdateBuffers(0,true); +} + +void VolumetricFog::handleResize(VolumetricFogRTManager *RTM, bool resize) +{ + if (resize) + { + mResizing = true; + RTM->FogAnswered(); + } + else + mResizing = false; + + if (mIsTextured) + { + F32 width = (F32)mPlatformWindow->getClientExtent().x; + F32 height = (F32)mPlatformWindow->getClientExtent().y; + + if (!mPlatformWindow->isFullscreen()) + height -= 20;//subtract caption bar from rendertarget size. + + mTexScale.x = 2.0f - ((F32)mTexture.getWidth() / width); + mTexScale.y = 2.0f - ((F32)mTexture.getHeight() / height); + } + + UpdateBuffers(0,true); +} + +//----------------------------------------------------------------------------- +// Loadshape extracted from TSMesh and TSShapeInstance +//----------------------------------------------------------------------------- + +bool VolumetricFog::LoadShape() +{ + GFXPrimitiveType GFXdrawTypes[] = { GFXTriangleList, GFXTriangleStrip }; + + if (!mShapeName || mShapeName[0] == '\0') + { + Con::errorf("VolumetricFog::LoadShape() - No shape name! Volumetric Fog will not be rendered!"); + return false; + } + + // Load shape, server side only reads bounds and radius + + Resource mShape; + mShape = ResourceManager::get().load(mShapeName); + if (bool(mShape) == false) + { + Con::errorf("VolumetricFog::LoadShape() - Unable to load shape: %s", mShapeName); + return false; + } + + mObjBox = mShape->bounds; + mRadius = mShape->radius; + resetWorldBox(); + + if (!isClientObject()) + return false; + + TSShapeInstance *mShapeInstance = new TSShapeInstance(mShape, false); + meshes mesh_detail; + + for (S32 i = 0; i < det_size.size(); i++) + { + if (det_size[i].indices != NULL) + delete(det_size[i].indices); + if (det_size[i].piArray != NULL) + delete(det_size[i].piArray); + if (det_size[i].verts != NULL) + delete(det_size[i].verts); + } + det_size.clear(); + + // browsing model for detail levels + + for (U32 i = 0; i < mShape->details.size(); i++) + { + const TSDetail *detail = &mShape->details[i]; + mesh_detail.det_size = detail->size; + mesh_detail.sub_shape = detail->subShapeNum; + mesh_detail.obj_det = detail->objectDetailNum; + mesh_detail.verts = NULL; + mesh_detail.piArray = NULL; + mesh_detail.indices = NULL; + + if (detail->size >= 0.0f && detail->subShapeNum >= 0) + det_size.push_back(mesh_detail); + } + + for (U32 i = 0; i < det_size.size(); i++) + { + const S32 ss = det_size[i].sub_shape; + if (ss >= 0) + { + const S32 start = mShape->subShapeFirstObject[ss]; + const S32 end = start + mShape->subShapeNumObjects[ss]; + + for (S32 j = start; j < end; j++) + { + // Loading shape, only the first mesh for each detail will be used! + + TSShapeInstance::MeshObjectInstance *meshObj = &mShapeInstance->mMeshObjects[j]; + if (!meshObj) + continue; + + TSMesh *mesh = meshObj->getMesh(det_size[i].obj_det); + if (mesh != NULL) + { + const U32 numNrms = mesh->mNumVerts; + + GFXVertexPNTT *tmpVerts = NULL; + tmpVerts = new GFXVertexPNTT[numNrms]; + mIsVBDirty = true; + + for (U32 k = 0; k < numNrms; k++) + { + Point3F norm = mesh->mVertexData[k].normal(); + Point3F vert = mesh->mVertexData[k].vert(); + Point2F uv = mesh->mVertexData[k].tvert(); + tmpVerts[k].point = vert; + tmpVerts[k].texCoord = uv; + tmpVerts[k].normal = norm; + } + det_size[i].verts = tmpVerts; + det_size[i].num_verts = numNrms; + + det_size[i].piArray = new Vector(); + GFXPrimitive pInfo; + + det_size[i].indices = new Vector(); + + for (U32 k = 0; k < mesh->indices.size(); k++) + det_size[i].indices->push_back(mesh->indices[k]); + + U32 primitivesSize = mesh->primitives.size(); + for (U32 k = 0; k < primitivesSize; k++) + { + const TSDrawPrimitive & draw = mesh->primitives[k]; + + GFXPrimitiveType drawType = GFXdrawTypes[draw.matIndex >> 30]; + + switch (drawType) + { + case GFXTriangleList: + pInfo.type = drawType; + pInfo.numPrimitives = draw.numElements / 3; + pInfo.startIndex = draw.start; + // Use the first index to determine which 16-bit address space we are operating in + pInfo.startVertex = mesh->indices[draw.start] & 0xFFFF0000; + pInfo.minIndex = pInfo.startVertex; + pInfo.numVertices = getMin((U32)0x10000, mesh->mNumVerts - pInfo.startVertex); + break; + + case GFXTriangleStrip: + pInfo.type = drawType; + pInfo.numPrimitives = draw.numElements - 2; + pInfo.startIndex = draw.start; + // Use the first index to determine which 16-bit address space we are operating in + pInfo.startVertex = mesh->indices[draw.start] & 0xFFFF0000; + pInfo.minIndex = pInfo.startVertex; + pInfo.numVertices = getMin((U32)0x10000, mesh->mNumVerts - pInfo.startVertex); + break; + + default: + Con::errorf("VolumetricFog::LoadShape Unknown drawtype!?!"); + return false; + break; + } + det_size[i].piArray->push_back(pInfo); + j = end; + } + } + else + { + Con::errorf("VolumetricFog::LoadShape Error loading mesh from shape!"); + delete mShapeInstance; + return false; + } + mIsVBDirty = true; + mIsPBDirty = true; + } + } + } + + mNumDetailLevels = det_size.size(); + mCurDetailLevel = 0; + UpdateBuffers(mCurDetailLevel); + delete mShapeInstance; + + return true; +} + +//----------------------------------------------------------------------------- +// UpdateBuffers called whenever detaillevel changes (LOD) +//----------------------------------------------------------------------------- + + +bool VolumetricFog::UpdateBuffers(U32 dl, bool force) +{ + if (mVB.isNull() || mIsVBDirty || dl != mCurDetailLevel || force) + { + mVB.set(GFX, det_size[dl].num_verts, GFXBufferTypeDynamic); + mIsVBDirty = false; + } + GFXVertexPNTT *vertPtr = mVB.lock(); + if (!vertPtr) + { + mVB.unlock(); + return false; + } + dMemcpy(vertPtr, det_size[dl].verts, sizeof (GFXVertexPNTT)* det_size[dl].num_verts); + mVB.unlock(); + + if (mIsPBDirty || mPB.isNull() || dl != mCurDetailLevel || force) + { +#ifdef TORQUE_DEBUG + mPB.set(GFX, det_size[dl].indices->size(), det_size[dl].piArray->size(), GFXBufferTypeDynamic, avar("%s() - VolFogPrimBuffer (line %d)", __FUNCTION__, __LINE__)); +#else + mPB.set(GFX, det_size[dl].indices->size(), det_size[dl].piArray->size(), GFXBufferTypeDynamic); +#endif + U16 *ibIndices = NULL; + GFXPrimitive *piInput = NULL; + mPB.lock(&ibIndices, &piInput); + dCopyArray(ibIndices, det_size[dl].indices->address(), det_size[dl].indices->size()); + dMemcpy(piInput, det_size[dl].piArray->address(), det_size[dl].piArray->size() * sizeof(GFXPrimitive)); + mPB.unlock(); + mIsPBDirty = false; + } + mCurDetailLevel = dl; + return true; +} + +U32 VolumetricFog::packUpdate(NetConnection *con, U32 mask, BitStream *stream) +{ + U32 retMask = Parent::packUpdate(con, mask, stream); + if (stream->writeFlag(mask & FogColorMask)) + stream->write(mFogColor); + if (stream->writeFlag(mask & FogDensityMask)) + stream->write(mFogDensity); + if (stream->writeFlag(mask & FogModulationMask)) + { + stream->write(mTextureName); + mTexTiles = mFabs(mTexTiles); + stream->write(mTexTiles); + stream->write(mStrength); + mathWrite(*stream, mSpeed); + } + if (stream->writeFlag(mask & FogPostFXMask)) + { + stream->writeFlag(mUseGlow); + stream->write(mGlowStrength); + stream->writeFlag(mModifLightRays); + stream->write(mLightRayMod); + } + if (stream->writeFlag(mask & VolumetricFogMask)) + { + stream->writeFlag(mIgnoreWater); + stream->writeFlag(mReflect); + stream->write(mFogReflStrength); + stream->writeFlag(mResizing); + stream->write(mMinDisplaySize); + stream->write(mFadeSize); + + } + if (stream->writeFlag(mask & FogShapeMask)) + { + stream->writeString(mShapeName); + mathWrite(*stream, getTransform()); + mathWrite(*stream, getScale()); + + if (!mShapeName || mShapeName[0] == '\0') + return retMask; + + Resource mShape; + mShape = ResourceManager::get().load(mShapeName); + if (bool(mShape) == false) + return retMask; + mObjBox = mShape->bounds; + mRadius = mShape->radius; + resetWorldBox(); + mObjSize = mWorldBox.getGreatestDiagonalLength(); + mObjScale = getScale(); + mInvScale = (1.0f / getMax(getMax(mObjScale.x, mObjScale.y), mObjScale.z)); + + } + return retMask; +} + +void VolumetricFog::unpackUpdate(NetConnection *con, BitStream *stream) +{ + Parent::unpackUpdate(con, stream); + + MatrixF mat; + VectorF scale; + VectorF mOldScale = getScale(); + String oldTextureName = mTextureName; + StringTableEntry oldShape = mShapeName; + + if (stream->readFlag())// Fog color + stream->read(&mFogColor); + if (stream->readFlag())// Fog Density + { + stream->read(&mFogDensity); + if (isTicking()) + { + char buf[20]; + dSprintf(buf, sizeof(buf), "%3.7f", mFogDensity); + Con::setVariable("$VolumetricFog::density", buf); + } + } + if (stream->readFlag())// Fog Modulation + { + stream->read(&mTextureName); + stream->read(&mTexTiles); + mTexTiles = mFabs(mTexTiles); + stream->read(&mStrength); + mathRead(*stream, &mSpeed); + mSpeed1.set(mSpeed.x, mSpeed.y); + mSpeed2.set(mSpeed.z, mSpeed.w); + + if (isProperlyAdded()) + { + if (oldTextureName != mTextureName) + InitTexture(); + if (oldTextureName.isNotEmpty() && mTextureName.isEmpty()) + { + mIsTextured = false; + mTexture.free(); + } + } + } + if (stream->readFlag())//Fog PostFX + { + mUseGlow = stream->readFlag(); + stream->read(&mGlowStrength); + mModifLightRays = stream->readFlag(); + stream->read(&mLightRayMod); + if (isTicking()) + { + char buf[20]; + dSprintf(buf, sizeof(buf), "%3.7f", mGlowStrength); + Con::setVariable("$VolFogGlowPostFx::glowStrength", buf); + if (mUseGlow && !glowFX->isEnabled()) + glowFX->enable(); + if (!mUseGlow && glowFX->isEnabled()) + glowFX->disable(); + if (mModifLightRays) + { + char buf[20]; + dSprintf(buf, sizeof(buf), "%3.7f", mOldLightRayStrength * mLightRayMod); + Con::setVariable("$LightRayPostFX::brightScalar", buf); + } + if (!mModifLightRays) + { + char buf[20]; + dSprintf(buf, sizeof(buf), "%3.7f", mOldLightRayStrength); + Con::setVariable("$LightRayPostFX::brightScalar", buf); + } + } + } + if (stream->readFlag())//Volumetric Fog + { + mIgnoreWater = stream->readFlag(); + mReflect = stream->readFlag(); + stream->read(&mFogReflStrength); + mResizing = stream->readFlag(); + stream->read(&mMinDisplaySize); + stream->read(&mFadeSize); + } + if (stream->readFlag())//Fog shape + { + mShapeName = stream->readSTString(); + mathRead(*stream, &mat); + mathRead(*stream, &scale); + + if (strcmp(oldShape, mShapeName) != 0) + { + mIsVBDirty = true; + mShapeLoaded = LoadShape(); + } + + setScale(scale); + setTransform(mat); + ColBox.set(getTransform(), (mObjBox.getExtents() * getScale() * COLBOX_SCALE)); + mObjSize = mWorldBox.getGreatestDiagonalLength(); + mObjScale = getScale(); + mInvScale = (1.0f / getMax(getMax(mObjScale.x, mObjScale.y), mObjScale.z)); + } +} + +void VolumetricFog::processTick(const Move* move) +{ + Parent::processTick(move); + mCounter++; + if ( mGlowing==1 && mCurGlow < mGlowStrength ) + { + mCurGlow += (mGlowStrength / 10.0); + char buf[20]; + dSprintf(buf, sizeof(buf), "%3.7f", mCurGlow); + Con::setVariable("$VolFogGlowPostFx::glowStrength", buf); + } + else if ( mGlowing == 2 && mCurGlow > 0.0f ) + { + mCurGlow -= (mGlowStrength / 5.0f); + if (mCurGlow <= 0.0f) + { + glowFX->disable(); + mGlowing = 0; + setProcessTick(false); + return; + } + else + { + char buf[20]; + dSprintf(buf, sizeof(buf), "%3.7f", mCurGlow); + Con::setVariable("$VolFogGlowPostFx::glowStrength", buf); + } + } + if (mCounter == 3) + { + ShapeBase* control = static_cast(conn->getControlObject()); + + MatrixF xfm; + control->getRenderEyeTransform(&xfm); + Point3F pos = xfm.getPosition(); + if (!ColBox.isContained(pos)) + _leaveFog(control); + mCounter = 0; + } +} + +void VolumetricFog::_enterFog(ShapeBase *control) +{ + if (mUseGlow) + { + if (glowFX) + { + mCurGlow = 0.0f; + Con::setVariable("$VolFogGlowPostFx::glowStrength", "0.0"); + glowFX->enable(); + mGlowing = 1; + } + } + if (mModifLightRays) + { + char buf[20]; + dSprintf(buf, sizeof(buf), "%3.7f", mOldLightRayStrength * mLightRayMod); + Con::setVariable("$LightRayPostFX::brightScalar", buf); + } + mCounter = 0; + char buf[20]; + dSprintf(buf, sizeof(buf), "%3.7f", mFogDensity); + Con::setVariable("$VolumetricFog::density", buf); + setProcessTick(true); + if (control) + onEnterFog_callback(control->getId()); +} + +void VolumetricFog::_leaveFog(ShapeBase *control) +{ + mCamInFog = false; + Con::setVariable("$VolumetricFog::density", "0.0"); + if (mModifLightRays) + { + char buf[20]; + dSprintf(buf, sizeof(buf), "%3.7f", mOldLightRayStrength); + Con::setVariable("$LightRayPostFX::brightScalar", buf); + } + if (mUseGlow) + { + if (glowFX && mGlowing != 2) + { + mCurGlow = mGlowStrength; + mGlowing = 2; + if (control) + onLeaveFog_callback(control->getId()); + } + } + else + { + setProcessTick(false); + if (control) + onLeaveFog_callback(control->getId()); + } +} + +//----------------------------------------------------------------------------- +// Setting up the renderers +//----------------------------------------------------------------------------- + +bool VolumetricFog::setupRenderer() +{ + // Search for the prepass rendertarget and shadermacros. + + mPrepassTarget = NamedTexTarget::find("prepass"); + if (!mPrepassTarget.isValid()) + { + Con::errorf("VolumetricFog::setupRenderer - could not find PrepassTarget"); + return false; + } + + Vector macros; + if (mPrepassTarget) + mPrepassTarget->getShaderMacros(¯os); + + // Search the depth and frontbuffers which are created by the VolumetricFogRTManager + + mDepthBufferTarget = NamedTexTarget::find("volfogdepth"); + if (!mDepthBufferTarget.isValid()) + { + Con::errorf("VolumetricFog::setupRenderer - could not find depthbuffer"); + return false; + } + + mFrontBufferTarget = NamedTexTarget::find("volfogfront"); + if (!mFrontBufferTarget.isValid()) + { + Con::errorf("VolumetricFog::setupRenderer - could not find frontbuffer"); + return false; + } + + // Find and setup the prepass Shader + + ShaderData *shaderData; + mPrePassShader = Sim::findObject("VolumetricFogPrePassShader", shaderData) ? + shaderData->getShader() : NULL; + if (!mPrePassShader) + { + Con::errorf("VolumetricFog::setupRenderer - could not find VolumetricFogPrePassShader"); + return false; + } + + // Create ShaderConstBuffer and Handles + + mPPShaderConsts = mPrePassShader->allocConstBuffer(); + if (mPPShaderConsts.isNull()) + { + Con::errorf("VolumetricFog::setupRenderer - could not allocate ShaderConstants 1."); + return false; + } + + mPPModelViewProjSC = mPrePassShader->getShaderConstHandle("$modelView"); + + // Find and setup the VolumetricFog Shader + + shaderData = NULL; + mShader = Sim::findObject("VolumetricFogShader", shaderData) ? + shaderData->getShader(macros) : NULL; + if (!mShader) + { + Con::errorf("VolumetricFog::setupRenderer - could not find VolumetricFogShader"); + return false; + } + + // Create ShaderConstBuffer and Handles + + mShaderConsts = mShader->allocConstBuffer(); + if (mShaderConsts.isNull()) + { + Con::errorf("VolumetricFog::setupRenderer - could not allocate ShaderConstants 2."); + return false; + } + + mModelViewProjSC = mShader->getShaderConstHandle("$modelView"); + mFadeSizeSC = mShader->getShaderConstHandle("$fadesize"); + mFogColorSC = mShader->getShaderConstHandle("$fogColor"); + mFogDensitySC = mShader->getShaderConstHandle("$fogDensity"); + mPreBias = mShader->getShaderConstHandle("$preBias"); + mAccumTime = mShader->getShaderConstHandle("$accumTime"); + mIsTexturedSC = mShader->getShaderConstHandle("$textured"); + mTexTilesSC = mShader->getShaderConstHandle("$numtiles"); + mModStrengthSC = mShader->getShaderConstHandle("$modstrength"); + mModSpeedSC = mShader->getShaderConstHandle("$modspeed"); + mViewPointSC = mShader->getShaderConstHandle("$viewpoint"); + mTexScaleSC = mShader->getShaderConstHandle("$texscale"); + + // Find and setup the reflection Shader + + shaderData = NULL; + mReflectionShader = Sim::findObject("VolumetricFogReflectionShader", shaderData) ? + shaderData->getShader() : NULL; + if (!mReflectionShader) + { + Con::errorf("VolumetricFog::setupRenderer - could not find VolumetricFogReflectionShader"); + return false; + } + + mReflShaderConsts = mReflectionShader->allocConstBuffer(); + if (mReflShaderConsts.isNull()) + { + Con::errorf("VolumetricFog::setupRenderer - could not allocate ShaderConstants for VolumetricFogReflectionShader."); + return false; + } + + mReflModelViewProjSC = mReflectionShader->getShaderConstHandle("$modelView"); + mReflFogColorSC = mReflectionShader->getShaderConstHandle("$fogColor"); + mReflFogDensitySC = mReflectionShader->getShaderConstHandle("$fogDensity"); + mReflFogStrengthSC = mReflectionShader->getShaderConstHandle("$reflStrength"); + + // Create the prepass StateBlock + + desc_preD.setCullMode(GFXCullCW); + desc_preD.setBlend(true); + desc_preD.setZReadWrite(false, false); + desc_preD.stencilEnable = false; + desc_preF.setCullMode(GFXCullCCW); + desc_preF.setBlend(true); + desc_preF.setZReadWrite(true, false); + desc_preF.stencilEnable = false; + + // Create the VolumetricFog StateBlock + + descD.setCullMode(GFXCullCW); + descD.setBlend(true); + descD.setZReadWrite(false, false);// desc.setZReadWrite(true, false); + + // prepassBuffer sampler + descD.samplersDefined = true; + descD.samplers[0].addressModeU = GFXAddressClamp; + descD.samplers[0].addressModeV = GFXAddressClamp; + descD.samplers[0].addressModeW = GFXAddressClamp; + descD.samplers[0].magFilter = GFXTextureFilterLinear; + descD.samplers[0].minFilter = GFXTextureFilterLinear; + descD.samplers[0].mipFilter = GFXTextureFilterLinear; + descD.samplers[0].textureColorOp = GFXTOPDisable; + + // DepthBuffer sampler + descD.samplers[1].addressModeU = GFXAddressClamp; + descD.samplers[1].addressModeV = GFXAddressClamp; + descD.samplers[1].addressModeW = GFXAddressClamp; + descD.samplers[1].magFilter = GFXTextureFilterLinear; + descD.samplers[1].minFilter = GFXTextureFilterLinear; + descD.samplers[1].mipFilter = GFXTextureFilterLinear; + descD.samplers[1].textureColorOp = GFXTOPModulate; + + // FrontBuffer sampler + descD.samplers[2].addressModeU = GFXAddressClamp; + descD.samplers[2].addressModeV = GFXAddressClamp; + descD.samplers[2].addressModeW = GFXAddressClamp; + descD.samplers[2].magFilter = GFXTextureFilterLinear; + descD.samplers[2].minFilter = GFXTextureFilterLinear; + descD.samplers[2].mipFilter = GFXTextureFilterLinear; + descD.samplers[2].textureColorOp = GFXTOPModulate; + + // animated density modifier map sampler + descD.samplers[3].addressModeU = GFXAddressWrap; + descD.samplers[3].addressModeV = GFXAddressWrap; + descD.samplers[3].addressModeW = GFXAddressWrap; + descD.samplers[3].magFilter = GFXTextureFilterLinear; + descD.samplers[3].minFilter = GFXTextureFilterLinear; + descD.samplers[3].mipFilter = GFXTextureFilterLinear; + descD.samplers[3].textureColorOp = GFXTOPModulate; + + dMemcpy(&descF, &descD, sizeof(GFXStateBlockDesc)); + descF.setCullMode(GFXCullCCW); + descF.setBlend(true); + descF.setZReadWrite(true, false); + + desc_refl.setCullMode(GFXCullCCW); + desc_refl.setBlend(true); + desc_refl.setZReadWrite(true, false); + + mStateblock_preD = GFX->createStateBlock(desc_preD); + mStateblock_preF = GFX->createStateBlock(desc_preF); + mStateblockD = GFX->createStateBlock(descD); + mStateblockF = GFX->createStateBlock(descF); + mStateblock_refl = GFX->createStateBlock(desc_refl); + + // Create Rendertarget + + z_buf = GFX->allocRenderToTextureTarget(); + if (z_buf == NULL) + { + Con::errorf("VolumetricFog::setupRenderer - Could not create Render Target"); + return false; + } + + return true; +} + +void VolumetricFog::prepRenderImage(SceneRenderState *state) +{ + if (!mShapeLoaded || mFogDensity <= 0.0f || mResizing) + return; + + if (!state->isDiffusePass()) + { + if (!state->isReflectPass()) + return; + } + + PROFILE_SCOPE(VolumetricFog_prepRenderImage); + + // Time critical therefore static_cast + ShapeBase* control = static_cast(conn->getControlObject()); + if (control->getWaterCoverage() >= 0.9f && !mIgnoreWater) + return; + + camPos = state->getCameraPosition(); + F32 dist = (camPos - getBoxCenter()).len(); + F32 scaleFactor = dist * mInvScale; + if (scaleFactor <= 0.0f) + { + if (mCurDetailLevel != 0) + UpdateBuffers(0); + } + const F32 pixelScale = state->getViewport().extent.y / 300.0f; + + mPixelSize = (mRadius / scaleFactor) * state->getWorldToScreenScale().y * pixelScale; + if (mPixelSize < mMinDisplaySize) + return; + if (mNumDetailLevels > 1) + { + if ((det_size[mCurDetailLevel].det_size > mPixelSize) && (mCurDetailLevel < mNumDetailLevels - 1)) + UpdateBuffers(mCurDetailLevel + 1); + else if (mCurDetailLevel > 0) + { + if (mPixelSize >= det_size[mCurDetailLevel - 1].det_size) + UpdateBuffers(mCurDetailLevel - 1); + } + } + + if (state->isReflectPass() && mReflect) + { + ObjectRenderInst *ri = state->getRenderPass()->allocInst(); + ri->renderDelegate.bind(this, &VolumetricFog::reflect_render); + ri->type = RenderPassManager::RIT_VolumetricFog; + ri->translucentSort = true; + ri->sortDistSq = getRenderWorldBox().getSqDistanceToPoint(camPos); + if (dist < 1.0f) + ri->defaultKey = 1; + else + ri->defaultKey = U32(dist); + state->getRenderPass()->addInst(ri); + return; + } + else if (state->isDiffusePass()) + { + + viewDist = state->getFarPlane(); + mFOV = state->getCameraFrustum().getFov() / M_PI_F; + Point3F mEyeVec = state->getVectorEye() * viewDist; + + mViewPoint.x = ((mAtan2(mEyeVec.x, mEyeVec.y) / M_PI_F) + 1.0f) * mTexTiles; + mViewPoint.y = (0.5f - (mAsin(mEyeVec.z) / M_PI_F)) * mTexTiles; + + bool isInside = ColBox.isContained(camPos); + if (isInside && !mCamInFog) + { + mCamInFog = true; + _enterFog(control); + } + else if (!isInside && mCamInFog) + mCamInFog = false; + + ObjectRenderInst *ri = state->getRenderPass()->allocInst(); + ri->renderDelegate.bind(this, &VolumetricFog::render); + ri->type = RenderPassManager::RIT_VolumetricFog; + ri->translucentSort = true; + ri->sortDistSq = getRenderWorldBox().getSqDistanceToPoint(camPos); + if (dist < 1.0f) + ri->defaultKey = 1; + else + ri->defaultKey = U32(dist); + state->getRenderPass()->addInst(ri); + return; + } + return; +} + +void VolumetricFog::render(ObjectRenderInst *ri, SceneRenderState *state, BaseMatInstance *overrideMat) +{ + if (overrideMat || !mShapeLoaded || !isClientObject() || mResizing) + return; + + PROFILE_SCOPE(VolumetricFog_Render); + + GFXTransformSaver saver; + GFX->setVertexBuffer(mVB); + GFX->setPrimitiveBuffer(mPB); + + MatrixF mat = getRenderTransform(); + mat.scale(mObjScale); + GFX->multWorld(mat); + + GFX->setShader(mPrePassShader); + GFX->setShaderConstBuffer(mPPShaderConsts); + GFX->setStateBlock(mStateblock_preD); + + // Set all the shader consts... + + MatrixF xform(GFX->getProjectionMatrix()); + xform *= GFX->getViewMatrix(); + xform *= GFX->getWorldMatrix(); + + mPPShaderConsts->setSafe(mPPModelViewProjSC, xform); + + GFXTextureObject *mDepthBuffer = mDepthBufferTarget ? mDepthBufferTarget->getTexture(0) : NULL; + GFXTextureObject *mFrontBuffer = mFrontBufferTarget ? mFrontBufferTarget->getTexture(0) : NULL; + + GFX->pushActiveRenderTarget(); + + //render backside to target mDepthBuffer + z_buf->attachTexture(GFXTextureTarget::DepthStencil, GFXTextureTarget::sDefaultDepthStencil); + z_buf->attachTexture(GFXTextureTarget::Color0, mDepthBuffer); + + GFX->setActiveRenderTarget(z_buf); + GFX->clear(GFXClearStencil | GFXClearTarget , ColorI(0,0,0,0), 1.0f, 0); + + GFX->drawPrimitive(0); + z_buf->resolve(); + + //render frontside to target mFrontBuffer + z_buf->attachTexture(GFXTextureTarget::DepthStencil, GFXTextureTarget::sDefaultDepthStencil); + z_buf->attachTexture(GFXTextureTarget::Color0, mFrontBuffer); + GFX->clear(GFXClearStencil | GFXClearTarget, ColorI(0, 0, 0, 0), 1.0f, 0); + + GFX->setStateBlock(mStateblock_preF); + + GFX->drawPrimitive(0); + z_buf->resolve(); + + GFX->popActiveRenderTarget(); + z_buf->attachTexture(GFXTextureTarget::Color0, NULL); + + //render Volumetric Fog + GFX->setShader(mShader); + GFX->setShaderConstBuffer(mShaderConsts); + + mShaderConsts->setSafe(mModelViewProjSC, xform); + if (mFadeSize > 0.0f) + mShaderConsts->setSafe(mFadeSizeSC, mClampF(mPixelSize / mFadeSize, 0.0f, 1.0f)); + else + mShaderConsts->setSafe(mFadeSizeSC, 1.0f); + mShaderConsts->setSafe(mFogColorSC, mFogColor); + mShaderConsts->setSafe(mFogDensitySC, mFogDensity); + mShaderConsts->setSafe(mPreBias, viewDist); + mShaderConsts->setSafe(mAccumTime, (F32)Sim::getCurrentTime() / 1000.0f); + mShaderConsts->setSafe(mModStrengthSC, mStrength); + mShaderConsts->setSafe(mModSpeedSC, mSpeed); + mShaderConsts->setSafe(mViewPointSC, mViewPoint); + mShaderConsts->setSafe(mTexScaleSC, mTexScale * mFOV); + mShaderConsts->setSafe(mTexTilesSC, mTexTiles); + + GFXTextureObject *prepasstex = mPrepassTarget ? mPrepassTarget->getTexture(0) : NULL; + + GFX->setTexture(0, prepasstex); + GFX->setTexture(1, mDepthBuffer); + GFX->setTexture(2, mFrontBuffer); + + if (mIsTextured && mStrength > 0.0f) + { + GFX->setTexture(3, mTexture); + mShaderConsts->setSafe(mIsTexturedSC, 1.0f); + } + else + mShaderConsts->setSafe(mIsTexturedSC, 0.0f); + + if (mCamInFog) + { + /*GFXLockedRect *rect=mDepthBuffer->lock(); + U32 pixoffset = 0;// 1572864 + (512 * 4); + U8 red = rect->bits[pixoffset]; + U8 green = rect->bits[pixoffset+1]; + U8 blue = rect->bits[pixoffset+2]; + U8 alpha = rect->bits[pixoffset+3]; + mDepthBuffer->unlock(); + S32 lval = ((alpha << 24) + (blue << 16) + (green << 8) + (red)); + F32 fval = ((F32)lval / S32_MAX); + Con::printf("Color %d %d %d %d %d %f", red, green, blue, alpha, lval, fval);*/ + GFX->setStateBlock(mStateblockD); + } + else + GFX->setStateBlock(mStateblockF); + + GFX->drawPrimitive(0); +} + +void VolumetricFog::reflect_render(ObjectRenderInst *ri, SceneRenderState *state, BaseMatInstance *overrideMat) +{ + if (overrideMat || !mShapeLoaded || !isClientObject() || mResizing || (mFogReflStrength==0.0f)) + return; + + GFXTransformSaver saver; + GFX->setVertexBuffer(mVB); + GFX->setPrimitiveBuffer(mPB); + + MatrixF mat = getRenderTransform(); + mat.scale(mObjScale); + GFX->multWorld(mat); + + GFX->setShader(mReflectionShader); + GFX->setShaderConstBuffer(mReflShaderConsts); + GFX->setStateBlock(mStateblock_refl); + + // Set all the shader consts... + MatrixF xform(GFX->getProjectionMatrix()); + xform *= GFX->getViewMatrix(); + xform *= GFX->getWorldMatrix(); + + mReflShaderConsts->setSafe(mReflModelViewProjSC, xform); + mReflShaderConsts->setSafe(mReflFogColorSC, mFogColor); + mReflShaderConsts->setSafe(mReflFogDensitySC, mFogDensity); + mReflShaderConsts->setSafe(mReflFogStrengthSC, mFogReflStrength); + + GFX->drawPrimitive(0); +} + +//----------------------------------------------------------------------------- +// InitTexture is called whenever a modulation texture is added to the object +//----------------------------------------------------------------------------- + +void VolumetricFog::InitTexture() +{ + mIsTextured = false; + + if (mTextureName.isNotEmpty()) + mTexture.set(mTextureName, &GFXDefaultStaticDiffuseProfile, "VolumetricFogMod"); + + if (!mTexture.isNull()) + { + mIsTextured = true; + + F32 width = (F32)mPlatformWindow->getClientExtent().x; + F32 height = (F32)mPlatformWindow->getClientExtent().y; + + if (!mPlatformWindow->isFullscreen()) + height -= 20;//subtract caption bar from rendertarget size. + + mTexScale.x = 2.0f - ((F32)mTexture.getWidth() / width); + mTexScale.y = 2.0f - ((F32)mTexture.getHeight() / height); + } +} + +void VolumetricFog::setFogColor(ColorF color) +{ + mFogColor.set(255 * color.red,255 * color.green,255 * color.blue); + setMaskBits(FogColorMask); +} + +void VolumetricFog::setFogColor(ColorI color) +{ + mFogColor = color; + setMaskBits(FogColorMask); +} + +void VolumetricFog::setFogDensity(F32 density) +{ + if (density < 0.0f) + density = 0.0f; + mFogDensity = density; + setMaskBits(FogDensityMask); +} + +void VolumetricFog::setFogModulation(F32 strength,Point2F speed1,Point2F speed2) +{ + mStrength = strength; + mSpeed1 = speed1; + mSpeed2 = speed2; + mSpeed.set(speed1.x, speed1.y, speed2.x, speed2.y); + setMaskBits(FogModulationMask); +} + +void VolumetricFog::setFogGlow(bool on_off, F32 strength) +{ + mUseGlow = on_off; + mGlowStrength = strength; + setMaskBits(FogPostFXMask); +} + +void VolumetricFog::setFogLightray(bool on_off, F32 strength) +{ + mModifLightRays = on_off; + mLightRayMod = strength; + setMaskBits(FogPostFXMask); +} + +bool VolumetricFog::isInsideFog() +{ + return mCamInFog; +} + +DefineEngineMethod(VolumetricFog, SetFogColorF, void, (ColorF new_color), , + "@brief Changes the color of the fog\n\n." + "@params new_color the new fog color (rgb 0.0 - 1.0, a is ignored.") +{ + object->setFogColor(new_color); +} + +DefineEngineMethod(VolumetricFog, SetFogColor, void, (ColorI new_color), , + "@brief Changes the color of the fog\n\n." + "@params new_color the new fog color (rgb 0-255, a is ignored.") +{ + object->setFogColor(new_color); +} + +DefineEngineMethod(VolumetricFog, SetFogDensity, void, (F32 new_density), , + "@brief Changes the density of the fog\n\n." + "@params new_density the new fog density.") +{ + object->setFogDensity(new_density); +} + +DefineEngineMethod(VolumetricFog, SetFogModulation, void, (F32 new_strenght, Point2F new_speed1, Point2F new_speed2), , + "@brief Changes the modulation of the fog\n\n." + "@params new_strenght the new strength of the modulation.\n" + "@params new_speed1 the new speed (x y) of the modulation layer 1.\n" + "@params new_speed2 the new speed (x y) of the modulation layer 2.\n") +{ + object->setFogModulation(new_strenght, new_speed1, new_speed2); +} + +DefineEngineMethod(VolumetricFog, SetFogGlow, void, (bool on_off,F32 strength), , + "@brief Changes the glow postfx when inside the fog\n\n." + "@params on_off set to true to enable glow.\n" + "@params strength glow strength.\n") +{ + object->setFogGlow(on_off, strength); +} + +DefineEngineMethod(VolumetricFog, SetFogLightray, void, (bool on_off, F32 strength), , + "@brief Changes the lightrays postfx when inside the fog\n\n." + "@params on_off set to true to modification of the lightray postfx.\n" + "@params strength lightray strength.\n") +{ + object->setFogLightray(on_off, strength); +} + +DefineEngineMethod(VolumetricFog, isInsideFog, bool, (), , + "@brief returns true if control object is inside the fog\n\n.") +{ + return object->isInsideFog(); +} \ No newline at end of file diff --git a/Engine/source/environment/VolumetricFog.h b/Engine/source/environment/VolumetricFog.h new file mode 100644 index 0000000000..22db6747b2 --- /dev/null +++ b/Engine/source/environment/VolumetricFog.h @@ -0,0 +1,241 @@ +//----------------------------------------------------------------------------- +// Copyright (c) 2012 GarageGames, LLC +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +// IN THE SOFTWARE. +//----------------------------------------------------------------------------- + +#ifndef _VolumetricFog_H_ +#define _VolumetricFog_H_ + +#ifndef _SCENEOBJECT_H_ +#include "scene/sceneObject.h" +#endif +#ifndef _MATTEXTURETARGET_H_ +#include "materials/matTextureTarget.h" +#endif +#ifndef _GFXSHADER_H_ +#include "gfx/gfxShader.h" +#endif +#ifndef _GFXTARGET_H_ +#include "gfx/gfxTarget.h" +#endif +#ifndef _GFXVERTEXBUFFER_H_ +#include "gfx/gfxVertexBuffer.h" +#endif +#ifndef _TSSHAPE_H_ +#include "ts/tsShape.h" +#endif +#ifndef _POST_EFFECT_H_ +#include "postFx/postEffect.h" +#endif + +#include "gui/core/guiCanvas.h" + +class VolumetricFogRTManager; + +class VolumetricFog : public SceneObject +{ + typedef SceneObject Parent; + + // Maskbits for updating + enum + { + VolumetricFogMask = Parent::NextFreeMask, + FogColorMask = Parent::NextFreeMask << 1, + FogDensityMask = Parent::NextFreeMask << 2, + FogModulationMask = Parent::NextFreeMask << 3, + FogPostFXMask = Parent::NextFreeMask << 4, + FogShapeMask = Parent::NextFreeMask << 5, + NextFreeMask = Parent::NextFreeMask << 6 + }; + + // Struct which holds the shape details + struct meshes + { + F32 det_size; + S32 sub_shape; + S32 obj_det; + U32 num_verts; + GFXVertexPNTT *verts; + Vector *piArray; + Vector *indices; + }; + +protected: + // Rendertargets; + GFXTextureTargetRef z_buf; + NamedTexTargetRef mPrepassTarget; + NamedTexTargetRef mDepthBufferTarget; + NamedTexTargetRef mFrontBufferTarget; + + // Fog Modulation texture + GFXTexHandle mTexture; + + // Shaders + GFXShaderRef mShader; + GFXShaderRef mPrePassShader; + GFXShaderRef mReflectionShader; + + // Stateblocks + GFXStateBlockDesc descD; + GFXStateBlockDesc descF; + GFXStateBlockDesc desc_preD; + GFXStateBlockDesc desc_preF; + GFXStateBlockDesc desc_refl; + + GFXStateBlockRef mStateblockD; + GFXStateBlockRef mStateblockF; + GFXStateBlockRef mStateblock_preD; + GFXStateBlockRef mStateblock_preF; + GFXStateBlockRef mStateblock_refl; + + // Shaderconstants + GFXShaderConstBufferRef mShaderConsts; + GFXShaderConstHandle *mModelViewProjSC; + GFXShaderConstHandle *mFadeSizeSC; + GFXShaderConstHandle *mFogColorSC; + GFXShaderConstHandle *mFogDensitySC; + GFXShaderConstHandle *mPreBias; + GFXShaderConstHandle *mAccumTime; + GFXShaderConstHandle *mIsTexturedSC; + GFXShaderConstHandle *mModSpeedSC; + GFXShaderConstHandle *mModStrengthSC; + GFXShaderConstHandle *mViewPointSC; + GFXShaderConstHandle *mTexScaleSC; + GFXShaderConstHandle *mTexTilesSC; + + GFXShaderConstBufferRef mPPShaderConsts; + GFXShaderConstHandle *mPPModelViewProjSC; + + GFXShaderConstBufferRef mReflShaderConsts; + GFXShaderConstHandle *mReflModelViewProjSC; + GFXShaderConstHandle *mReflFogColorSC; + GFXShaderConstHandle *mReflFogDensitySC; + GFXShaderConstHandle *mReflFogStrengthSC; + + // Vertex and Prim. Buffer + GFXVertexBufferHandle mVB; + GFXPrimitiveBufferHandle mPB; + + // Fog volume data; + StringTableEntry mShapeName; + ColorI mFogColor; + F32 mFogDensity; + bool mIgnoreWater; + bool mReflect; + Vector det_size; + bool mShapeLoaded; + F32 mPixelSize; + F32 mFadeSize; + U32 mCurDetailLevel; + U32 mNumDetailLevels; + F32 mObjSize; + F32 mRadius; + OrientedBox3F ColBox; + VectorF mObjScale; + F32 mMinDisplaySize; + F32 mInvScale; + + // Fog Modulation data + String mTextureName; + bool mIsTextured; + F32 mTexTiles; + F32 mStrength; + Point2F mSpeed1; + Point2F mSpeed2; + Point4F mSpeed; + Point2F mTexScale; + + // Fog Rendering data + Point3F camPos; + Point2F mViewPoint; + F32 mFOV; + F32 viewDist; + bool mIsVBDirty; + bool mIsPBDirty; + bool mCamInFog; + bool mResizing; + PlatformWindow *mPlatformWindow; + + // Reflections + F32 mFogReflStrength; + + // PostFX + PostEffect *glowFX; + bool mUseGlow; + F32 mGlowStrength; + U8 mGlowing; + F32 mCurGlow; + + bool mModifLightRays; + F32 mLightRayMod; + F32 mOldLightRayStrength; + + GameConnection* conn; + U32 mCounter; + + void ResizeRT(PlatformWindow *win, bool resize); + +protected: + // Protected methods + bool onAdd(); + void onRemove(); + void handleResize(VolumetricFogRTManager *RTM, bool resize); + void handleCanvasResize(GuiCanvas* canvas); + + bool LoadShape(); + bool setupRenderer(); + void InitTexture(); + bool UpdateBuffers(U32 dl,bool force=true); + + void processTick(const Move *move); + void _enterFog(ShapeBase *control); + void _leaveFog(ShapeBase *control); + +public: + // Public methods + VolumetricFog(); + ~VolumetricFog(); + + static void initPersistFields(); + virtual void inspectPostApply(); + + U32 packUpdate(NetConnection *conn, U32 mask, BitStream *stream); + void unpackUpdate(NetConnection *conn, BitStream *stream); + + void prepRenderImage(SceneRenderState* state); + void render(ObjectRenderInst *ri, SceneRenderState *state, BaseMatInstance *overrideMat); + void reflect_render(ObjectRenderInst *ri, SceneRenderState *state, BaseMatInstance *overrideMat); + + // Methods for modifying & networking various fog elements + // Used in script + void setFogColor(ColorF color); + void setFogColor(ColorI color); + void setFogDensity(F32 density); + void setFogModulation(F32 strength, Point2F speed1, Point2F speed2); + void setFogGlow(bool on_off, F32 strength); + void setFogLightray(bool on_off, F32 strength); + bool isInsideFog(); + + DECLARE_CONOBJECT(VolumetricFog); + + DECLARE_CALLBACK(void, onEnterFog, (SimObjectId obj)); + DECLARE_CALLBACK(void, onLeaveFog, (SimObjectId obj)); +}; +#endif \ No newline at end of file diff --git a/Engine/source/environment/VolumetricFogRTManager.cpp b/Engine/source/environment/VolumetricFogRTManager.cpp new file mode 100644 index 0000000000..cbc87c6680 --- /dev/null +++ b/Engine/source/environment/VolumetricFogRTManager.cpp @@ -0,0 +1,301 @@ +//----------------------------------------------------------------------------- +// Copyright (c) 2012 GarageGames, LLC +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +// IN THE SOFTWARE. +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- +// Volumetric Fog Rendertarget Manager +// +// Creates and maintains one set of rendertargets to be used by every +// VolumetricFog object in the scene. +// +// Will be loaded at startup end removed when ending game. +// +//----------------------------------------------------------------------------- + +#include "VolumetricFogRTManager.h" +#include "core/module.h" +#include "scene/sceneManager.h" +#include "windowManager/platformWindowMgr.h" +#include "console/engineAPI.h" +#include "gui/core/guiCanvas.h" + +MODULE_BEGIN(VolumetricFogRTManager) + +MODULE_INIT_AFTER(Scene) +MODULE_SHUTDOWN_BEFORE(Scene) + +MODULE_INIT +{ + gVolumetricFogRTManager = new VolumetricFogRTManager; + gClientSceneGraph->addObjectToScene(gVolumetricFogRTManager); +} + +MODULE_SHUTDOWN +{ + gClientSceneGraph->removeObjectFromScene(gVolumetricFogRTManager); + SAFE_DELETE(gVolumetricFogRTManager); +} + +MODULE_END; + +ConsoleDocClass( VolumetricFogRTManager, + "@brief Creates and maintains one set of rendertargets to be used by every\n" + "VolumetricFog object in the scene.\n\n" + "Will be loaded at startup end removed when ending game.\n\n" + "Methods:\n" + " get() returns the currently loaded VolumetricFogRTManager, also accessible\n" + " through VFRTM define.\n" + " Init() Initializes the rendertargets, called when a VolumetricFog object is\n" + " added to the scene.\n" + " isInitialed() returns true if Rendertargets are present, false if not, then\n" + " Init() should be called to create the rendertargets.\n" + " setQuality(U32 Quality) Normally a rendertarget has the same size as the view,\n" + " with this method you can scale down the size of it.\n" + " Be aware that scaling down will introduce renderartefacts.\n" + "@ingroup Atmosphere" + ); + +VolumetricFogRTMResizeSignal VolumetricFogRTManager::smVolumetricFogRTMResizeSignal; + +VolumetricFogRTManager *gVolumetricFogRTManager = NULL; +S32 VolumetricFogRTManager::mTargetScale = 1; + +IMPLEMENT_CONOBJECT(VolumetricFogRTManager); + +VolumetricFogRTManager::VolumetricFogRTManager() +{ + setGlobalBounds(); + + mTypeMask |= EnvironmentObjectType; + mNetFlags.set(IsGhost); + + mIsInitialized = false; + mNumFogObjects = 0; +} + +VolumetricFogRTManager::~VolumetricFogRTManager() +{ + if (mFrontTarget.isRegistered()) + mFrontTarget.unregister(); + + if (mDepthTarget.isRegistered()) + mDepthTarget.unregister(); + + if (mDepthBuffer.isValid()) + mDepthBuffer->kill(); + + if (mFrontBuffer.isValid()) + mFrontBuffer->kill(); +} + +void VolumetricFogRTManager::onSceneRemove() +{ + if (mIsInitialized) + mPlatformWindow->getScreenResChangeSignal().remove(this, &VolumetricFogRTManager::ResizeRT); +} + +void VolumetricFogRTManager::onRemove() +{ + removeFromScene(); + + Parent::onRemove(); +} + +void VolumetricFogRTManager::consoleInit() +{ + Con::addVariable("$pref::VolumetricFog::Quality", TypeS32, &mTargetScale, + "The scale of the rendertargets.\n" + "@ingroup Rendering\n"); +} + +bool VolumetricFogRTManager::Init() +{ + if (mIsInitialized) + { + Con::errorf("VolumetricFogRTManager allready initialized!!"); + return true; + } + + GuiCanvas* cv = dynamic_cast(Sim::findObject("Canvas")); + if (cv == NULL) + { + Con::errorf("VolumetricFogRTManager::Init() - Canvas not found!!"); + return false; + } + + mPlatformWindow = cv->getPlatformWindow(); + mPlatformWindow->getScreenResChangeSignal().notify(this,&VolumetricFogRTManager::ResizeRT); + + if (mTargetScale < 1) + mTargetScale = 1; + + mWidth = mFloor(mPlatformWindow->getClientExtent().x / mTargetScale); + mHeight = mPlatformWindow->getClientExtent().y; + mFullScreen = mPlatformWindow->isFullscreen(); + if (!mFullScreen) + mHeight -= 20;//subtract caption bar from rendertarget size. + mHeight = mFloor(mHeight / mTargetScale); + + mDepthBuffer = GFXTexHandle(mWidth, mHeight, GFXFormatR32F, + &GFXDefaultRenderTargetProfile, avar("%s() - mDepthBuffer (line %d)", __FUNCTION__, __LINE__)); + if (!mDepthBuffer.isValid()) + { + Con::errorf("VolumetricFogRTManager Fatal Error: Unable to create Depthbuffer"); + return false; + } + if (!mDepthTarget.registerWithName("volfogdepth")) + { + Con::errorf("VolumetricFogRTManager Fatal Error : Unable to register Depthbuffer"); + return false; + } + mDepthTarget.setTexture(mDepthBuffer); + + mFrontBuffer = GFXTexHandle(mWidth, mHeight, GFXFormatR32F, + &GFXDefaultRenderTargetProfile, avar("%s() - mFrontBuffer (line %d)", __FUNCTION__, __LINE__)); + if (!mFrontBuffer.isValid()) + { + Con::errorf("VolumetricFogRTManager Fatal Error: Unable to create front buffer"); + return false; + } + if (!mFrontTarget.registerWithName("volfogfront")) + { + Con::errorf("VolumetricFogRTManager Fatal Error : Unable to register Frontbuffer"); + return false; + } + + mFrontTarget.setTexture(mFrontBuffer); + + Con::setVariable("$VolumetricFog::density", "0.0"); + + mIsInitialized = true; + + return true; +} + +U32 VolumetricFogRTManager::IncFogObjects() +{ + mNumFogObjects++; + return mNumFogObjects; +} + +U32 VolumetricFogRTManager::DecFogObjects() +{ + if (mNumFogObjects > 0) + mNumFogObjects--; + return mNumFogObjects; +} + +void VolumetricFogRTManager::ResizeRT(PlatformWindow* win,bool resize) +{ + mFogHasAnswered = 0; + smVolumetricFogRTMResizeSignal.trigger(this, true); +} + +void VolumetricFogRTManager::FogAnswered() +{ + mFogHasAnswered++; + if (mFogHasAnswered == mNumFogObjects) + { + if (Resize()) + smVolumetricFogRTMResizeSignal.trigger(this, false); + else + Con::errorf("VolumetricFogRTManager::FogAnswered - Error resizing rendertargets!"); + } +} + +bool VolumetricFogRTManager::Resize() +{ + if (mTargetScale < 1) + mTargetScale = 1; + mWidth = mFloor(mPlatformWindow->getClientExtent().x / mTargetScale); + mHeight = mPlatformWindow->getClientExtent().y; + + if (!mPlatformWindow->isFullscreen()) + mHeight -= 20;//subtract caption bar from rendertarget size. + mHeight = mFloor(mHeight / mTargetScale); + + if (mWidth < 16 || mHeight < 16) + return false; + + if (mFrontTarget.isRegistered()) + mFrontTarget.setTexture(NULL); + + if (mDepthTarget.isRegistered()) + mDepthTarget.setTexture(NULL); + + if (mDepthBuffer.isValid()) + mDepthBuffer->kill(); + + if (mFrontBuffer.isValid()) + mFrontBuffer->kill(); + + mFrontBuffer = GFXTexHandle(mWidth, mHeight, GFXFormatR32F, + &GFXDefaultRenderTargetProfile, avar("%s() - mFrontBuffer (line %d)", __FUNCTION__, __LINE__)); + if (!mFrontBuffer.isValid()) + { + Con::errorf("VolumetricFogRTManager::Resize() Fatal Error: Unable to create front buffer"); + return false; + } + mFrontTarget.setTexture(mFrontBuffer); + + mDepthBuffer = GFXTexHandle(mWidth, mHeight, GFXFormatR32F, + &GFXDefaultRenderTargetProfile, avar("%s() - mDepthBuffer (line %d)", __FUNCTION__, __LINE__)); + if (!mDepthBuffer.isValid()) + { + Con::errorf("VolumetricFogRTManager::Resize() Fatal Error: Unable to create Depthbuffer"); + return false; + } + mDepthTarget.setTexture(mDepthBuffer); + return true; +} + +S32 VolumetricFogRTManager::setQuality(U32 Quality) +{ + if (!mIsInitialized) + return (mTargetScale = Quality); + + if (Quality < 1) + Quality = 1; + + if (Quality == mTargetScale) + return mTargetScale; + + mTargetScale = Quality; + + mFogHasAnswered = 0; + smVolumetricFogRTMResizeSignal.trigger(this, true); + + return mTargetScale; +} + +VolumetricFogRTManager* VolumetricFogRTManager::get() +{ + return gVolumetricFogRTManager; +} + +DefineConsoleFunction(SetFogVolumeQuality, S32, (U32 new_quality), , + "@brief Resizes the rendertargets of the Volumetric Fog object.\n" + "@params new_quality new quality for the rendertargets 1 = full size, 2 = halfsize, 3 = 1/3, 4 = 1/4 ...") +{ + if (VFRTM == NULL) + return -1; + return VFRTM->setQuality(new_quality); +} diff --git a/Engine/source/environment/VolumetricFogRTManager.h b/Engine/source/environment/VolumetricFogRTManager.h new file mode 100644 index 0000000000..dd5b185d6a --- /dev/null +++ b/Engine/source/environment/VolumetricFogRTManager.h @@ -0,0 +1,97 @@ +//----------------------------------------------------------------------------- +// Copyright (c) 2012 GarageGames, LLC +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +// IN THE SOFTWARE. +//----------------------------------------------------------------------------- + +#ifndef _VolumetricFogRTManager_H_ +#define _VolumetricFogRTManager_H_ + +#ifndef _SCENEOBJECT_H_ +#include "scene/sceneObject.h" +#endif +#ifndef _MATTEXTURETARGET_H_ +#include "materials/matTextureTarget.h" +#endif +#ifndef _GFXTARGET_H_ +#include "gfx/gfxTarget.h" +#endif +#ifndef _SIGNAL_H_ +#include "core/util/tSignal.h" +#endif + +class VolumetricFogRTManager; + +typedef Signal VolumetricFogRTMResizeSignal; + +#define VFRTM VolumetricFogRTManager::get() + +class VolumetricFogRTManager : public SceneObject +{ +public: + + typedef SceneObject Parent; + +protected: + GFXTexHandle mDepthBuffer; + GFXTexHandle mFrontBuffer; + + NamedTexTarget mDepthTarget; + NamedTexTarget mFrontTarget; + + PlatformWindow* mPlatformWindow; + + static S32 mTargetScale; + bool mIsInitialized; + U32 mNumFogObjects; + U32 mFogHasAnswered; + U32 mWidth; + U32 mHeight; + bool mFullScreen; + + void onRemove(); + void onSceneRemove(); + void ResizeRT(PlatformWindow *win, bool resize); + + static VolumetricFogRTMResizeSignal smVolumetricFogRTMResizeSignal; +public: + VolumetricFogRTManager(); + ~VolumetricFogRTManager(); + + static VolumetricFogRTManager *get(); + + bool Init(); + bool IsInitialized() { return mIsInitialized; } + + static void consoleInit(); + + static VolumetricFogRTMResizeSignal& getVolumetricFogRTMResizeSignal() { return smVolumetricFogRTMResizeSignal; } + void FogAnswered(); + + S32 setQuality(U32 Quality); + bool Resize(); + U32 IncFogObjects(); + U32 DecFogObjects(); + + DECLARE_CONOBJECT(VolumetricFogRTManager); +}; + +extern VolumetricFogRTManager* gVolumetricFogRTManager; + +#endif \ No newline at end of file diff --git a/Engine/source/gui/core/guiCanvas.cpp b/Engine/source/gui/core/guiCanvas.cpp index ef7bf3630c..c799b82bc4 100644 --- a/Engine/source/gui/core/guiCanvas.cpp +++ b/Engine/source/gui/core/guiCanvas.cpp @@ -50,42 +50,42 @@ IMPLEMENT_CONOBJECT(GuiCanvas); ConsoleDocClass( GuiCanvas, - "@brief A canvas on which rendering occurs.\n\n" + "@brief A canvas on which rendering occurs.\n\n" - "@section GuiCanvas_contents What a GUICanvas Can Contain...\n\n" + "@section GuiCanvas_contents What a GUICanvas Can Contain...\n\n" - "@subsection GuiCanvas_content_contentcontrol Content Control\n" - "A content control is the top level GuiControl for a screen. This GuiControl " - "will be the parent control for all other GuiControls on that particular " - "screen.\n\n" + "@subsection GuiCanvas_content_contentcontrol Content Control\n" + "A content control is the top level GuiControl for a screen. This GuiControl " + "will be the parent control for all other GuiControls on that particular " + "screen.\n\n" - "@subsection GuiCanvas_content_dialogs Dialogs\n\n" + "@subsection GuiCanvas_content_dialogs Dialogs\n\n" - "A dialog is essentially another screen, only it gets overlaid on top of the " - "current content control, and all input goes to the dialog. This is most akin " - "to the \"Open File\" dialog box found in most operating systems. When you " - "choose to open a file, and the \"Open File\" dialog pops up, you can no longer " - "send input to the application, and must complete or cancel the open file " - "request. Torque keeps track of layers of dialogs. The dialog with the highest " - "layer is on top and will get all the input, unless the dialog is " - "modeless, which is a profile option.\n\n" + "A dialog is essentially another screen, only it gets overlaid on top of the " + "current content control, and all input goes to the dialog. This is most akin " + "to the \"Open File\" dialog box found in most operating systems. When you " + "choose to open a file, and the \"Open File\" dialog pops up, you can no longer " + "send input to the application, and must complete or cancel the open file " + "request. Torque keeps track of layers of dialogs. The dialog with the highest " + "layer is on top and will get all the input, unless the dialog is " + "modeless, which is a profile option.\n\n" - "@see GuiControlProfile\n\n" + "@see GuiControlProfile\n\n" - "@section GuiCanvas_dirty Dirty Rectangles\n\n" + "@section GuiCanvas_dirty Dirty Rectangles\n\n" - "The GuiCanvas is based on dirty regions. " - "Every frame the canvas paints only the areas of the canvas that are 'dirty' " - "or need updating. In most cases, this only is the area under the mouse cursor. " - "This is why if you look in guiCanvas.cc the call to glClear is commented out. " - - "What you will see is a black screen, except in the dirty regions, where the " - "screen will be painted normally. If you are making an animated GuiControl " - "you need to add your control to the dirty areas of the canvas.\n\n" + "The GuiCanvas is based on dirty regions. " + "Every frame the canvas paints only the areas of the canvas that are 'dirty' " + "or need updating. In most cases, this only is the area under the mouse cursor. " + "This is why if you look in guiCanvas.cc the call to glClear is commented out. " + + "What you will see is a black screen, except in the dirty regions, where the " + "screen will be painted normally. If you are making an animated GuiControl " + "you need to add your control to the dirty areas of the canvas.\n\n" - "@see GuiControl\n\n" + "@see GuiControl\n\n" - "@ingroup GuiCore\n"); + "@ingroup GuiCore\n"); ColorI gCanvasClearColor( 255, 0, 255 ); ///< For GFX->clear @@ -214,29 +214,29 @@ bool GuiCanvas::onAdd() //If we're recording, store the intial video resolution if (Journal::IsRecording()) { - Journal::Write(vm.resolution.x); - Journal::Write(vm.resolution.y); - Journal::Write(vm.fullScreen); + Journal::Write(vm.resolution.x); + Journal::Write(vm.resolution.y); + Journal::Write(vm.fullScreen); } //If we're playing, read the intial video resolution from the journal if (Journal::IsPlaying()) { - Journal::Read(&vm.resolution.x); - Journal::Read(&vm.resolution.y); - Journal::Read(&vm.fullScreen); + Journal::Read(&vm.resolution.x); + Journal::Read(&vm.resolution.y); + Journal::Read(&vm.fullScreen); } if (a && a->mType != NullDevice) { mPlatformWindow = WindowManager->createWindow(newDevice, vm); - //Disable window resizing if recording ir playing a journal - if (Journal::IsRecording() || Journal::IsPlaying()) - mPlatformWindow->lockSize(true); - - // Set a minimum on the window size so people can't break us by resizing tiny. - mPlatformWindow->setMinimumWindowSize(Point2I(640,480)); + //Disable window resizing if recording ir playing a journal + if (Journal::IsRecording() || Journal::IsPlaying()) + mPlatformWindow->lockSize(true); + + // Set a minimum on the window size so people can't break us by resizing tiny. + mPlatformWindow->setMinimumWindowSize(Point2I(640,480)); // Now, we have to hook in our event callbacks so we'll get // appropriate events from the window. @@ -308,14 +308,17 @@ void GuiCanvas::setWindowTitle(const char *newTitle) mPlatformWindow->setCaption(newTitle); } +CanvasSizeChangeSignal GuiCanvas::smCanvasSizeChangeSignal; + void GuiCanvas::handleResize( WindowId did, S32 width, S32 height ) { - if (Journal::IsPlaying() && mPlatformWindow) - { - mPlatformWindow->lockSize(false); - mPlatformWindow->setSize(Point2I(width, height)); - mPlatformWindow->lockSize(true); - } + getCanvasSizeChangeSignal().trigger(this); + if (Journal::IsPlaying() && mPlatformWindow) + { + mPlatformWindow->lockSize(false); + mPlatformWindow->setSize(Point2I(width, height)); + mPlatformWindow->lockSize(true); + } // Notify the scripts if ( isMethod( "onResize" ) ) @@ -326,9 +329,9 @@ void GuiCanvas::handlePaintEvent(WindowId did) { bool canRender = mPlatformWindow->isVisible() && GFX->allowRender() && !GFX->canCurrentlyRender(); - // Do the screenshot first. + // Do the screenshot first. if ( gScreenShot != NULL && gScreenShot->isPending() && canRender ) - gScreenShot->capture( this ); + gScreenShot->capture( this ); // If the video capture is waiting for a canvas, start the capture if ( VIDCAP->isWaitingForCanvas() && canRender ) @@ -495,19 +498,19 @@ bool GuiCanvas::tabNext(void) //save the old GuiControl *oldResponder = mFirstResponder; - GuiControl* newResponder = ctrl->findNextTabable(mFirstResponder); + GuiControl* newResponder = ctrl->findNextTabable(mFirstResponder); if ( !newResponder ) newResponder = ctrl->findFirstTabable(); - if ( newResponder && newResponder != oldResponder ) - { - newResponder->setFirstResponder(); + if ( newResponder && newResponder != oldResponder ) + { + newResponder->setFirstResponder(); // CodeReview Can this get killed? Note tabPrev code. BJG - 3/25/07 -// if ( oldResponder ) -// oldResponder->onLoseFirstResponder(); +// if ( oldResponder ) +// oldResponder->onLoseFirstResponder(); return true; - } + } } return false; } @@ -520,30 +523,30 @@ bool GuiCanvas::tabPrev(void) //save the old GuiControl *oldResponder = mFirstResponder; - GuiControl* newResponder = ctrl->findPrevTabable(mFirstResponder); - if ( !newResponder ) + GuiControl* newResponder = ctrl->findPrevTabable(mFirstResponder); + if ( !newResponder ) newResponder = ctrl->findLastTabable(); - if ( newResponder && newResponder != oldResponder ) - { - newResponder->setFirstResponder(); - + if ( newResponder && newResponder != oldResponder ) + { + newResponder->setFirstResponder(); + // CodeReview As with tabNext() above, looks like this can now go. DAW - 7/05/09 - //if ( oldResponder ) - // oldResponder->onLoseFirstResponder(); + //if ( oldResponder ) + // oldResponder->onLoseFirstResponder(); return true; - } + } } return false; } bool GuiCanvas::processInputEvent(InputEventInfo &inputEvent) { - // First call the general input handler (on the extremely off-chance that it will be handled): - if (mFirstResponder && mFirstResponder->onInputEvent(inputEvent)) + // First call the general input handler (on the extremely off-chance that it will be handled): + if (mFirstResponder && mFirstResponder->onInputEvent(inputEvent)) { - return(true); + return(true); } switch (inputEvent.deviceType) @@ -1703,9 +1706,9 @@ void GuiCanvas::renderFrame(bool preRenderOnly, bool bufferSwap /* = true */) addUpdateRegion(pos - Point2I(2, 2), Point2I(cext.x + 4, cext.y + 4)); } - mLastCursorEnabled = cursorVisible; - mLastCursor = mouseCursor; - mLastCursorPt = cursorPos; + mLastCursorEnabled = cursorVisible; + mLastCursor = mouseCursor; + mLastCursorPt = cursorPos; // Begin GFX PROFILE_START(GFXBeginScene); @@ -1732,7 +1735,7 @@ void GuiCanvas::renderFrame(bool preRenderOnly, bool bufferSwap /* = true */) resetUpdateRegions(); - // Make sure we have a clean matrix state + // Make sure we have a clean matrix state // before we start rendering anything! GFX->setWorldMatrix( MatrixF::Identity ); GFX->setViewMatrix( MatrixF::Identity ); @@ -1944,46 +1947,46 @@ void GuiCanvas::resetUpdateRegions() void GuiCanvas::setFirstResponder( GuiControl* newResponder ) { - GuiControl* oldResponder = mFirstResponder; - Parent::setFirstResponder( newResponder ); + GuiControl* oldResponder = mFirstResponder; + Parent::setFirstResponder( newResponder ); if( oldResponder == mFirstResponder ) return; - if( oldResponder && ( oldResponder != newResponder ) ) - oldResponder->onLoseFirstResponder(); + if( oldResponder && ( oldResponder != newResponder ) ) + oldResponder->onLoseFirstResponder(); if( newResponder && ( newResponder != oldResponder ) ) newResponder->onGainFirstResponder(); } DefineEngineMethod( GuiCanvas, getContent, S32, (),, - "@brief Get the GuiControl which is being used as the content.\n\n" + "@brief Get the GuiControl which is being used as the content.\n\n" - "@tsexample\n" - "Canvas.getContent();\n" - "@endtsexample\n\n" + "@tsexample\n" + "Canvas.getContent();\n" + "@endtsexample\n\n" - "@return ID of current content control") + "@return ID of current content control") { - GuiControl *ctrl = object->getContentControl(); + GuiControl *ctrl = object->getContentControl(); if(ctrl) return ctrl->getId(); return -1; } DefineEngineMethod( GuiCanvas, setContent, void, (GuiControl* ctrl),, - "@brief Set the content of the canvas to a specified control.\n\n" + "@brief Set the content of the canvas to a specified control.\n\n" - "@param ctrl ID or name of GuiControl to set content to\n\n" + "@param ctrl ID or name of GuiControl to set content to\n\n" - "@tsexample\n" - "Canvas.setContent(PlayGui);\n" - "@endtsexample\n\n") + "@tsexample\n" + "Canvas.setContent(PlayGui);\n" + "@endtsexample\n\n") { - // Not using old error reporting until we modify the engineAPI - mperry + // Not using old error reporting until we modify the engineAPI - mperry - //GuiControl *gui = NULL; + //GuiControl *gui = NULL; // if(argv[2][0]) // { // if (!Sim::findObject(argv[2], gui)) @@ -1993,11 +1996,11 @@ DefineEngineMethod( GuiCanvas, setContent, void, (GuiControl* ctrl),, // } // } - if(!ctrl) - { - Con::errorf("GuiCanvas::setContent - Invalid control specified')"); - return; - } + if(!ctrl) + { + Con::errorf("GuiCanvas::setContent - Invalid control specified')"); + return; + } //set the new content control object->setContentControl(ctrl); @@ -2016,11 +2019,11 @@ ConsoleDocFragment _pushDialog( ); ConsoleMethod( GuiCanvas, pushDialog, void, 3, 5, "(GuiControl ctrl, int layer=0, bool center=false)" - "@hide") + "@hide") { GuiControl *gui; - if (! Sim::findObject(argv[2], gui)) + if (! Sim::findObject(argv[2], gui)) { Con::printf("%s(): Invalid control: %s", (const char*)argv[0], (const char*)argv[2]); return; @@ -2060,7 +2063,7 @@ ConsoleDocFragment _popDialog2( ); ConsoleMethod( GuiCanvas, popDialog, void, 2, 3, "(GuiControl ctrl=NULL)" - "@hide") + "@hide") { GuiControl *gui = NULL; if (argc == 3) @@ -2079,26 +2082,26 @@ ConsoleMethod( GuiCanvas, popDialog, void, 2, 3, "(GuiControl ctrl=NULL)" } ConsoleDocFragment _popLayer1( - "@brief Removes the top most layer of dialogs\n\n" - "@tsexample\n" - "Canvas.popLayer();\n" - "@endtsexample\n\n", - "GuiCanvas", - "void popLayer();" + "@brief Removes the top most layer of dialogs\n\n" + "@tsexample\n" + "Canvas.popLayer();\n" + "@endtsexample\n\n", + "GuiCanvas", + "void popLayer();" ); ConsoleDocFragment _popLayer2( - "@brief Removes a specified layer of dialogs\n\n" - "@param layer Number of the layer to pop\n\n" - "@tsexample\n" - "Canvas.popLayer(1);\n" - "@endtsexample\n\n", - "GuiCanvas", - "void popLayer(S32 layer);" + "@brief Removes a specified layer of dialogs\n\n" + "@param layer Number of the layer to pop\n\n" + "@tsexample\n" + "Canvas.popLayer(1);\n" + "@endtsexample\n\n", + "GuiCanvas", + "void popLayer(S32 layer);" ); ConsoleMethod( GuiCanvas, popLayer, void, 2, 3, "(int layer)" - "@hide") + "@hide") { S32 layer = 0; if (argc == 3) @@ -2108,134 +2111,134 @@ ConsoleMethod( GuiCanvas, popLayer, void, 2, 3, "(int layer)" } DefineEngineMethod( GuiCanvas, cursorOn, void, (),, - "@brief Turns on the mouse cursor.\n\n" - "@tsexample\n" - "Canvas.cursorOn();\n" - "@endtsexample\n\n") + "@brief Turns on the mouse cursor.\n\n" + "@tsexample\n" + "Canvas.cursorOn();\n" + "@endtsexample\n\n") { - object->setCursorON(true); + object->setCursorON(true); } DefineEngineMethod( GuiCanvas, cursorOff, void, (),, - "@brief Turns on the mouse off.\n\n" - "@tsexample\n" - "Canvas.cursorOff();\n" - "@endtsexample\n\n") + "@brief Turns on the mouse off.\n\n" + "@tsexample\n" + "Canvas.cursorOff();\n" + "@endtsexample\n\n") { - object->setCursorON(false); + object->setCursorON(false); } DefineEngineMethod( GuiCanvas, setCursor, void, (GuiCursor* cursor),, - "@brief Sets the cursor for the canvas.\n\n" + "@brief Sets the cursor for the canvas.\n\n" - "@param cursor Name of the GuiCursor to use\n\n" + "@param cursor Name of the GuiCursor to use\n\n" - "@tsexample\n" - "Canvas.setCursor(\"DefaultCursor\");\n" - "@endtsexample\n\n") + "@tsexample\n" + "Canvas.setCursor(\"DefaultCursor\");\n" + "@endtsexample\n\n") { - if(!cursor) - { - Con::errorf("GuiCanvas::setCursor - Invalid GuiCursor name or ID"); - return; - } - object->setCursor(cursor); + if(!cursor) + { + Con::errorf("GuiCanvas::setCursor - Invalid GuiCursor name or ID"); + return; + } + object->setCursor(cursor); } DefineEngineMethod( GuiCanvas, renderFront, void, ( bool enable ),, - "@brief This turns on/off front-buffer rendering.\n\n" + "@brief This turns on/off front-buffer rendering.\n\n" - "@param enable True if all rendering should be done to the front buffer\n\n" + "@param enable True if all rendering should be done to the front buffer\n\n" - "@tsexample\n" - "Canvas.renderFront(false);\n" - "@endtsexample\n\n") + "@tsexample\n" + "Canvas.renderFront(false);\n" + "@endtsexample\n\n") { - object->setRenderFront(enable); + object->setRenderFront(enable); } DefineEngineMethod( GuiCanvas, showCursor, void, (),, - "@brief Enable rendering of the cursor.\n\n" + "@brief Enable rendering of the cursor.\n\n" - "@tsexample\n" - "Canvas.showCursor();\n" - "@endtsexample\n\n") + "@tsexample\n" + "Canvas.showCursor();\n" + "@endtsexample\n\n") { - object->showCursor(true); + object->showCursor(true); } DefineEngineMethod( GuiCanvas, hideCursor, void, (),, - "@brief Disable rendering of the cursor.\n\n" + "@brief Disable rendering of the cursor.\n\n" - "@tsexample\n" - "Canvas.hideCursor();\n" - "@endtsexample\n\n") + "@tsexample\n" + "Canvas.hideCursor();\n" + "@endtsexample\n\n") { - object->showCursor(false); + object->showCursor(false); } DefineEngineMethod( GuiCanvas, isCursorOn, bool, (),, - "@brief Determines if mouse cursor is enabled.\n\n" + "@brief Determines if mouse cursor is enabled.\n\n" - "@tsexample\n" - "// Is cursor on?\n" - "if(Canvas.isCursorOn())\n" - " echo(\"Canvas cursor is on\");\n" - "@endtsexample\n\n" - "@return Returns true if the cursor is on.\n\n") + "@tsexample\n" + "// Is cursor on?\n" + "if(Canvas.isCursorOn())\n" + " echo(\"Canvas cursor is on\");\n" + "@endtsexample\n\n" + "@return Returns true if the cursor is on.\n\n") { - return object->isCursorON(); + return object->isCursorON(); } DefineEngineMethod( GuiCanvas, isCursorShown, bool, (),, - "@brief Determines if mouse cursor is rendering.\n\n" + "@brief Determines if mouse cursor is rendering.\n\n" - "@tsexample\n" - "// Is cursor rendering?\n" - "if(Canvas.isCursorShown())\n" - " echo(\"Canvas cursor is rendering\");\n" - "@endtsexample\n\n" - "@return Returns true if the cursor is rendering.\n\n") + "@tsexample\n" + "// Is cursor rendering?\n" + "if(Canvas.isCursorShown())\n" + " echo(\"Canvas cursor is rendering\");\n" + "@endtsexample\n\n" + "@return Returns true if the cursor is rendering.\n\n") { - return object->isCursorShown(); + return object->isCursorShown(); } DefineEngineMethod( GuiCanvas, repaint, void, ( S32 elapsedMS ), (0), - "@brief Force canvas to redraw.\n" + "@brief Force canvas to redraw.\n" "If the elapsed time is greater than the time since the last paint " "then the repaint will be skipped.\n" "@param elapsedMS The optional elapsed time in milliseconds.\n\n" - "@tsexample\n" - "Canvas.repaint();\n" - "@endtsexample\n\n") + "@tsexample\n" + "Canvas.repaint();\n" + "@endtsexample\n\n") { - object->repaint(elapsedMS < 0 ? 0 : elapsedMS); + object->repaint(elapsedMS < 0 ? 0 : elapsedMS); } DefineEngineMethod( GuiCanvas, reset, void, (),, - "@brief Reset the update regions for the canvas.\n\n" + "@brief Reset the update regions for the canvas.\n\n" - "@tsexample\n" - "Canvas.reset();\n" - "@endtsexample\n\n") + "@tsexample\n" + "Canvas.reset();\n" + "@endtsexample\n\n") { - object->resetUpdateRegions(); + object->resetUpdateRegions(); } DefineEngineMethod( GuiCanvas, getCursorPos, Point2I, (),, - "@brief Get the current position of the cursor in screen-space. Note that this position" + "@brief Get the current position of the cursor in screen-space. Note that this position" " might be outside the Torque window. If you want to get the position within the Canvas," " call screenToClient on the result.\n\n" "@see Canvas::screenToClient()\n\n" - "@param param Description\n\n" - "@tsexample\n" - "%cursorPos = Canvas.getCursorPos();\n" - "@endtsexample\n\n" - "@return Screen coordinates of mouse cursor, in format \"X Y\"") + "@param param Description\n\n" + "@tsexample\n" + "%cursorPos = Canvas.getCursorPos();\n" + "@endtsexample\n\n" + "@return Screen coordinates of mouse cursor, in format \"X Y\"") { - return object->getCursorPos(); + return object->getCursorPos(); } ConsoleDocFragment _setCursorPos1( @@ -2259,7 +2262,7 @@ ConsoleDocFragment _setCursorPos2( ); ConsoleMethod( GuiCanvas, setCursorPos, void, 3, 4, "(Point2I pos)" - "@hide") + "@hide") { Point2I pos(0,0); @@ -2272,14 +2275,14 @@ ConsoleMethod( GuiCanvas, setCursorPos, void, 3, 4, "(Point2I pos)" } DefineEngineMethod( GuiCanvas, getMouseControl, S32, (),, - "@brief Gets the gui control under the mouse.\n\n" - "@tsexample\n" - "%underMouse = Canvas.getMouseControl();\n" - "@endtsexample\n\n" + "@brief Gets the gui control under the mouse.\n\n" + "@tsexample\n" + "%underMouse = Canvas.getMouseControl();\n" + "@endtsexample\n\n" - "@return ID of the gui control, if one was found. NULL otherwise") + "@return ID of the gui control, if one was found. NULL otherwise") { - GuiControl* control = object->getMouseControl(); + GuiControl* control = object->getMouseControl(); if (control) return control->getId(); @@ -2287,18 +2290,18 @@ DefineEngineMethod( GuiCanvas, getMouseControl, S32, (),, } DefineEngineFunction(excludeOtherInstance, bool, (const char* appIdentifer),, - "@brief Used to exclude/prevent all other instances using the same identifier specified\n\n" + "@brief Used to exclude/prevent all other instances using the same identifier specified\n\n" - "@note Not used on OSX, Xbox, or in Win debug builds\n\n" + "@note Not used on OSX, Xbox, or in Win debug builds\n\n" - "@param appIdentifier Name of the app set up for exclusive use.\n" + "@param appIdentifier Name of the app set up for exclusive use.\n" - "@return False if another app is running that specified the same appIdentifier\n\n" + "@return False if another app is running that specified the same appIdentifier\n\n" - "@ingroup Platform\n" - "@ingroup GuiCore") + "@ingroup Platform\n" + "@ingroup GuiCore") { - // mac/360 can only run one instance in general. + // mac/360 can only run one instance in general. #if !defined(TORQUE_OS_MAC) && !defined(TORQUE_OS_XENON) && !defined(TORQUE_DEBUG) return Platform::excludeOtherInstances(appIdentifer); #else @@ -2308,82 +2311,82 @@ DefineEngineFunction(excludeOtherInstance, bool, (const char* appIdentifer),, } DefineEngineMethod( GuiCanvas, getExtent, Point2I, (),, - "@brief Returns the dimensions of the canvas\n\n" + "@brief Returns the dimensions of the canvas\n\n" - "@tsexample\n" - "%extent = Canvas.getExtent();\n" - "@endtsexample\n\n" + "@tsexample\n" + "%extent = Canvas.getExtent();\n" + "@endtsexample\n\n" - "@return Width and height of canvas. Formatted as numerical values in a single string \"# #\"") + "@return Width and height of canvas. Formatted as numerical values in a single string \"# #\"") { - return object->getExtent(); + return object->getExtent(); } DefineEngineMethod( GuiCanvas, setWindowTitle, void, ( const char* newTitle),, - "@brief Change the title of the OS window.\n\n" + "@brief Change the title of the OS window.\n\n" - "@param newTitle String containing the new name\n\n" + "@param newTitle String containing the new name\n\n" - "@tsexample\n" - "Canvas.setWindowTitle(\"Documentation Rocks!\");\n" - "@endtsexample\n\n") + "@tsexample\n" + "Canvas.setWindowTitle(\"Documentation Rocks!\");\n" + "@endtsexample\n\n") { - object->setWindowTitle(newTitle); + object->setWindowTitle(newTitle); } DefineEngineMethod( GuiCanvas, findFirstMatchingMonitor, S32, (const char* name),, - "@brief Find the first monitor index that matches the given name.\n\n" + "@brief Find the first monitor index that matches the given name.\n\n" "The actual match algorithm depends on the implementation.\n" "@param name The name to search for.\n\n" - "@return The number of monitors attached to the system, including the default monoitor.") + "@return The number of monitors attached to the system, including the default monoitor.") { return PlatformWindowManager::get()->findFirstMatchingMonitor(name); } DefineEngineMethod( GuiCanvas, getMonitorCount, S32, (),, - "@brief Gets the number of monitors attached to the system.\n\n" + "@brief Gets the number of monitors attached to the system.\n\n" - "@return The number of monitors attached to the system, including the default monoitor.") + "@return The number of monitors attached to the system, including the default monoitor.") { return PlatformWindowManager::get()->getMonitorCount(); } DefineEngineMethod( GuiCanvas, getMonitorName, const char*, (S32 index),, - "@brief Gets the name of the requested monitor.\n\n" + "@brief Gets the name of the requested monitor.\n\n" "@param index The monitor index.\n\n" - "@return The name of the requested monitor.") + "@return The name of the requested monitor.") { return PlatformWindowManager::get()->getMonitorName(index); } DefineEngineMethod( GuiCanvas, getMonitorRect, RectI, (S32 index),, - "@brief Gets the region of the requested monitor.\n\n" + "@brief Gets the region of the requested monitor.\n\n" "@param index The monitor index.\n\n" - "@return The rectangular region of the requested monitor.") + "@return The rectangular region of the requested monitor.") { return PlatformWindowManager::get()->getMonitorRect(index); } DefineEngineMethod( GuiCanvas, getVideoMode, const char*, (),, - "@brief Gets the current screen mode as a string.\n\n" + "@brief Gets the current screen mode as a string.\n\n" - "The return string will contain 5 values (width, height, fullscreen, bitdepth, refreshRate). " - "You will need to parse out each one for individual use.\n\n" + "The return string will contain 5 values (width, height, fullscreen, bitdepth, refreshRate). " + "You will need to parse out each one for individual use.\n\n" - "@tsexample\n" - "%screenWidth = getWord(Canvas.getVideoMode(), 0);\n" - "%screenHeight = getWord(Canvas.getVideoMode(), 1);\n" - "%isFullscreen = getWord(Canvas.getVideoMode(), 2);\n" - "%bitdepth = getWord(Canvas.getVideoMode(), 3);\n" - "%refreshRate = getWord(Canvas.getVideoMode(), 4);\n" - "@endtsexample\n\n" + "@tsexample\n" + "%screenWidth = getWord(Canvas.getVideoMode(), 0);\n" + "%screenHeight = getWord(Canvas.getVideoMode(), 1);\n" + "%isFullscreen = getWord(Canvas.getVideoMode(), 2);\n" + "%bitdepth = getWord(Canvas.getVideoMode(), 3);\n" + "%refreshRate = getWord(Canvas.getVideoMode(), 4);\n" + "@endtsexample\n\n" - "@return String formatted with screen width, screen height, screen mode, bit depth, and refresh rate.") + "@return String formatted with screen width, screen height, screen mode, bit depth, and refresh rate.") { - // Grab the video mode. + // Grab the video mode. if (!object->getPlatformWindow()) return ""; @@ -2394,17 +2397,17 @@ DefineEngineMethod( GuiCanvas, getVideoMode, const char*, (),, DefineEngineMethod( GuiCanvas, getModeCount, S32, (),, - "@brief Gets the number of modes available on this device.\n\n" + "@brief Gets the number of modes available on this device.\n\n" - "@param param Description\n\n" + "@param param Description\n\n" - "@tsexample\n" - "%modeCount = Canvas.getModeCount()\n" - "@endtsexample\n\n" + "@tsexample\n" + "%modeCount = Canvas.getModeCount()\n" + "@endtsexample\n\n" - "@return The number of video modes supported by the device") + "@return The number of video modes supported by the device") { - if (!object->getPlatformWindow()) + if (!object->getPlatformWindow()) return 0; // Grab the available mode list from the device. @@ -2416,12 +2419,12 @@ DefineEngineMethod( GuiCanvas, getModeCount, S32, (),, } DefineEngineMethod( GuiCanvas, getMode, const char*, (S32 modeId),, - "@brief Gets information on the specified mode of this device.\n\n" - "@param modeId Index of the mode to get data from.\n" - "@return A video mode string given an adapter and mode index.\n\n" - "@see GuiCanvas::getVideoMode()") + "@brief Gets information on the specified mode of this device.\n\n" + "@param modeId Index of the mode to get data from.\n" + "@return A video mode string given an adapter and mode index.\n\n" + "@see GuiCanvas::getVideoMode()") { - if (!object->getPlatformWindow()) + if (!object->getPlatformWindow()) return 0; // Grab the available mode list from the device. @@ -2446,14 +2449,14 @@ DefineEngineMethod( GuiCanvas, getMode, const char*, (S32 modeId),, DefineEngineMethod( GuiCanvas, toggleFullscreen, void, (),, - "@brief toggle canvas from fullscreen to windowed mode or back.\n\n" + "@brief toggle canvas from fullscreen to windowed mode or back.\n\n" - "@tsexample\n" - "// If we are in windowed mode, the following will put is in fullscreen\n" - "Canvas.toggleFullscreen();" - "@endtsexample\n\n") + "@tsexample\n" + "// If we are in windowed mode, the following will put is in fullscreen\n" + "Canvas.toggleFullscreen();" + "@endtsexample\n\n") { - if (Platform::getWebDeployment()) + if (Platform::getWebDeployment()) return; if (!object->getPlatformWindow()) @@ -2614,7 +2617,7 @@ ConsoleMethod( GuiCanvas, setVideoMode, void, 5, 8, "\\param fullscreen Specify true to run fullscreen or false to run in a window\n" "\\param bitDepth [optional] The desired bit-depth. Defaults to the current setting. This parameter is ignored if you are running in a window.\n" "\\param refreshRate [optional] The desired refresh rate. Defaults to the current setting. This parameter is ignored if you are running in a window" - "\\param antialiasLevel [optional] The level of anti-aliasing to apply 0 = none" ) + "\\param antialiasLevel [optional] The level of anti-aliasing to apply 0 = none" ) { if (!object->getPlatformWindow()) return; diff --git a/Engine/source/gui/core/guiCanvas.h b/Engine/source/gui/core/guiCanvas.h index 9d3ed8b10e..fdccd603b0 100644 --- a/Engine/source/gui/core/guiCanvas.h +++ b/Engine/source/gui/core/guiCanvas.h @@ -33,6 +33,10 @@ #include "platform/platformInput.h" #endif +#ifndef _SIGNAL_H_ +#include "core/util/tSignal.h" +#endif + #include "component/interfaces/IProcessInput.h" #include "windowManager/platformWindowMgr.h" #include "gfx/gfxFence.h" @@ -80,6 +84,9 @@ /// screen will be painted normally. If you are making an animated GuiControl /// you need to add your control to the dirty areas of the canvas. /// +class guiCanvas; +typedef Signal CanvasSizeChangeSignal; + class GuiCanvas : public GuiControl, public IProcessInput { @@ -190,7 +197,11 @@ class GuiCanvas : public GuiControl, public IProcessInput void checkLockMouseMove( const GuiEvent& event ); + //Signal used to let others know this canvas has changed size. + static CanvasSizeChangeSignal smCanvasSizeChangeSignal; + public: + static CanvasSizeChangeSignal& getCanvasSizeChangeSignal() { return smCanvasSizeChangeSignal; } DECLARE_CONOBJECT(GuiCanvas); DECLARE_CATEGORY( "Gui Core" ); diff --git a/Engine/source/renderInstance/renderPassManager.cpp b/Engine/source/renderInstance/renderPassManager.cpp index 236cccd9b6..68daed77e9 100644 --- a/Engine/source/renderInstance/renderPassManager.cpp +++ b/Engine/source/renderInstance/renderPassManager.cpp @@ -53,6 +53,7 @@ const RenderInstType RenderPassManager::RIT_ObjectTranslucent("ObjectTranslucent const RenderInstType RenderPassManager::RIT_Decal("Decal"); const RenderInstType RenderPassManager::RIT_Water("Water"); const RenderInstType RenderPassManager::RIT_Foliage("Foliage"); +const RenderInstType RenderPassManager::RIT_VolumetricFog("ObjectVolumetricFog"); const RenderInstType RenderPassManager::RIT_Translucent("Translucent"); const RenderInstType RenderPassManager::RIT_Begin("Begin"); const RenderInstType RenderPassManager::RIT_Custom("Custom"); diff --git a/Engine/source/renderInstance/renderPassManager.h b/Engine/source/renderInstance/renderPassManager.h index 1f07a8ac71..5dd2b0b4fd 100644 --- a/Engine/source/renderInstance/renderPassManager.h +++ b/Engine/source/renderInstance/renderPassManager.h @@ -110,6 +110,7 @@ class RenderPassManager : public SimObject static const RenderInstType RIT_Decal; static const RenderInstType RIT_Water; static const RenderInstType RIT_Foliage; + static const RenderInstType RIT_VolumetricFog; static const RenderInstType RIT_Translucent; static const RenderInstType RIT_Begin; static const RenderInstType RIT_Custom; diff --git a/Engine/source/renderInstance/renderTranslucentMgr.cpp b/Engine/source/renderInstance/renderTranslucentMgr.cpp index b755e12c93..b241237457 100644 --- a/Engine/source/renderInstance/renderTranslucentMgr.cpp +++ b/Engine/source/renderInstance/renderTranslucentMgr.cpp @@ -51,6 +51,7 @@ RenderTranslucentMgr::RenderTranslucentMgr() { notifyType( RenderPassManager::RIT_ObjectTranslucent ); notifyType( RenderPassManager::RIT_Particle ); + notifyType( RenderPassManager::RIT_VolumetricFog); } RenderTranslucentMgr::~RenderTranslucentMgr() @@ -187,6 +188,15 @@ void RenderTranslucentMgr::render( SceneRenderState *state ) j++; continue; } + else if (baseRI->type == RenderPassManager::RIT_VolumetricFog) + { + ObjectRenderInst* objRI = static_cast(baseRI); + objRI->renderDelegate(objRI, state, NULL); + lastVB = NULL; + lastPB = NULL; + j++; + continue; + } else if ( baseRI->type == RenderPassManager::RIT_Particle ) { ParticleRenderInst *ri = static_cast(baseRI); diff --git a/Engine/source/windowManager/platformWindow.cpp b/Engine/source/windowManager/platformWindow.cpp index 8a7ad65fbf..8ec7f7aa97 100644 --- a/Engine/source/windowManager/platformWindow.cpp +++ b/Engine/source/windowManager/platformWindow.cpp @@ -22,6 +22,7 @@ #include "windowManager/platformWindow.h" +ScreenResChangeSignal PlatformWindow::smScreenResChangeSignal; //----------------------------------------------------------------------------- @@ -48,3 +49,9 @@ bool PlatformWindow::shouldNotTranslate( U32 modifiers, U32 keyCode ) const else return false; } + +void PlatformWindow::setVideoMode(const GFXVideoMode &mode) +{ +_setVideoMode(mode); +getScreenResChangeSignal().trigger(this, true); +} \ No newline at end of file diff --git a/Engine/source/windowManager/platformWindow.h b/Engine/source/windowManager/platformWindow.h index 680e8b12ba..f08ce56119 100644 --- a/Engine/source/windowManager/platformWindow.h +++ b/Engine/source/windowManager/platformWindow.h @@ -28,6 +28,9 @@ #include "core/util/safeDelete.h" #include "windowManager/platformCursorController.h" #include "windowManager/windowInputGenerator.h" +#ifndef _SIGNAL_H_ //Volumetric Fog +#include "core/util/tSignal.h" +#endif //forward decl's class PlatformWindowManager; @@ -36,6 +39,8 @@ struct GFXVideoMode; class GFXWindowTarget; class IProcessInput; +typedef Signal ScreenResChangeSignal; + /// Abstract representation of a native OS window. /// /// Every windowing system has its own representations and conventions as @@ -65,11 +70,11 @@ class PlatformWindow /// this to the OS. Point2I mMinimumSize; - /// When the resize is locked, this will be used as both minimum and maximum window size - Point2I mLockedSize; + /// When the resize is locked, this will be used as both minimum and maximum window size + Point2I mLockedSize; - /// When this is true, resizing is locked - bool mResizeLocked; + /// When this is true, resizing is locked + bool mResizeLocked; /// Is Idle? bool mIsBackground; @@ -98,18 +103,18 @@ class PlatformWindow { mIsBackground = false; // This could be toggled to true to prefer performance. mMinimumSize.set(0,0); - mLockedSize.set(0,0); - mResizeLocked = false; + mLockedSize.set(0,0); + mResizeLocked = false; mEnableKeyboardTranslation = false; mEnableAccelerators = true; mCursorController = NULL; // This controller maps window input (Mouse/Keyboard) to a generic input consumer mWindowInputGenerator = new WindowInputGenerator( this ); mSuppressReset = false; - mOffscreenRender = false; mDisplayWindow = false; } + static ScreenResChangeSignal smScreenResChangeSignal; public: @@ -147,7 +152,7 @@ class PlatformWindow virtual GFXWindowTarget *getGFXTarget()=0; /// Set the video mode for this window. - virtual void setVideoMode(const GFXVideoMode &mode)=0; + virtual void setVideoMode(const GFXVideoMode &mode); /// Get our current video mode - if the window has been resized, it will /// reflect this. @@ -365,25 +370,25 @@ class PlatformWindow return mMinimumSize; } - /// Locks/unlocks window resizing - virtual void lockSize(bool locked) - { - mResizeLocked = locked; - if (mResizeLocked) - mLockedSize = getBounds().extent; - } - - /// Returns true if the window size is locked - virtual bool isSizeLocked() - { - return mResizeLocked; - } - - /// Returns the locked window size - virtual Point2I getLockedSize() - { - return mLockedSize; - } + /// Locks/unlocks window resizing + virtual void lockSize(bool locked) + { + mResizeLocked = locked; + if (mResizeLocked) + mLockedSize = getBounds().extent; + } + + /// Returns true if the window size is locked + virtual bool isSizeLocked() + { + return mResizeLocked; + } + + /// Returns the locked window size + virtual Point2I getLockedSize() + { + return mLockedSize; + } /// @} @@ -486,6 +491,8 @@ class PlatformWindow IdleEvent idleEvent; /// @} + + static ScreenResChangeSignal& getScreenResChangeSignal() { return smScreenResChangeSignal; } /// Get the platform specific object needed to create or attach an accelerated /// graohics drawing context on or to the window @@ -496,6 +503,7 @@ class PlatformWindow virtual void* getPlatformDrawable() const = 0; protected: virtual void _setFullscreen(const bool fullScreen) {}; + virtual void _setVideoMode(const GFXVideoMode &mode) {}; }; #endif \ No newline at end of file diff --git a/Engine/source/windowManager/win32/win32Window.cpp b/Engine/source/windowManager/win32/win32Window.cpp index 576a0adc75..14f01d4c75 100644 --- a/Engine/source/windowManager/win32/win32Window.cpp +++ b/Engine/source/windowManager/win32/win32Window.cpp @@ -56,25 +56,25 @@ static bool isScreenSaverRunning() #ifndef SPI_GETSCREENSAVERRUNNING #define SPI_GETSCREENSAVERRUNNING 114 #endif - // Windows 2K, and higher. It might be better to hook into - // the broadcast WM_SETTINGCHANGE message instead of polling for - // the screen saver status. - BOOL sreensaver = false; - SystemParametersInfo(SPI_GETSCREENSAVERRUNNING,0,&sreensaver,0); - return sreensaver; + // Windows 2K, and higher. It might be better to hook into + // the broadcast WM_SETTINGCHANGE message instead of polling for + // the screen saver status. + BOOL sreensaver = false; + SystemParametersInfo(SPI_GETSCREENSAVERRUNNING,0,&sreensaver,0); + return sreensaver; } DISPLAY_DEVICE GetPrimaryDevice() { - int index = 0; - DISPLAY_DEVICE dd; - dd.cb = sizeof(DISPLAY_DEVICE); - - while (EnumDisplayDevices(NULL, index++, &dd, 0)) - { - if (dd.StateFlags & DISPLAY_DEVICE_PRIMARY_DEVICE) return dd; - } - return dd; + int index = 0; + DISPLAY_DEVICE dd; + dd.cb = sizeof(DISPLAY_DEVICE); + + while (EnumDisplayDevices(NULL, index++, &dd, 0)) + { + if (dd.StateFlags & DISPLAY_DEVICE_PRIMARY_DEVICE) return dd; + } + return dd; } Win32Window::Win32Window(): mMouseLockPosition(0,0), @@ -93,62 +93,62 @@ mWindowedWindowStyle(0), mPosition(0,0), mFullscreen(false) { - mCursorController = new Win32CursorController( this ); + mCursorController = new Win32CursorController( this ); - mVideoMode.bitDepth = 32; - mVideoMode.fullScreen = false; - mVideoMode.refreshRate = 60; - mVideoMode.resolution.set(800,600); + mVideoMode.bitDepth = 32; + mVideoMode.fullScreen = false; + mVideoMode.refreshRate = 60; + mVideoMode.resolution.set(800,600); - _registerWindowClass(); + _registerWindowClass(); } Win32Window::~Win32Window() { - if(mAccelHandle) - { - DestroyAcceleratorTable(mAccelHandle); - mAccelHandle = NULL; - } + if(mAccelHandle) + { + DestroyAcceleratorTable(mAccelHandle); + mAccelHandle = NULL; + } - // delete our win handle.. - DestroyWindow(mWindowHandle); + // delete our win handle.. + DestroyWindow(mWindowHandle); - // unlink ourselves from the window list... - AssertFatal(mOwningManager, "Win32Window::~Win32Window - orphan window, cannot unlink!"); - mOwningManager->unlinkWindow(this); + // unlink ourselves from the window list... + AssertFatal(mOwningManager, "Win32Window::~Win32Window - orphan window, cannot unlink!"); + mOwningManager->unlinkWindow(this); - _unregisterWindowClass(); + _unregisterWindowClass(); } GFXDevice * Win32Window::getGFXDevice() { - return mDevice; + return mDevice; } GFXWindowTarget * Win32Window::getGFXTarget() { - return mTarget; + return mTarget; } const GFXVideoMode & Win32Window::getVideoMode() { - return mVideoMode; + return mVideoMode; } -void Win32Window::setVideoMode( const GFXVideoMode &mode ) +void Win32Window::_setVideoMode( const GFXVideoMode &mode ) { bool needCurtain = (mVideoMode.fullScreen != mode.fullScreen); static bool first_load = true; if(needCurtain) { - Con::errorf("Win32Window::setVideoMode - invoking curtain"); + Con::errorf("Win32Window::_setVideoMode - invoking curtain"); mOwningManager->lowerCurtain(); } - mVideoMode = mode; - mSuppressReset = true; + mVideoMode = mode; + mSuppressReset = true; // Can't switch to fullscreen while a child of another window if(mode.fullScreen && !Platform::getWebDeployment() && mOwningManager->getParentWindow()) @@ -162,34 +162,34 @@ void Win32Window::setVideoMode( const GFXVideoMode &mode ) mOldParent = NULL; } - // Set our window to have the right style based on the mode + // Set our window to have the right style based on the mode if(mode.fullScreen && !Platform::getWebDeployment() && !mOffscreenRender) { - WINDOWPLACEMENT wplacement = { sizeof(wplacement) }; - DWORD dwStyle = GetWindowLong(getHWND(), GWL_STYLE); - MONITORINFO mi = { sizeof(mi) }; - - if (GetWindowPlacement(getHWND(), &wplacement) && GetMonitorInfo(MonitorFromWindow(getHWND(), MONITOR_DEFAULTTOPRIMARY), &mi)) - { - DISPLAY_DEVICE dd = GetPrimaryDevice(); - DEVMODE dv; - ZeroMemory(&dv, sizeof(dv)); - dv.dmSize = sizeof(DEVMODE); - EnumDisplaySettings(dd.DeviceName, ENUM_CURRENT_SETTINGS, &dv); - dv.dmPelsWidth = mode.resolution.x; - dv.dmPelsHeight = mode.resolution.y; - dv.dmBitsPerPel = mode.bitDepth; - dv.dmDisplayFrequency = mode.refreshRate; - dv.dmFields = (DM_PELSWIDTH | DM_PELSHEIGHT); - ChangeDisplaySettings(&dv, CDS_FULLSCREEN); - SetWindowLong(getHWND(), GWL_STYLE, dwStyle & ~WS_OVERLAPPEDWINDOW); - SetWindowPos(getHWND(), HWND_TOP, - mi.rcMonitor.left, - mi.rcMonitor.top, - mi.rcMonitor.right - mi.rcMonitor.left, - mi.rcMonitor.bottom - mi.rcMonitor.top, - SWP_NOOWNERZORDER | SWP_FRAMECHANGED); - } + WINDOWPLACEMENT wplacement = { sizeof(wplacement) }; + DWORD dwStyle = GetWindowLong(getHWND(), GWL_STYLE); + MONITORINFO mi = { sizeof(mi) }; + + if (GetWindowPlacement(getHWND(), &wplacement) && GetMonitorInfo(MonitorFromWindow(getHWND(), MONITOR_DEFAULTTOPRIMARY), &mi)) + { + DISPLAY_DEVICE dd = GetPrimaryDevice(); + DEVMODE dv; + ZeroMemory(&dv, sizeof(dv)); + dv.dmSize = sizeof(DEVMODE); + EnumDisplaySettings(dd.DeviceName, ENUM_CURRENT_SETTINGS, &dv); + dv.dmPelsWidth = mode.resolution.x; + dv.dmPelsHeight = mode.resolution.y; + dv.dmBitsPerPel = mode.bitDepth; + dv.dmDisplayFrequency = mode.refreshRate; + dv.dmFields = (DM_PELSWIDTH | DM_PELSHEIGHT); + ChangeDisplaySettings(&dv, CDS_FULLSCREEN); + SetWindowLong(getHWND(), GWL_STYLE, dwStyle & ~WS_OVERLAPPEDWINDOW); + SetWindowPos(getHWND(), HWND_TOP, + mi.rcMonitor.left, + mi.rcMonitor.top, + mi.rcMonitor.right - mi.rcMonitor.left, + mi.rcMonitor.bottom - mi.rcMonitor.top, + SWP_NOOWNERZORDER | SWP_FRAMECHANGED); + } if(mDisplayWindow) ShowWindow(getHWND(), SW_SHOWNORMAL); @@ -202,29 +202,29 @@ void Win32Window::setVideoMode( const GFXVideoMode &mode ) } // When switching to Fullscreen, reset device after setting style - if(mTarget.isValid()) - mTarget->resetMode(); + if(mTarget.isValid()) + mTarget->resetMode(); mFullscreen = true; - } - else - { - if (!first_load) - ChangeDisplaySettings(NULL, 0); + } + else + { + if (!first_load) + ChangeDisplaySettings(NULL, 0); - first_load = false; + first_load = false; // Reset device *first*, so that when we call setSize() and let it - // access the monitor settings, it won't end up with our fullscreen - // geometry that is just about to change. + // access the monitor settings, it won't end up with our fullscreen + // geometry that is just about to change. - if(mTarget.isValid()) - mTarget->resetMode(); + if(mTarget.isValid()) + mTarget->resetMode(); if (!mOffscreenRender) { - SetWindowLong( getHWND(), GWL_STYLE, mWindowedWindowStyle); - SetWindowPos( getHWND(), HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_FRAMECHANGED); + SetWindowLong( getHWND(), GWL_STYLE, mWindowedWindowStyle); + SetWindowPos( getHWND(), HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_FRAMECHANGED); // Put back the menu bar, if any if(mMenuHandle) @@ -257,76 +257,76 @@ void Win32Window::setVideoMode( const GFXVideoMode &mode ) if (!mOffscreenRender) { - // We have to force Win32 to update the window frame and make the window - // visible and no longer topmost - this code might be possible to simplify. - SetWindowPos( getHWND(), HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_FRAMECHANGED); + // We have to force Win32 to update the window frame and make the window + // visible and no longer topmost - this code might be possible to simplify. + SetWindowPos( getHWND(), HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_FRAMECHANGED); if(mDisplayWindow) ShowWindow( getHWND(), SW_SHOWNORMAL); } mFullscreen = false; - } + } - mSuppressReset = false; + mSuppressReset = false; - if(needCurtain) - mOwningManager->raiseCurtain(); + if(needCurtain) + mOwningManager->raiseCurtain(); - SetForegroundWindow(getHWND()); + SetForegroundWindow(getHWND()); } bool Win32Window::clearFullscreen() { - return true; + return true; } bool Win32Window::isFullscreen() { - return mFullscreen; + return mFullscreen; } void Win32Window::_setFullscreen(const bool fullscreen) { - if (fullscreen == mFullscreen) - return; - - mFullscreen = fullscreen; - if(fullscreen && !mOffscreenRender) - { - Con::printf("Win32Window::setFullscreen (full) enter"); - SetWindowLong( getHWND(), GWL_STYLE, WS_POPUP|WS_SYSMENU ); - SetWindowPos( getHWND(), HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_FRAMECHANGED); - } - else - { - Con::printf("Win32Window::setFullscreen (windowed) enter"); + if (fullscreen == mFullscreen) + return; + + mFullscreen = fullscreen; + if(fullscreen && !mOffscreenRender) + { + Con::printf("Win32Window::setFullscreen (full) enter"); + SetWindowLong( getHWND(), GWL_STYLE, WS_POPUP|WS_SYSMENU ); + SetWindowPos( getHWND(), HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_FRAMECHANGED); + } + else + { + Con::printf("Win32Window::setFullscreen (windowed) enter"); if (!mOffscreenRender) { - SetWindowLong( getHWND(), GWL_STYLE, mWindowedWindowStyle); - SetWindowPos( getHWND(), HWND_NOTOPMOST, 0, 0, mVideoMode.resolution.x, mVideoMode.resolution.y, SWP_FRAMECHANGED | SWP_SHOWWINDOW); + SetWindowLong( getHWND(), GWL_STYLE, mWindowedWindowStyle); + SetWindowPos( getHWND(), HWND_NOTOPMOST, 0, 0, mVideoMode.resolution.x, mVideoMode.resolution.y, SWP_FRAMECHANGED | SWP_SHOWWINDOW); } setSize(mVideoMode.resolution); - } - Con::printf("Win32Window::setFullscreen exit"); + } + Con::printf("Win32Window::setFullscreen exit"); } bool Win32Window::setCaption( const char *cap ) { - return SetWindowTextA(mWindowHandle, cap); + return SetWindowTextA(mWindowHandle, cap); } const char * Win32Window::getCaption() { - char buff[512]; - S32 strLen = GetWindowTextA(mWindowHandle, buff, 512); + char buff[512]; + S32 strLen = GetWindowTextA(mWindowHandle, buff, 512); - if(strLen==0) - return NULL; + if(strLen==0) + return NULL; - return StringTable->insert(buff); + return StringTable->insert(buff); } void Win32Window::setFocus() @@ -336,68 +336,68 @@ void Win32Window::setFocus() void Win32Window::setClientExtent( const Point2I newExtent ) { - Point2I oldExtent = getClientExtent(); - if (oldExtent == newExtent) - return; - - RECT rtClient; - DWORD Style, ExStyle; - SetRect( &rtClient, 0, 0, newExtent.x, newExtent.y ); - Style = GetWindowLong( mWindowHandle, GWL_STYLE); - ExStyle = GetWindowLong( mWindowHandle, GWL_EXSTYLE ); - - AdjustWindowRectEx( &rtClient, Style, getMenuHandle() != NULL, ExStyle ); - if( Style & WS_VSCROLL ) - rtClient.right += GetSystemMetrics( SM_CXVSCROLL ); - if( Style & WS_HSCROLL ) - rtClient.bottom += GetSystemMetrics( SM_CYVSCROLL ); - - SetWindowPos( mWindowHandle, NULL, 0, 0, rtClient.right - rtClient.left, rtClient.bottom - rtClient.top, SWP_NOMOVE | SWP_NOACTIVATE | SWP_NOZORDER); + Point2I oldExtent = getClientExtent(); + if (oldExtent == newExtent) + return; + + RECT rtClient; + DWORD Style, ExStyle; + SetRect( &rtClient, 0, 0, newExtent.x, newExtent.y ); + Style = GetWindowLong( mWindowHandle, GWL_STYLE); + ExStyle = GetWindowLong( mWindowHandle, GWL_EXSTYLE ); + + AdjustWindowRectEx( &rtClient, Style, getMenuHandle() != NULL, ExStyle ); + if( Style & WS_VSCROLL ) + rtClient.right += GetSystemMetrics( SM_CXVSCROLL ); + if( Style & WS_HSCROLL ) + rtClient.bottom += GetSystemMetrics( SM_CYVSCROLL ); + + SetWindowPos( mWindowHandle, NULL, 0, 0, rtClient.right - rtClient.left, rtClient.bottom - rtClient.top, SWP_NOMOVE | SWP_NOACTIVATE | SWP_NOZORDER); } const Point2I Win32Window::getClientExtent() { - // Fetch Client Rect from Windows - RECT clientRect; - ::GetClientRect(mWindowHandle, &clientRect); + // Fetch Client Rect from Windows + RECT clientRect; + ::GetClientRect(mWindowHandle, &clientRect); - // Return as a Torque Point2I - We don't care about origin as it's always 0,0 - return Point2I(clientRect.right - clientRect.left, clientRect.bottom - clientRect.top); + // Return as a Torque Point2I - We don't care about origin as it's always 0,0 + return Point2I(clientRect.right - clientRect.left, clientRect.bottom - clientRect.top); } void Win32Window::setBounds( const RectI &newBounds ) { - RECT newRect; - newRect.left = newBounds.point.x; - newRect.top = newBounds.point.y; - newRect.bottom = newRect.top + newBounds.extent.y; - newRect.right = newRect.left + newBounds.extent.x; + RECT newRect; + newRect.left = newBounds.point.x; + newRect.top = newBounds.point.y; + newRect.bottom = newRect.top + newBounds.extent.y; + newRect.right = newRect.left + newBounds.extent.x; - MoveWindow(mWindowHandle, newRect.left, newRect.top, newRect.right - newRect.left, newRect.bottom - newRect.top, true); + MoveWindow(mWindowHandle, newRect.left, newRect.top, newRect.right - newRect.left, newRect.bottom - newRect.top, true); } const RectI Win32Window::getBounds() const { - // Fetch Window Rect from OS - RECT windowRect; - ::GetWindowRect(mWindowHandle, &windowRect); + // Fetch Window Rect from OS + RECT windowRect; + ::GetWindowRect(mWindowHandle, &windowRect); - // Return as a Torque RectI - return RectI(windowRect.left,windowRect.top,windowRect.right - windowRect.left, windowRect.bottom - windowRect.top); + // Return as a Torque RectI + return RectI(windowRect.left,windowRect.top,windowRect.right - windowRect.left, windowRect.bottom - windowRect.top); } void Win32Window::setPosition( const Point2I newPosition ) { - SetWindowPos( mWindowHandle, HWND_NOTOPMOST, newPosition.x, newPosition.y, 0, 0, SWP_NOSIZE | SWP_NOACTIVATE ); + SetWindowPos( mWindowHandle, HWND_NOTOPMOST, newPosition.x, newPosition.y, 0, 0, SWP_NOSIZE | SWP_NOACTIVATE ); } const Point2I Win32Window::getPosition() { - RECT windowRect; - GetWindowRect( mWindowHandle, &windowRect ); + RECT windowRect; + GetWindowRect( mWindowHandle, &windowRect ); - // Return position - return Point2I(windowRect.left,windowRect.top); + // Return position + return Point2I(windowRect.left,windowRect.top); } Point2I Win32Window::clientToScreen( const Point2I& pos ) @@ -418,24 +418,24 @@ Point2I Win32Window::screenToClient( const Point2I& pos ) void Win32Window::centerWindow() { - RECT newRect; - GetWindowRect(mWindowHandle,&newRect); - newRect.bottom -= newRect.top; - newRect.right -= newRect.left; - newRect.top = 0; - newRect.left = 0; + RECT newRect; + GetWindowRect(mWindowHandle,&newRect); + newRect.bottom -= newRect.top; + newRect.right -= newRect.left; + newRect.top = 0; + newRect.left = 0; - HMONITOR hMon = MonitorFromWindow(mWindowHandle, MONITOR_DEFAULTTONEAREST); + HMONITOR hMon = MonitorFromWindow(mWindowHandle, MONITOR_DEFAULTTONEAREST); - // Get the monitor's extents. - MONITORINFO monInfo; - dMemset(&monInfo, 0, sizeof MONITORINFO); - monInfo.cbSize = sizeof MONITORINFO; - GetMonitorInfo(hMon, &monInfo); + // Get the monitor's extents. + MONITORINFO monInfo; + dMemset(&monInfo, 0, sizeof MONITORINFO); + monInfo.cbSize = sizeof MONITORINFO; + GetMonitorInfo(hMon, &monInfo); // Calculate the offset to center the window in the working area - S32 deltaX = ((monInfo.rcWork.right - monInfo.rcWork.left) / 2) - ((newRect.right - newRect.left) / 2); - S32 deltaY = ((monInfo.rcWork.bottom - monInfo.rcWork.top) / 2) - ((newRect.bottom - newRect.top) / 2); + S32 deltaX = ((monInfo.rcWork.right - monInfo.rcWork.left) / 2) - ((newRect.right - newRect.left) / 2); + S32 deltaY = ((monInfo.rcWork.bottom - monInfo.rcWork.top) / 2) - ((newRect.bottom - newRect.top) / 2); // Calculate the new left and top position for the window S32 newLeft = newRect.left + deltaX; @@ -470,35 +470,35 @@ void Win32Window::centerWindow() // Let GFX get an update about the new resolution if (mTarget.isValid()) - mTarget->resetMode(); + mTarget->resetMode(); } bool Win32Window::setSize( const Point2I &newSize ) { - // Create the window rect (screen centered if not owned by a parent) - RECT newRect; - newRect.left = 0; - newRect.top = 0; - newRect.bottom = newRect.top + newSize.y; - newRect.right = newRect.left + newSize.x; - - // Adjust the window rect to ensure the client rectangle is the desired resolution - AdjustWindowRect( &newRect, mWindowedWindowStyle, false);//(bool)(getMenuHandle() != NULL) ); - - // Center the window on the screen if we're not a child - if( !mOwningManager->mParentWindow ) - { - HMONITOR hMon = MonitorFromWindow(mWindowHandle, MONITOR_DEFAULTTONEAREST); - - // Get the monitor's extents. - MONITORINFO monInfo; - dMemset(&monInfo, 0, sizeof MONITORINFO); - monInfo.cbSize = sizeof MONITORINFO; - GetMonitorInfo(hMon, &monInfo); + // Create the window rect (screen centered if not owned by a parent) + RECT newRect; + newRect.left = 0; + newRect.top = 0; + newRect.bottom = newRect.top + newSize.y; + newRect.right = newRect.left + newSize.x; + + // Adjust the window rect to ensure the client rectangle is the desired resolution + AdjustWindowRect( &newRect, mWindowedWindowStyle, false);//(bool)(getMenuHandle() != NULL) ); + + // Center the window on the screen if we're not a child + if( !mOwningManager->mParentWindow ) + { + HMONITOR hMon = MonitorFromWindow(mWindowHandle, MONITOR_DEFAULTTONEAREST); + + // Get the monitor's extents. + MONITORINFO monInfo; + dMemset(&monInfo, 0, sizeof MONITORINFO); + monInfo.cbSize = sizeof MONITORINFO; + GetMonitorInfo(hMon, &monInfo); // Calculate the offset to center the window in the working area - S32 deltaX = ((monInfo.rcWork.right - monInfo.rcWork.left) / 2) - ((newRect.right - newRect.left) / 2); - S32 deltaY = ((monInfo.rcWork.bottom - monInfo.rcWork.top) / 2) - ((newRect.bottom - newRect.top) / 2); + S32 deltaX = ((monInfo.rcWork.right - monInfo.rcWork.left) / 2) - ((newRect.right - newRect.left) / 2); + S32 deltaY = ((monInfo.rcWork.bottom - monInfo.rcWork.top) / 2) - ((newRect.bottom - newRect.top) / 2); // Calculate the new left and top position for the window S32 newLeft = newRect.left + deltaX; @@ -526,9 +526,9 @@ bool Win32Window::setSize( const Point2I &newSize ) newHeight = (monInfo.rcWork.bottom - monInfo.rcWork.top) - newTop; MoveWindow( mWindowHandle, newLeft, newTop, newWidth, newHeight, true ); - } - else // Just position it according to the mPosition plus new extent - MoveWindow(mWindowHandle, newRect.left, newRect.top, newRect.right - newRect.left, newRect.bottom - newRect.top, true); + } + else // Just position it according to the mPosition plus new extent + MoveWindow(mWindowHandle, newRect.left, newRect.top, newRect.right - newRect.left, newRect.bottom - newRect.top, true); // Make sure the resolution matches the client extent Point2I clientExt = getClientExtent(); @@ -536,31 +536,31 @@ bool Win32Window::setSize( const Point2I &newSize ) // Let GFX get an update about the new resolution if (mTarget.isValid()) - mTarget->resetMode(); + mTarget->resetMode(); - InvalidateRect( NULL, NULL, true ); + InvalidateRect( NULL, NULL, true ); - return true; + return true; } bool Win32Window::isOpen() { - return true; + return true; } bool Win32Window::isVisible() { - // Is the window open and visible, ie. not minimized? + // Is the window open and visible, ie. not minimized? - if(!mWindowHandle) - return false; + if(!mWindowHandle) + return false; if (mOffscreenRender) return true; - return IsWindowVisible(mWindowHandle) - && !IsIconic(mWindowHandle) - && !isScreenSaverRunning(); + return IsWindowVisible(mWindowHandle) + && !IsIconic(mWindowHandle) + && !isScreenSaverRunning(); } bool Win32Window::isFocused() @@ -569,14 +569,14 @@ bool Win32Window::isFocused() if (mOffscreenRender) return true; - // CodeReview This is enough to make the plugin and normal/editor scenarios - // coexist but it seems brittle. I think we need a better way to detect - // if we're the foreground window, maybe taking into account if any of our - // window's parents are foreground? [bjg 4/30/07] - if(mOwningManager->mParentWindow) - return (GetFocus() == mWindowHandle || IsChild(mWindowHandle, GetFocus())); - else - return ((GetFocus() == mWindowHandle || IsChild(mWindowHandle, GetFocus())) && GetForegroundWindow() == mWindowHandle); + // CodeReview This is enough to make the plugin and normal/editor scenarios + // coexist but it seems brittle. I think we need a better way to detect + // if we're the foreground window, maybe taking into account if any of our + // window's parents are foreground? [bjg 4/30/07] + if(mOwningManager->mParentWindow) + return (GetFocus() == mWindowHandle || IsChild(mWindowHandle, GetFocus())); + else + return ((GetFocus() == mWindowHandle || IsChild(mWindowHandle, GetFocus())) && GetForegroundWindow() == mWindowHandle); } bool Win32Window::isMinimized() @@ -609,7 +609,7 @@ bool Win32Window::isMaximized() WindowId Win32Window::getWindowId() { - return mWindowId; + return mWindowId; } void Win32Window::minimize() @@ -617,7 +617,7 @@ void Win32Window::minimize() if (mOffscreenRender) return; - ShowWindow( mWindowHandle, SW_MINIMIZE ); + ShowWindow( mWindowHandle, SW_MINIMIZE ); } void Win32Window::maximize() @@ -625,7 +625,7 @@ void Win32Window::maximize() if (mOffscreenRender) return; - ShowWindow( mWindowHandle, SW_MAXIMIZE ); + ShowWindow( mWindowHandle, SW_MAXIMIZE ); } void Win32Window::restore() @@ -633,7 +633,7 @@ void Win32Window::restore() if (mOffscreenRender) return; - ShowWindow( mWindowHandle, SW_RESTORE ); + ShowWindow( mWindowHandle, SW_RESTORE ); } void Win32Window::hide() @@ -641,7 +641,7 @@ void Win32Window::hide() if (mOffscreenRender) return; - ShowWindow( mWindowHandle, SW_HIDE ); + ShowWindow( mWindowHandle, SW_HIDE ); } void Win32Window::show() @@ -649,324 +649,324 @@ void Win32Window::show() if (mOffscreenRender) return; - ShowWindow( mWindowHandle, SW_SHOWNORMAL ); + ShowWindow( mWindowHandle, SW_SHOWNORMAL ); } void Win32Window::close() { - delete this; + delete this; } void Win32Window::_registerWindowClass() { - // Check to see if it exists already. - WNDCLASSEX classInfo; - if (GetClassInfoEx(GetModuleHandle(NULL),_MainWindowClassName,&classInfo)) - return; - - HMODULE appInstance = GetModuleHandle(NULL); - HICON appIcon = LoadIcon(appInstance, MAKEINTRESOURCE(IDI_ICON1)); - - // Window class shared by all MainWindow objects - classInfo.lpszClassName = _MainWindowClassName; - classInfo.cbSize = sizeof(WNDCLASSEX); - classInfo.style = CS_HREDRAW | CS_VREDRAW | CS_OWNDC; - classInfo.lpfnWndProc = (WNDPROC)WindowProc; - classInfo.hInstance = appInstance; // Owner of this class - classInfo.hIcon = appIcon; // Icon name - classInfo.hIconSm = appIcon; // Icon name - classInfo.hCursor = LoadCursor(NULL, IDC_ARROW); // Cursor - classInfo.hbrBackground = (HBRUSH)(COLOR_WINDOW+1); // Default color - classInfo.lpszMenuName = NULL; - classInfo.cbClsExtra = 0; - classInfo.cbWndExtra = 0; - if (!RegisterClassEx(&classInfo)) - AssertISV(false,"Window class initialization failed"); - - classInfo.lpfnWndProc = DefWindowProc; - classInfo.hCursor = NULL; - classInfo.hbrBackground = (HBRUSH) GetStockObject(BLACK_BRUSH); - classInfo.lpszClassName = _CurtainWindowClassName; - if (!RegisterClassEx(&classInfo)) - AssertISV(false,"Curtain window class initialization failed"); + // Check to see if it exists already. + WNDCLASSEX classInfo; + if (GetClassInfoEx(GetModuleHandle(NULL),_MainWindowClassName,&classInfo)) + return; + + HMODULE appInstance = GetModuleHandle(NULL); + HICON appIcon = LoadIcon(appInstance, MAKEINTRESOURCE(IDI_ICON1)); + + // Window class shared by all MainWindow objects + classInfo.lpszClassName = _MainWindowClassName; + classInfo.cbSize = sizeof(WNDCLASSEX); + classInfo.style = CS_HREDRAW | CS_VREDRAW | CS_OWNDC; + classInfo.lpfnWndProc = (WNDPROC)WindowProc; + classInfo.hInstance = appInstance; // Owner of this class + classInfo.hIcon = appIcon; // Icon name + classInfo.hIconSm = appIcon; // Icon name + classInfo.hCursor = LoadCursor(NULL, IDC_ARROW); // Cursor + classInfo.hbrBackground = (HBRUSH)(COLOR_WINDOW+1); // Default color + classInfo.lpszMenuName = NULL; + classInfo.cbClsExtra = 0; + classInfo.cbWndExtra = 0; + if (!RegisterClassEx(&classInfo)) + AssertISV(false,"Window class initialization failed"); + + classInfo.lpfnWndProc = DefWindowProc; + classInfo.hCursor = NULL; + classInfo.hbrBackground = (HBRUSH) GetStockObject(BLACK_BRUSH); + classInfo.lpszClassName = _CurtainWindowClassName; + if (!RegisterClassEx(&classInfo)) + AssertISV(false,"Curtain window class initialization failed"); } void Win32Window::_unregisterWindowClass() { - WNDCLASSEX classInfo; - if (GetClassInfoEx(GetModuleHandle(NULL),_MainWindowClassName,&classInfo)) - UnregisterClass(_MainWindowClassName,GetModuleHandle(NULL)); - if (GetClassInfoEx(GetModuleHandle(NULL),_CurtainWindowClassName,&classInfo)) - UnregisterClass(_CurtainWindowClassName,GetModuleHandle(NULL)); + WNDCLASSEX classInfo; + if (GetClassInfoEx(GetModuleHandle(NULL),_MainWindowClassName,&classInfo)) + UnregisterClass(_MainWindowClassName,GetModuleHandle(NULL)); + if (GetClassInfoEx(GetModuleHandle(NULL),_CurtainWindowClassName,&classInfo)) + UnregisterClass(_CurtainWindowClassName,GetModuleHandle(NULL)); } LRESULT PASCAL Win32Window::WindowProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam ) { - // CodeReview [tom, 4/30/2007] The two casts here seem somewhat silly and redundant ? - Win32Window* window = (Win32Window*)((PlatformWindow*)GetWindowLongPtr(hWnd, GWLP_USERDATA)); - const WindowId devId = window ? window->getWindowId() : 0; + // CodeReview [tom, 4/30/2007] The two casts here seem somewhat silly and redundant ? + Win32Window* window = (Win32Window*)((PlatformWindow*)GetWindowLongPtr(hWnd, GWLP_USERDATA)); + const WindowId devId = window ? window->getWindowId() : 0; if (window && window->getOffscreenRender()) return DefWindowProc(hWnd, message, wParam, lParam); - switch (message) - { + switch (message) + { - case WM_DISPLAYCHANGE: + case WM_DISPLAYCHANGE: // Update the monitor list PlatformWindowManager::get()->buildMonitorsList(); - if(window && window->isVisible() && !window->mSuppressReset && window->getVideoMode().bitDepth != wParam) - { - Con::warnf("Win32Window::WindowProc - resetting device due to display mode BPP change."); - window->getGFXTarget()->resetMode(); - } - break; + if(window && window->isVisible() && !window->mSuppressReset && window->getVideoMode().bitDepth != wParam) + { + Con::warnf("Win32Window::WindowProc - resetting device due to display mode BPP change."); + window->getGFXTarget()->resetMode(); + } + break; - case WM_MOUSEACTIVATE: - SetFocus(hWnd); - return MA_ACTIVATE; + case WM_MOUSEACTIVATE: + SetFocus(hWnd); + return MA_ACTIVATE; - case WM_MOUSEMOVE: + case WM_MOUSEMOVE: if (window && GetFocus() != hWnd && IsChild(hWnd, GetFocus())) { SetFocus(hWnd); break; } - // If our foreground window is the browser and we don't have focus grab it - if (Platform::getWebDeployment() && GetFocus() != hWnd) - { - HWND phwnd = GetParent(hWnd); - while (phwnd) - { - if (GetForegroundWindow() == phwnd) - { - SetFocus(hWnd); - break; - } - phwnd = GetParent(phwnd); - } - } - break; - - // Associate the window pointer with this window - case WM_CREATE: - // CodeReview [tom, 4/30/2007] Why don't we just cast this to a LONG - // instead of having a ton of essentially pointless casts ? - SetWindowLongPtr(hWnd, GWLP_USERDATA, - (LONG_PTR)((PlatformWindow*)((CREATESTRUCT*)lParam)->lpCreateParams)); - break; - - case WM_SETFOCUS: - // NOTE: if wParam is NOT equal to our window handle then we are GAINING focus - Dispatch(DelayedDispatch, hWnd, message, wParam, lParam); - return 0; - - case WM_KILLFOCUS: - // NOTE: if wParam is NOT equal to our window handle then we are LOSING focus - Dispatch(DelayedDispatch, hWnd, message, wParam, lParam); - return 0; - - // The window is being dragged - case WM_MOVE: - if(!window) - break; - - window->mPosition.x = (int)LOWORD(lParam); - window->mPosition.y = (int)HIWORD(lParam); - return 0; - - // Update viewport when the window moves - case WM_SIZE: - if(window && window->mSuppressReset) - break; - - // This is dispatched immediately to prevent a race condition with journaling and window minimizing - if (wParam != SIZE_MINIMIZED && !Journal::IsPlaying()) - Dispatch( ImmediateDispatch, hWnd,message,wParam,lParam ); - - if(wParam != SIZE_MINIMIZED && window != NULL ) - { - if(!window->mVideoMode.fullScreen) - { - U32 width = LOWORD( lParam ); - U32 height = HIWORD( lParam ); - - window->mVideoMode.resolution.set( width, height ); - } - - if(window->getGFXTarget()) - { - Con::warnf("Win32Window::WindowProc - resetting device due to window size change."); - window->getGFXTarget()->resetMode(); - } - } - return 0; - - // Limit resize to a safe minimum - case WM_GETMINMAXINFO: - MINMAXINFO *winfo; - winfo = (MINMAXINFO*)(lParam); - - if(window && window->mMinimumSize.lenSquared() > 0) - { - winfo->ptMinTrackSize.x = window->mMinimumSize.x; - winfo->ptMinTrackSize.y = window->mMinimumSize.y; - } - - //Is the window size locked? - if (window && window->isSizeLocked()) - { - Point2I lockedSize = window->getLockedSize(); - - winfo->ptMinTrackSize.x = lockedSize.x; - winfo->ptMinTrackSize.y = lockedSize.y; - winfo->ptMaxTrackSize.x = lockedSize.x; - winfo->ptMaxTrackSize.y = lockedSize.y; - } - - break; - - // Override background erase so window doesn't get cleared - case WM_ERASEBKGND: - return 1; - - case WM_MENUSELECT: - winState.renderThreadBlocked = true; - break; - - // Refresh the window - case WM_PAINT: - // Use validate instead of begin/end paint, which seem to installs - // some Dx clipping state that isn't getting restored properly - ValidateRect(hWnd,0); - - // Skip it if we're dispatching. - if(Journal::IsDispatching()) - break; - - if( window == NULL ) - break; - - //// Default render if.. - //// 1. We have no device - //// 2. We have a device but it's not allowing rendering - if( !window->getGFXDevice() || !window->getGFXDevice()->allowRender() ) - window->defaultRender(); - if( winState.renderThreadBlocked ) - window->displayEvent.trigger(devId); - break; - - // Power shutdown query - case WM_POWERBROADCAST: { - if (wParam == PBT_APMQUERYSUSPEND) - if (GetForegroundWindow() == hWnd) - return BROADCAST_QUERY_DENY; - break; - } - - // Screensaver activation and monitor power requests - case WM_SYSCOMMAND: - switch (wParam) { - case SC_SCREENSAVE: - case SC_MONITORPOWER: - if (GetForegroundWindow() == hWnd) - return SCREENSAVER_QUERY_DENY; - break; - } - break; - - // Menus - case WM_COMMAND: - { - winState.renderThreadBlocked = false; - - if( window == NULL ) - break; - - // [tom, 8/21/2006] Pass off to the relevant PopupMenu if it's a menu - // or accelerator command. PopupMenu will in turn hand off to script. - // - // Note: PopupMenu::handleSelect() will not do anything if the menu - // item is disabled, so we don't need to deal with that here. - - S32 numItems = GetMenuItemCount(window->getMenuHandle()); - for(S32 i = 0;i < numItems;i++) - { - MENUITEMINFOA mi; - mi.cbSize = sizeof(mi); - mi.fMask = MIIM_DATA; - if(GetMenuItemInfoA(window->getMenuHandle(), i, TRUE, &mi)) - { - if(mi.fMask & MIIM_DATA && mi.dwItemData != 0) - { - PopupMenu *mnu = (PopupMenu *)mi.dwItemData; - - PopupMenu::smSelectionEventHandled = false; - PopupMenu::smPopupMenuEvent.trigger(mnu->getPopupGUID(), LOWORD(wParam)); - if (PopupMenu::smSelectionEventHandled) - return 0; - } - } - } - } - break; - - case WM_INITMENUPOPUP: - { - HMENU menu = (HMENU)wParam; - MENUINFO mi; - mi.cbSize = sizeof(mi); - mi.fMask = MIM_MENUDATA; - if(GetMenuInfo(menu, &mi) && mi.dwMenuData != 0) - { - PopupMenu *pm = (PopupMenu *)mi.dwMenuData; - if(pm != NULL) - pm->onMenuSelect(); - } - } - break; - // Some events need to be consumed as well as queued up - // for later dispatch. - case WM_CLOSE: - case WM_MOUSEWHEEL: + // If our foreground window is the browser and we don't have focus grab it + if (Platform::getWebDeployment() && GetFocus() != hWnd) + { + HWND phwnd = GetParent(hWnd); + while (phwnd) + { + if (GetForegroundWindow() == phwnd) + { + SetFocus(hWnd); + break; + } + phwnd = GetParent(phwnd); + } + } + break; + + // Associate the window pointer with this window + case WM_CREATE: + // CodeReview [tom, 4/30/2007] Why don't we just cast this to a LONG + // instead of having a ton of essentially pointless casts ? + SetWindowLongPtr(hWnd, GWLP_USERDATA, + (LONG_PTR)((PlatformWindow*)((CREATESTRUCT*)lParam)->lpCreateParams)); + break; + + case WM_SETFOCUS: + // NOTE: if wParam is NOT equal to our window handle then we are GAINING focus + Dispatch(DelayedDispatch, hWnd, message, wParam, lParam); + return 0; + + case WM_KILLFOCUS: + // NOTE: if wParam is NOT equal to our window handle then we are LOSING focus + Dispatch(DelayedDispatch, hWnd, message, wParam, lParam); + return 0; + + // The window is being dragged + case WM_MOVE: + if(!window) + break; + + window->mPosition.x = (int)LOWORD(lParam); + window->mPosition.y = (int)HIWORD(lParam); + return 0; + + // Update viewport when the window moves + case WM_SIZE: + if(window && window->mSuppressReset) + break; + + // This is dispatched immediately to prevent a race condition with journaling and window minimizing + if (wParam != SIZE_MINIMIZED && !Journal::IsPlaying()) + Dispatch( ImmediateDispatch, hWnd,message,wParam,lParam ); + + if(wParam != SIZE_MINIMIZED && window != NULL ) + { + if(!window->mVideoMode.fullScreen) + { + U32 width = LOWORD( lParam ); + U32 height = HIWORD( lParam ); + + window->mVideoMode.resolution.set( width, height ); + } + + if(window->getGFXTarget()) + { + Con::warnf("Win32Window::WindowProc - resetting device due to window size change."); + window->getGFXTarget()->resetMode(); + } + } + return 0; + + // Limit resize to a safe minimum + case WM_GETMINMAXINFO: + MINMAXINFO *winfo; + winfo = (MINMAXINFO*)(lParam); + + if(window && window->mMinimumSize.lenSquared() > 0) + { + winfo->ptMinTrackSize.x = window->mMinimumSize.x; + winfo->ptMinTrackSize.y = window->mMinimumSize.y; + } + + //Is the window size locked? + if (window && window->isSizeLocked()) + { + Point2I lockedSize = window->getLockedSize(); + + winfo->ptMinTrackSize.x = lockedSize.x; + winfo->ptMinTrackSize.y = lockedSize.y; + winfo->ptMaxTrackSize.x = lockedSize.x; + winfo->ptMaxTrackSize.y = lockedSize.y; + } + + break; + + // Override background erase so window doesn't get cleared + case WM_ERASEBKGND: + return 1; + + case WM_MENUSELECT: + winState.renderThreadBlocked = true; + break; + + // Refresh the window + case WM_PAINT: + // Use validate instead of begin/end paint, which seem to installs + // some Dx clipping state that isn't getting restored properly + ValidateRect(hWnd,0); + + // Skip it if we're dispatching. + if(Journal::IsDispatching()) + break; + + if( window == NULL ) + break; + + //// Default render if.. + //// 1. We have no device + //// 2. We have a device but it's not allowing rendering + if( !window->getGFXDevice() || !window->getGFXDevice()->allowRender() ) + window->defaultRender(); + if( winState.renderThreadBlocked ) + window->displayEvent.trigger(devId); + break; + + // Power shutdown query + case WM_POWERBROADCAST: { + if (wParam == PBT_APMQUERYSUSPEND) + if (GetForegroundWindow() == hWnd) + return BROADCAST_QUERY_DENY; + break; + } + + // Screensaver activation and monitor power requests + case WM_SYSCOMMAND: + switch (wParam) { + case SC_SCREENSAVE: + case SC_MONITORPOWER: + if (GetForegroundWindow() == hWnd) + return SCREENSAVER_QUERY_DENY; + break; + } + break; + + // Menus + case WM_COMMAND: + { + winState.renderThreadBlocked = false; + + if( window == NULL ) + break; + + // [tom, 8/21/2006] Pass off to the relevant PopupMenu if it's a menu + // or accelerator command. PopupMenu will in turn hand off to script. + // + // Note: PopupMenu::handleSelect() will not do anything if the menu + // item is disabled, so we don't need to deal with that here. + + S32 numItems = GetMenuItemCount(window->getMenuHandle()); + for(S32 i = 0;i < numItems;i++) + { + MENUITEMINFOA mi; + mi.cbSize = sizeof(mi); + mi.fMask = MIIM_DATA; + if(GetMenuItemInfoA(window->getMenuHandle(), i, TRUE, &mi)) + { + if(mi.fMask & MIIM_DATA && mi.dwItemData != 0) + { + PopupMenu *mnu = (PopupMenu *)mi.dwItemData; + + PopupMenu::smSelectionEventHandled = false; + PopupMenu::smPopupMenuEvent.trigger(mnu->getPopupGUID(), LOWORD(wParam)); + if (PopupMenu::smSelectionEventHandled) + return 0; + } + } + } + } + break; + + case WM_INITMENUPOPUP: + { + HMENU menu = (HMENU)wParam; + MENUINFO mi; + mi.cbSize = sizeof(mi); + mi.fMask = MIM_MENUDATA; + if(GetMenuInfo(menu, &mi) && mi.dwMenuData != 0) + { + PopupMenu *pm = (PopupMenu *)mi.dwMenuData; + if(pm != NULL) + pm->onMenuSelect(); + } + } + break; + // Some events need to be consumed as well as queued up + // for later dispatch. + case WM_CLOSE: + case WM_MOUSEWHEEL: #ifdef WM_MOUSEHWHEEL // Vista case WM_MOUSEHWHEEL: #endif - // CodeReview This fixes some issues with inappropriate event handling - // around device resets and in full-screen mode but feels - // heavy-handed. Is it clobbering something important? - // [bjg 6/13/07] - case WM_KEYUP: - case WM_KEYDOWN: - case WM_SYSKEYUP: - case WM_SYSKEYDOWN: - Dispatch(DelayedDispatch,hWnd,message,wParam,lParam); - return 0; - } - - // Queue up for later and invoke the Windows default handler. - Dispatch(DelayedDispatch,hWnd,message,wParam,lParam); - return DefWindowProc(hWnd, message, wParam, lParam); + // CodeReview This fixes some issues with inappropriate event handling + // around device resets and in full-screen mode but feels + // heavy-handed. Is it clobbering something important? + // [bjg 6/13/07] + case WM_KEYUP: + case WM_KEYDOWN: + case WM_SYSKEYUP: + case WM_SYSKEYDOWN: + Dispatch(DelayedDispatch,hWnd,message,wParam,lParam); + return 0; + } + + // Queue up for later and invoke the Windows default handler. + Dispatch(DelayedDispatch,hWnd,message,wParam,lParam); + return DefWindowProc(hWnd, message, wParam, lParam); } void Win32Window::defaultRender() { - // Get Window Device Context - HDC logoDC = GetDC(mWindowHandle); + // Get Window Device Context + HDC logoDC = GetDC(mWindowHandle); - // Get Window Rectangle - RECT lRect; - GetClientRect(mWindowHandle,&lRect); + // Get Window Rectangle + RECT lRect; + GetClientRect(mWindowHandle,&lRect); - // Fill with AppWorkspace color - FillRect( logoDC, &lRect, (HBRUSH)GetSysColorBrush(COLOR_APPWORKSPACE) ); + // Fill with AppWorkspace color + FillRect( logoDC, &lRect, (HBRUSH)GetSysColorBrush(COLOR_APPWORKSPACE) ); - // Release Device Context - ReleaseDC(mWindowHandle,logoDC); + // Release Device Context + ReleaseDC(mWindowHandle,logoDC); } //----------------------------------------------------------------------------- @@ -975,147 +975,147 @@ void Win32Window::defaultRender() void Win32Window::addAccelerator(Accelerator &accel) { - ACCEL winAccel; - winAccel.fVirt = FVIRTKEY; - winAccel.cmd = accel.mID; - - if(accel.mDescriptor.flags & SI_SHIFT) - winAccel.fVirt |= FSHIFT; - if(accel.mDescriptor.flags & SI_CTRL) - winAccel.fVirt |= FCONTROL; - if(accel.mDescriptor.flags & SI_ALT) - winAccel.fVirt |= FALT; - - winAccel.key = TranslateKeyCodeToOS(accel.mDescriptor.eventCode); - - for(WinAccelList::iterator i = mWinAccelList.begin();i != mWinAccelList.end();++i) - { - if(i->cmd == winAccel.cmd) - { - // Already in list, just update it - i->fVirt = winAccel.fVirt; - i->key = winAccel.key; - return; - } - - if(i->fVirt == winAccel.fVirt && i->key == winAccel.key) - { - // Existing accelerator in list, don't add this one - return; - } - } - - mWinAccelList.push_back(winAccel); + ACCEL winAccel; + winAccel.fVirt = FVIRTKEY; + winAccel.cmd = accel.mID; + + if(accel.mDescriptor.flags & SI_SHIFT) + winAccel.fVirt |= FSHIFT; + if(accel.mDescriptor.flags & SI_CTRL) + winAccel.fVirt |= FCONTROL; + if(accel.mDescriptor.flags & SI_ALT) + winAccel.fVirt |= FALT; + + winAccel.key = TranslateKeyCodeToOS(accel.mDescriptor.eventCode); + + for(WinAccelList::iterator i = mWinAccelList.begin();i != mWinAccelList.end();++i) + { + if(i->cmd == winAccel.cmd) + { + // Already in list, just update it + i->fVirt = winAccel.fVirt; + i->key = winAccel.key; + return; + } + + if(i->fVirt == winAccel.fVirt && i->key == winAccel.key) + { + // Existing accelerator in list, don't add this one + return; + } + } + + mWinAccelList.push_back(winAccel); } void Win32Window::removeAccelerator(Accelerator &accel) { - for(WinAccelList::iterator i = mWinAccelList.begin();i != mWinAccelList.end();++i) - { - if(i->cmd == accel.mID) - { - mWinAccelList.erase(i); - return; - } - } + for(WinAccelList::iterator i = mWinAccelList.begin();i != mWinAccelList.end();++i) + { + if(i->cmd == accel.mID) + { + mWinAccelList.erase(i); + return; + } + } } //----------------------------------------------------------------------------- static bool isMenuItemIDEnabled(HMENU menu, U32 id) { - S32 numItems = GetMenuItemCount(menu); - for(S32 i = 0;i < numItems;i++) - { - MENUITEMINFOA mi; - mi.cbSize = sizeof(mi); - mi.fMask = MIIM_ID|MIIM_STATE|MIIM_SUBMENU|MIIM_DATA; - if(GetMenuItemInfoA(menu, i, TRUE, &mi)) - { - if(mi.fMask & MIIM_ID && mi.wID == id) - { - // This is an item on this menu - return (mi.fMask & MIIM_STATE) && ! (mi.fState & MFS_DISABLED); - } - - if((mi.fMask & MIIM_SUBMENU) && mi.hSubMenu != 0 && (mi.fMask & MIIM_DATA) && mi.dwItemData != 0) - { - // This is a submenu, if it can handle this ID then recurse to find correct state - PopupMenu *mnu = (PopupMenu *)mi.dwItemData; - if(mnu->canHandleID(id)) - return isMenuItemIDEnabled(mi.hSubMenu, id); - } - } - } - - return false; + S32 numItems = GetMenuItemCount(menu); + for(S32 i = 0;i < numItems;i++) + { + MENUITEMINFOA mi; + mi.cbSize = sizeof(mi); + mi.fMask = MIIM_ID|MIIM_STATE|MIIM_SUBMENU|MIIM_DATA; + if(GetMenuItemInfoA(menu, i, TRUE, &mi)) + { + if(mi.fMask & MIIM_ID && mi.wID == id) + { + // This is an item on this menu + return (mi.fMask & MIIM_STATE) && ! (mi.fState & MFS_DISABLED); + } + + if((mi.fMask & MIIM_SUBMENU) && mi.hSubMenu != 0 && (mi.fMask & MIIM_DATA) && mi.dwItemData != 0) + { + // This is a submenu, if it can handle this ID then recurse to find correct state + PopupMenu *mnu = (PopupMenu *)mi.dwItemData; + if(mnu->canHandleID(id)) + return isMenuItemIDEnabled(mi.hSubMenu, id); + } + } + } + + return false; } bool Win32Window::isAccelerator(const InputEventInfo &info) { - U32 virt; - virt = FVIRTKEY; - if(info.modifier & SI_SHIFT) - virt |= FSHIFT; - if(info.modifier & SI_CTRL) - virt |= FCONTROL; - if(info.modifier & SI_ALT) - virt |= FALT; - - U8 keyCode = TranslateKeyCodeToOS(info.objInst); - - for(S32 i = 0;i < mWinAccelList.size();++i) - { - const ACCEL &accel = mWinAccelList[i]; - if(accel.key == keyCode && accel.fVirt == virt && isMenuItemIDEnabled(getMenuHandle(), accel.cmd)) - return true; - } - return false; + U32 virt; + virt = FVIRTKEY; + if(info.modifier & SI_SHIFT) + virt |= FSHIFT; + if(info.modifier & SI_CTRL) + virt |= FCONTROL; + if(info.modifier & SI_ALT) + virt |= FALT; + + U8 keyCode = TranslateKeyCodeToOS(info.objInst); + + for(S32 i = 0;i < mWinAccelList.size();++i) + { + const ACCEL &accel = mWinAccelList[i]; + if(accel.key == keyCode && accel.fVirt == virt && isMenuItemIDEnabled(getMenuHandle(), accel.cmd)) + return true; + } + return false; } //----------------------------------------------------------------------------- void Win32Window::addAccelerators(AcceleratorList &list) { - if(mAccelHandle) - { - DestroyAcceleratorTable(mAccelHandle); - mAccelHandle = NULL; - } - - for(AcceleratorList::iterator i = list.begin();i != list.end();++i) - { - addAccelerator(*i); - } - - if(mWinAccelList.size() > 0) - mAccelHandle = CreateAcceleratorTable(&mWinAccelList[0], mWinAccelList.size()); + if(mAccelHandle) + { + DestroyAcceleratorTable(mAccelHandle); + mAccelHandle = NULL; + } + + for(AcceleratorList::iterator i = list.begin();i != list.end();++i) + { + addAccelerator(*i); + } + + if(mWinAccelList.size() > 0) + mAccelHandle = CreateAcceleratorTable(&mWinAccelList[0], mWinAccelList.size()); } void Win32Window::removeAccelerators(AcceleratorList &list) { - if(mAccelHandle) - { - DestroyAcceleratorTable(mAccelHandle); - mAccelHandle = NULL; - } - - for(AcceleratorList::iterator i = list.begin();i != list.end();++i) - { - removeAccelerator(*i); - } - - if(mWinAccelList.size() > 0) - mAccelHandle = CreateAcceleratorTable(mWinAccelList.address(), mWinAccelList.size()); + if(mAccelHandle) + { + DestroyAcceleratorTable(mAccelHandle); + mAccelHandle = NULL; + } + + for(AcceleratorList::iterator i = list.begin();i != list.end();++i) + { + removeAccelerator(*i); + } + + if(mWinAccelList.size() > 0) + mAccelHandle = CreateAcceleratorTable(mWinAccelList.address(), mWinAccelList.size()); } bool Win32Window::translateMessage(MSG &msg) { - if(mAccelHandle == NULL || mWindowHandle == NULL || !mEnableAccelerators) - return false; + if(mAccelHandle == NULL || mWindowHandle == NULL || !mEnableAccelerators) + return false; - S32 ret = TranslateAccelerator(mWindowHandle, mAccelHandle, &msg); - return ret != 0; + S32 ret = TranslateAccelerator(mWindowHandle, mAccelHandle, &msg); + return ret != 0; } //----------------------------------------------------------------------------- @@ -1128,84 +1128,84 @@ void Win32Window::setMouseLocked( bool enable ) if (mOffscreenRender) return; - // Maintain a good state without unnecessary - // cursor hides/modifications - if( enable && mMouseLocked && mShouldLockMouse ) - return; - else if(!enable && !mMouseLocked && !mShouldLockMouse ) - return; - - // Need to be focused to enable mouse lock - // but we can disable it no problem if we're - // not focused - if( !isFocused() && enable ) - { - mShouldLockMouse = enable; - return; - } - - // Set Flag - mMouseLocked = enable; - - if( enable ) - { - getCursorPosition( mMouseLockPosition ); - - RECT r; - GetWindowRect(getHWND(), &r); - - // Hide the cursor before it's moved - setCursorVisible( false ); - - // We have to nudge the cursor clip rect in a bit so we don't go out - // side the bounds of the window... We'll just do it by 32 in all - // directions, which will break for very small windows (< 200x200 or so) - // but otherwise won't matter. - RECT rCopy = r; - rCopy.top += 32; rCopy.bottom -= 64; - rCopy.left += 32; rCopy.right -= 64; - ClipCursor(&rCopy); - - S32 centerX = (r.right + r.left) >> 1; - S32 centerY = ((r.bottom + r.top) >> 1); - - - // Consume all existing mouse events and those posted to our own dispatch queue - MSG msg; - PeekMessage( &msg, 0,WM_MOUSEFIRST,WM_MOUSELAST , PM_QS_POSTMESSAGE | PM_NOYIELD | PM_REMOVE ); - RemoveMessages( NULL, WM_MOUSEMOVE, WM_MOUSEMOVE ); - - // Set the CursorPos - SetCursorPos(centerX, centerY); - - // reset should lock flag - mShouldLockMouse = true; - } - else - { - // This belongs before the unlock code - mShouldLockMouse = false; - - ClipCursor(NULL); - setCursorPosition( mMouseLockPosition.x,mMouseLockPosition.y ); - - // Consume all existing mouse events and those posted to our own dispatch queue - MSG msg; - PeekMessage( &msg, NULL,WM_MOUSEFIRST,WM_MOUSELAST , PM_QS_POSTMESSAGE | PM_NOYIELD | PM_REMOVE ); - RemoveMessages( NULL, WM_MOUSEMOVE, WM_MOUSEMOVE ); - - // Show the Cursor - setCursorVisible( true ); - - } + // Maintain a good state without unnecessary + // cursor hides/modifications + if( enable && mMouseLocked && mShouldLockMouse ) + return; + else if(!enable && !mMouseLocked && !mShouldLockMouse ) + return; + + // Need to be focused to enable mouse lock + // but we can disable it no problem if we're + // not focused + if( !isFocused() && enable ) + { + mShouldLockMouse = enable; + return; + } + + // Set Flag + mMouseLocked = enable; + + if( enable ) + { + getCursorPosition( mMouseLockPosition ); + + RECT r; + GetWindowRect(getHWND(), &r); + + // Hide the cursor before it's moved + setCursorVisible( false ); + + // We have to nudge the cursor clip rect in a bit so we don't go out + // side the bounds of the window... We'll just do it by 32 in all + // directions, which will break for very small windows (< 200x200 or so) + // but otherwise won't matter. + RECT rCopy = r; + rCopy.top += 32; rCopy.bottom -= 64; + rCopy.left += 32; rCopy.right -= 64; + ClipCursor(&rCopy); + + S32 centerX = (r.right + r.left) >> 1; + S32 centerY = ((r.bottom + r.top) >> 1); + + + // Consume all existing mouse events and those posted to our own dispatch queue + MSG msg; + PeekMessage( &msg, 0,WM_MOUSEFIRST,WM_MOUSELAST , PM_QS_POSTMESSAGE | PM_NOYIELD | PM_REMOVE ); + RemoveMessages( NULL, WM_MOUSEMOVE, WM_MOUSEMOVE ); + + // Set the CursorPos + SetCursorPos(centerX, centerY); + + // reset should lock flag + mShouldLockMouse = true; + } + else + { + // This belongs before the unlock code + mShouldLockMouse = false; + + ClipCursor(NULL); + setCursorPosition( mMouseLockPosition.x,mMouseLockPosition.y ); + + // Consume all existing mouse events and those posted to our own dispatch queue + MSG msg; + PeekMessage( &msg, NULL,WM_MOUSEFIRST,WM_MOUSELAST , PM_QS_POSTMESSAGE | PM_NOYIELD | PM_REMOVE ); + RemoveMessages( NULL, WM_MOUSEMOVE, WM_MOUSEMOVE ); + + // Show the Cursor + setCursorVisible( true ); + + } } const UTF16 *Win32Window::getWindowClassName() { - return _MainWindowClassName; + return _MainWindowClassName; } const UTF16 *Win32Window::getCurtainWindowClassName() { - return _CurtainWindowClassName; + return _CurtainWindowClassName; } diff --git a/Engine/source/windowManager/win32/win32Window.h b/Engine/source/windowManager/win32/win32Window.h index 765a3c900b..73e62dcc40 100644 --- a/Engine/source/windowManager/win32/win32Window.h +++ b/Engine/source/windowManager/win32/win32Window.h @@ -165,7 +165,7 @@ class Win32Window : public PlatformWindow virtual GFXDevice *getGFXDevice(); virtual GFXWindowTarget *getGFXTarget(); - virtual void setVideoMode(const GFXVideoMode &mode); + virtual void _setVideoMode(const GFXVideoMode &mode); virtual const GFXVideoMode &getVideoMode(); virtual bool clearFullscreen(); virtual bool isFullscreen(); diff --git a/Engine/source/windowManager/win32/win32WindowMgr.cpp b/Engine/source/windowManager/win32/win32WindowMgr.cpp index ef04c7fe1d..d2545e8fca 100644 --- a/Engine/source/windowManager/win32/win32WindowMgr.cpp +++ b/Engine/source/windowManager/win32/win32WindowMgr.cpp @@ -214,7 +214,7 @@ PlatformWindow *Win32WindowManager::createWindow(GFXDevice *device, const GFXVid // Link into our list of windows. linkWindow(w32w); - DWORD dwExStyle; + DWORD dwExStyle; DWORD dwStyle = WS_CLIPCHILDREN | WS_CLIPSIBLINGS; dwStyle |= WS_OVERLAPPEDWINDOW | WS_THICKFRAME | WS_CAPTION; dwExStyle = WS_EX_APPWINDOW | WS_EX_WINDOWEDGE; @@ -249,7 +249,7 @@ PlatformWindow *Win32WindowManager::createWindow(GFXDevice *device, const GFXVid w32w->mWindowedWindowStyle = dwStyle; // Set the video mode on the window - w32w->setVideoMode(mode); + w32w->_setVideoMode(mode); // Associate our window struct with the HWND. SetWindowLongPtr(w32w->mWindowHandle, GWLP_USERDATA, (LONG_PTR)w32w); diff --git a/Templates/Empty/game/Empty.torsion.opt b/Templates/Empty/game/Empty.torsion.opt new file mode 100644 index 0000000000..b8fb8da68d --- /dev/null +++ b/Templates/Empty/game/Empty.torsion.opt @@ -0,0 +1,17 @@ + +
127.0.0.1
+password +6060 +Debug + + + +core\scripts\client\renderManager.cs +core\scripts\client\shaders.cs +core\scripts\client\postFx\glow.cs +core\scripts\client\postFx\postFxManager.gui.settings.cs +scripts\server\scriptExec.cs +tools\worldEditor\gui\objectBuilderGui.ed.gui +tools\worldEditor\scripts\editors\creator.ed.cs + +
diff --git a/Templates/Empty/game/art/environment/FogMod_heavy.dds b/Templates/Empty/game/art/environment/FogMod_heavy.dds new file mode 100644 index 0000000000..197dd43327 Binary files /dev/null and b/Templates/Empty/game/art/environment/FogMod_heavy.dds differ diff --git a/Templates/Empty/game/art/environment/FogMod_light.dds b/Templates/Empty/game/art/environment/FogMod_light.dds new file mode 100644 index 0000000000..d726795fa1 Binary files /dev/null and b/Templates/Empty/game/art/environment/FogMod_light.dds differ diff --git a/Templates/Empty/game/art/environment/FogMod_med.dds b/Templates/Empty/game/art/environment/FogMod_med.dds new file mode 100644 index 0000000000..2b25d3263c Binary files /dev/null and b/Templates/Empty/game/art/environment/FogMod_med.dds differ diff --git a/Templates/Empty/game/art/environment/Fog_Cil.DAE b/Templates/Empty/game/art/environment/Fog_Cil.DAE new file mode 100644 index 0000000000..2bf4326ab7 --- /dev/null +++ b/Templates/Empty/game/art/environment/Fog_Cil.DAE @@ -0,0 +1,177 @@ + + + + + Richard + OpenCOLLADA for 3ds Max; Version: 1.4.1; Revision: exported; Platform: x64; Configuration: Release_Max2011_static + file:///G:/Documents%20and%20Settings/Richard/Mijn%20documenten/3dsmax/scenes/FogVolumes.max + + 2014-08-16T10:26:01 + 2014-08-16T10:26:01 + + Z_UP + + + + + + + + 0 0 0 1 + + + 0.588 0.588 0.588 1 + + + 0.588 0.588 0.588 1 + + + 0.9 0.9 0.9 1 + + + 0 + + + 0 0 0 1 + + + 1 1 1 1 + + + 1 + + + + + + + + 0 + 0 + 0 + 1.5 + 0 + 3 + 1 + 0 + + + 1 + 1 + 0 + 0.1 + 0 + + + + + + + + + + + + + + + 1 0 -0.85 0.7315391 0.4223543 -1 0.4223543 0.7315391 -1 -2.51992e-8 0.8447086 -1 -0.4223543 0.7315391 -1 -0.7315391 0.4223543 -1 -0.8447086 1.25542e-7 -1 -0.7315391 -0.4223541 -1 -0.4223545 -0.7315389 -1 -4.0012e-7 -0.8447086 -1 0.4223539 -0.7315393 -1 0.8660251 -0.5000006 -0.85 1 0 0.85 0.8660254 0.5 0.85 0.5 0.8660254 0.85 -4.37114e-8 1 0.85 -0.5000001 0.8660254 0.85 -0.8660254 0.5000001 0.85 -1 1.50996e-7 0.85 -0.8660255 -0.4999998 0.85 -0.5000003 -0.8660252 0.85 -4.64912e-7 -1 0.85 0.4999995 -0.8660257 0.85 0.8660251 -0.5000006 0.85 0.8447086 2.31402e-8 -1 0.8660254 0.5 -0.85 0.5 0.8660254 -0.85 -4.37114e-8 1 -0.85 -0.5000001 0.8660254 -0.85 -0.8660254 0.5000001 -0.85 -1 1.50996e-7 -0.85 -0.8660255 -0.4999998 -0.85 -0.5000003 -0.8660252 -0.85 -4.64912e-7 -1 -0.85 0.4999995 -0.8660257 -0.85 0.7315388 -0.4223548 -1 0.8447086 1.85122e-8 1 0.7315391 0.4223543 1 0.4223543 0.7315391 1 -4.37114e-8 0.8447086 1 -0.4223543 0.7315391 1 -0.7315391 0.4223543 1 -0.8447086 1.39426e-7 1 -0.7315391 -0.4223541 1 -0.4223545 -0.7315389 1 -3.83922e-7 -0.8447086 1 0.4223539 -0.7315393 1 0.7315388 -0.4223548 1 + + + + + + + + + + 0.9293314 -1.23732e-7 -0.369247 0.8048245 0.4646656 -0.3692469 0.8048245 0.4646657 0.369247 0.9293313 -1.23732e-7 0.369247 0.4646657 0.8048245 -0.369247 0.4646656 0.8048246 0.369247 -4.78054e-8 0.9293314 -0.3692469 -6.18658e-8 0.9293312 0.369247 -0.4646657 0.8048246 -0.369247 -0.4646657 0.8048245 0.3692469 -0.8048245 0.4646657 -0.369247 -0.8048245 0.4646657 0.369247 -0.9293314 1.15295e-7 -0.369247 -0.9293314 1.12483e-7 0.369247 -0.8048247 -0.4646654 -0.369247 -0.8048246 -0.4646654 0.369247 -0.4646659 -0.8048243 -0.369247 -0.4646659 -0.8048243 0.369247 -4.47121e-7 -0.9293312 -0.369247 -4.33061e-7 -0.9293312 0.369247 0.4646652 -0.8048248 -0.369247 0.4646652 -0.8048248 0.369247 0.8048243 -0.464666 -0.369247 0.8048243 -0.464666 0.369247 0.2128647 -0.3686929 -0.9048504 -1.95478e-7 -0.4257298 -0.9048504 -0.212865 -0.3686927 -0.9048504 -0.3686928 -0.2128648 -0.9048504 -0.4257297 3.16991e-8 -0.9048504 -0.3686928 0.2128649 -0.9048503 -0.2128649 0.3686928 -0.9048504 -1.05664e-8 0.4257298 -0.9048504 0.2128648 0.3686928 -0.9048504 0.3686928 0.2128649 -0.9048504 0.4257298 -7.13229e-8 -0.9048503 0.3686926 -0.2128651 -0.9048504 0.3686928 0.2128649 0.9048504 0.2128649 0.3686928 0.9048504 -3.43407e-8 0.4257297 0.9048504 -0.2128649 0.3686928 0.9048504 -0.3686928 0.2128649 0.9048504 -0.4257298 5.01902e-8 0.9048504 -0.3686928 -0.2128648 0.9048504 -0.212865 -0.3686926 0.9048504 -2.03402e-7 -0.4257298 0.9048504 0.2128647 -0.3686929 0.9048504 0.3686927 -0.2128651 0.9048504 0.4257298 -7.39645e-8 0.9048504 + + + + + + + + + + 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0.75 0.07542458 0.999001 0.2890339 0.8654041 -0.2497502 0.1345959 0.7109662 -0.2497502 0.07806763 0.5000001 -0.2497502 0.1345958 0.2890339 -0.2497502 0.2890337 0.1345959 -0.2497502 0.4999999 0.07806763 -0.2497502 0.710966 0.1345958 -0.2497502 0.865404 0.2890336 -0.2497502 0.9219323 0.4999997 -0.2497502 0.8654042 0.7109659 -0.2497502 0.6666665 0.07542458 0.999001 0.75 0.9245754 0.999001 0.8333333 0.9245754 0.999001 0.9166666 0.9245754 0.999001 0.9999999 0.9245754 0.999001 0.08333331 0.9245754 0.999001 0.1666666 0.9245754 0.999001 0.2499999 0.9245754 0.999001 0.3333333 0.9245754 0.999001 0.4166666 0.9245754 0.999001 0.4999999 0.9245754 0.999001 0.5833332 0.9245754 0.999001 0.6666665 0.9245754 0.999001 0.5000001 0.9219323 -0.2497502 0.8333333 0.07542458 0.999001 0.9166666 0.07542458 0.999001 0.9999999 0.07542458 0.999001 0.08333331 0.07542458 0.999001 0.1666666 0.07542458 0.999001 0.2499999 0.07542458 0.999001 0.3333333 0.07542458 0.999001 0.4166666 0.07542458 0.999001 0.4999999 0.07542458 0.999001 0.5833332 0.07542458 0.999001 0.7109665 0.865404 -0.2497502 0.5000001 0.9219323 0.2497502 0.2890339 0.8654041 0.2497502 0.1345959 0.7109662 0.2497502 0.07806763 0.5000001 0.2497502 0.1345958 0.2890339 0.2497502 0.2890337 0.1345959 0.2497502 0.4999999 0.07806763 0.2497502 0.710966 0.1345958 0.2497502 0.865404 0.2890336 0.2497502 0.9219323 0.4999997 0.2497502 0.8654042 0.7109659 0.2497502 0.7109665 0.865404 0.2497502 1.083333 0.07542458 0.999001 1.083333 0.9245754 0.999001 0.75 4.99517e-4 0.8438647 0.8333333 4.99517e-4 0.8438647 0.8333333 0.9995005 0.8438647 0.75 0.9995005 0.8438647 0.8333333 4.99517e-4 0.8438647 0.9166666 4.99517e-4 0.8438647 0.9166666 0.9995005 0.8438647 0.8333333 0.9995005 0.8438647 0.9166666 4.99517e-4 0.8438647 0.9999999 4.99517e-4 0.8438647 0.9999999 0.9995005 0.8438647 0.9166666 0.9995005 0.8438647 0.9999999 4.99517e-4 0.8438647 1.083333 4.99517e-4 0.8438647 0.08333331 0.9995005 0.8438647 -5.96046e-8 0.9995005 0.8438647 -5.96046e-8 0.9245754 0.999001 0.1666666 4.99517e-4 0.8438647 0.08333325 4.99517e-4 0.8438647 0.1666666 0.9995005 0.8438647 0.08333331 0.9995005 0.8438647 0.1666666 4.99517e-4 0.8438647 0.2499999 4.99517e-4 0.8438647 0.2499999 0.9995005 0.8438647 0.1666666 0.9995005 0.8438647 0.2499999 4.99517e-4 0.8438647 0.3333333 4.99517e-4 0.8438646 0.3333333 0.9995005 0.8438646 0.2499999 0.9995005 0.8438647 0.3333333 4.99517e-4 0.8438646 0.4166666 4.99517e-4 0.8438647 0.4166666 0.9995005 0.8438647 0.3333333 0.9995005 0.8438646 0.4166666 4.99517e-4 0.8438647 0.4999999 4.99517e-4 0.8438647 0.4999999 0.9995005 0.8438647 0.4166666 0.9995005 0.8438647 0.4999999 4.99517e-4 0.8438647 0.5833332 4.99517e-4 0.8438647 0.5833332 0.9995005 0.8438647 0.4999999 0.9995005 0.8438647 0.5833332 4.99517e-4 0.8438647 0.6666665 4.99517e-4 0.8438647 0.6666665 0.9995005 0.8438647 0.5833332 0.9995005 0.8438647 0.6666665 4.99517e-4 0.8438647 0.75 4.99517e-4 0.8438647 0.75 0.9995005 0.8438647 0.6666665 0.9995005 0.8438647 + + + + + + + + + + -0.01176262 0.9659258 -0.02960484 -0.4931497 0.830635 -0.02960483 -0.4727761 0.8423977 -0.02960484 0.01176289 0.9659258 -0.02960484 -0.8423976 0.4727761 -0.02960486 -0.8306349 0.4931497 -0.02960485 -0.9659258 -0.01176279 -0.02960482 -0.9659258 0.0211729 -0.05328867 -0.8541604 -0.4524024 0.08881447 -0.8541604 -0.4524024 -0.08881447 -0.8188722 -0.5135234 -0.08881448 -0.4727761 -0.8423977 -0.02960482 -0.4931498 -0.8306349 -0.02960481 -0.8365163 -0.482963 -1.57802e-8 0.01176262 -0.9659258 -0.02960483 -0.01176285 -0.9659258 -0.02960482 0.4931495 -0.8306351 -0.02960484 0.4727759 -0.8423978 -0.02960481 0.8423975 -0.4727764 -0.0296048 0.8306348 -0.4931501 -0.02960481 0.9659258 0.01176229 -0.02960482 0.9659258 -0.01176321 -0.02960482 0.8306352 0.4931493 -0.02960479 0.842398 0.4727756 -0.02960483 0.4727764 0.8423974 -0.02960484 0.4931501 0.8306346 -0.02960485 -0.07848173 -0.8640655 0.3336119 -2.91986e-7 -0.8187542 0.3852217 0.07848181 -0.8640657 0.3336117 0.07848163 -0.9546886 0.1926108 8.97006e-8 -1 -7.72363e-8 -0.07848153 -0.9546885 -0.192611 -0.07848156 -0.8640656 -0.3336118 8.67616e-8 -0.8187542 -0.3852217 0.0784818 -0.8640656 -0.3336118 0.07848165 -0.9546885 -0.1926109 5.96406e-8 -1 1.06884e-7 -0.07848179 -0.9546885 0.1926111 0.07848196 -0.9546886 0.1926108 0.07848229 -0.8640657 0.3336117 2.1016e-7 -0.8187542 0.3852217 -0.0784816 -0.8640656 0.3336119 -0.07848162 -0.9546885 0.1926109 9.43523e-8 -1 9.98605e-8 0.07848193 -0.9546886 -0.1926107 0.0784823 -0.8640658 -0.3336116 5.68705e-7 -0.8187542 -0.3852217 -0.07848107 -0.8640655 -0.3336121 -0.07848159 -0.9546884 -0.1926111 2.66309e-8 -1 -9.4272e-8 -0.2119091 0.9659258 -0.09970279 -0.2994442 0.9424709 0.09970271 -0.2994442 0.9424709 -0.09970272 -0.2119091 0.9659258 0.09970281 -0.6664816 0.7305618 -0.09970271 -0.7305617 0.6664816 0.09970278 -0.7305617 0.6664817 -0.09970276 -0.6664816 0.7305617 0.09970271 -0.9424709 0.2994441 -0.09970273 -0.9659259 0.2119091 0.09970269 -0.9659259 0.2119091 -0.09970269 -0.9424709 0.2994441 0.09970275 -0.9659258 -0.2119092 -0.09970271 -0.9424709 -0.2994442 0.09970272 -0.9424709 -0.2994442 -0.09970272 -0.9659258 -0.2119092 0.09970268 -0.9659258 -0.03528834 0.08881445 -0.7305617 -0.6664816 -0.09970272 -0.6664816 -0.7305617 0.09970271 -0.6664816 -0.7305617 -0.0997027 -0.7305617 -0.6664816 0.09970275 -0.2994442 -0.9424709 -0.09970271 -0.2119093 -0.9659258 0.09970269 -0.2119092 -0.9659258 -0.0997027 -0.2994442 -0.9424709 0.09970272 0.2119091 -0.9659258 -0.09970269 0.299444 -0.9424709 0.09970267 0.2994441 -0.9424709 -0.09970269 0.211909 -0.9659259 0.09970272 0.6664814 -0.7305619 -0.0997027 0.7305615 -0.6664819 0.09970269 0.7305615 -0.6664819 -0.09970265 0.6664815 -0.7305619 0.09970266 0.9424708 -0.2994446 -0.09970267 0.9659257 -0.2119096 0.09970272 0.9659257 -0.2119096 -0.09970273 0.9424708 -0.2994446 0.0997027 0.9659259 0.2119087 -0.0997027 0.9424711 0.2994437 0.0997027 0.942471 0.2994437 -0.0997027 0.9659259 0.2119087 0.09970272 0.7305622 0.6664812 -0.09970268 0.6664821 0.7305613 0.09970275 0.6664821 0.7305613 -0.09970279 0.7305622 0.6664812 0.09970269 0.2994445 0.9424708 -0.09970281 0.2119094 0.9659258 0.09970278 0.2119095 0.9659257 -0.0997028 0.2994445 0.9424708 0.09970279 + + + + + + + + + + -0.3690463 -0.03296186 -0.9288263 -0.3031225 -0.213069 -0.9288263 0.3360844 0.1559773 -0.9288263 0.3690463 -0.03296196 -0.9288263 -0.1559773 -0.3360844 -0.9288263 0.213069 0.3031226 -0.9288263 0.03296189 -0.3690462 -0.9288263 0.0592593 0.3685981 -0.9276981 0.09845869 -0.3674528 -0.9248158 -0.0984587 0.3674528 -0.9248158 0.2689941 -0.2689941 -0.9248158 0.3360844 -0.1559773 -0.9288263 -0.3031225 0.213069 -0.9288263 -0.1846235 0.3197772 -0.9293313 0.3690464 0.03296184 -0.9288263 -0.3690463 0.03296192 -0.9288263 0.3031226 0.2130689 -0.9288263 -0.3360845 -0.1559773 -0.9288263 0.1559775 0.3360844 -0.9288263 -0.2130691 -0.3031225 -0.9288263 -0.03296171 0.3690464 -0.9288263 -0.03296206 -0.3690463 -0.9288263 -0.2130688 0.3031227 -0.9288263 0.1559772 -0.3360846 -0.9288263 -0.3360844 0.1559775 -0.9288263 0.3031224 -0.2130692 -0.9288263 0.9734271 -4.11316e-8 0.2289972 1 -3.75207e-7 -3.94991e-8 0.973427 3.62858e-8 -0.2289976 0.9260745 -8.50388e-8 -0.3773408 0.9048504 1.14047e-7 -0.4257297 0.9260745 2.46267e-7 -0.3773408 0.973427 1.92641e-7 -0.2289974 1 9.126e-8 3.12602e-8 0.973427 6.11442e-8 0.2289974 0.9260745 -1.17694e-7 0.3773408 0.9048503 9.94694e-8 0.4257298 0.9260745 2.84456e-9 0.3773407 -0.9260744 -2.18063e-7 0.3773409 -0.973427 -5.4944e-7 0.2289977 -1 -2.24779e-7 6.78064e-8 -0.973427 -1.66681e-7 -0.2289974 -0.9260745 -1.40116e-7 -0.3773408 -0.9048504 -1.27888e-7 -0.4257298 -0.9260744 -2.30126e-7 -0.3773409 -0.9734269 -5.48234e-7 -0.2289978 -1 -4.82111e-7 -4.51623e-7 -0.9734271 -6.44828e-7 0.228997 -0.9260745 -2.22445e-7 0.3773407 -0.9048503 -6.42314e-8 0.4257298 -0.8793729 -0.2356273 -0.4137427 -0.8793729 -0.2356273 -0.4137427 0.8793729 0.2356273 -0.4137427 0.8793729 0.2356273 -0.4137427 -0.6437457 -0.6437456 -0.4137427 -0.6437457 -0.6437456 -0.4137427 0.6437457 0.6437456 -0.4137427 0.6437457 0.6437456 -0.4137427 -0.2356272 -0.879373 -0.4137427 -0.2356272 -0.879373 -0.4137427 0.2356272 0.879373 -0.4137427 0.2356272 0.879373 -0.4137427 0.2356273 -0.8793729 -0.4137427 0.2356273 -0.8793729 -0.4137427 -0.2356273 0.8793729 -0.4137427 -0.2356273 0.8793729 -0.4137427 -0.0984587 0.3674529 -0.9248158 0.6437457 -0.6437457 -0.4137427 0.6437457 -0.6437457 -0.4137428 -0.6437457 0.6437457 -0.4137427 -0.6437457 0.6437457 -0.4137427 0.8793729 -0.2356273 -0.4137428 0.879373 -0.2356273 -0.4137426 -0.8793729 0.2356273 -0.4137427 -0.8793729 0.2356273 -0.4137427 0.879373 0.2356272 -0.4137426 0.879373 0.2356272 -0.4137427 -0.879373 -0.2356272 -0.4137427 -0.879373 -0.2356271 -0.4137427 0.6437459 0.6437455 -0.4137427 0.6437459 0.6437455 -0.4137427 -0.6437459 -0.6437455 -0.4137427 -0.6437459 -0.6437455 -0.4137427 0.2356277 0.8793728 -0.4137427 0.2356277 0.8793728 -0.4137427 -0.2356277 -0.8793728 -0.4137427 -0.2356277 -0.8793729 -0.4137426 -0.2356268 0.8793731 -0.4137427 -0.2356268 0.8793731 -0.4137427 0.2356268 -0.879373 -0.4137427 0.2356268 -0.8793731 -0.4137427 -0.6437452 0.6437461 -0.4137427 -0.6437452 0.6437461 -0.4137427 0.6437452 -0.6437461 -0.4137427 0.6437452 -0.6437461 -0.4137427 -0.8793729 0.2356276 -0.4137427 -0.8793728 0.2356275 -0.4137427 0.8793728 -0.2356276 -0.4137427 0.8793729 -0.2356275 -0.4137427 + + + + + + + + + + + + + + + + + +

0 0 12 0 25 1 37 1 13 2 25 2 13 2 25 2 12 3 24 3 0 0 12 0 25 1 37 1 26 4 38 4 14 5 26 5 14 5 26 5 13 2 25 2 25 1 37 1 26 4 38 4 27 6 39 6 15 7 27 7 15 7 27 7 14 5 26 5 26 4 38 4 27 6 39 6 28 8 60 8 16 9 61 9 16 9 61 9 15 7 27 7 27 6 39 6 28 8 40 10 29 10 41 11 17 11 29 12 17 11 29 12 16 9 28 13 28 8 40 10 29 10 41 11 30 12 42 14 18 13 30 15 18 13 30 15 17 11 29 12 29 10 41 11 30 12 42 14 31 14 43 16 19 15 31 17 19 15 31 17 18 13 30 15 30 12 42 14 31 14 43 16 32 16 44 18 20 17 32 19 20 17 32 19 19 15 31 17 31 14 43 16 32 16 44 18 33 18 45 20 21 19 33 21 21 19 33 21 20 17 32 19 32 16 44 18 33 18 45 20 34 20 46 22 22 21 34 23 22 21 34 23 21 19 33 21 33 18 45 20 34 20 46 22 11 22 23 24 23 23 35 25 23 23 35 25 22 21 34 23 34 20 46 22 11 22 23 24 0 0 12 0 12 3 24 3 12 3 24 3 23 23 35 25 11 22 23 24 10 24 22 26 9 25 21 27 8 26 20 28 8 26 20 28 7 27 19 29 6 28 18 30 6 28 18 30 5 29 17 31 4 30 16 32 8 26 20 28 6 28 18 30 4 30 16 32 4 30 16 32 3 31 15 33 2 32 14 34 2 32 14 34 1 33 13 35 24 34 36 36 4 30 16 32 2 32 14 34 24 34 36 36 8 26 20 28 4 30 16 32 24 34 36 36 10 24 22 26 8 26 20 28 24 34 36 36 35 35 47 37 10 24 22 26 24 34 36 36 37 36 49 38 38 37 50 39 39 38 51 40 39 38 51 40 40 39 52 41 41 40 53 42 41 40 53 42 42 41 54 43 43 42 55 44 39 38 51 40 41 40 53 42 43 42 55 44 43 42 55 44 44 43 56 45 45 44 57 46 45 44 57 46 46 45 58 47 47 46 59 48 43 42 55 44 45 44 57 46 47 46 59 48 39 38 51 40 43 42 55 44 47 46 59 48 37 36 49 38 39 38 51 40 47 46 59 48 36 47 48 49 37 36 49 38 47 46 59 48 0 0 12 0 24 34 62 50 1 33 63 51 1 33 63 51 25 1 37 1 0 0 12 0 13 2 25 2 37 36 64 52 36 47 65 53 36 47 65 53 12 3 24 3 13 2 25 2 25 1 37 1 1 33 66 54 2 32 67 55 2 32 67 55 26 4 38 4 25 1 37 1 14 5 26 5 38 37 68 56 37 36 69 57 37 36 69 57 13 2 25 2 14 5 26 5 26 4 38 4 2 32 70 58 3 31 71 59 3 31 71 59 27 6 39 6 26 4 38 4 15 7 27 7 39 38 72 60 38 37 73 61 38 37 73 61 14 5 26 5 15 7 27 7 27 6 39 6 3 31 74 62 4 30 75 63 4 30 75 63 28 8 60 8 27 6 39 6 16 9 28 13 40 39 76 64 39 38 77 65 39 38 77 65 15 7 78 66 16 9 28 13 28 8 40 10 4 30 80 67 5 29 79 68 5 29 79 68 29 10 41 11 28 8 40 10 17 11 29 12 41 40 81 69 40 39 82 70 40 39 82 70 16 9 28 13 17 11 29 12 29 10 41 11 5 29 83 71 6 28 84 72 6 28 84 72 30 12 42 14 29 10 41 11 18 13 30 15 42 41 85 73 41 40 86 74 41 40 86 74 17 11 29 12 18 13 30 15 30 12 42 14 6 28 87 75 7 27 88 76 7 27 88 76 31 14 43 16 30 12 42 14 19 15 31 17 43 42 89 77 42 41 90 78 42 41 90 78 18 13 30 15 19 15 31 17 31 14 43 16 7 27 91 79 8 26 92 80 8 26 92 80 32 16 44 18 31 14 43 16 20 17 32 19 44 43 93 81 43 42 94 82 43 42 94 82 19 15 31 17 20 17 32 19 32 16 44 18 8 26 95 83 9 25 96 84 9 25 96 84 33 18 45 20 32 16 44 18 21 19 33 21 45 44 97 85 44 43 98 86 44 43 98 86 20 17 32 19 21 19 33 21 33 18 45 20 9 25 99 87 10 24 100 88 10 24 100 88 34 20 46 22 33 18 45 20 22 21 34 23 46 45 101 89 45 44 102 90 45 44 102 90 21 19 33 21 22 21 34 23 34 20 46 22 10 24 103 91 35 35 104 92 35 35 104 92 11 22 23 24 34 20 46 22 23 23 35 25 47 46 105 93 46 45 106 94 46 45 106 94 22 21 34 23 23 23 35 25 11 22 23 24 35 35 107 95 24 34 108 96 24 34 108 96 0 0 12 0 11 22 23 24 12 3 24 3 36 47 109 97 47 46 110 98 47 46 110 98 23 23 35 25 12 3 24 3

+
+
+
+
+ + + + + 0 0 0 + + + + + + + + + + + + + + + + + + + + 1 + 1 + 1 + 1 + + + + + + + + +
\ No newline at end of file diff --git a/Templates/Empty/game/art/environment/Fog_Cil.cs b/Templates/Empty/game/art/environment/Fog_Cil.cs new file mode 100644 index 0000000000..688601d8e4 --- /dev/null +++ b/Templates/Empty/game/art/environment/Fog_Cil.cs @@ -0,0 +1,8 @@ + +singleton TSShapeConstructor(Fog_CilDAE) +{ + baseShape = "./Fog_Cil.DAE"; + lodType = "TrailingNumber"; + neverImport = "env*"; + loadLights = "0"; +}; diff --git a/Templates/Empty/game/art/environment/Fog_Cil.dts b/Templates/Empty/game/art/environment/Fog_Cil.dts new file mode 100644 index 0000000000..2262894701 Binary files /dev/null and b/Templates/Empty/game/art/environment/Fog_Cil.dts differ diff --git a/Templates/Empty/game/art/environment/Fog_Cone.DAE b/Templates/Empty/game/art/environment/Fog_Cone.DAE new file mode 100644 index 0000000000..9de756ae9a --- /dev/null +++ b/Templates/Empty/game/art/environment/Fog_Cone.DAE @@ -0,0 +1,177 @@ + + + + + Richard + OpenCOLLADA for 3ds Max; Version: 1.4.1; Revision: exported; Platform: x64; Configuration: Release_Max2011_static + file:///G:/Documents%20and%20Settings/Richard/Mijn%20documenten/3dsmax/scenes/FogVolumes.max + + 2014-08-20T08:23:30 + 2014-08-20T08:23:30 + + Z_UP + + + + + + + + 0 0 0 1 + + + 0.588 0.588 0.588 1 + + + 0.588 0.588 0.588 1 + + + 0.9 0.9 0.9 1 + + + 0 + + + 0 0 0 1 + + + 1 1 1 1 + + + 1 + + + + + + + + 0 + 0 + 0 + 1.5 + 0 + 3 + 1 + 0 + + + 1 + 1 + 0 + 0.1 + 0 + + + + + + + + + + + + + + + 1 0 -1 0.8660254 0.5 -1 0.5 0.8660254 -1 -4.37114e-8 1 -1 -0.5000001 0.8660254 -1 -0.8660254 0.5000001 -1 -1 1.50996e-7 -1 -0.8660255 -0.4999998 -1 -0.5000003 -0.8660252 -1 -4.64912e-7 -1 -1 0.4999995 -0.8660257 -1 0.8660251 -0.5000006 -1 -1.39078e-7 -9.93411e-9 1 + + + + + + + + + + 0.8944272 -9.4796e-8 0.4472137 0.7745967 0.4472136 0.4472137 -1.50139e-6 4.92261e-8 1 0.4472136 0.7745967 0.4472136 -3.15987e-8 0.8944272 0.4472136 -0.4472136 0.7745967 0.4472136 -0.7745966 0.4472136 0.4472136 -0.8944272 1.05329e-7 0.4472136 -0.7745968 -0.4472134 0.4472136 -0.4472139 -0.7745965 0.4472136 -4.10783e-7 -0.8944272 0.4472136 0.4472131 -0.774597 0.4472136 0.7745965 -0.4472139 0.4472136 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 + + + + + + + + + + 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0.75 4.99517e-4 0.999001 0.8333333 4.99517e-4 0.999001 0.9166666 4.99517e-4 0.999001 0.9999999 4.99517e-4 0.999001 0.08333331 4.99517e-4 0.999001 0.1666666 4.99517e-4 0.999001 0.2499999 4.99517e-4 0.999001 0.3333333 4.99517e-4 0.999001 0.4166666 4.99517e-4 0.999001 0.4999999 4.99517e-4 0.999001 0.5833332 4.99517e-4 0.999001 0.6666665 4.99517e-4 0.999001 0.3333332 0.9995005 0.9990011 1.083333 4.99517e-4 0.999001 0.8749999 0.9995005 0.999001 0.7497506 0.9325799 -0.2497502 0.9325804 0.7497499 -0.2497502 0.9995005 0.4999997 -0.2497502 0.93258 0.2502495 -0.2497502 0.7497501 0.06741977 -0.2497502 0.4999998 4.99487e-4 -0.2497502 0.2502496 0.06741995 -0.2497502 0.06741983 0.2502498 -0.2497502 4.99487e-4 0.5000001 -0.2497502 0.06741992 0.7497503 -0.2497502 0.2502498 0.9325802 -0.2497502 0.5000001 0.9995005 -0.2497502 + + + + + + + + + + 1.06829e-7 0.9659258 -8.91067e-9 -0.4829629 0.8365163 -6.67926e-9 -0.5277916 0.5277917 -8.18405e-7 -0.8365163 0.4829629 2.63104e-9 -0.9659258 -3.79472e-8 7.64529e-9 -0.8623982 -0.4381342 -0.1035276 -0.8106344 -0.5277917 0.1035276 -0.482963 -0.8365163 1.40098e-8 0.3769941 -0.3769943 5.84575e-7 -1.14117e-7 -0.9659258 -7.36119e-10 0.4829627 -0.8365164 1.2516e-8 0.8365161 -0.4829632 3.86915e-9 0.9659258 -4.46888e-7 -6.53612e-9 0.8365166 0.4829624 6.83675e-9 0.4829633 0.836516 -2.17593e-8 2.63125e-7 -1 0 -2.17705e-8 -1 0 1.65026e-7 -1 0 1.74199e-7 -1 0 2.46574e-7 -1 0 3.58702e-7 -1 0 1.83987e-7 -1 0 -7.4051e-9 -1 0 1.17168e-7 -1 0 2.03914e-7 -1 0 2.75375e-7 -1 0 5.52085e-7 -1 0 + + + + + + + + + + 0.4472137 -5.77119e-8 -0.8944272 0.3872984 0.2236068 -0.8944272 0.7071068 0.7071068 1.02684e-6 0.2236068 0.3872984 -0.8944272 -2.46486e-8 0.4472136 -0.8944272 -0.1189793 0.4440369 -0.8880738 -0.3250576 0.3250576 -0.8880738 -0.3872983 0.2236068 -0.8944272 -0.707107 -0.7071066 -1.02684e-6 -0.4472136 5.35165e-8 -0.8944272 -0.3872984 -0.2236067 -0.8944272 -0.2236069 -0.3872982 -0.8944272 -2.12957e-7 -0.4472136 -0.8944272 0.2236066 -0.3872984 -0.8944272 0.3872982 -0.223607 -0.8944272 1 2.63125e-7 0 1 -2.17705e-8 0 1 1.65026e-7 0 1 1.74199e-7 0 1 2.46574e-7 0 1 3.58702e-7 0 1 1.83987e-7 0 1 -7.4051e-9 0 1 1.17168e-7 0 1 2.03914e-7 0 1 2.75375e-7 0 1 5.52085e-7 0 + + + + + + + + + + + + + + + + + +

0 0 12 0 1 1 13 1 12 2 26 2 1 1 13 1 2 3 14 3 12 2 26 2 2 3 14 3 3 4 15 4 12 2 26 2 3 4 15 4 4 5 25 5 12 2 26 2 4 5 16 6 5 6 17 7 12 2 24 8 5 6 17 7 6 7 18 9 12 2 24 8 6 7 18 9 7 8 19 10 12 2 24 8 7 8 19 10 8 9 20 11 12 2 24 8 8 9 20 11 9 10 21 12 12 2 24 8 9 10 21 12 10 11 22 13 12 2 24 8 10 11 22 13 11 12 23 14 12 2 24 8 11 12 23 14 0 0 12 0 12 2 26 2 10 13 28 15 9 14 29 16 8 15 30 17 8 15 30 17 7 16 31 18 6 17 32 19 6 17 32 19 5 18 33 20 4 19 34 21 8 15 30 17 6 17 32 19 4 19 34 21 4 19 34 21 3 20 35 22 2 21 36 23 2 21 36 23 1 22 37 24 0 23 38 25 4 19 34 21 2 21 36 23 0 23 38 25 8 15 30 17 4 19 34 21 0 23 38 25 10 13 28 15 8 15 30 17 0 23 38 25 11 24 27 26 10 13 28 15 0 23 38 25

+
+
+
+
+ + + + + 0 0 0 + + + + + + + + + + + + + + + + + + + + 1 + 1 + 1 + 1 + + + + + + + + +
\ No newline at end of file diff --git a/Templates/Empty/game/art/environment/Fog_Cone.cs b/Templates/Empty/game/art/environment/Fog_Cone.cs new file mode 100644 index 0000000000..f738bbb739 --- /dev/null +++ b/Templates/Empty/game/art/environment/Fog_Cone.cs @@ -0,0 +1,8 @@ + +singleton TSShapeConstructor(Fog_ConeDAE) +{ + baseShape = "./Fog_Cone.DAE"; + lodType = "TrailingNumber"; + neverImport = "env*"; + loadLights = "0"; +}; diff --git a/Templates/Empty/game/art/environment/Fog_Cone.dts b/Templates/Empty/game/art/environment/Fog_Cone.dts new file mode 100644 index 0000000000..1f5f6f9651 Binary files /dev/null and b/Templates/Empty/game/art/environment/Fog_Cone.dts differ diff --git a/Templates/Empty/game/art/environment/Fog_Cube.DAE b/Templates/Empty/game/art/environment/Fog_Cube.DAE new file mode 100644 index 0000000000..34cad9f48d --- /dev/null +++ b/Templates/Empty/game/art/environment/Fog_Cube.DAE @@ -0,0 +1,177 @@ + + + + + Richard + OpenCOLLADA for 3ds Max; Version: 1.4.1; Revision: exported; Platform: x64; Configuration: Release_Max2011_static + file:///G:/Documents%20and%20Settings/Richard/Mijn%20documenten/3dsmax/scenes/FogVolumes.max + + 2014-08-16T10:10:23 + 2014-08-16T10:10:23 + + Z_UP + + + + + + + + 0 0 0 1 + + + 0.588 0.588 0.588 1 + + + 0.588 0.588 0.588 1 + + + 0.9 0.9 0.9 1 + + + 0 + + + 0 0 0 1 + + + 1 1 1 1 + + + 1 + + + + + + + + 0 + 0 + 0 + 1.5 + 0 + 3 + 1 + 0 + + + 1 + 1 + 0 + 0.1 + 0 + + + + + + + + + + + + + + + -0.85 -1 -0.85 0.85 -0.85 -1 -1 0.85 -0.85 0.85 0.85 -1 -0.85 -1 0.85 1 -0.85 0.85 -1 0.85 0.85 0.85 1 0.85 -1 -0.85 -0.85 -0.85 -0.85 -1 1 -0.85 -0.85 0.85 -1 -0.85 -0.85 1 -0.85 -0.85 0.85 -1 0.85 1 -0.85 1 0.85 -0.85 -0.85 -0.85 1 -1 -0.85 0.85 0.85 -0.85 1 0.85 -1 0.85 -0.85 0.85 1 -0.85 1 0.85 0.85 0.85 1 1 0.85 0.85 + + + + + + + + + + -0.341586 -0.341586 -0.8755786 -0.341586 0.341586 -0.8755788 0.341586 0.341586 -0.8755788 0.341586 -0.341586 -0.8755788 -0.341586 -0.341586 0.8755786 0.341586 -0.341586 0.8755788 0.341586 0.341586 0.8755788 -0.341586 0.341586 0.8755788 -0.341586 -0.8755786 -0.341586 0.341586 -0.8755788 -0.341586 0.341586 -0.8755786 0.341586 -0.341586 -0.8755788 0.341586 0.8755786 -0.341586 -0.341586 0.8755788 0.341586 -0.341586 0.8755786 0.341586 0.341586 0.8755788 -0.341586 0.341586 0.341586 0.8755786 -0.341586 -0.341586 0.8755788 -0.341586 -0.341586 0.8755786 0.341586 0.341586 0.8755788 0.341586 -0.8755786 0.341586 -0.341586 -0.8755788 -0.341586 -0.341586 -0.8755786 -0.341586 0.341586 -0.8755788 0.341586 0.341586 + + + + + + + + + + 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0.07542458 0.07542461 4.99755e-4 0.07542479 0.07542461 4.99547e-4 0.07542455 0.07542461 4.99755e-4 0.07542461 0.9245752 4.99547e-4 0.07542458 0.9245754 4.99755e-4 0.07542458 0.9245754 0.9995003 0.07542455 0.9245754 4.99755e-4 0.07542455 0.9245754 0.9995003 0.9245752 0.07542461 4.99576e-4 0.9245754 0.07542479 4.99547e-4 0.07542458 0.07542461 0.9995003 0.9245752 0.07542461 4.99576e-4 0.9245752 0.07542461 0.9995004 0.9245752 0.9245754 4.99547e-4 0.07542455 0.07542461 0.9995003 0.9245752 0.07542461 0.9995004 0.07542461 0.07542479 0.9995005 0.9245752 0.9245754 4.99576e-4 0.9245752 0.07542461 0.9995005 0.9245752 0.9245754 4.99576e-4 0.07542479 0.9245754 0.9995005 0.9245752 0.9245754 0.9995004 0.9245754 0.9245752 0.9995005 0.9245752 0.9245754 0.9995004 0.9995003 0.07542461 0.07542458 0.9245752 4.99547e-4 0.07542461 0.9245752 4.99547e-4 0.07542461 0.9995003 0.07542461 0.07542458 0.9995003 0.07542461 0.9245754 0.9245752 4.99547e-4 0.9245754 0.9245752 4.99547e-4 0.9245754 0.9995003 0.07542461 0.9245754 0.9995003 0.9245754 0.07542458 0.9245752 0.9995005 0.07542461 0.9995003 0.9245754 0.07542458 0.9245752 0.9995005 0.07542461 0.9995003 0.9245754 0.9245754 0.9245752 0.9995005 0.9245754 0.9995003 0.9245754 0.9245754 0.9245752 0.9995005 0.9245754 0.9995004 0.07542482 0.07542461 0.9995003 0.9245754 0.07542461 0.9245752 0.9995004 0.07542461 0.07542455 0.9995003 0.07542461 4.99606e-4 0.9245752 0.07542461 4.99725e-4 0.07542458 0.07542461 0.07542479 4.99576e-4 0.07542461 0.9245754 4.99755e-4 0.07542461 0.07542458 4.99755e-4 0.9245754 0.9245752 4.99576e-4 0.9245754 0.9995003 0.07542458 0.9245754 0.9995004 0.9245752 0.9245754 0.9245754 0.9995003 0.9245754 0.07542482 0.9995004 0.9245754 4.99755e-4 0.9245754 0.9245754 4.99576e-4 0.07542482 0.9245754 0.9995003 0.07542461 0.07542458 0.9995003 0.9245754 0.07542458 0.9995003 0.9245754 0.07542458 0.9995003 0.07542461 0.07542458 0.9995003 0.07542461 0.9245754 0.9995003 0.9245754 0.9245754 0.9995003 0.07542461 0.9245754 0.9995003 0.9245754 0.9245754 + + + + + + + + + + -0.8644259 0.01841655 0.3300502 -0.8715108 -0.05526615 0.3184382 -0.8644259 0.01841664 -0.3300501 -0.8715108 -0.05526611 -0.3184382 0.8738725 -0.06754867 0.3145678 0.8597026 -0.006149054 -0.3377912 0.8738725 -0.06754874 -0.3145678 0.8597026 -0.006148929 0.3377911 0.883319 -0.2990854 -0.116681 0.8478944 0.3571441 -0.06756432 0.8597026 0.3377913 0.00614921 0.883319 -0.2990854 0.116681 0.2990854 0.883319 -0.116681 -0.3571441 0.8478944 -0.06756432 -0.3377913 0.8597026 0.00614921 0.2990854 0.883319 0.116681 -0.883319 0.2990854 -0.116681 -0.8478944 -0.3571441 -0.06756432 -0.8597026 -0.3377913 0.00614921 -0.883319 0.2990854 0.116681 -0.2990854 -0.883319 -0.116681 0.3571441 -0.8478944 -0.06756432 0.3377913 -0.8597026 0.00614921 -0.2990854 -0.883319 0.116681 0.8360862 -0.3764972 0.1289794 0.7071068 -0.7071068 0 0.7071068 0.7071068 0 0.3764972 0.8360862 0.1289794 -0.3764972 -0.8360862 0.1289794 -0.7071068 -0.7071068 0 -0.7071068 0.7071068 0 -0.8360862 0.3764972 0.1289794 0.8360862 -0.3764971 -0.1289794 0.7071068 -0.7071068 0 0.3764971 0.8360862 -0.1289794 0.7071068 0.7071068 0 -0.3764971 -0.8360862 -0.1289794 -0.7071068 -0.7071068 0 -0.8360862 0.3764971 -0.1289794 -0.7071068 0.7071068 0 -0.376497 0.1289792 0.8360862 -0.3764973 -0.1289798 0.8360861 -0.8833191 -0.2990855 0.1166808 -0.883319 0.2990853 -0.1166812 -0.3764971 0.1289794 -0.8360862 -0.3764972 -0.1289795 -0.8360862 -0.8833191 -0.2990855 -0.1166807 -0.883319 0.2990853 0.1166812 0.883319 -0.2990853 0.1166812 0.8833191 0.2990855 -0.1166807 0.3764971 0.1289797 -0.8360862 0.3764971 -0.1289793 -0.8360862 0.883319 -0.2990853 -0.1166811 0.8833191 0.2990855 0.1166808 0.3764972 0.1289799 0.8360861 0.3764971 -0.128979 0.8360862 0.3764972 0.8360862 0.1289794 0.3764971 0.8360862 -0.1289794 0.8360862 -0.3764971 -0.1289794 0.8360862 -0.3764972 0.1289794 -0.8360862 0.3764972 0.1289794 -0.8360862 0.3764971 -0.1289794 -0.3764972 -0.8360862 0.1289794 -0.3764971 -0.8360862 -0.1289794 + + + + + + + + + + 0.1043954 -0.9396398 0.3258505 -0.06496345 -0.9379679 -0.3405817 0.1043953 -0.9396398 -0.3258505 -0.06496349 -0.937968 0.3405817 0.05187585 -0.9370471 -0.3453283 -0.1307439 -0.939827 -0.3156443 0.05187577 -0.9370471 0.3453283 -0.1307438 -0.939827 0.3156443 0 0.3634471 -0.9316148 -0.196368 0.2889368 -0.9369926 0.1307441 -0.3156442 -0.939827 0 -0.3634471 -0.9316148 -0.3634471 0 -0.9316148 -0.2889368 -0.196368 -0.9369926 0.3156442 0.1307441 -0.939827 0.3634471 0 -0.9316148 0 -0.3634471 -0.9316148 0.196368 -0.2889368 -0.9369926 -0.1307441 0.3156442 -0.939827 0 0.3634471 -0.9316148 0.3634471 0 -0.9316148 0.2889368 0.196368 -0.9369926 -0.3156442 -0.1307441 -0.939827 -0.3634471 0 -0.9316148 0.2608475 0.2608475 -0.9294714 0.6191276 0.6191276 -0.4830755 -0.6191276 0.6191276 -0.4830755 -0.2608475 0.2608475 -0.9294714 0.2608475 -0.2608475 -0.9294714 0.6191276 -0.6191276 -0.4830755 -0.6191276 -0.6191276 -0.4830755 -0.2608475 -0.2608475 -0.9294714 -0.2608475 -0.2608475 -0.9294714 -0.6191276 -0.6191276 -0.4830755 0.2608475 -0.2608475 -0.9294714 0.6191276 -0.6191276 -0.4830755 -0.2608475 0.2608475 -0.9294714 -0.6191276 0.6191276 -0.4830755 0.2608475 0.2608475 -0.9294714 0.6191276 0.6191276 -0.4830755 0.2608476 -0.9294715 0.2608473 -0.2608474 -0.9294714 -0.2608479 1.81809e-7 -0.363447 -0.9316149 2.27262e-7 -0.3634472 -0.9316148 0.2608475 -0.9294714 -0.2608475 -0.2608475 -0.9294714 0.2608477 2.72714e-7 -0.363447 0.9316149 2.72714e-7 -0.3634472 0.9316148 2.72714e-7 -0.3634472 -0.9316148 2.72714e-7 -0.363447 -0.9316149 -0.2608474 -0.9294714 -0.2608478 0.2608476 -0.9294714 0.2608474 1.81809e-7 -0.3634472 0.9316148 2.27262e-7 -0.3634471 0.9316149 -0.2608473 -0.9294714 0.260848 0.2608477 -0.9294715 -0.2608472 -0.2608475 0.2608475 -0.9294714 0.2608475 -0.2608475 -0.9294714 -0.2608475 -0.2608475 -0.9294714 0.2608475 0.2608475 -0.9294714 -0.2608475 -0.2608475 -0.9294714 0.2608475 0.2608475 -0.9294714 0.2608475 -0.2608475 -0.9294714 -0.2608475 0.2608475 -0.9294714 + + + + + + + + + + + + + + + + + +

9 0 21 0 13 1 25 1 3 2 15 2 3 2 15 2 1 3 13 3 9 0 21 0 16 4 28 4 18 5 30 5 22 6 34 6 22 6 34 6 20 7 32 7 16 4 28 4 0 8 12 8 11 9 23 9 19 10 31 10 19 10 31 10 4 11 16 11 0 8 12 8 10 12 22 12 15 13 27 13 23 14 35 14 23 14 35 14 5 15 17 15 10 12 22 12 14 16 26 16 12 17 24 17 21 18 33 18 21 18 33 18 7 19 19 19 14 16 26 16 2 20 14 20 8 21 20 21 17 22 29 22 17 22 29 22 6 23 18 23 2 20 14 20 0 8 36 24 8 21 20 21 9 0 37 25 1 3 38 26 10 12 39 27 11 9 23 9 2 20 40 28 12 17 24 17 13 1 41 29 3 2 42 30 14 16 43 31 15 13 27 13 4 11 44 32 16 4 45 33 17 22 29 22 5 15 46 34 18 5 47 35 19 10 31 10 6 23 48 36 20 7 49 37 21 18 33 18 7 19 50 38 22 6 51 39 23 14 35 14 9 0 21 0 8 21 52 40 2 20 53 41 2 20 53 41 13 1 25 1 9 0 21 0 13 1 25 1 12 17 54 42 14 16 55 43 14 16 55 43 3 2 15 2 13 1 25 1 3 2 15 2 15 13 56 44 10 12 57 45 10 12 57 45 1 3 13 3 3 2 15 2 1 3 13 3 11 9 58 46 0 8 59 47 0 8 59 47 9 0 21 0 1 3 13 3 16 4 28 4 4 11 60 48 19 10 61 49 19 10 61 49 18 5 30 5 16 4 28 4 18 5 30 5 5 15 62 50 23 14 63 51 23 14 63 51 22 6 34 6 18 5 30 5 22 6 34 6 7 19 64 52 21 18 65 53 21 18 65 53 20 7 32 7 22 6 34 6 20 7 32 7 6 23 66 54 17 22 67 55 17 22 67 55 16 4 28 4 20 7 32 7 11 9 23 9 10 12 68 56 5 15 69 57 5 15 69 57 19 10 31 10 11 9 23 9 4 11 70 58 17 22 29 22 8 21 20 21 8 21 20 21 0 8 71 59 4 11 70 58 15 13 27 13 14 16 72 60 7 19 73 61 7 19 73 61 23 14 35 14 15 13 27 13 12 17 24 17 2 20 74 62 6 23 75 63 6 23 75 63 21 18 33 18 12 17 24 17

+
+
+
+
+ + + + + 0 0 0 + + + + + + + + + + + + + + + + + + + + 1 + 1 + 1 + 1 + + + + + + + + +
\ No newline at end of file diff --git a/Templates/Empty/game/art/environment/Fog_Cube.cs b/Templates/Empty/game/art/environment/Fog_Cube.cs new file mode 100644 index 0000000000..3c686032c6 --- /dev/null +++ b/Templates/Empty/game/art/environment/Fog_Cube.cs @@ -0,0 +1,8 @@ + +singleton TSShapeConstructor(Fog_CubeDAE) +{ + baseShape = "./Fog_Cube.DAE"; + lodType = "TrailingNumber"; + neverImport = "env*"; + loadLights = "0"; +}; diff --git a/Templates/Empty/game/art/environment/Fog_Cube.dts b/Templates/Empty/game/art/environment/Fog_Cube.dts new file mode 100644 index 0000000000..9531c3a038 Binary files /dev/null and b/Templates/Empty/game/art/environment/Fog_Cube.dts differ diff --git a/Templates/Empty/game/art/environment/Fog_DSphere.DAE b/Templates/Empty/game/art/environment/Fog_DSphere.DAE new file mode 100644 index 0000000000..88e5032a86 --- /dev/null +++ b/Templates/Empty/game/art/environment/Fog_DSphere.DAE @@ -0,0 +1,177 @@ + + + + + Richard + OpenCOLLADA for 3ds Max; Version: 1.4.1; Revision: exported; Platform: x64; Configuration: Release_Max2011_static + file:///G:/Documents%20and%20Settings/Richard/Mijn%20documenten/3dsmax/scenes/FogVolumes.max + + 2014-08-16T10:36:13 + 2014-08-16T10:36:13 + + Z_UP + + + + + + + + 0 0 0 1 + + + 0.588 0.588 0.588 1 + + + 0.588 0.588 0.588 1 + + + 0.9 0.9 0.9 1 + + + 0 + + + 0 0 0 1 + + + 1 1 1 1 + + + 1 + + + + + + + + 0 + 0 + 0 + 1.5 + 0 + 3 + 1 + 0 + + + 1 + 1 + 0 + 0.1 + 0 + + + + + + + + + + + + + + + 0 0 0.5 -2.18557e-8 0.5 0.3660254 -0.25 0.4330127 0.3660254 -0.4330127 0.25 0.3660254 -0.5 7.54979e-8 0.3660254 -0.4330128 -0.2499999 0.3660254 -0.2500001 -0.4330126 0.3660254 -2.32456e-7 -0.5 0.3660254 0.2499997 -0.4330128 0.3660254 0.4330125 -0.2500003 0.3660254 0.5 -3.89414e-7 0.3660254 0.4330129 0.2499996 0.3660254 0.2500004 0.4330125 0.3660254 -3.78552e-8 0.8660254 -2.98023e-8 -0.4330128 0.75 -2.98023e-8 -0.75 0.4330128 -2.98023e-8 -0.8660254 1.30766e-7 -2.98023e-8 -0.7500001 -0.4330125 -2.98023e-8 -0.433013 -0.7499999 -2.98023e-8 -4.02626e-7 -0.8660254 -2.98023e-8 0.4330123 -0.7500003 -2.98023e-8 0.7499998 -0.4330132 -2.98023e-8 0.8660254 -6.74485e-7 -2.98023e-8 0.7500004 0.433012 -2.98023e-8 0.4330134 0.7499996 -2.98023e-8 -4.25801e-8 0.9741181 -0.4034075 -0.4870591 0.843611 -0.4034075 -0.843611 0.4870591 -0.4034075 -0.9741181 1.47088e-7 -0.4034075 -0.8436111 -0.4870588 -0.4034075 -0.4870594 -0.8436108 -0.4034075 -4.52879e-7 -0.9741181 -0.4034075 0.4870586 -0.8436113 -0.4034075 0.8436107 -0.4870596 -0.4034075 0.9741181 -7.58671e-7 -0.4034075 0.8436115 0.4870583 -0.4034075 0.4870599 0.8436105 -0.4034075 -6.53089e-8 0.8964724 -0.5000001 -0.4482363 0.7763678 -0.5000001 -0.7763678 0.4482363 -0.5000001 -0.8964724 1.34026e-7 -0.5000001 -0.776368 -0.448236 -0.5000001 -0.4482365 -0.7763677 -0.5000001 -4.21717e-7 -0.8964724 -0.5000001 0.4482357 -0.7763681 -0.5000001 0.7763675 -0.4482367 -0.5000001 0.8964724 -6.98609e-7 -0.5000001 0.7763683 0.4482355 -0.5000001 0.448237 0.7763674 -0.5000001 + + + + + + + + + + -1.91248e-9 7.64992e-9 1 1.11601e-7 0.5308999 0.8474345 -0.2654499 0.4597727 0.8474346 -0.4597727 0.2654499 0.8474346 -0.5308999 5.07276e-8 0.8474346 -0.4597728 -0.2654498 0.8474346 -0.2654501 -0.4597726 0.8474346 -2.51102e-7 -0.5308998 0.8474345 0.2654496 -0.4597729 0.8474346 0.4597726 -0.2654503 0.8474346 0.5308999 -3.95676e-7 0.8474346 0.459773 0.2654495 0.8474346 0.2654503 0.4597726 0.8474345 2.04038e-7 0.8759832 0.4823416 -0.4379916 0.7586237 0.4823416 -0.7586237 0.4379916 0.4823416 -0.8759832 1.12482e-7 0.4823416 -0.7586238 -0.4379914 0.4823416 -0.4379919 -0.7586235 0.4823417 -4.13307e-7 -0.8759832 0.4823416 0.4379911 -0.758624 0.4823416 0.7586234 -0.4379921 0.4823416 0.8759832 -6.80126e-7 0.4823416 0.7586241 0.4379909 0.4823416 0.4379921 0.7586234 0.4823416 2.45659e-7 0.9659259 0.258819 -0.4829629 0.8365163 0.258819 -0.8365163 0.482963 0.258819 -0.9659259 1.33065e-7 0.258819 -0.8365164 -0.4829628 0.258819 -0.4829633 -0.8365162 0.2588189 -4.40139e-7 -0.9659259 0.258819 0.4829624 -0.8365167 0.258819 0.836516 -0.4829635 0.258819 0.9659259 -7.47213e-7 0.258819 0.8365167 0.4829622 0.258819 0.4829635 0.836516 0.258819 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 -0.2044302 0.7629437 -0.6132903 -0.2044302 0.7629438 -0.6132904 -0.2044302 0.7629438 -0.6132903 -0.2044302 0.7629438 -0.6132904 -0.2044302 0.7629439 -0.6132904 -0.2044302 0.7629438 -0.6132904 -0.5585136 0.5585136 -0.6132904 -0.5585136 0.5585136 -0.6132904 -0.5585136 0.5585136 -0.6132904 -0.5585136 0.5585136 -0.6132904 -0.5585136 0.5585136 -0.6132904 -0.5585136 0.5585136 -0.6132904 -0.7629438 0.2044303 -0.6132904 -0.7629437 0.2044303 -0.6132904 -0.7629438 0.2044303 -0.6132904 -0.7629437 0.2044302 -0.6132904 -0.7629438 0.2044303 -0.6132904 -0.7629437 0.2044302 -0.6132904 -0.7629438 -0.20443 -0.6132904 -0.7629438 -0.20443 -0.6132904 -0.7629438 -0.20443 -0.6132904 -0.7629438 -0.2044301 -0.6132904 -0.7629439 -0.2044301 -0.6132904 -0.7629439 -0.2044301 -0.6132904 -0.5585138 -0.5585135 -0.6132903 -0.5585138 -0.5585135 -0.6132903 -0.5585138 -0.5585135 -0.6132903 -0.5585138 -0.5585135 -0.6132905 -0.5585138 -0.5585135 -0.6132905 -0.5585137 -0.5585134 -0.6132904 -0.2044306 -0.7629436 -0.6132905 -0.2044306 -0.7629436 -0.6132905 -0.2044306 -0.7629436 -0.6132905 -0.2044305 -0.7629437 -0.6132904 -0.2044305 -0.7629436 -0.6132904 -0.2044305 -0.7629437 -0.6132904 0.2044298 -0.7629439 -0.6132904 0.2044298 -0.7629439 -0.6132904 0.2044298 -0.7629439 -0.6132904 0.2044298 -0.7629437 -0.6132906 0.2044298 -0.7629437 -0.6132906 0.2044298 -0.7629437 -0.6132906 0.558513 -0.5585139 -0.6132905 0.5585131 -0.5585139 -0.6132905 0.5585131 -0.5585139 -0.6132906 0.5585133 -0.558514 -0.6132904 0.5585132 -0.5585139 -0.6132904 0.5585132 -0.5585139 -0.6132904 0.7629436 -0.2044307 -0.6132905 0.7629436 -0.2044307 -0.6132904 0.7629435 -0.2044307 -0.6132904 0.7629436 -0.2044307 -0.6132904 0.7629436 -0.2044307 -0.6132904 0.7629436 -0.2044307 -0.6132904 0.7629439 0.2044295 -0.6132904 0.7629439 0.2044295 -0.6132904 0.7629439 0.2044295 -0.6132904 0.7629439 0.2044295 -0.6132904 0.7629439 0.2044295 -0.6132904 0.7629439 0.2044295 -0.6132904 0.5585141 0.5585132 -0.6132904 0.5585141 0.5585132 -0.6132903 0.5585141 0.5585132 -0.6132903 0.5585141 0.5585131 -0.6132904 0.5585141 0.5585132 -0.6132904 0.5585141 0.5585131 -0.6132904 0.2044306 0.7629436 -0.6132904 0.2044306 0.7629436 -0.6132904 0.2044306 0.7629436 -0.6132904 0.2044306 0.7629437 -0.6132904 0.2044306 0.7629436 -0.6132904 0.2044306 0.7629437 -0.6132904 + + + + + + + + + + 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0.5 1 0.9990009 0.9999999 0.8333333 0.9990009 0.08333331 0.8333333 0.999001 0.1666666 0.8333333 0.9990009 0.2499999 0.8333333 0.9990009 0.3333333 0.8333333 0.999001 0.4166666 0.8333333 0.9990009 0.4999999 0.8333333 0.9990009 0.5833332 0.8333333 0.999001 0.6666665 0.8333333 0.999001 0.7499998 0.8333333 0.9990009 0.8333331 0.8333333 0.999001 0.9166664 0.8333333 0.9990009 0.9999999 0.6666667 0.999001 0.08333331 0.6666667 0.9990009 0.1666666 0.6666667 0.999001 0.2499999 0.6666667 0.999001 0.3333333 0.6666667 0.9990009 0.4166666 0.6666667 0.999001 0.4999999 0.6666667 0.999001 0.5833332 0.6666667 0.9990009 0.6666665 0.6666667 0.999001 0.7499998 0.6666667 0.999001 0.8333331 0.6666667 0.9990009 0.9166664 0.6666667 0.999001 0.9999999 0.5314604 0.9779174 0.08333331 0.5314604 0.9779174 0.1666666 0.5314604 0.9779174 0.2499999 0.5314604 0.9779174 0.3333333 0.5314604 0.9779174 0.4166666 0.5314604 0.9779174 0.4999999 0.5314604 0.9779174 0.5833332 0.5314604 0.9779174 0.6666665 0.5314604 0.9779174 0.7499998 0.5314604 0.9779174 0.8333331 0.5314604 0.9779174 0.9166664 0.5314604 0.9779173 1.083333 0.8333333 0.999001 1.5 1 0.9990009 -5.96046e-8 0.8333333 0.9990009 -5.96046e-8 0.6666667 0.999001 -5.96046e-8 0.5314604 0.9779174 0.5000001 0.9596859 4.99547e-4 0.7298434 0.8980994 4.99547e-4 0.8980999 0.7298425 4.99547e-4 0.9596859 0.4999995 4.99547e-4 0.8980994 0.2701567 4.99547e-4 0.7298426 0.1019002 4.99547e-4 0.4999997 0.04031408 4.99547e-4 0.2701568 0.1019005 4.99547e-4 0.1019002 0.2701572 4.99547e-4 0.04031408 0.5000002 4.99547e-4 0.1019004 0.7298431 4.99547e-4 0.2701571 0.8980997 4.99547e-4 0.5000001 0.9995005 0.9995005 0.2502499 0.9325801 0.9995005 0.06741998 0.7497504 0.9995005 4.99547e-4 0.5000002 0.9995005 0.0674198 0.25025 0.9995005 0.2502495 0.0674201 0.9995005 0.4999996 4.99547e-4 0.9995005 0.7497499 0.06741971 0.9995005 0.9325799 0.2502494 0.9995005 0.9995005 0.4999995 0.9995005 0.9325804 0.7497497 0.9995005 0.7497507 0.9325798 0.9995005 + + + + + + + + + + -0.9659258 -0.2588191 1.32631e-10 -0.9659257 0.06195684 -0.03881452 -0.9294511 -0.3219951 -0.1164434 0.08781165 0.02352896 -1.20566e-11 -0.7900489 -0.5634469 0.0582217 -0.4507694 -0.8551033 0.02328868 0.03717382 -0.9659258 0.02328868 0.5151563 -0.8179295 0.02328868 0.8551031 -0.4507697 0.02328869 0.9659259 0.03717347 0.02328868 0.8179297 0.515156 0.02328869 0.4507699 0.855103 0.0232887 -0.03717319 0.9659259 0.02328867 -0.5151557 0.8179298 0.02328872 -0.8551029 0.4507699 0.02328869 -0.9659258 -0.1858697 0.1164435 -0.9659258 -0.06021496 0.1093572 -0.8365163 -0.4829629 1.86542e-8 -0.482963 -0.8365163 6.37053e-9 -1.23387e-7 -0.9659258 1.17127e-9 0.4829627 -0.8365164 9.95521e-9 0.8365161 -0.4829632 -1.1399e-8 0.9659258 -4.5581e-7 -1.20598e-10 0.8365166 0.4829624 1.35444e-8 0.4829635 0.836516 1.16066e-8 7.45131e-7 0.9659258 8.76795e-9 -0.4829622 0.8365168 3.13627e-8 -0.8365159 0.4829635 -1.29557e-9 -0.9659257 0.06021541 -0.1093572 -0.9659258 -0.01733734 0.06470482 -0.8394059 -0.477958 -0.02156825 -0.4879679 -0.8336267 -0.02156823 -0.005779321 -0.9659258 -0.02156825 0.4779579 -0.839406 -0.02156826 0.8336266 -0.4879681 -0.02156825 0.9659258 -0.005779629 -0.02156825 0.8394062 0.4779575 -0.02156823 0.4879684 0.8336264 -0.02156826 0.005779935 0.9659258 -0.02156825 -0.4779573 0.8394063 -0.02156825 -0.8336263 0.4879684 -0.02156827 -0.9659257 0.01733783 -0.06470482 1 -3.17268e-7 0 1 -3.17268e-7 0 1 -3.17268e-7 0 1 9.92311e-8 0 1 9.92311e-8 0 1 9.92311e-8 0 1 2.47735e-7 0 1 2.47735e-7 0 1 2.47735e-7 0 1 2.47735e-7 0 1 2.47735e-7 0 1 2.47735e-7 0 1 3.00381e-9 0 1 3.00381e-9 0 1 3.00381e-9 0 1 2.10791e-7 0 1 2.10791e-7 0 1 2.10791e-7 0 1 2.24615e-7 0 1 2.24615e-7 0 1 2.24615e-7 0 1 2.56802e-7 0 1 2.56802e-7 0 1 2.56802e-7 0 1 2.46079e-7 0 1 2.46079e-7 0 1 2.46079e-7 0 1 2.46079e-7 0 1 2.46079e-7 0 1 2.46079e-7 0 0.9486833 9.34216e-8 -0.3162278 0.9486833 7.90412e-8 -0.3162278 0.9486833 9.34216e-8 -0.3162278 0.9486833 6.95035e-8 -0.3162278 0.9486833 5.87182e-8 -0.3162278 0.9486833 5.87182e-8 -0.3162278 0.7393535 -6.7211e-8 -0.6733174 0.7393536 -9.18241e-8 -0.6733174 0.7393535 -6.7211e-8 -0.6733174 0.7393538 3.95853e-7 -0.6733171 0.7393538 3.7124e-7 -0.6733171 0.7393538 3.93654e-7 -0.6733171 0.6265218 3.70566e-7 -0.7794039 0.6265219 3.62932e-7 -0.7794038 0.6265218 3.70566e-7 -0.7794039 0.6265218 -1.06696e-7 -0.7794039 0.6265218 -1.00925e-7 -0.7794039 0.6265218 -9.90622e-8 -0.7794039 0.6265218 -1.01051e-7 -0.7794039 0.6265218 -1.10548e-7 -0.7794039 0.6265218 -1.01051e-7 -0.7794039 0.6265217 3.69736e-7 -0.779404 0.6265217 3.54468e-7 -0.779404 0.6265217 3.62102e-7 -0.779404 0.7393533 3.11047e-7 -0.6733177 0.7393533 3.11047e-7 -0.6733177 0.7393533 3.11047e-7 -0.6733177 0.7393535 2.65487e-7 -0.6733175 0.7393535 2.65487e-7 -0.6733175 0.7393535 2.67685e-7 -0.6733175 0.948683 3.43719e-7 -0.3162287 0.948683 3.581e-7 -0.3162287 0.948683 3.43719e-7 -0.3162287 0.948683 3.84169e-7 -0.3162287 0.948683 3.84169e-7 -0.3162287 0.948683 3.84169e-7 -0.3162287 0.9486835 6.63497e-8 0.3162273 0.9486835 6.99448e-8 0.3162273 0.9486835 6.63497e-8 0.3162273 0.9486836 3.42504e-7 0.3162268 0.9486836 3.5329e-7 0.3162268 0.9486836 3.42504e-7 0.3162268 0.7393542 2.83e-7 0.6733167 0.7393541 3.07613e-7 0.6733168 0.7393542 2.85198e-7 0.6733167 0.7393539 1.48017e-7 0.673317 0.7393539 1.45818e-7 0.673317 0.7393539 1.45818e-7 0.673317 0.626522 1.45573e-7 0.7794037 0.626522 1.5507e-7 0.7794038 0.626522 1.47436e-7 0.7794037 0.6265219 -1.82545e-8 0.7794038 0.6265219 -2.58886e-8 0.7794038 0.6265219 -8.75741e-9 0.7794038 0.6265217 -2.02434e-8 0.779404 0.6265217 -2.02434e-8 0.779404 0.6265217 -2.02434e-8 0.779404 0.6265217 8.18989e-7 0.779404 0.6265217 8.18989e-7 0.779404 0.6265217 8.18989e-7 0.779404 0.739353 7.06687e-7 0.673318 0.739353 7.08885e-7 0.673318 0.739353 7.08885e-7 0.673318 0.7393532 2.98111e-7 0.6733178 0.7393532 2.95912e-7 0.6733178 0.7393532 2.98111e-7 0.6733178 0.948683 3.17273e-7 0.3162288 0.948683 3.06488e-7 0.3162288 0.948683 3.17273e-7 0.3162288 0.948683 3.49953e-7 0.3162288 0.948683 3.49953e-7 0.3162288 0.948683 3.53549e-7 0.3162288 + + + + + + + + + + -0.2588191 0.9659258 -7.88424e-9 0.07547419 0.8450174 -0.5293856 -0.2214326 0.8263976 -0.5177206 0.258818 -0.9659261 7.88424e-9 -0.5187088 0.6728101 -0.5275109 -0.7558278 0.383992 -0.5303532 -0.846562 -0.04536702 -0.5303532 -0.7104608 -0.4625699 -0.5303532 -0.3839922 -0.7558277 -0.5303532 0.04536671 -0.8465621 -0.5303532 0.4625697 -0.710461 -0.5303532 0.7558275 -0.3839925 -0.5303532 0.8465621 0.04536646 -0.5303532 0.7104611 0.4625695 -0.5303532 0.3839924 0.7558275 -0.5303533 -0.2214326 0.8263976 -0.5177206 -0.128177 0.4783629 -0.8687575 -0.2411708 0.4177201 -0.8759832 -0.4177201 0.2411708 -0.8759832 -0.4823416 6.05518e-8 -0.8759832 -0.4177202 -0.2411707 -0.8759832 -0.241171 -0.41772 -0.8759832 -2.27721e-7 -0.4823416 -0.8759832 0.2411706 -0.4177203 -0.8759832 0.4177199 -0.2411711 -0.8759832 0.4823416 -3.64134e-7 -0.8759832 0.4177203 0.2411705 -0.8759832 0.2411711 0.4177199 -0.8759832 0.1281772 0.4783629 -0.8687575 -0.06918418 0.2581988 -0.9636114 -0.1093606 0.2356393 -0.9656679 -0.2125286 0.1493893 -0.9656679 -0.2587498 0.02311064 -0.9656679 -0.2356393 -0.1093605 -0.9656679 -0.1493893 -0.2125285 -0.9656679 -0.02311072 -0.2587498 -0.9656679 0.1093604 -0.2356393 -0.9656679 0.2125285 -0.1493894 -0.9656679 0.2587498 -0.0231108 -0.9656679 0.2356394 0.1093604 -0.9656679 0.1493895 0.2125285 -0.9656679 0.06918431 0.2581988 -0.9636114 3.17268e-7 1 0 3.17268e-7 1 0 3.17268e-7 1 0 -9.92311e-8 1 0 -9.92311e-8 1 0 -9.92311e-8 1 0 -2.47735e-7 1 0 -2.47735e-7 1 0 -2.47735e-7 1 0 -2.47735e-7 1 0 -2.47735e-7 1 0 -2.47735e-7 1 0 -3.00381e-9 1 0 -3.00381e-9 1 0 -3.00381e-9 1 0 -2.10791e-7 1 0 -2.10791e-7 1 0 -2.10791e-7 1 0 -2.24615e-7 1 0 -2.24615e-7 1 0 -2.24615e-7 1 0 -2.56802e-7 1 0 -2.56802e-7 1 0 -2.56802e-7 1 0 -2.46079e-7 1 0 -2.46079e-7 1 0 -2.46079e-7 1 0 -2.46079e-7 1 0 -2.46079e-7 1 0 -2.46079e-7 1 0 0.241264 0.6464648 0.723792 0.241264 0.6464648 0.723792 0.241264 0.6464648 0.7237921 0.241264 0.6464648 0.723792 0.241264 0.6464648 0.7237921 0.241264 0.6464648 0.723792 0.376057 0.8294953 0.412939 0.376057 0.8294954 0.412939 0.376057 0.8294953 0.412939 0.3760565 0.8294954 0.4129394 0.3760565 0.8294954 0.4129394 0.3760565 0.8294954 0.4129394 0.1593335 0.9788811 0.1280803 0.1593335 0.9788811 0.1280803 0.1593335 0.9788811 0.1280803 0.1593338 0.9788811 0.1280799 0.1593338 0.9788811 0.1280799 0.1593338 0.9788811 0.1280799 -0.1593335 0.9788812 -0.12808 -0.1593335 0.9788812 -0.12808 -0.1593335 0.9788812 -0.12808 -0.1593338 0.9788812 -0.1280796 -0.1593338 0.9788812 -0.1280796 -0.1593338 0.9788812 -0.1280796 -0.3760572 0.8294954 -0.4129386 -0.3760572 0.8294954 -0.4129386 -0.3760572 0.8294954 -0.4129386 -0.376057 0.8294955 -0.4129387 -0.376057 0.8294955 -0.4129387 -0.376057 0.8294955 -0.4129387 -0.2412649 0.646465 -0.7237916 -0.2412649 0.6464651 -0.7237915 -0.2412649 0.646465 -0.7237916 -0.2412649 0.646465 -0.7237916 -0.2412649 0.646465 -0.7237916 -0.2412649 0.646465 -0.7237916 0.2412636 0.6464648 -0.7237922 0.2412636 0.6464647 -0.7237922 0.2412636 0.6464648 -0.7237922 0.241263 0.6464649 -0.7237923 0.241263 0.6464649 -0.7237923 0.241263 0.6464649 -0.7237923 0.3760566 0.8294952 -0.4129397 0.3760566 0.8294952 -0.4129397 0.3760566 0.8294952 -0.4129397 0.3760569 0.8294951 -0.4129396 0.3760569 0.8294951 -0.4129396 0.3760569 0.8294951 -0.4129396 0.159334 0.978881 -0.1280805 0.159334 0.978881 -0.1280805 0.159334 0.978881 -0.1280805 0.1593341 0.978881 -0.1280803 0.1593341 0.978881 -0.1280803 0.1593341 0.978881 -0.1280803 -0.1593332 0.9788813 0.1280796 -0.1593332 0.9788813 0.1280796 -0.1593332 0.9788813 0.1280796 -0.1593337 0.9788813 0.1280789 -0.1593337 0.9788813 0.1280789 -0.1593337 0.9788813 0.1280789 -0.3760574 0.8294956 0.412938 -0.3760574 0.8294956 0.412938 -0.3760574 0.8294956 0.412938 -0.376057 0.8294957 0.4129383 -0.376057 0.8294957 0.4129383 -0.376057 0.8294957 0.4129383 -0.2412649 0.646465 0.7237916 -0.2412649 0.646465 0.7237916 -0.2412649 0.646465 0.7237916 -0.241265 0.646465 0.7237916 -0.241265 0.646465 0.7237916 -0.241265 0.646465 0.7237916 + + + + + + + + + + + + + + + + + +

0 0 50 0 1 1 13 1 2 2 49 2 0 0 12 3 2 2 14 4 3 3 15 5 0 0 12 3 3 3 15 5 4 4 16 6 0 0 12 3 4 4 16 6 5 5 17 7 0 0 12 3 5 5 17 7 6 6 18 8 0 0 12 3 6 6 18 8 7 7 19 9 0 0 12 3 7 7 19 9 8 8 20 10 0 0 12 3 8 8 20 10 9 9 21 11 0 0 12 3 9 9 21 11 10 10 22 12 0 0 12 3 10 10 22 12 11 11 23 13 0 0 12 3 11 11 23 13 12 12 24 14 0 0 12 3 12 12 24 14 1 1 13 1 1 1 51 15 13 13 52 16 14 14 26 17 14 14 26 17 2 2 14 4 1 1 51 15 2 2 14 4 14 14 26 17 15 15 27 18 15 15 27 18 3 3 15 5 2 2 14 4 3 3 15 5 15 15 27 18 16 16 28 19 16 16 28 19 4 4 16 6 3 3 15 5 4 4 16 6 16 16 28 19 17 17 29 20 17 17 29 20 5 5 17 7 4 4 16 6 5 5 17 7 17 17 29 20 18 18 30 21 18 18 30 21 6 6 18 8 5 5 17 7 6 6 18 8 18 18 30 21 19 19 31 22 19 19 31 22 7 7 19 9 6 6 18 8 7 7 19 9 19 19 31 22 20 20 32 23 20 20 32 23 8 8 20 10 7 7 19 9 8 8 20 10 20 20 32 23 21 21 33 24 21 21 33 24 9 9 21 11 8 8 20 10 9 9 21 11 21 21 33 24 22 22 34 25 22 22 34 25 10 10 22 12 9 9 21 11 10 10 22 12 22 22 34 25 23 23 35 26 23 23 35 26 11 11 23 13 10 10 22 12 11 11 23 13 23 23 35 26 24 24 36 27 24 24 36 27 12 12 24 14 11 11 23 13 12 12 24 14 24 24 36 27 13 13 25 28 13 13 25 28 1 1 13 1 12 12 24 14 13 13 52 16 25 25 53 29 26 26 38 30 26 26 38 30 14 14 26 17 13 13 52 16 14 14 26 17 26 26 38 30 27 27 39 31 27 27 39 31 15 15 27 18 14 14 26 17 15 15 27 18 27 27 39 31 28 28 40 32 28 28 40 32 16 16 28 19 15 15 27 18 16 16 28 19 28 28 40 32 29 29 41 33 29 29 41 33 17 17 29 20 16 16 28 19 17 17 29 20 29 29 41 33 30 30 42 34 30 30 42 34 18 18 30 21 17 17 29 20 18 18 30 21 30 30 42 34 31 31 43 35 31 31 43 35 19 19 31 22 18 18 30 21 19 19 31 22 31 31 43 35 32 32 44 36 32 32 44 36 20 20 32 23 19 19 31 22 20 20 32 23 32 32 44 36 33 33 45 37 33 33 45 37 21 21 33 24 20 20 32 23 21 21 33 24 33 33 45 37 34 34 46 38 34 34 46 38 22 22 34 25 21 21 33 24 22 22 34 25 34 34 46 38 35 35 47 39 35 35 47 39 23 23 35 26 22 22 34 25 23 23 35 26 35 35 47 39 36 36 48 40 36 36 48 40 24 24 36 27 23 23 35 26 24 24 36 27 36 36 48 40 25 25 37 41 25 25 37 41 13 13 25 28 24 24 36 27 48 37 55 42 47 38 56 43 46 39 57 44 46 40 57 45 45 41 58 46 44 42 59 47 44 43 59 48 43 44 60 49 42 45 61 50 46 46 57 51 44 47 59 52 42 48 61 53 42 49 61 54 41 50 62 55 40 51 63 56 40 52 63 57 39 53 64 58 38 54 65 59 42 55 61 60 40 56 63 61 38 57 65 62 46 58 57 63 42 59 61 64 38 60 65 65 48 61 55 66 46 62 57 67 38 63 65 68 37 64 54 69 48 65 55 70 38 66 65 71 25 67 66 72 37 68 54 73 38 69 65 74 38 70 65 75 26 71 67 76 25 72 66 77 26 73 67 78 38 74 65 79 39 75 64 80 39 76 64 81 27 77 68 82 26 78 67 83 27 79 68 84 39 80 64 85 40 81 63 86 40 82 63 87 28 83 69 88 27 84 68 89 28 85 69 90 40 86 63 91 41 87 62 92 41 88 62 93 29 89 70 94 28 90 69 95 29 91 70 96 41 92 62 97 42 93 61 98 42 94 61 99 30 95 71 100 29 96 70 101 30 97 71 102 42 98 61 103 43 99 60 104 43 100 60 105 31 101 72 106 30 102 71 107 31 103 72 108 43 104 60 109 44 105 59 110 44 106 59 111 32 107 73 112 31 108 72 113 32 109 73 114 44 110 59 115 45 111 58 116 45 112 58 117 33 113 74 118 32 114 73 119 33 115 74 120 45 116 58 121 46 117 57 122 46 118 57 123 34 119 75 124 33 120 74 125 34 121 75 126 46 122 57 127 47 123 56 128 47 124 56 129 35 125 76 130 34 126 75 131 35 127 76 132 47 128 56 133 48 129 55 134 48 130 55 135 36 131 77 136 35 132 76 137 36 133 77 138 48 134 55 139 37 135 54 140 37 136 54 141 25 137 66 142 36 138 77 143

+
+
+
+
+ + + + + 0 0 0 + + + + + + + + + + + + + + + + + + + + 1 + 1 + 1 + 1 + + + + + + + + +
\ No newline at end of file diff --git a/Templates/Empty/game/art/environment/Fog_DSphere.cs b/Templates/Empty/game/art/environment/Fog_DSphere.cs new file mode 100644 index 0000000000..702e5d69b6 --- /dev/null +++ b/Templates/Empty/game/art/environment/Fog_DSphere.cs @@ -0,0 +1,8 @@ + +singleton TSShapeConstructor(Fog_DSphereDAE) +{ + baseShape = "./Fog_DSphere.DAE"; + lodType = "TrailingNumber"; + neverImport = "env*"; + loadLights = "0"; +}; diff --git a/Templates/Empty/game/art/environment/Fog_DSphere.dts b/Templates/Empty/game/art/environment/Fog_DSphere.dts new file mode 100644 index 0000000000..1f66914f2c Binary files /dev/null and b/Templates/Empty/game/art/environment/Fog_DSphere.dts differ diff --git a/Templates/Empty/game/art/environment/Fog_Pyra.DAE b/Templates/Empty/game/art/environment/Fog_Pyra.DAE new file mode 100644 index 0000000000..5aed647128 --- /dev/null +++ b/Templates/Empty/game/art/environment/Fog_Pyra.DAE @@ -0,0 +1,177 @@ + + + + + Richard + OpenCOLLADA for 3ds Max; Version: 1.4.1; Revision: exported; Platform: x64; Configuration: Release_Max2011_static + file:///G:/Documents%20and%20Settings/Richard/Mijn%20documenten/3dsmax/scenes/FogVolumes.max + + 2014-08-20T08:26:02 + 2014-08-20T08:26:02 + + Z_UP + + + + + + + + 0 0 0 1 + + + 0.588 0.588 0.588 1 + + + 0.588 0.588 0.588 1 + + + 0.9 0.9 0.9 1 + + + 0 + + + 0 0 0 1 + + + 1 1 1 1 + + + 1 + + + + + + + + 0 + 0 + 0 + 1.5 + 0 + 3 + 1 + 0 + + + 1 + 1 + 0 + 0.1 + 0 + + + + + + + + + + + + + + + -1 -1 -1 1 -1 -1 -1 1 -1 1 1 -1 0 0 1 + + + + + + + + + + 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 -0.8944272 0.4472136 0 -0.8944272 0.4472136 0 -0.8944272 0.4472136 0.8944272 0 0.4472136 0.8944272 0 0.4472136 0.8944272 0 0.4472136 0 0.8944272 0.4472136 0 0.8944272 0.4472136 0 0.8944272 0.4472136 -0.8944272 0 0.4472136 -0.8944272 0 0.4472136 -0.8944272 0 0.4472136 + + + + + + + + + + 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0.9995005 4.99785e-4 4.99547e-4 4.99785e-4 4.99547e-4 4.99547e-4 0.9995002 0.9995005 4.99547e-4 4.99547e-4 0.9995002 4.99547e-4 4.99547e-4 4.99547e-4 4.99785e-4 0.9995002 4.99547e-4 4.99547e-4 0.4999999 0.9995005 4.99666e-4 4.99547e-4 4.99547e-4 0.9995002 0.9995002 4.99547e-4 0.9995005 0.4999999 0.9995005 0.9995003 4.99547e-4 4.99547e-4 0.9995002 0.9995002 4.99547e-4 0.9995005 0.4999999 0.9995005 0.9995003 4.99547e-4 4.99547e-4 4.99785e-4 0.9995002 4.99547e-4 4.99547e-4 0.4999999 0.9995005 4.99666e-4 + + + + + + + + + + -1 -2.38657e-7 0 -1 -2.38657e-7 0 -1 -2.38657e-7 0 -1 -2.38657e-7 0 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 1 0 -1 0 0 -1 0 0 -1 0 0 0 -1 0 0 -1 0 0 -1 0 + + + + + + + + + + 2.38657e-7 -1 0 2.38657e-7 -1 0 2.38657e-7 -1 0 2.38657e-7 -1 0 0 -0.4472136 -0.8944272 0 -0.4472136 -0.8944272 0 -0.4472136 -0.8944272 0.4472136 0 -0.8944272 0.4472136 0 -0.8944272 0.4472136 0 -0.8944272 0 0.4472136 -0.8944272 0 0.4472136 -0.8944272 0 0.4472136 -0.8944272 -0.4472136 0 -0.8944272 -0.4472136 0 -0.8944272 -0.4472136 0 -0.8944272 + + + + + + + + + + + + + + + + + +

0 0 12 0 2 1 14 1 3 2 15 2 3 2 15 2 1 3 13 3 0 0 12 0 0 4 16 4 1 5 17 5 4 6 18 6 1 7 19 7 3 8 20 8 4 9 21 9 3 10 22 10 2 11 23 11 4 12 24 12 2 13 25 13 0 14 26 14 4 15 27 15

+
+
+
+
+ + + + + 0 0 0 + + + + + + + + + + + + + + + + + + + + 1 + 1 + 1 + 1 + + + + + + + + +
\ No newline at end of file diff --git a/Templates/Empty/game/art/environment/Fog_Pyra.cs b/Templates/Empty/game/art/environment/Fog_Pyra.cs new file mode 100644 index 0000000000..75478f2c8c --- /dev/null +++ b/Templates/Empty/game/art/environment/Fog_Pyra.cs @@ -0,0 +1,8 @@ + +singleton TSShapeConstructor(Fog_PyraDAE) +{ + baseShape = "./Fog_Pyra.DAE"; + lodType = "TrailingNumber"; + neverImport = "env*"; + loadLights = "0"; +}; diff --git a/Templates/Empty/game/art/environment/Fog_Pyra.dts b/Templates/Empty/game/art/environment/Fog_Pyra.dts new file mode 100644 index 0000000000..85595c5615 Binary files /dev/null and b/Templates/Empty/game/art/environment/Fog_Pyra.dts differ diff --git a/Templates/Empty/game/art/environment/Fog_RCube.DAE b/Templates/Empty/game/art/environment/Fog_RCube.DAE new file mode 100644 index 0000000000..6cb95b863f --- /dev/null +++ b/Templates/Empty/game/art/environment/Fog_RCube.DAE @@ -0,0 +1,177 @@ + + + + + Richard + OpenCOLLADA for 3ds Max; Version: 1.4.1; Revision: exported; Platform: x64; Configuration: Release_Max2011_static + file:///G:/Documents%20and%20Settings/Richard/Mijn%20documenten/3dsmax/scenes/FogVolumes.max + + 2014-08-16T10:05:43 + 2014-08-16T10:05:43 + + Z_UP + + + + + + + + 0 0 0 1 + + + 0.588 0.588 0.588 1 + + + 0.588 0.588 0.588 1 + + + 0.9 0.9 0.9 1 + + + 0 + + + 0 0 0 1 + + + 1 1 1 1 + + + 1 + + + + + + + + 0 + 0 + 0 + 1.5 + 0 + 3 + 1 + 0 + + + 1 + 1 + 0 + 0.1 + 0 + + + + + + + + + + + + + + + -0.853033 -0.946967 -0.725 0.853033 -0.725 -0.946967 -0.946967 0.853033 -0.725 0.725 0.725 -1 -0.725 -1 0.7249999 1 -0.725 0.7249999 -1 0.725 0.7249999 0.725 1 0.7249999 -0.946967 -0.853033 -0.725 0.946967 -0.725 -0.853033 0.725 -0.946967 -0.853033 -0.853033 0.946967 -0.725 0.725 0.946967 -0.853033 -0.725 -0.853033 0.946967 0.853033 -0.725 0.946967 0.725 -1 0.7249999 -0.853033 0.725 0.946967 0.725 0.853033 0.946967 1 0.725 0.7249999 -0.8666667 -0.8666667 -0.8666667 -0.725 -0.946967 -0.853033 -0.725 -1 -0.725 0.8666667 -0.8666667 -0.8666667 0.725 -0.853033 -0.946967 0.725 -0.725 -1 -0.8666667 0.8666667 -0.8666667 -0.946967 0.725 -0.853033 -1 0.725 -0.725 0.725 0.853033 -0.946967 0.8666667 0.8666667 -0.8666667 0.853033 0.725 -0.946967 -0.725 -0.946967 0.8530329 -0.8666667 -0.8666667 0.8666667 -0.853033 -0.946967 0.7249999 0.946967 -0.725 0.8530329 0.8666667 -0.8666667 0.8666667 0.946967 -0.853033 0.7249999 -0.946967 0.725 0.8530329 -0.8666667 0.8666667 0.8666667 -0.946967 0.853033 0.7249999 0.725 0.946967 0.8530329 0.8666667 0.8666667 0.8666667 0.853033 0.946967 0.7249999 -1 -0.725 -0.725 -0.946967 -0.725 -0.853033 -0.853033 -0.725 -0.946967 -0.725 -0.725 -1 -0.725 -0.853033 -0.946967 1 -0.725 -0.725 0.946967 -0.853033 -0.725 0.853033 -0.946967 -0.725 0.725 -1 -0.725 -0.725 1 -0.725 -0.725 0.946967 -0.853033 -0.725 0.853033 -0.946967 -0.725 0.725 -1 -0.853033 0.725 -0.946967 0.725 1 -0.725 0.853033 0.946967 -0.725 0.946967 0.853033 -0.725 1 0.725 -0.725 0.946967 0.725 -0.853033 -0.725 -0.725 1 -0.853033 -0.725 0.946967 -0.946967 -0.725 0.8530329 -1 -0.725 0.7249999 -0.946967 -0.853033 0.7249999 0.725 -0.725 1 0.725 -0.853033 0.946967 0.853033 -0.946967 0.7249999 0.725 -0.946967 0.8530329 -0.725 0.725 1 -0.725 0.853033 0.946967 -0.725 0.946967 0.8530329 -0.725 1 0.7249999 -0.853033 0.946967 0.7249999 0.725 0.725 1 0.853033 0.725 0.946967 0.946967 0.853033 0.7249999 0.946967 0.725 0.8530329 + + + + + + + + + + -0.1876921 -0.1876921 -0.9641284 -0.1876921 0.1876921 -0.9641284 0.1876921 0.1876921 -0.9641284 0.1876921 -0.1876921 -0.9641284 -0.1876921 -0.1876921 0.9641284 0.1876921 -0.1876921 0.9641284 0.1876921 0.1876921 0.9641284 -0.1876921 0.1876921 0.9641284 -0.1876921 -0.9641284 -0.1876921 0.1876921 -0.9641284 -0.1876921 0.1876922 -0.9641284 0.187692 -0.1876921 -0.9641284 0.187692 0.9641284 -0.1876921 -0.1876921 0.9641284 0.1876921 -0.1876921 0.9641284 0.1876922 0.187692 0.9641284 -0.1876921 0.187692 0.1876921 0.9641284 -0.1876921 -0.1876921 0.9641284 -0.1876921 -0.1876922 0.9641284 0.187692 0.1876921 0.9641284 0.187692 -0.9641284 0.1876921 -0.1876921 -0.9641284 -0.1876921 -0.1876921 -0.9641283 -0.1876921 0.187692 -0.9641284 0.1876921 0.187692 -0.5402085 -0.1824033 -0.8215253 -0.8215253 -0.1824033 -0.5402086 -0.8215253 0.1824033 -0.5402085 -0.5402085 0.1824033 -0.8215253 -0.1824033 0.5402085 -0.8215253 -0.1824033 0.8215253 -0.5402086 0.1824033 0.8215253 -0.5402085 0.1824033 0.5402085 -0.8215253 0.5402085 0.1824033 -0.8215253 0.8215253 0.1824033 -0.5402086 0.8215253 -0.1824033 -0.5402085 0.5402085 -0.1824033 -0.8215253 0.1824033 -0.5402085 -0.8215253 0.1824033 -0.8215253 -0.5402086 -0.1824033 -0.8215253 -0.5402085 -0.1824033 -0.5402085 -0.8215253 -0.1824033 -0.5402086 0.8215252 -0.1824033 -0.8215254 0.5402083 0.1824033 -0.8215255 0.5402083 0.1824033 -0.5402086 0.8215252 0.5402086 -0.1824033 0.8215252 0.8215254 -0.1824033 0.5402083 0.8215255 0.1824033 0.5402083 0.5402086 0.1824033 0.8215252 0.1824033 0.5402086 0.8215252 0.1824033 0.8215254 0.5402083 -0.1824033 0.8215254 0.5402083 -0.1824033 0.5402086 0.8215252 -0.5402086 0.1824033 0.8215252 -0.8215254 0.1824033 0.5402083 -0.8215254 -0.1824033 0.5402083 -0.5402086 -0.1824033 0.8215252 0.5402085 -0.8215253 -0.1824032 0.8215253 -0.5402086 -0.1824033 0.8215253 -0.5402085 0.1824032 0.5402085 -0.8215253 0.1824032 -0.5402085 -0.8215253 0.1824032 -0.8215253 -0.5402085 0.1824032 -0.8215253 -0.5402085 -0.1824032 -0.5402086 -0.8215253 -0.1824033 0.8215253 0.5402085 -0.1824032 0.5402086 0.8215253 -0.1824033 0.5402085 0.8215253 0.1824032 0.8215253 0.5402085 0.1824032 -0.5402085 0.8215253 -0.1824032 -0.8215253 0.5402086 -0.1824033 -0.8215253 0.5402085 0.1824032 -0.5402086 0.8215253 0.1824032 -0.5773503 -0.5773503 -0.5773502 0.5773503 -0.5773503 -0.5773502 -0.5773503 0.5773503 -0.5773502 0.5773503 0.5773503 -0.5773502 -0.5773503 -0.5773504 0.5773501 0.5773503 -0.5773504 0.5773501 -0.5773504 0.5773503 0.5773501 0.5773504 0.5773503 0.5773501 + + + + + + + + + + 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0.9730103 0.1378621 0.07390955 0.07390976 0.1378621 0.02698955 0.07390952 0.1378621 0.0269897 0.1378621 0.8621377 4.99547e-4 0.1378621 0.8621378 4.99696e-4 0.1378621 0.8621378 0.9995003 0.1378621 0.8621378 4.99696e-4 0.1378621 0.8621378 0.9995003 0.9260902 0.1378621 0.02698952 0.1378621 0.07390961 0.9730103 0.8621377 0.07390961 0.02698952 0.9260902 0.1378621 0.9730105 0.1378621 0.07390961 0.9730103 0.1378621 0.9730104 0.07390976 0.1378621 0.9730104 0.9260902 0.8621377 0.8621378 4.99517e-4 0.1378621 0.9730104 0.07390976 0.1378621 0.9730104 0.9260902 0.8621377 0.8621378 0.9995005 0.9329004 0.06709972 0.0670996 0.1378621 0.07390961 0.0269897 0.1378621 0.1378621 4.99696e-4 0.06709969 0.06709954 0.0670996 0.1378623 0.07390958 0.02698955 0.1378623 0.1378621 4.99547e-4 0.9329003 0.9329004 0.0670996 0.1378621 0.07390961 0.0269897 0.1378621 0.1378621 4.99696e-4 0.1378621 0.9260902 0.02698955 0.06709957 0.9329003 0.0670996 0.07390958 0.8621377 0.02698955 0.1378621 0.9260904 0.0269897 0.9329003 0.9329004 0.06709957 0.9730103 0.8621378 0.07390955 0.1378621 0.9260904 0.9730103 0.9329002 0.9329004 0.06709954 0.07390955 0.8621378 0.9730103 0.1378621 0.9260904 0.0269897 0.9329003 0.9329004 0.9329004 0.07390952 0.8621378 0.0269897 0.1378621 0.9260904 0.9730103 0.9329002 0.9329004 0.9329004 0.07390952 0.8621378 0.9730103 0.8621377 0.1378621 4.99517e-4 0.8621377 0.07390961 0.02698952 0.9260904 0.1378623 0.02698955 0.8621379 0.1378623 4.99547e-4 0.8621379 0.07390976 0.02698955 0.1378621 0.1378621 0.9995003 0.07390955 0.1378621 0.9730103 0.9260902 0.1378621 0.02698952 0.8621377 0.1378621 4.99517e-4 0.8621377 0.1378621 0.9995005 0.8621377 0.07390961 0.9730105 0.8621377 0.9260904 0.02698955 0.8621377 0.8621379 4.99547e-4 0.9260902 0.8621379 0.02698955 0.1378621 0.1378621 0.9995003 0.07390952 0.1378621 0.9730103 0.9260902 0.1378621 0.9730105 0.8621377 0.1378621 0.9995005 0.8621377 0.07390961 0.9730105 0.1378621 0.1378623 0.9995005 0.8621377 0.9730104 0.07390958 0.8621377 0.9260904 0.02698952 0.8621377 0.8621378 4.99517e-4 0.9260902 0.8621378 0.02698952 0.8621377 0.1378621 0.9995005 0.8621377 0.9730104 0.07390958 0.9260902 0.8621378 0.02698952 0.8621377 0.9260904 0.02698952 0.1378623 0.8621379 0.9995005 0.8621377 0.9730104 0.9260904 0.8621377 0.9260904 0.9730105 0.8621377 0.8621378 0.9995005 0.9260902 0.8621378 0.9730105 0.8621379 0.8621377 0.9995005 0.8621377 0.9730104 0.9260904 0.9260902 0.8621378 0.9730105 0.8621377 0.9260904 0.9730105 0.8621379 0.1378623 4.99547e-4 0.8621377 0.8621379 4.99547e-4 0.1378621 0.8621377 4.99547e-4 0.1378621 0.8621377 4.99547e-4 0.1378623 0.1378621 4.99547e-4 0.8621379 0.1378623 4.99547e-4 0.1378621 0.1378623 0.9995005 0.8621377 0.1378621 0.9995005 0.8621379 0.8621377 0.9995005 0.8621379 0.8621377 0.9995005 0.1378623 0.8621379 0.9995005 0.1378621 0.1378623 0.9995005 0.1378621 0.1378621 4.99696e-4 0.8621377 0.1378621 4.99517e-4 0.8621377 0.8621378 4.99517e-4 0.8621377 0.8621378 4.99517e-4 0.1378621 0.8621378 4.99696e-4 0.1378621 0.1378621 4.99696e-4 0.1378621 0.1378621 0.9995003 0.8621377 0.1378621 0.9995005 0.8621377 0.8621378 0.9995005 0.8621377 0.8621378 0.9995005 0.1378621 0.8621378 0.9995003 0.1378621 0.1378621 0.9995003 0.1378621 0.1378621 0.9995003 0.8621377 0.1378621 0.9995005 0.8621377 0.8621378 0.9995005 0.8621377 0.8621378 0.9995005 0.1378621 0.8621378 0.9995003 0.1378621 0.1378621 0.9995003 0.1378621 0.1378621 4.99696e-4 0.8621377 0.1378621 4.99517e-4 0.8621377 0.8621378 4.99517e-4 0.8621377 0.8621378 4.99517e-4 0.1378621 0.8621378 4.99696e-4 0.1378621 0.1378621 4.99696e-4 0.9260904 0.1378623 0.02698955 0.9730105 0.1378623 0.07390961 0.9730103 0.8621379 0.07390961 0.9730103 0.8621379 0.07390961 0.9260902 0.8621379 0.02698955 0.9260904 0.1378623 0.02698955 0.8621377 0.9260904 0.02698955 0.8621377 0.9730105 0.07390961 0.1378621 0.9730103 0.07390961 0.1378621 0.9730103 0.07390961 0.1378621 0.9260902 0.02698955 0.8621377 0.9260904 0.02698955 0.07390958 0.8621377 0.02698955 0.02698952 0.8621377 0.07390961 0.0269897 0.1378621 0.07390961 0.0269897 0.1378621 0.07390961 0.07390976 0.1378621 0.02698955 0.07390958 0.8621377 0.02698955 0.1378623 0.07390958 0.02698955 0.1378623 0.02698952 0.07390961 0.8621379 0.0269897 0.07390961 0.8621379 0.0269897 0.07390961 0.8621379 0.07390976 0.02698955 0.1378623 0.07390958 0.02698955 0.1378621 0.9730104 0.07390976 0.1378621 0.9260904 0.0269897 0.8621377 0.9260904 0.02698952 0.8621377 0.9260904 0.02698952 0.8621377 0.9730104 0.07390958 0.1378621 0.9730104 0.07390976 0.1378621 0.9730104 0.9260902 0.1378621 0.9260904 0.9730103 0.8621377 0.9260904 0.9730105 0.8621377 0.9260904 0.9730105 0.8621377 0.9730104 0.9260904 0.1378621 0.9730104 0.9260902 0.1378621 0.9730104 0.9260902 0.1378621 0.9260904 0.9730103 0.8621377 0.9260904 0.9730105 0.8621377 0.9260904 0.9730105 0.8621377 0.9730104 0.9260904 0.1378621 0.9730104 0.9260902 0.1378621 0.9730104 0.07390976 0.1378621 0.9260904 0.0269897 0.8621377 0.9260904 0.02698952 0.8621377 0.9260904 0.02698952 0.8621377 0.9730104 0.07390958 0.1378621 0.9730104 0.07390976 0.9260902 0.1378621 0.02698952 0.9730103 0.1378621 0.07390955 0.9730103 0.8621378 0.07390955 0.9730103 0.8621378 0.07390955 0.9260902 0.8621378 0.02698952 0.9260902 0.1378621 0.02698952 0.9730103 0.8621378 0.07390955 0.9260902 0.8621378 0.02698952 0.9260902 0.1378621 0.02698952 0.9260902 0.1378621 0.02698952 0.9730103 0.1378621 0.07390955 0.9730103 0.8621378 0.07390955 0.9260902 0.1378621 0.9730105 0.9730103 0.1378621 0.9260905 0.9730103 0.8621378 0.9260905 0.9730103 0.8621378 0.9260905 0.9260902 0.8621378 0.9730105 0.9260902 0.1378621 0.9730105 0.9260902 0.1378621 0.9730105 0.9730103 0.1378621 0.9260905 0.9730103 0.8621378 0.9260905 0.9730103 0.8621378 0.9260905 0.9260902 0.8621378 0.9730105 0.9260902 0.1378621 0.9730105 0.07390955 0.1378621 0.0269897 0.06709954 0.0670996 0.06709972 0.1378621 0.07390961 0.0269897 0.1378621 0.07390961 0.0269897 0.1378621 0.1378621 4.99696e-4 0.07390955 0.1378621 0.0269897 0.07390976 0.1378621 0.02698955 0.06709969 0.06709954 0.0670996 0.1378623 0.07390958 0.02698955 0.1378623 0.07390958 0.02698955 0.1378623 0.1378621 4.99547e-4 0.07390976 0.1378621 0.02698955 0.07390952 0.1378621 0.0269897 0.06709957 0.0670996 0.06709972 0.1378621 0.07390961 0.0269897 0.1378621 0.07390961 0.0269897 0.1378621 0.1378621 4.99696e-4 0.07390952 0.1378621 0.0269897 0.07390958 0.8621377 0.02698955 0.1378621 0.9260902 0.02698955 0.06709957 0.9329003 0.0670996 0.1378621 0.9260902 0.02698955 0.07390958 0.8621377 0.02698955 0.1378621 0.8621377 4.99547e-4 0.07390955 0.8621378 0.0269897 0.1378621 0.9260904 0.0269897 0.06709957 0.9329004 0.06709972 0.1378621 0.9260904 0.0269897 0.07390955 0.8621378 0.0269897 0.1378621 0.8621378 4.99696e-4 0.07390955 0.8621378 0.9730103 0.1378621 0.9260904 0.9730103 0.06709954 0.9329004 0.9329002 0.1378621 0.9260904 0.9730103 0.07390955 0.8621378 0.9730103 0.1378621 0.8621378 0.9995003 0.07390952 0.8621378 0.0269897 0.1378621 0.9260904 0.0269897 0.06709957 0.9329004 0.06709972 0.1378621 0.9260904 0.0269897 0.07390952 0.8621378 0.0269897 0.1378621 0.8621378 4.99696e-4 0.07390952 0.8621378 0.9730103 0.1378621 0.9260904 0.9730103 0.06709957 0.9329004 0.9329002 0.1378621 0.9260904 0.9730103 0.07390952 0.8621378 0.9730103 0.1378621 0.8621378 0.9995003 0.9260902 0.1378621 0.02698952 0.8621377 0.1378621 4.99517e-4 0.8621377 0.07390961 0.02698952 0.8621377 0.07390961 0.02698952 0.9329003 0.0670996 0.06709954 0.9260902 0.1378621 0.02698952 0.8621379 0.07390976 0.02698955 0.9260904 0.1378623 0.02698955 0.8621379 0.1378623 4.99547e-4 0.9260904 0.1378623 0.02698955 0.8621379 0.07390976 0.02698955 0.9329004 0.06709972 0.0670996 0.1378621 0.07390961 0.9730103 0.1378621 0.1378621 0.9995003 0.07390955 0.1378621 0.9730103 0.07390955 0.1378621 0.9730103 0.06709954 0.0670996 0.9329003 0.1378621 0.07390961 0.9730103 0.8621377 0.07390961 0.02698952 0.9329003 0.0670996 0.06709954 0.9260902 0.1378621 0.02698952 0.9260902 0.1378621 0.02698952 0.8621377 0.1378621 4.99517e-4 0.8621377 0.07390961 0.02698952 0.9260902 0.1378621 0.9730105 0.8621377 0.1378621 0.9995005 0.8621377 0.07390961 0.9730105 0.8621377 0.07390961 0.9730105 0.9329003 0.0670996 0.9329004 0.9260902 0.1378621 0.9730105 0.9260902 0.8621379 0.02698955 0.8621377 0.9260904 0.02698955 0.8621377 0.8621379 4.99547e-4 0.8621377 0.9260904 0.02698955 0.9260902 0.8621379 0.02698955 0.9329003 0.9329004 0.0670996 0.1378621 0.07390961 0.9730103 0.1378621 0.1378621 0.9995003 0.07390952 0.1378621 0.9730103 0.07390952 0.1378621 0.9730103 0.06709957 0.0670996 0.9329003 0.1378621 0.07390961 0.9730103 0.8621377 0.07390961 0.9730105 0.9260902 0.1378621 0.9730105 0.8621377 0.1378621 0.9995005 0.9260902 0.1378621 0.9730105 0.8621377 0.07390961 0.9730105 0.9329003 0.0670996 0.9329004 0.1378621 0.07390976 0.9730104 0.1378621 0.1378623 0.9995005 0.07390958 0.1378623 0.9730104 0.07390958 0.1378623 0.9730104 0.06709957 0.06709972 0.9329004 0.1378621 0.07390976 0.9730104 0.9260902 0.8621378 0.02698952 0.8621377 0.9260904 0.02698952 0.8621377 0.8621378 4.99517e-4 0.8621377 0.9260904 0.02698952 0.9260902 0.8621378 0.02698952 0.9329003 0.9329004 0.06709957 0.9260902 0.1378621 0.9730104 0.8621377 0.1378621 0.9995005 0.8621377 0.07390958 0.9730104 0.8621377 0.07390958 0.9730104 0.9329002 0.06709954 0.9329004 0.9260902 0.1378621 0.9730104 0.8621377 0.9260904 0.02698952 0.9260902 0.8621378 0.02698952 0.9329002 0.9329004 0.06709954 0.9260902 0.8621378 0.02698952 0.8621377 0.9260904 0.02698952 0.8621377 0.8621378 4.99517e-4 0.07390976 0.8621379 0.9730104 0.1378623 0.8621379 0.9995005 0.1378623 0.9260904 0.9730104 0.1378623 0.9260904 0.9730104 0.06709972 0.9329004 0.9329004 0.07390976 0.8621379 0.9730104 0.9260902 0.8621378 0.9730105 0.8621377 0.9260904 0.9730105 0.8621377 0.8621378 0.9995005 0.8621377 0.9260904 0.9730105 0.9260902 0.8621378 0.9730105 0.9329003 0.9329004 0.9329004 0.8621379 0.9260902 0.9730104 0.8621379 0.8621377 0.9995005 0.9260904 0.8621377 0.9730104 0.9260904 0.8621377 0.9730104 0.9329004 0.9329002 0.9329004 0.8621379 0.9260902 0.9730104 0.8621377 0.9260904 0.9730105 0.9260902 0.8621378 0.9730105 0.9329002 0.9329004 0.9329004 0.9260902 0.8621378 0.9730105 0.8621377 0.9260904 0.9730105 0.8621377 0.8621378 0.9995005 0.8621379 0.1378623 4.99547e-4 0.9260904 0.1378623 0.02698955 0.9260902 0.8621379 0.02698955 0.9260902 0.8621379 0.02698955 0.8621377 0.8621379 4.99547e-4 0.8621379 0.1378623 4.99547e-4 0.8621377 0.8621379 4.99547e-4 0.8621377 0.9260904 0.02698955 0.1378621 0.9260902 0.02698955 0.1378621 0.9260902 0.02698955 0.1378621 0.8621377 4.99547e-4 0.1378621 0.8621377 4.99547e-4 0.07390958 0.8621377 0.02698955 0.07390976 0.1378621 0.02698955 0.07390976 0.1378621 0.02698955 0.1378623 0.1378621 4.99547e-4 0.1378623 0.1378621 4.99547e-4 0.1378623 0.07390958 0.02698955 0.8621379 0.07390976 0.02698955 0.8621379 0.07390976 0.02698955 0.1378621 0.1378623 0.9995005 0.1378621 0.07390976 0.9730104 0.8621377 0.07390958 0.9730104 0.8621377 0.07390958 0.9730104 0.8621377 0.1378621 0.9995005 0.1378621 0.1378623 0.9995005 0.8621377 0.1378621 0.9995005 0.9260902 0.1378621 0.9730104 0.9260904 0.8621377 0.9730104 0.9260904 0.8621377 0.9730104 0.8621379 0.8621377 0.9995005 0.8621379 0.8621377 0.9995005 0.8621379 0.9260902 0.9730104 0.1378623 0.9260904 0.9730104 0.1378623 0.9260904 0.9730104 0.1378623 0.8621379 0.9995005 0.1378623 0.8621379 0.9995005 0.07390976 0.8621379 0.9730104 0.07390958 0.1378623 0.9730104 0.07390958 0.1378623 0.9730104 0.8621377 0.1378621 4.99517e-4 0.9260902 0.1378621 0.02698952 0.9260902 0.8621378 0.02698952 0.9260902 0.8621378 0.02698952 0.8621377 0.8621378 4.99517e-4 0.8621377 0.1378621 4.99517e-4 0.1378621 0.8621378 4.99696e-4 0.07390955 0.8621378 0.0269897 0.07390955 0.1378621 0.0269897 0.07390955 0.1378621 0.0269897 0.1378621 0.1378621 4.99696e-4 0.1378621 0.8621378 4.99696e-4 0.8621377 0.1378621 0.9995005 0.9260902 0.1378621 0.9730105 0.9260902 0.8621378 0.9730105 0.9260902 0.8621378 0.9730105 0.8621377 0.8621378 0.9995005 0.8621377 0.1378621 0.9995005 0.8621377 0.1378621 0.9995005 0.9260902 0.1378621 0.9730105 0.9260902 0.8621378 0.9730105 0.9260902 0.8621378 0.9730105 0.8621377 0.8621378 0.9995005 0.8621377 0.1378621 0.9995005 0.9329003 0.0670996 0.06709954 0.9260902 0.1378621 0.02698952 0.9329004 0.06709972 0.0670996 0.9730105 0.1378623 0.07390961 0.8621379 0.0269897 0.07390961 0.06709969 0.06709954 0.0670996 0.0269897 0.1378621 0.07390961 0.9329003 0.0670996 0.06709954 0.9730103 0.1378621 0.07390955 0.1378623 0.02698952 0.07390961 0.9329003 0.0670996 0.9329004 0.9730103 0.1378621 0.9260905 0.9329003 0.9329004 0.0670996 0.8621377 0.9730105 0.07390961 0.9730103 0.8621379 0.07390961 0.06709957 0.9329003 0.0670996 0.1378621 0.9730103 0.07390961 0.9329003 0.0670996 0.9329004 0.9730103 0.1378621 0.9260905 0.02698952 0.8621377 0.07390961 0.06709957 0.9329004 0.06709972 0.1378621 0.9260904 0.0269897 0.9329003 0.9329004 0.06709957 0.8621377 0.9260904 0.02698952 0.9260902 0.8621378 0.02698952 0.06709954 0.9329004 0.9329002 0.1378621 0.9260904 0.9730103 0.9329002 0.9329004 0.06709954 0.8621377 0.9260904 0.02698952 0.9730103 0.8621378 0.07390955 0.06709957 0.9329004 0.06709972 0.1378621 0.9260904 0.0269897 0.9329003 0.9329004 0.9329004 0.8621377 0.9260904 0.9730105 0.9730103 0.8621378 0.9260905 0.06709957 0.9329004 0.9329002 0.1378621 0.9260904 0.9730103 0.9329002 0.9329004 0.9329004 0.8621377 0.9260904 0.9730105 0.9730103 0.8621378 0.9260905 0.8621377 0.07390961 0.02698952 0.8621377 0.1378621 4.99517e-4 0.1378621 0.1378621 4.99696e-4 0.1378621 0.1378621 4.99696e-4 0.8621377 0.07390961 0.9730105 0.1378621 0.1378621 0.9995003 0.1378621 0.1378621 0.9995003 0.8621377 0.07390961 0.9730105 0.1378621 0.1378621 0.9995003 0.1378621 0.1378621 0.9995003 0.8621377 0.07390961 0.02698952 0.1378621 0.1378621 4.99696e-4 0.1378621 0.9260904 0.0269897 0.8621377 0.8621378 4.99517e-4 0.1378621 0.9260904 0.9730103 0.1378621 0.8621378 0.9995003 0.8621377 0.8621378 0.9995005 0.1378621 0.9260904 0.9730103 0.1378621 0.8621378 0.9995003 0.8621377 0.8621378 0.9995005 0.1378621 0.9260904 0.0269897 0.1378621 0.8621378 4.99696e-4 0.8621377 0.8621378 4.99517e-4 0.8621377 0.8621378 4.99517e-4 0.07390955 0.1378621 0.9730103 0.1378621 0.8621378 0.9995003 0.9260902 0.8621378 0.02698952 0.8621377 0.1378621 4.99517e-4 0.07390952 0.1378621 0.9730103 0.1378621 0.8621378 0.9995003 0.07390952 0.1378621 0.0269897 0.1378621 0.8621378 4.99696e-4 + + + + + + + + + + -0.9647717 0.03522801 0.1809593 -0.9647717 -0.03522864 0.1809592 -0.9647717 0.03522801 -0.1809593 -0.9647717 0.03522809 -0.1809593 -0.9647717 -0.03522856 -0.1809592 -0.9647717 0.03522809 0.1809593 0.9647717 -0.03522809 0.1809593 0.9647717 0.03522856 -0.1809592 0.9647717 -0.03522809 -0.1809593 0.9647717 -0.03522801 -0.1809593 0.9647717 0.03522864 0.1809592 0.9647717 -0.03522801 0.1809593 0.9647717 -0.1809593 -0.03522833 0.9647717 0.1809593 0.03522833 0.9647717 0.1809593 -0.03522832 0.9647717 0.1809593 -0.03522832 0.9647717 -0.1809593 0.03522832 0.9647717 -0.1809593 -0.03522833 0.1809593 0.9647717 -0.03522833 -0.1809593 0.9647717 0.03522833 -0.1809593 0.9647717 -0.03522832 -0.1809593 0.9647717 -0.03522832 0.1809593 0.9647717 0.03522832 0.1809593 0.9647717 -0.03522833 -0.9647717 0.1809593 -0.03522833 -0.9647717 -0.1809593 0.03522833 -0.9647717 -0.1809593 -0.03522832 -0.9647717 -0.1809593 -0.03522832 -0.9647717 0.1809593 0.03522832 -0.9647717 0.1809593 -0.03522833 -0.1809593 -0.9647717 -0.03522833 0.1809593 -0.9647717 0.03522833 0.1809593 -0.9647717 -0.03522831 0.1809593 -0.9647717 -0.03522831 -0.1809593 -0.9647717 0.03522832 -0.1809593 -0.9647717 -0.03522833 -0.8145656 -0.03628428 0.5436882 -0.5436881 0.0362834 0.8145656 -0.5436882 -0.03628427 0.8145655 -0.5436882 -0.03628384 0.8145656 -0.8145656 0.03628384 0.5436882 -0.8145656 -0.03628385 0.5436881 -0.966729 -0.09853609 0.1498487 -0.9667291 -0.1498491 0.09853553 -0.966729 0.1498487 -0.09853609 -0.966729 0.1498487 -0.09853609 -0.9667291 0.09853553 -0.1498491 -0.966729 -0.09853609 0.1498487 -0.8145656 -0.03628385 -0.5436881 -0.5436882 0.03628383 -0.8145656 -0.5436882 -0.03628384 -0.8145656 -0.5436882 -0.03628427 -0.8145655 -0.8145656 0.03628341 -0.5436881 -0.8145656 -0.03628428 -0.5436882 -0.966729 -0.09853609 -0.1498487 -0.9667291 -0.1498491 -0.09853553 -0.966729 0.1498487 0.09853609 -0.966729 0.1498487 0.09853609 -0.9667291 0.09853553 0.1498491 -0.966729 -0.09853609 -0.1498487 0.966729 -0.09853584 0.1498489 0.966729 -0.1498489 0.09853578 0.966729 0.149849 -0.09853578 0.966729 0.149849 -0.09853578 0.966729 0.09853584 -0.1498489 0.966729 -0.09853584 0.1498489 0.09853586 0.966729 0.1498489 0.149849 0.966729 0.09853581 -0.149849 0.966729 -0.09853578 -0.149849 0.966729 -0.09853578 -0.09853584 0.966729 -0.1498489 0.09853586 0.966729 0.1498489 -0.966729 0.09853586 0.1498489 -0.966729 0.149849 0.09853581 -0.966729 -0.149849 -0.09853579 -0.966729 -0.149849 -0.09853579 -0.966729 -0.09853586 -0.1498489 -0.966729 0.09853586 0.1498489 -0.09853584 -0.966729 0.1498489 -0.1498489 -0.966729 0.09853578 0.149849 -0.966729 -0.09853579 0.149849 -0.966729 -0.09853579 0.09853586 -0.966729 -0.1498489 -0.09853584 -0.966729 0.1498489 0.8145656 0.5436881 -0.03628384 0.5436882 0.8145656 0.03628383 0.5436881 0.8145656 -0.03628384 0.5436881 0.8145656 -0.03628384 0.8145656 0.5436881 0.03628383 0.8145656 0.5436881 -0.03628384 0.8145656 -0.5436881 -0.03628383 0.5436881 -0.8145656 0.03628384 0.5436881 -0.8145656 -0.03628384 0.5436881 -0.8145656 -0.03628384 0.8145656 -0.5436882 0.03628383 0.8145656 -0.5436881 -0.03628383 -0.5436881 0.8145656 -0.03628384 -0.8145656 0.5436882 0.03628383 -0.8145656 0.5436881 -0.03628384 -0.8145656 0.5436881 -0.03628384 -0.5436881 0.8145656 0.03628383 -0.5436881 0.8145656 -0.03628384 -0.8145656 -0.5436881 -0.03628384 -0.5436882 -0.8145656 0.03628383 -0.5436881 -0.8145656 -0.03628383 -0.5436881 -0.8145656 -0.03628383 -0.8145656 -0.5436882 0.03628383 -0.8145656 -0.5436881 -0.03628384 0.8328932 -0.5435314 -0.01870198 0.7452874 -0.6022932 -0.1429942 0.9275532 -0.2824244 0.1163071 0.9504859 -0.2628513 0.07879775 0.9605829 -0.1941471 0.03670338 0.8241011 -0.5344221 -0.03369053 -0.8328933 -0.01870195 -0.5435313 -0.7452874 -0.1429942 -0.6022933 -0.9275532 0.1163071 -0.2824244 -0.9504859 0.07879776 -0.2628512 -0.9605829 0.03670338 -0.1941471 -0.8241011 -0.03369053 -0.534422 -0.5435314 -0.8328932 -0.01870198 -0.6022932 -0.7452874 -0.1429942 -0.2824244 -0.9275532 0.1163071 -0.2628513 -0.9504859 0.07879775 -0.1941471 -0.9605829 0.03670338 -0.5344221 -0.8241011 -0.03369053 -0.8328933 0.01870227 -0.5435313 -0.9275533 -0.1163068 -0.2824243 -0.7452875 0.1429945 -0.6022931 -0.9504859 -0.07879774 -0.2628513 -0.8241011 0.03369052 -0.534422 -0.9605829 -0.03670339 -0.1941471 0.8328932 -0.5435314 0.0187016 0.9275532 -0.2824246 -0.1163074 0.7452873 -0.6022934 0.1429939 0.9504859 -0.2628512 -0.07879774 0.8241011 -0.534422 0.03369051 0.9605829 -0.1941471 -0.03670337 0.5435314 0.8328932 0.01870158 0.2824246 0.9275531 -0.1163074 0.6022935 0.7452872 0.1429939 0.2628513 0.9504859 -0.07879772 0.534422 0.8241011 0.03369051 0.1941471 0.9605829 -0.03670337 -0.5435314 -0.8328932 0.0187016 -0.2824246 -0.9275532 -0.1163074 -0.6022934 -0.7452873 0.1429939 -0.2628512 -0.9504859 -0.07879774 -0.534422 -0.8241011 0.03369051 -0.1941471 -0.9605829 -0.03670337 -0.8328932 0.5435314 0.01870158 -0.9275531 0.2824246 -0.1163074 -0.7452872 0.6022935 0.1429939 -0.9504859 0.2628513 -0.07879772 -0.8241011 0.534422 0.03369051 -0.9605829 0.1941471 -0.03670337 0.534422 -0.8241011 0.03369051 0.1941471 -0.9605829 -0.03670339 0.2628513 -0.9504859 -0.07879776 0.2824244 -0.9275532 -0.1163071 0.6022932 -0.7452874 0.1429942 0.5435313 -0.8328933 0.01870197 -0.9504859 -0.07879774 0.2628513 -0.8241011 0.03369052 0.534422 -0.9605829 -0.03670339 0.1941471 -0.8328933 0.01870195 0.5435313 -0.9275532 -0.1163071 0.2824245 -0.7452874 0.1429942 0.6022933 0.2628513 0.9504859 0.07879775 0.1941471 0.9605829 0.03670338 0.5344221 0.8241011 -0.03369053 0.5435314 0.8328932 -0.01870198 0.6022932 0.7452874 -0.1429942 0.2824244 0.9275532 0.1163071 0.9275532 0.2824244 -0.1163071 0.7452874 0.6022932 0.1429942 0.8328933 0.5435313 0.01870197 0.8241011 0.534422 0.03369051 0.9605829 0.1941471 -0.03670339 0.9504859 0.2628513 -0.07879776 -0.8241011 -0.534422 0.03369051 -0.9605829 -0.1941471 -0.03670339 -0.9504859 -0.2628513 -0.07879776 -0.9275532 -0.2824244 -0.1163071 -0.7452874 -0.6022932 0.1429942 -0.8328933 -0.5435313 0.01870197 -0.8241011 -0.03369053 0.534422 -0.9504859 0.07879776 0.2628512 -0.9605829 0.03670338 0.1941471 -0.9275531 0.1163074 0.2824246 -0.8328932 -0.01870163 0.5435314 -0.7452873 -0.1429939 0.6022935 -0.9504859 0.2628513 0.07879775 -0.9605829 0.1941471 0.03670338 -0.8241011 0.5344221 -0.03369053 -0.8328932 0.5435314 -0.01870198 -0.7452874 0.6022932 -0.1429942 -0.9275532 0.2824244 0.1163071 -0.2628513 0.9504859 -0.07879776 -0.534422 0.8241011 0.03369051 -0.1941471 0.9605829 -0.03670339 -0.5435313 0.8328933 0.01870197 -0.2824244 0.9275532 -0.1163071 -0.6022932 0.7452874 0.1429942 0.9504859 0.07879774 0.2628513 0.9605829 0.03670338 0.1941471 0.824101 -0.03369056 0.5344221 0.8328932 -0.01870195 0.5435315 0.7452874 -0.1429942 0.6022934 0.9275531 0.1163072 0.2824246 0.534422 -0.8241011 -0.03369051 0.2628512 -0.9504859 0.07879772 0.1941472 -0.9605829 0.03670335 0.2824246 -0.9275531 0.1163074 0.5435314 -0.8328932 -0.01870158 0.6022935 -0.7452872 -0.1429939 0.824101 0.03369056 -0.5344221 0.9605829 -0.03670339 -0.1941471 0.9504859 -0.07879773 -0.2628513 0.9275531 -0.1163072 -0.2824246 0.7452874 0.1429942 -0.6022934 0.8328932 0.01870195 -0.5435315 0.9275532 0.2824245 0.1163074 0.8328932 0.5435314 -0.0187016 0.7452873 0.6022934 -0.1429939 0.8241011 0.534422 -0.03369051 0.9504859 0.2628512 0.07879775 0.9605829 0.1941471 0.03670336 0.824101 0.03369055 0.5344221 0.9605829 -0.03670339 0.1941471 0.9504859 -0.07879773 0.2628513 0.9275532 -0.1163071 0.2824246 0.7452873 0.1429942 0.6022934 0.8328932 0.01870199 0.5435314 -0.8241011 -0.534422 -0.03369052 -0.9504859 -0.2628512 0.07879772 -0.9605829 -0.1941471 0.03670336 -0.9275531 -0.2824246 0.1163074 -0.8328932 -0.5435314 -0.01870159 -0.7452872 -0.6022935 -0.1429939 0.9504859 0.07879773 -0.2628513 0.9605829 0.03670338 -0.1941471 0.824101 -0.03369056 -0.5344221 0.8328932 -0.01870192 -0.5435315 0.7452873 -0.1429941 -0.6022934 0.9275531 0.1163072 -0.2824246 -0.2824245 0.9275532 0.1163074 -0.5435314 0.8328932 -0.0187016 -0.6022934 0.7452873 -0.1429939 -0.534422 0.8241011 -0.03369051 -0.2628512 0.9504859 0.07879775 -0.1941471 0.9605829 0.03670336 -0.9605829 -0.03670339 0.1941471 -0.8241011 0.03369052 0.534422 -0.8241011 -0.03369053 0.534422 -0.8241011 -0.03369053 0.534422 -0.9605829 0.03670338 0.1941471 -0.9605829 -0.03670339 0.1941471 -0.9647717 -0.03522858 0.1809592 -0.9667291 -0.09853603 0.1498488 -0.966729 0.09853559 -0.1498491 -0.966729 0.09853552 -0.1498491 -0.9647717 0.03522798 -0.1809593 -0.9647717 -0.03522867 0.1809592 -0.9605829 -0.03670339 -0.1941471 -0.8241011 0.03369052 -0.534422 -0.8241011 -0.03369053 -0.534422 -0.8241011 -0.03369053 -0.534422 -0.9605829 0.03670338 -0.1941471 -0.9605829 -0.03670339 -0.1941471 -0.9647717 -0.03522858 -0.1809592 -0.9667291 -0.09853603 -0.1498488 -0.966729 0.09853559 0.1498491 -0.966729 0.09853559 0.1498491 -0.9647717 0.03522807 0.1809593 -0.9647717 -0.03522858 -0.1809592 0.9647717 -0.03522807 0.1809593 0.966729 -0.09853562 0.1498491 0.966729 0.09853606 -0.1498488 0.966729 0.09853606 -0.1498488 0.9647717 0.03522858 -0.1809592 0.9647717 -0.03522807 0.1809593 0.9605829 -0.03670339 -0.1941471 0.824101 0.03369056 -0.5344221 0.824101 -0.03369056 -0.5344221 0.824101 -0.03369056 -0.5344221 0.9605829 0.03670338 -0.1941471 0.9605829 -0.03670339 -0.1941471 0.9647717 -0.03522807 -0.1809593 0.966729 -0.09853564 -0.1498491 0.966729 0.09853608 0.1498488 0.966729 0.09853615 0.1498488 0.9647717 0.03522867 0.1809592 0.9647717 -0.03522798 -0.1809594 0.9605829 -0.03670339 0.1941471 0.824101 0.03369055 0.5344221 0.824101 -0.03369056 0.5344221 0.824101 -0.03369056 0.5344221 0.9605829 0.03670338 0.1941471 0.9605829 -0.03670339 0.1941471 0.9605829 0.1941471 -0.03670339 0.8241011 0.534422 0.03369051 0.8241011 0.534422 -0.03369051 0.8241011 0.534422 -0.03369051 0.9605829 0.1941471 0.03670336 0.9605829 0.1941471 -0.03670339 0.9605829 -0.1941471 -0.03670337 0.8241011 -0.534422 0.03369051 0.8241011 -0.5344221 -0.03369053 0.8241011 -0.5344221 -0.03369053 0.9605829 -0.1941471 0.03670338 0.9605829 -0.1941471 -0.03670337 -0.1941471 0.9605829 -0.03670339 -0.534422 0.8241011 0.03369051 -0.534422 0.8241011 -0.03369051 -0.534422 0.8241011 -0.03369051 -0.1941471 0.9605829 0.03670336 -0.1941471 0.9605829 -0.03670339 -0.9605829 -0.1941471 -0.03670339 -0.8241011 -0.534422 0.03369051 -0.8241011 -0.534422 -0.03369052 -0.8241011 -0.534422 -0.03369052 -0.9605829 -0.1941471 0.03670336 -0.9605829 -0.1941471 -0.03670339 0.7071068 -0.7071068 0 0.8145656 -0.5436882 0.03628383 0.5436881 -0.8145656 -0.03628384 -0.7071065 -3.21208e-7 0.707107 -0.5436881 0.03628337 0.8145657 -0.8145655 -0.03628431 0.5436882 -0.9385198 -0.09980948 0.2740111 -0.9166709 -0.05338037 0.3906956 -0.7451447 0.159674 0.5854708 -0.7071069 -4.18542e-7 -0.7071066 -0.8145657 0.03628338 -0.5436881 -0.5436882 -0.0362843 -0.8145655 0.7071068 0.7071068 0 0.5436882 0.8145656 0.03628383 0.8145656 0.5436881 -0.03628384 -0.9166709 0.05338039 -0.3906956 -0.9385198 0.0998095 -0.2740111 -0.7451447 -0.159674 -0.5854708 -0.7071068 -0.7071068 0 -0.5436882 -0.8145656 0.03628383 -0.8145656 -0.5436881 -0.03628384 -0.7451446 -0.1596736 0.5854711 -0.9166707 0.05338068 0.390696 -0.9385197 0.09980993 0.2740113 -0.8145656 0.03628384 0.5436882 -0.5436882 -0.03628384 0.8145656 -0.7071067 -4.8667e-8 0.7071068 -0.7451448 0.1596744 -0.5854706 -0.93852 -0.09980906 -0.2740109 -0.916671 -0.05338009 -0.3906952 -0.7071068 0.7071068 0 -0.8145656 0.5436882 0.03628383 -0.5436881 0.8145656 -0.03628384 -0.5436882 0.03628383 -0.8145656 -0.8145656 -0.03628385 -0.5436881 -0.7071067 4.8667e-8 -0.7071068 0.7451446 -0.585471 0.1596736 0.9385198 -0.2740112 -0.09980978 0.9166708 -0.3906958 -0.05338057 0.5854711 -0.7451446 -0.1596736 0.390696 -0.9166707 0.05338063 0.2740113 -0.9385197 0.09980983 0.5436881 -0.8145656 0.03628384 0.8145656 -0.5436881 -0.03628383 0.7071068 -0.7071068 -2.43335e-8 0.5854711 0.7451446 0.1596736 0.2740113 0.9385197 -0.09980984 0.390696 0.9166707 -0.05338063 0.7451446 0.585471 -0.1596736 0.9166708 0.3906958 0.05338056 0.9385198 0.2740112 0.09980979 0.8145656 0.5436881 0.03628383 0.5436881 0.8145656 -0.03628384 0.7071068 0.7071068 2.43335e-8 -0.585471 -0.7451446 0.1596736 -0.2740112 -0.9385198 -0.09980978 -0.3906958 -0.9166708 -0.05338057 -0.7451446 -0.5854711 -0.1596736 -0.9166707 -0.390696 0.05338063 -0.9385197 -0.2740113 0.09980983 -0.8145656 -0.5436882 0.03628383 -0.5436881 -0.8145656 -0.03628383 -0.7071068 -0.7071068 -2.43335e-8 -0.7451446 0.5854711 0.1596736 -0.9385197 0.2740113 -0.09980984 -0.9166707 0.390696 -0.05338063 -0.585471 0.7451446 -0.1596736 -0.3906958 0.9166708 0.05338056 -0.2740112 0.9385198 0.09980979 -0.5436881 0.8145656 0.03628383 -0.8145656 0.5436881 -0.03628384 -0.7071068 0.7071068 2.43335e-8 0.1498489 -0.966729 0.09853582 0.1809593 -0.9647717 0.03522833 -0.1809593 -0.9647717 -0.03522833 -0.1809593 -0.9647717 -0.03522833 -0.1498489 -0.966729 -0.09853581 0.1498489 -0.966729 0.09853582 -0.966729 -0.1498489 0.09853582 -0.9647717 -0.1809593 0.03522833 -0.9647717 0.1809593 -0.03522833 -0.9647717 0.1809593 -0.03522833 -0.966729 0.1498489 -0.09853581 -0.966729 -0.1498489 0.09853582 -0.1498489 0.966729 0.09853582 -0.1809593 0.9647717 0.03522833 0.1809593 0.9647717 -0.03522833 0.1809593 0.9647717 -0.03522833 0.1498489 0.966729 -0.09853581 -0.1498489 0.966729 0.09853582 0.966729 0.1498489 0.09853582 0.9647717 0.1809593 0.03522833 0.9647717 -0.1809593 -0.03522833 0.9647717 -0.1809593 -0.03522833 0.966729 -0.1498489 -0.09853581 0.966729 0.1498489 0.09853582 0.966729 -0.1498489 0.09853578 0.9647717 -0.1809593 0.03522832 0.9647717 0.1809593 -0.03522832 0.9647717 0.1809593 -0.03522832 0.966729 0.149849 -0.09853578 0.966729 -0.1498489 0.09853578 0.149849 0.966729 0.09853581 0.1809593 0.9647717 0.03522832 -0.1809593 0.9647717 -0.03522832 -0.1809593 0.9647717 -0.03522832 -0.149849 0.966729 -0.09853578 0.149849 0.966729 0.09853581 -0.966729 0.149849 0.09853581 -0.9647717 0.1809593 0.03522832 -0.9647717 -0.1809593 -0.03522832 -0.9647717 -0.1809593 -0.03522832 -0.966729 -0.149849 -0.09853579 -0.966729 0.149849 0.09853581 -0.1498489 -0.966729 0.09853578 -0.1809593 -0.9647717 0.03522832 0.1809593 -0.9647717 -0.03522831 0.1809593 -0.9647717 -0.03522831 0.149849 -0.966729 -0.09853579 -0.1498489 -0.966729 0.09853578 0.5344221 0.8241011 -0.03369053 0.1941471 0.9605829 0.03670338 0.1941471 0.9605829 -0.03670337 0.1941471 0.9605829 -0.03670337 0.534422 0.8241011 0.03369051 0.5344221 0.8241011 -0.03369053 0.534422 -0.8241011 -0.03369051 0.1941472 -0.9605829 0.03670335 0.1941471 -0.9605829 -0.03670339 0.1941471 -0.9605829 -0.03670339 0.534422 -0.8241011 0.03369051 0.534422 -0.8241011 -0.03369051 -0.8241011 0.5344221 -0.03369053 -0.9605829 0.1941471 0.03670338 -0.9605829 0.1941471 -0.03670337 -0.9605829 0.1941471 -0.03670337 -0.8241011 0.534422 0.03369051 -0.8241011 0.5344221 -0.03369053 -0.5344221 -0.8241011 -0.03369053 -0.1941471 -0.9605829 0.03670338 -0.1941471 -0.9605829 -0.03670337 -0.1941471 -0.9605829 -0.03670337 -0.534422 -0.8241011 0.03369051 -0.5344221 -0.8241011 -0.03369053 + + + + + + + + + + 3.23116e-7 -0.9815729 0.1910881 3.23116e-7 -0.9815729 -0.1910882 3.23116e-7 -0.9815729 -0.1910881 2.42337e-7 -0.9815729 -0.1910881 2.42337e-7 -0.9815729 0.1910882 2.42337e-7 -0.9815729 0.1910881 2.42337e-7 -0.9815729 -0.1910881 2.42337e-7 -0.9815729 -0.1910882 2.42337e-7 -0.9815729 0.1910881 3.23116e-7 -0.9815729 0.191088 3.23116e-7 -0.9815729 0.1910882 3.23116e-7 -0.9815729 -0.191088 0 0.1910881 -0.9815729 0 0.1910881 -0.9815729 0 -0.1910881 -0.9815729 0 -0.1910881 -0.9815729 0 -0.1910881 -0.9815729 0 0.1910881 -0.9815729 -0.1910881 0 -0.9815729 -0.1910881 0 -0.9815729 0.1910881 0 -0.9815729 0.1910881 0 -0.9815729 0.1910881 0 -0.9815729 -0.1910881 0 -0.9815729 0 -0.1910881 -0.9815729 0 -0.1910881 -0.9815729 0 0.1910881 -0.9815729 0 0.1910881 -0.9815729 0 0.1910881 -0.9815729 0 -0.1910881 -0.9815729 0.1910881 0 -0.9815729 0.1910881 0 -0.9815729 -0.191088 0 -0.9815729 -0.191088 0 -0.9815729 -0.1910881 0 -0.9815729 0.1910881 0 -0.9815729 0.1316091 -0.9825265 0.1316085 0.131609 -0.9825265 0.1316083 -0.1316085 -0.9825265 -0.1316091 -0.1316087 -0.9825265 -0.1316087 -0.1316087 -0.9825265 -0.1316087 0.1316087 -0.9825265 0.1316087 3.4193e-7 -0.8355425 -0.5494258 3.4193e-7 -0.5494258 -0.8355425 3.4193e-7 -0.5494259 -0.8355425 3.4193e-7 -0.5494259 -0.8355425 3.4193e-7 -0.8355425 -0.5494257 3.4193e-7 -0.8355425 -0.5494258 0.1316087 -0.9825265 -0.1316087 0.1316087 -0.9825265 -0.1316087 -0.1316087 -0.9825265 0.1316087 -0.1316085 -0.9825265 0.1316091 -0.1316084 -0.9825265 0.131609 0.1316091 -0.9825265 -0.1316085 3.4193e-7 -0.8355425 0.5494258 3.4193e-7 -0.5494258 0.8355425 3.4193e-7 -0.5494259 0.8355425 3.4193e-7 -0.5494259 0.8355425 3.4193e-7 -0.8355425 0.5494257 3.4193e-7 -0.8355425 0.5494258 0 -0.8355424 -0.5494259 0 -0.5494256 -0.8355426 0 -0.5494256 -0.8355427 0 -0.5494256 -0.8355427 0 -0.8355424 -0.5494259 0 -0.8355424 -0.5494259 0.8355424 0 -0.5494259 0.5494256 0 -0.8355426 0.5494256 0 -0.8355427 0.5494256 0 -0.8355427 0.8355424 0 -0.5494259 0.8355424 0 -0.5494259 0 0.8355424 -0.5494259 0 0.5494256 -0.8355426 0 0.5494256 -0.8355427 0 0.5494256 -0.8355427 0 0.8355424 -0.5494259 0 0.8355424 -0.5494259 -0.8355424 0 -0.5494259 -0.5494256 0 -0.8355426 -0.5494256 0 -0.8355427 -0.5494256 0 -0.8355427 -0.8355424 0 -0.5494259 -0.8355424 0 -0.5494259 -0.1316087 0.1316087 -0.9825265 -0.1316087 0.1316087 -0.9825265 0.1316087 -0.1316087 -0.9825265 0.1316087 -0.1316087 -0.9825265 0.1316087 -0.1316087 -0.9825265 -0.1316087 0.1316087 -0.9825265 -0.1316087 -0.1316087 -0.9825265 -0.1316087 -0.1316087 -0.9825265 0.1316087 0.1316087 -0.9825265 0.1316087 0.1316087 -0.9825265 0.1316087 0.1316087 -0.9825265 -0.1316087 -0.1316087 -0.9825265 -0.1316087 -0.1316087 -0.9825265 -0.1316087 -0.1316087 -0.9825265 0.1316087 0.1316087 -0.9825265 0.1316087 0.1316087 -0.9825265 0.1316087 0.1316087 -0.9825265 -0.1316087 -0.1316087 -0.9825265 0.1316087 -0.1316087 -0.9825265 0.1316087 -0.1316087 -0.9825265 -0.1316087 0.1316087 -0.9825265 -0.1316087 0.1316087 -0.9825265 -0.1316087 0.1316087 -0.9825265 0.1316087 -0.1316087 -0.9825265 0.08422161 0.1628838 -0.983044 0.273704 0.529342 -0.8030462 0.2540759 0.4913813 -0.8330606 0.2089638 0.5044833 -0.8377534 0.07324067 0.1768186 -0.9815146 0.07102473 0.1714689 -0.982626 -0.08422165 -0.983044 0.1628839 -0.2737041 -0.8030461 0.5293421 -0.2540759 -0.8330606 0.4913812 -0.2089638 -0.8377534 0.5044833 -0.07324066 -0.9815146 0.1768186 -0.07102475 -0.982626 0.1714689 0.1628838 -0.08422161 -0.983044 0.529342 -0.273704 -0.8030462 0.4913813 -0.2540759 -0.8330606 0.5044833 -0.2089638 -0.8377534 0.1768186 -0.07324067 -0.9815146 0.1714689 -0.07102473 -0.982626 0.08422137 -0.983044 -0.162884 0.2540756 -0.8330606 -0.4913813 0.2737039 -0.803046 -0.5293423 0.2089638 -0.8377534 -0.5044833 0.07102474 -0.982626 -0.1714689 0.07324067 -0.9815146 -0.1768186 -0.08422189 -0.1628836 -0.9830441 -0.2540762 -0.491381 -0.8330606 -0.2737043 -0.5293417 -0.8030463 -0.2089638 -0.5044832 -0.8377535 -0.07102471 -0.1714688 -0.982626 -0.07324064 -0.1768186 -0.9815146 0.1628836 -0.08422192 -0.983044 0.491381 -0.2540762 -0.8330606 0.5293417 -0.2737044 -0.8030463 0.5044832 -0.2089638 -0.8377535 0.1714688 -0.07102472 -0.982626 0.1768186 -0.07324064 -0.9815146 -0.1628836 0.08422189 -0.9830441 -0.491381 0.2540762 -0.8330606 -0.5293417 0.2737043 -0.8030463 -0.5044832 0.2089638 -0.8377535 -0.1714688 0.07102471 -0.982626 -0.1768186 0.07324064 -0.9815146 0.08422192 0.1628836 -0.983044 0.2540762 0.491381 -0.8330606 0.2737044 0.5293417 -0.8030463 0.2089638 0.5044832 -0.8377535 0.07102472 0.1714688 -0.982626 0.07324064 0.1768186 -0.9815146 0.1714689 0.07102472 -0.982626 0.1768186 0.07324067 -0.9815146 0.5044834 0.2089638 -0.8377533 0.4913813 0.2540759 -0.8330605 0.529342 0.273704 -0.8030462 0.1628838 0.0842216 -0.983044 0.2089638 -0.8377534 0.5044833 0.07102474 -0.982626 0.1714689 0.07324067 -0.9815146 0.1768186 0.08422164 -0.983044 0.1628838 0.254076 -0.8330605 0.4913812 0.2737041 -0.8030461 0.5293421 -0.5044833 0.2089638 -0.8377534 -0.1768186 0.07324067 -0.9815146 -0.1714689 0.07102473 -0.982626 -0.1628838 0.08422161 -0.983044 -0.529342 0.273704 -0.8030462 -0.4913813 0.2540759 -0.8330606 -0.2540759 0.4913813 -0.8330605 -0.273704 0.529342 -0.8030462 -0.0842216 0.1628838 -0.983044 -0.07102472 0.1714689 -0.982626 -0.07324067 0.1768186 -0.9815146 -0.2089638 0.5044834 -0.8377533 0.07102472 -0.1714689 -0.982626 0.07324067 -0.1768186 -0.9815146 0.2089638 -0.5044834 -0.8377533 0.2540759 -0.4913813 -0.8330605 0.273704 -0.529342 -0.8030462 0.0842216 -0.1628838 -0.983044 -0.07102475 -0.982626 -0.1714689 -0.2089638 -0.8377534 -0.5044833 -0.07324066 -0.9815146 -0.1768186 -0.2540763 -0.8330605 -0.4913811 -0.08422193 -0.983044 -0.1628837 -0.2737044 -0.8030461 -0.5293418 -0.2089638 -0.5044833 -0.8377534 -0.07324067 -0.1768186 -0.9815146 -0.07102473 -0.1714689 -0.982626 -0.08422161 -0.1628838 -0.983044 -0.273704 -0.529342 -0.8030462 -0.2540759 -0.4913813 -0.8330606 -0.5044834 -0.2089638 -0.8377533 -0.1714689 -0.07102472 -0.982626 -0.1768186 -0.07324067 -0.9815146 -0.1628838 -0.0842216 -0.983044 -0.4913813 -0.2540759 -0.8330605 -0.529342 -0.273704 -0.8030462 0.2089639 -0.8377533 -0.5044834 0.07324066 -0.9815146 -0.1768186 0.07102476 -0.982626 -0.171469 0.0842217 -0.983044 -0.1628839 0.2737042 -0.8030461 -0.5293421 0.2540761 -0.8330605 -0.4913813 -0.1714688 -0.07102472 -0.982626 -0.5044831 -0.2089637 -0.8377535 -0.1768185 -0.07324064 -0.9815147 -0.4913809 -0.2540762 -0.8330607 -0.1628836 -0.08422192 -0.983044 -0.5293417 -0.2737044 -0.8030463 -0.07102476 -0.982626 -0.171469 -0.07324067 -0.9815146 -0.1768186 -0.2089639 -0.8377533 -0.5044835 -0.2540761 -0.8330605 -0.4913813 -0.2737042 -0.8030461 -0.5293421 -0.0842217 -0.983044 -0.1628839 0.2540762 -0.491381 -0.8330606 0.08422189 -0.1628836 -0.9830441 0.2737043 -0.5293417 -0.8030463 0.07102471 -0.1714688 -0.982626 0.2089637 -0.5044831 -0.8377535 0.07324064 -0.1768186 -0.9815146 -0.07102475 -0.982626 0.1714689 -0.07324067 -0.9815146 0.1768186 -0.2089639 -0.8377533 0.5044834 -0.2540761 -0.8330605 0.4913813 -0.2737042 -0.8030461 0.529342 -0.08422165 -0.983044 0.1628839 -0.07102471 0.1714688 -0.982626 -0.2089637 0.5044831 -0.8377535 -0.07324064 0.1768186 -0.9815146 -0.2540762 0.4913809 -0.8330607 -0.08422192 0.1628836 -0.983044 -0.2737044 0.5293417 -0.8030463 0.2089639 -0.8377533 0.5044834 0.07324066 -0.9815146 0.1768186 0.07102476 -0.982626 0.1714689 0.08422172 -0.983044 0.1628839 0.2737043 -0.8030461 0.529342 0.2540761 -0.8330605 0.4913813 0.491381 0.2540762 -0.8330606 0.1628836 0.08422189 -0.9830441 0.5293417 0.2737043 -0.8030463 0.1714688 0.07102471 -0.982626 0.5044831 0.2089637 -0.8377535 0.1768186 0.07324064 -0.9815146 0.07324067 -0.9815146 0.1768186 0.07102474 -0.982626 0.1714689 -0.07102475 -0.982626 -0.1714689 -0.07102475 -0.982626 -0.1714689 -0.07324066 -0.9815146 -0.1768186 0.07324067 -0.9815146 0.1768186 2.61879e-7 -0.9815729 -0.1910882 2.62471e-7 -0.8355425 -0.5494258 2.62471e-7 -0.8355425 -0.5494258 3.49961e-7 -0.8355425 -0.5494257 3.49171e-7 -0.9815729 -0.1910881 3.49171e-7 -0.9815729 -0.1910882 0.07324067 -0.9815146 -0.1768186 0.07102474 -0.982626 -0.1714689 -0.07102475 -0.982626 0.1714689 -0.07102475 -0.982626 0.1714689 -0.07324066 -0.9815146 0.1768186 0.07324067 -0.9815146 -0.1768186 2.61879e-7 -0.9815729 0.1910882 2.62471e-7 -0.8355425 0.5494258 2.62471e-7 -0.8355425 0.5494258 2.62471e-7 -0.8355425 0.5494258 2.61879e-7 -0.9815729 0.1910881 2.61879e-7 -0.9815729 0.1910882 2.61879e-7 -0.9815729 -0.1910881 2.62471e-7 -0.8355425 -0.5494259 2.62471e-7 -0.8355424 -0.549426 2.62471e-7 -0.8355424 -0.549426 2.61879e-7 -0.9815729 -0.1910882 2.61879e-7 -0.9815729 -0.1910881 -0.07324067 -0.9815146 -0.1768186 -0.07102476 -0.982626 -0.171469 0.07102476 -0.982626 0.1714689 0.07102476 -0.982626 0.1714689 0.07324066 -0.9815146 0.1768186 -0.07324067 -0.9815146 -0.1768186 2.61878e-7 -0.9815729 0.1910881 2.6247e-7 -0.8355425 0.5494259 2.6247e-7 -0.8355424 0.549426 3.49961e-7 -0.8355424 0.549426 3.49172e-7 -0.9815729 0.1910882 3.49172e-7 -0.9815729 0.191088 -0.07324067 -0.9815146 0.1768186 -0.07102475 -0.982626 0.1714689 0.07102476 -0.982626 -0.171469 0.07102476 -0.982626 -0.171469 0.07324066 -0.9815146 -0.1768186 -0.07324067 -0.9815146 0.1768186 -0.07324067 0.1768186 -0.9815146 -0.07102472 0.1714689 -0.982626 0.07102471 -0.1714688 -0.982626 0.07102471 -0.1714688 -0.982626 0.07324064 -0.1768186 -0.9815146 -0.07324067 0.1768186 -0.9815146 -0.07324064 -0.1768186 -0.9815146 -0.07102471 -0.1714688 -0.982626 0.07102473 0.1714689 -0.982626 0.07102473 0.1714689 -0.982626 0.07324067 0.1768186 -0.9815146 -0.07324064 -0.1768186 -0.9815146 -0.1768186 -0.07324067 -0.9815146 -0.1714689 -0.07102472 -0.982626 0.1714688 0.07102471 -0.982626 0.1714688 0.07102471 -0.982626 0.1768186 0.07324064 -0.9815146 -0.1768186 -0.07324067 -0.9815146 0.07324067 -0.1768186 -0.9815146 0.07102472 -0.1714689 -0.982626 -0.07102471 0.1714688 -0.982626 -0.07102471 0.1714688 -0.982626 -0.07324064 0.1768186 -0.9815146 0.07324067 -0.1768186 -0.9815146 0.4082482 0.4082482 -0.8164966 0.1316087 0.1316087 -0.9825265 0.1316087 0.1316087 -0.9825265 0.4082486 -0.8164966 0.408248 0.131609 -0.9825265 0.1316083 0.1316091 -0.9825265 0.1316085 0.2340486 -0.8353806 0.4973535 0.3505436 -0.5676572 0.7449057 0.2558117 -0.7994118 0.5436002 -0.408248 -0.8164966 0.4082486 -0.1316083 -0.9825265 0.131609 -0.1316085 -0.9825265 0.1316091 -0.4082482 0.4082482 -0.8164966 -0.1316087 0.1316087 -0.9825265 -0.1316087 0.1316087 -0.9825265 -0.3505436 -0.5676572 0.7449057 -0.2340486 -0.8353806 0.4973535 -0.2558117 -0.7994118 0.5436002 0.4082482 -0.4082482 -0.8164966 0.1316087 -0.1316087 -0.9825265 0.1316087 -0.1316087 -0.9825265 -0.2558122 -0.7994119 -0.5435998 -0.3505441 -0.5676572 -0.7449055 -0.2340491 -0.8353806 -0.4973533 -0.1316087 -0.9825265 -0.1316087 -0.1316087 -0.9825265 -0.1316087 -0.4082483 -0.8164966 -0.4082483 0.2558113 -0.7994117 -0.5436005 0.2340481 -0.8353806 -0.4973536 0.3505432 -0.5676572 -0.7449059 -0.4082482 -0.4082482 -0.8164966 -0.1316087 -0.1316087 -0.9825265 -0.1316087 -0.1316087 -0.9825265 0.1316087 -0.9825265 -0.1316087 0.1316087 -0.9825265 -0.1316087 0.4082483 -0.8164966 -0.4082483 -0.2558119 -0.5435998 -0.799412 -0.2340489 -0.4973532 -0.8353807 -0.3505439 -0.7449055 -0.5676573 -0.5435997 -0.255812 -0.799412 -0.7449054 -0.350544 -0.5676573 -0.4973532 -0.234049 -0.8353807 -0.1316087 -0.1316087 -0.9825265 -0.1316087 -0.1316087 -0.9825265 -0.4082482 -0.4082482 -0.8164967 0.5435997 -0.255812 -0.799412 0.4973532 -0.234049 -0.8353807 0.7449054 -0.350544 -0.5676573 0.2558119 -0.5435998 -0.799412 0.3505439 -0.7449055 -0.5676573 0.2340489 -0.4973532 -0.8353807 0.1316087 -0.1316087 -0.9825265 0.1316087 -0.1316087 -0.9825265 0.4082482 -0.4082482 -0.8164967 -0.5435998 0.2558119 -0.799412 -0.4973532 0.2340489 -0.8353807 -0.7449055 0.3505439 -0.5676573 -0.255812 0.5435997 -0.799412 -0.350544 0.7449054 -0.5676573 -0.234049 0.4973532 -0.8353807 -0.1316087 0.1316087 -0.9825265 -0.1316087 0.1316087 -0.9825265 -0.4082482 0.4082482 -0.8164967 0.255812 0.5435997 -0.799412 0.234049 0.4973532 -0.8353807 0.350544 0.7449054 -0.5676573 0.5435998 0.2558119 -0.799412 0.7449055 0.3505439 -0.5676573 0.4973532 0.2340489 -0.8353807 0.1316087 0.1316087 -0.9825265 0.1316087 0.1316087 -0.9825265 0.4082482 0.4082482 -0.8164967 0.5494258 0 -0.8355425 0.1910881 0 -0.9815729 0.1910881 0 -0.9815729 0.1910881 0 -0.9815729 0.5494258 0 -0.8355425 0.5494258 0 -0.8355425 0 -0.5494258 -0.8355425 0 -0.1910881 -0.9815729 0 -0.1910881 -0.9815729 0 -0.1910881 -0.9815729 0 -0.5494258 -0.8355425 0 -0.5494258 -0.8355425 -0.5494258 0 -0.8355425 -0.1910881 0 -0.9815729 -0.1910881 0 -0.9815729 -0.1910881 0 -0.9815729 -0.5494258 0 -0.8355425 -0.5494258 0 -0.8355425 0 0.5494258 -0.8355425 0 0.1910881 -0.9815729 0 0.1910881 -0.9815729 0 0.1910881 -0.9815729 0 0.5494258 -0.8355425 0 0.5494258 -0.8355425 0 -0.5494256 -0.8355426 0 -0.1910881 -0.9815729 0 -0.1910881 -0.9815729 0 -0.1910881 -0.9815729 0 -0.5494256 -0.8355427 0 -0.5494256 -0.8355426 0.5494256 0 -0.8355426 0.1910881 0 -0.9815729 0.1910881 0 -0.9815729 0.1910881 0 -0.9815729 0.5494256 0 -0.8355427 0.5494256 0 -0.8355426 0 0.5494256 -0.8355426 0 0.1910881 -0.9815729 0 0.1910881 -0.9815729 0 0.1910881 -0.9815729 0 0.5494256 -0.8355427 0 0.5494256 -0.8355426 -0.5494256 0 -0.8355426 -0.1910881 0 -0.9815729 -0.191088 0 -0.9815729 -0.191088 0 -0.9815729 -0.5494256 0 -0.8355427 -0.5494256 0 -0.8355426 -0.1714689 0.07102473 -0.982626 -0.1768186 0.07324067 -0.9815146 0.1768186 -0.07324064 -0.9815146 0.1768186 -0.07324064 -0.9815146 0.1714688 -0.07102472 -0.982626 -0.1714689 0.07102473 -0.982626 -0.1714688 -0.07102472 -0.982626 -0.1768185 -0.07324064 -0.9815147 0.1768186 0.07324067 -0.9815146 0.1768186 0.07324067 -0.9815146 0.1714689 0.07102472 -0.982626 -0.1714688 -0.07102472 -0.982626 -0.07102473 -0.1714689 -0.982626 -0.07324067 -0.1768186 -0.9815146 0.07324064 0.1768186 -0.9815146 0.07324064 0.1768186 -0.9815146 0.07102472 0.1714688 -0.982626 -0.07102473 -0.1714689 -0.982626 0.1714689 -0.07102473 -0.982626 0.1768186 -0.07324067 -0.9815146 -0.1768186 0.07324064 -0.9815146 -0.1768186 0.07324064 -0.9815146 -0.1714688 0.07102471 -0.982626 0.1714689 -0.07102473 -0.982626 + + + + + + + + + + + + + + + + + +

46 0 92 0 55 1 93 1 3 2 94 2 3 2 95 3 24 3 96 4 46 0 97 5 62 4 98 6 67 5 99 7 76 6 100 8 76 6 101 9 71 7 102 10 62 4 103 11 21 8 104 12 51 9 105 13 15 10 106 14 15 10 107 15 4 11 108 16 21 8 109 17 48 12 110 18 60 13 111 19 18 14 112 20 18 14 113 21 5 15 114 22 48 12 115 23 57 16 116 24 52 17 117 25 74 18 118 26 74 18 119 27 7 19 120 28 57 16 121 29 27 20 122 30 43 21 123 31 65 22 124 32 65 22 125 33 6 23 126 34 27 20 127 35 45 24 128 36 44 25 129 37 26 26 130 38 26 26 131 39 56 27 132 40 45 24 133 41 54 28 134 42 53 29 135 43 12 30 136 44 12 30 137 45 28 31 138 46 54 28 139 47 30 32 140 48 61 33 141 49 9 34 142 50 9 34 143 51 1 35 144 52 30 32 145 53 23 36 146 54 10 37 147 55 20 38 148 56 20 38 149 57 47 39 150 58 23 36 151 59 13 40 152 60 31 41 153 61 70 42 154 62 70 42 155 63 68 43 156 64 13 40 157 65 14 44 158 66 34 45 159 67 79 46 160 68 79 46 161 69 77 47 162 70 14 44 163 71 17 48 164 72 40 49 165 73 73 50 166 74 73 50 167 75 72 51 168 76 17 48 169 77 16 52 170 78 37 53 171 79 64 54 172 80 64 54 173 81 63 55 174 82 16 52 175 83 50 56 176 84 49 57 177 85 36 58 178 86 36 58 179 87 69 59 180 88 50 56 181 89 33 60 182 90 66 61 183 91 8 62 184 92 8 62 185 93 0 63 186 94 33 60 187 95 59 64 188 96 58 65 189 97 42 66 190 98 42 66 191 99 78 67 192 100 59 64 193 101 11 68 194 102 2 69 195 103 39 70 196 104 39 70 197 105 75 71 198 106 11 68 199 107 0 63 200 108 19 72 201 109 20 38 202 110 20 38 203 111 21 8 204 112 0 63 205 113 1 35 206 114 22 73 207 115 23 36 208 116 23 36 209 117 24 3 210 118 1 35 211 119 2 69 212 120 25 74 213 121 26 26 214 122 26 26 215 123 27 20 216 124 2 69 217 125 30 32 218 126 28 31 219 127 29 75 220 128 28 31 221 129 30 32 222 130 3 2 223 131 33 60 224 132 31 41 225 133 32 76 226 134 31 41 227 135 33 60 228 136 4 11 229 137 36 58 230 138 34 45 231 139 35 77 232 140 34 45 233 141 36 58 234 142 5 15 235 143 39 70 236 144 37 53 237 145 38 78 238 146 37 53 239 147 39 70 240 148 6 23 241 149 42 66 242 150 40 49 243 151 41 79 244 152 40 49 245 153 42 66 246 154 7 19 247 155 8 62 248 156 43 21 249 157 44 25 250 158 44 25 251 159 19 72 252 160 8 62 253 161 47 39 254 162 45 24 255 163 46 0 256 164 45 24 257 165 47 39 258 166 19 72 259 167 9 34 260 168 48 12 261 169 49 57 262 170 49 57 263 171 22 73 264 172 9 34 265 173 10 37 266 174 22 73 267 175 50 56 268 176 50 56 269 177 51 9 270 178 10 37 271 179 11 68 272 180 52 17 273 181 53 29 274 182 53 29 275 183 25 74 276 184 11 68 277 185 56 27 278 186 54 28 279 187 55 1 280 188 54 28 281 189 56 27 282 190 25 74 283 191 12 30 284 192 57 16 285 193 58 65 286 194 58 65 287 195 29 75 288 196 12 30 289 197 61 33 290 198 59 64 291 199 60 13 292 200 59 64 293 201 61 33 294 202 29 75 295 203 13 40 296 204 62 4 297 205 63 55 298 206 63 55 299 207 32 76 300 208 13 40 301 209 66 61 302 210 64 54 303 211 65 22 304 212 64 54 305 213 66 61 306 214 32 76 307 215 14 44 308 216 67 5 309 217 68 43 310 218 68 43 311 219 35 77 312 220 14 44 313 221 70 42 314 222 69 59 315 223 35 77 316 224 69 59 317 225 70 42 318 226 15 10 319 227 16 52 320 228 71 7 321 229 72 51 322 230 72 51 323 231 38 78 324 232 16 52 325 233 75 71 326 234 73 50 327 235 74 18 328 236 73 50 329 237 75 71 330 238 38 78 331 239 17 48 332 240 76 6 333 241 77 47 334 242 77 47 335 243 41 79 336 244 17 48 337 245 79 46 338 246 78 67 339 247 41 79 340 248 78 67 341 249 79 46 342 250 18 14 343 251 46 0 344 252 45 24 345 253 56 27 346 254 56 27 347 255 55 1 348 256 46 0 349 257 55 1 350 258 54 28 351 259 28 31 352 260 28 31 353 261 3 2 354 262 55 1 67 263 3 2 355 264 30 32 356 265 1 35 357 266 1 35 358 267 24 3 359 268 3 2 15 269 24 3 360 270 23 36 361 271 47 39 362 272 47 39 363 273 46 0 58 274 24 3 36 275 62 4 364 276 13 40 365 277 68 43 366 278 68 43 367 279 67 5 368 280 62 4 369 281 67 5 370 282 14 44 371 283 77 47 372 284 77 47 373 285 76 6 374 286 67 5 79 287 76 6 375 288 17 48 376 289 72 51 377 290 72 51 378 291 71 7 379 292 76 6 88 293 71 7 380 294 16 52 381 295 63 55 382 296 63 55 383 297 62 4 74 298 71 7 83 299 51 9 384 300 50 56 385 301 69 59 386 302 69 59 387 303 15 10 388 304 51 9 389 305 4 11 390 306 33 60 391 307 0 63 392 308 0 63 393 309 21 8 394 310 4 11 395 311 60 13 396 312 59 64 397 313 78 67 398 314 78 67 399 315 18 14 400 316 60 13 401 317 52 17 402 318 11 68 403 319 75 71 404 320 75 71 405 321 74 18 406 322 52 17 407 323 19 72 408 324 0 63 12 325 8 62 409 326 19 72 410 327 44 25 411 328 45 24 57 329 47 39 59 330 20 38 412 331 19 72 31 332 22 73 413 333 1 35 13 334 9 34 414 335 22 73 415 336 49 57 416 337 50 56 62 338 10 37 417 339 23 36 35 340 22 73 34 341 25 74 418 342 2 69 419 343 11 68 23 344 25 74 420 345 53 29 421 346 54 28 66 347 56 27 68 348 26 26 422 349 25 74 37 350 29 75 423 351 28 31 40 352 12 30 424 353 29 75 425 354 58 65 426 355 59 64 71 356 61 33 427 357 30 32 42 358 29 75 41 359 32 76 428 360 31 41 429 361 13 40 25 362 32 76 430 363 63 55 75 364 64 54 431 365 66 61 432 366 33 60 45 367 32 76 44 368 35 77 433 369 34 45 434 370 14 44 26 371 35 77 435 372 68 43 80 373 70 42 436 374 69 59 81 375 36 58 437 376 35 77 47 377 38 78 438 378 37 53 439 379 16 52 28 380 38 78 440 381 72 51 84 382 73 50 441 383 75 71 87 384 39 70 442 385 38 78 50 386 41 79 443 387 40 49 444 388 17 48 29 389 41 79 445 390 77 47 89 391 79 46 446 392 78 67 90 393 42 66 447 394 41 79 53 395 44 25 448 396 43 21 449 397 27 20 450 398 27 20 451 399 26 26 38 400 44 25 56 401 53 29 452 402 52 17 64 403 57 16 453 404 57 16 454 405 12 30 24 406 53 29 65 407 61 33 455 408 60 13 72 409 48 12 456 410 48 12 457 411 9 34 21 412 61 33 73 413 10 37 458 414 51 9 63 415 21 8 459 416 21 8 33 417 20 38 32 418 10 37 22 419 31 41 460 420 4 11 16 421 15 10 461 422 15 10 27 423 70 42 82 424 31 41 43 425 34 45 462 426 5 15 463 427 18 14 464 428 18 14 30 429 79 46 91 430 34 45 46 431 40 49 465 432 7 19 466 433 74 18 467 434 74 18 86 435 73 50 85 436 40 49 52 437 37 53 468 438 6 23 469 439 65 22 470 440 65 22 471 441 64 54 76 442 37 53 49 443 49 57 472 444 48 12 60 445 5 15 473 446 5 15 17 447 36 58 48 448 49 57 61 449 66 61 474 450 65 22 77 451 43 21 475 452 43 21 55 453 8 62 20 454 66 61 78 455 58 65 476 456 57 16 69 457 7 19 477 458 7 19 19 459 42 66 54 460 58 65 70 461 2 69 478 462 27 20 39 463 6 23 479 464 6 23 18 465 39 70 51 466 2 69 14 467

+
+
+
+
+ + + + + 0 0 0 + + + + + + + + + + + + + + + + + + + + 1 + 1 + 1 + 1 + + + + + + + + +
\ No newline at end of file diff --git a/Templates/Empty/game/art/environment/Fog_RCube.cs b/Templates/Empty/game/art/environment/Fog_RCube.cs new file mode 100644 index 0000000000..59558647d3 --- /dev/null +++ b/Templates/Empty/game/art/environment/Fog_RCube.cs @@ -0,0 +1,8 @@ + +singleton TSShapeConstructor(Fog_RCubeDAE) +{ + baseShape = "./Fog_RCube.DAE"; + lodType = "TrailingNumber"; + neverImport = "env*"; + loadLights = "0"; +}; diff --git a/Templates/Empty/game/art/environment/Fog_RCube.dts b/Templates/Empty/game/art/environment/Fog_RCube.dts new file mode 100644 index 0000000000..a72b0a79a0 Binary files /dev/null and b/Templates/Empty/game/art/environment/Fog_RCube.dts differ diff --git a/Templates/Empty/game/art/environment/Fog_Sphere.DAE b/Templates/Empty/game/art/environment/Fog_Sphere.DAE new file mode 100644 index 0000000000..b91deada4e --- /dev/null +++ b/Templates/Empty/game/art/environment/Fog_Sphere.DAE @@ -0,0 +1,177 @@ + + + + + Richard + OpenCOLLADA for 3ds Max; Version: 1.4.1; Revision: exported; Platform: x64; Configuration: Release_Max2011_static + file:///G:/Documents%20and%20Settings/Richard/Mijn%20documenten/3dsmax/scenes/FogVolumes.max + + 2014-08-16T10:30:12 + 2014-08-16T10:30:12 + + Z_UP + + + + + + + + 0 0 0 1 + + + 0.588 0.588 0.588 1 + + + 0.588 0.588 0.588 1 + + + 0.9 0.9 0.9 1 + + + 0 + + + 0 0 0 1 + + + 1 1 1 1 + + + 1 + + + + + + + + 0 + 0 + 0 + 1.5 + 0 + 3 + 1 + 0 + + + 1 + 1 + 0 + 0.1 + 0 + + + + + + + + + + + + + + + 0 0 1 -2.18557e-8 0.5 0.8660254 -0.25 0.4330127 0.8660254 -0.4330127 0.25 0.8660254 -0.5 7.54979e-8 0.8660254 -0.4330128 -0.2499999 0.8660254 -0.2500001 -0.4330126 0.8660254 -2.32456e-7 -0.5 0.8660254 0.2499997 -0.4330128 0.8660254 0.4330125 -0.2500003 0.8660254 0.5 -3.89414e-7 0.8660254 0.4330129 0.2499996 0.8660254 0.2500004 0.4330125 0.8660254 -3.78552e-8 0.8660254 0.5 -0.4330128 0.75 0.5 -0.75 0.4330128 0.5 -0.8660254 1.30766e-7 0.5 -0.7500001 -0.4330125 0.5 -0.433013 -0.7499999 0.5 -4.02626e-7 -0.8660254 0.5 0.4330123 -0.7500003 0.5 0.7499998 -0.4330132 0.5 0.8660254 -6.74485e-7 0.5 0.7500004 0.433012 0.5 0.4330134 0.7499996 0.5 -4.37114e-8 1 -4.37114e-8 -0.5000001 0.8660254 -4.37114e-8 -0.8660254 0.5000001 -4.37114e-8 -1 1.50996e-7 -4.37114e-8 -0.8660255 -0.4999998 -4.37114e-8 -0.5000003 -0.8660252 -4.37114e-8 -4.64912e-7 -1 -4.37114e-8 0.4999995 -0.8660257 -4.37114e-8 0.8660251 -0.5000006 -4.37114e-8 1 -7.78829e-7 -4.37114e-8 0.8660259 0.4999992 -4.37114e-8 0.5000008 0.8660249 -4.37114e-8 -3.78552e-8 0.8660254 -0.5000001 -0.4330128 0.75 -0.5000001 -0.75 0.4330128 -0.5000001 -0.8660254 1.30766e-7 -0.5000001 -0.7500001 -0.4330125 -0.5000001 -0.433013 -0.7499998 -0.5000001 -4.02626e-7 -0.8660254 -0.5000001 0.4330122 -0.7500002 -0.5000001 0.7499997 -0.4330132 -0.5000001 0.8660254 -6.74485e-7 -0.5000001 0.7500004 0.433012 -0.5000001 0.4330134 0.7499996 -0.5000001 -2.18557e-8 0.5000001 -0.8660254 -0.2500001 0.4330128 -0.8660254 -0.4330128 0.2500001 -0.8660254 -0.5000001 7.54979e-8 -0.8660254 -0.4330128 -0.2499999 -0.8660254 -0.2500002 -0.4330127 -0.8660254 -2.32456e-7 -0.5000001 -0.8660254 0.2499998 -0.4330129 -0.8660254 0.4330126 -0.2500003 -0.8660254 0.5000001 -3.89414e-7 -0.8660254 0.433013 0.2499996 -0.8660254 0.2500004 0.4330125 -0.8660254 0 0 -1 + + + + + + + + + + -1.91248e-9 7.64992e-9 1 1.11601e-7 0.5308999 0.8474345 -0.2654499 0.4597727 0.8474346 -0.4597727 0.2654499 0.8474346 -0.5308999 5.07276e-8 0.8474346 -0.4597728 -0.2654498 0.8474346 -0.2654501 -0.4597726 0.8474346 -2.51102e-7 -0.5308999 0.8474345 0.2654496 -0.4597729 0.8474346 0.4597726 -0.2654503 0.8474346 0.5308999 -3.95676e-7 0.8474346 0.459773 0.2654495 0.8474345 0.2654503 0.4597726 0.8474345 -0.4379916 0.7586237 0.4823417 2.04038e-7 0.8759832 0.4823416 -0.7586237 0.4379916 0.4823416 -0.8759832 1.25562e-7 0.4823417 -0.7586238 -0.4379915 0.4823417 -0.4379919 -0.7586235 0.4823416 -4.21155e-7 -0.8759832 0.4823416 0.4379911 -0.758624 0.4823416 0.7586234 -0.4379921 0.4823416 0.8759832 -6.69662e-7 0.4823416 0.758624 0.4379909 0.4823417 0.4379921 0.7586234 0.4823416 -0.5 0.8660254 -1.85445e-8 2.27833e-7 1 -4.23875e-8 -0.8660253 0.5000001 -2.64922e-8 -1 1.0332e-7 -1.85445e-8 -0.8660255 -0.4999998 -5.03351e-8 -0.5000003 -0.8660253 -4.76859e-8 -4.76859e-7 -1 -5.56336e-8 0.4999995 -0.8660257 -5.82828e-8 0.8660251 -0.5000006 -6.62305e-8 1 -7.68273e-7 -6.88797e-8 0.8660259 0.4999992 -3.44398e-8 0.5000007 0.8660251 -2.64922e-8 -0.4379916 0.7586237 -0.4823417 2.24965e-7 0.8759832 -0.4823416 -0.7586237 0.4379916 -0.4823416 -0.8759832 6.93205e-8 -0.4823416 -0.7586238 -0.4379914 -0.4823416 -0.4379919 -0.7586234 -0.4823417 -4.29002e-7 -0.8759832 -0.4823417 0.4379911 -0.758624 -0.4823416 0.7586234 -0.4379921 -0.4823416 0.8759832 -6.72278e-7 -0.4823416 0.758624 0.4379909 -0.4823417 0.437992 0.7586234 -0.4823416 -0.2654499 0.4597728 -0.8474345 1.23015e-7 0.5308998 -0.8474345 -0.4597727 0.2654499 -0.8474346 -0.5308998 5.70686e-8 -0.8474346 -0.4597729 -0.2654498 -0.8474345 -0.2654501 -0.4597727 -0.8474345 -2.47297e-7 -0.5308999 -0.8474345 0.2654497 -0.4597729 -0.8474345 0.4597726 -0.2654502 -0.8474345 0.5308999 -4.02017e-7 -0.8474345 0.459773 0.2654495 -0.8474345 0.2654502 0.4597726 -0.8474345 -4.46245e-9 1.01999e-8 -1 + + + + + + + + + + 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0.5 1 0.9990009 0.9999999 0.8333333 0.9990009 0.08333331 0.8333333 0.999001 0.1666666 0.8333333 0.9990009 0.2499999 0.8333333 0.9990009 0.3333333 0.8333333 0.999001 0.4166666 0.8333333 0.9990009 0.4999999 0.8333333 0.9990009 0.5833332 0.8333333 0.999001 0.6666665 0.8333333 0.999001 0.7499998 0.8333333 0.9990009 0.8333331 0.8333333 0.999001 0.9166664 0.8333333 0.9990009 0.9999999 0.6666667 0.999001 0.08333331 0.6666667 0.9990009 0.1666666 0.6666667 0.999001 0.2499999 0.6666667 0.999001 0.3333333 0.6666667 0.9990009 0.4166666 0.6666667 0.999001 0.4999999 0.6666667 0.999001 0.5833332 0.6666667 0.9990009 0.6666665 0.6666667 0.999001 0.7499998 0.6666667 0.999001 0.8333331 0.6666667 0.9990009 0.9166664 0.6666667 0.999001 0.9999999 0.5 0.9990009 0.08333331 0.5 0.999001 0.1666666 0.5 0.9990009 0.2499999 0.5 0.9990009 0.3333333 0.5 0.999001 0.4166666 0.5 0.9990009 0.4999999 0.5 0.9990009 0.5833332 0.5 0.999001 0.6666665 0.5 0.999001 0.7499998 0.5 0.9990009 0.8333331 0.5 0.999001 0.9166664 0.5 0.9990009 0.9999999 0.3333333 0.999001 0.08333331 0.3333333 0.9990009 0.1666666 0.3333333 0.999001 0.2499999 0.3333333 0.999001 0.3333333 0.3333333 0.9990008 0.4166666 0.3333333 0.999001 0.4999999 0.3333333 0.999001 0.5833332 0.3333333 0.9990009 0.6666665 0.3333333 0.999001 0.7499998 0.3333333 0.999001 0.8333331 0.3333333 0.9990008 0.9166664 0.3333333 0.999001 0.9999999 0.1666667 0.999001 0.08333331 0.1666667 0.999001 0.1666666 0.1666667 0.999001 0.2499999 0.1666667 0.999001 0.3333333 0.1666667 0.999001 0.4166666 0.1666667 0.999001 0.4999999 0.1666667 0.999001 0.5833332 0.1666667 0.999001 0.6666665 0.1666667 0.999001 0.7499998 0.1666667 0.999001 0.8333331 0.1666667 0.999001 0.9166664 0.1666667 0.999001 0.5 0 0.9990009 1.083333 0.8333333 0.999001 1.5 1 0.9990009 1.083333 0.6666667 0.9990009 1.083333 0.8333333 0.999001 1.083333 0.5 0.999001 1.083333 0.6666667 0.9990009 1.083333 0.3333333 0.9990009 1.083333 0.5 0.999001 1.083333 0.1666667 0.999001 1.083333 0.3333333 0.9990009 -5.96046e-8 0.1666667 0.999001 -0.5 0 0.9990009 + + + + + + + + + + -0.9659258 -0.2588191 1.32631e-10 -0.9659258 -0.03717376 0.0232887 -0.9294511 -0.3219951 -0.1164434 0.08781165 0.02352896 -1.20566e-11 -0.7435815 -0.6439308 0.1164434 -0.4507694 -0.8551033 0.02328868 0.03717382 -0.9659258 0.02328868 0.5151563 -0.8179295 0.02328868 0.8551031 -0.4507697 0.02328869 0.9659259 0.03717347 0.02328868 0.8179297 0.515156 0.02328869 0.4507699 0.855103 0.0232887 -0.03717319 0.9659259 0.02328867 -0.5151558 0.8179298 0.0232887 -0.8551029 0.4507699 0.02328869 -0.8666239 -0.4308151 -0.109357 -0.9294511 -0.3219951 -0.1164434 -0.9659258 2.25535e-7 -9.944e-10 -0.482963 -0.8365163 8.33416e-9 -0.8064087 -0.5351108 0.1093571 -1.35447e-7 -0.9659258 5.46104e-9 0.4829628 -0.8365164 -2.56043e-8 0.8365161 -0.4829632 2.97705e-9 0.9659258 -4.6326e-7 2.06542e-9 0.8365166 0.4829624 2.39772e-8 0.4829635 0.836516 -1.07789e-8 7.36888e-7 0.9659258 2.78338e-9 -0.4829622 0.8365167 2.36846e-9 -0.8365159 0.4829635 2.61648e-9 -0.8365163 -0.4829629 4.79968e-9 -0.8666239 -0.4308151 -0.109357 -0.9659258 2.2007e-7 9.43609e-16 -0.482963 -0.8365163 -1.59371e-15 -0.8365163 -0.4829629 -4.79968e-9 -9.9799e-8 -0.9659258 6.64804e-8 0.4829627 -0.8365164 -6.64803e-8 0.8365162 -0.4829632 2.09044e-15 0.9659258 -4.60611e-7 0 0.8365166 0.4829624 -6.54432e-16 0.4829635 0.836516 7.19921e-16 7.42095e-7 0.9659259 6.64804e-8 -0.4829622 0.8365167 -6.64803e-8 -0.8365159 0.4829635 -1.1452e-15 -0.8666239 -0.4308151 0.1093571 -0.8365163 -0.4829629 4.79968e-9 -0.9659258 2.44358e-7 -6.72837e-9 -0.4829629 -0.8365163 1.24423e-8 -0.8064087 -0.5351108 -0.109357 -1.42438e-7 -0.9659259 1.19863e-7 0.4829627 -0.8365164 -7.8617e-10 0.8365161 -0.4829633 -1.57024e-7 0.9659258 -4.71016e-7 -3.6945e-9 0.8365166 0.4829624 -1.42932e-8 0.4829635 0.836516 -9.32326e-10 8.03301e-7 0.9659259 1.12591e-7 -0.4829622 0.8365167 -3.94374e-9 -0.836516 0.4829634 -8.54757e-8 -0.9294512 -0.321995 0.1164434 -0.8666239 -0.4308151 0.1093571 -0.9659257 0.09293515 0.05822176 -0.5151565 -0.8179293 0.0232887 -0.805538 -0.5366189 -0.03881449 -0.03717404 -0.9659258 0.02328868 0.4507691 -0.8551034 0.02328871 0.8179292 -0.5151567 0.02328864 0.9659258 -0.03717439 0.02328869 0.8551036 0.4507688 0.02328869 0.515157 0.817929 0.0232887 0.03717467 0.9659258 0.02328869 -0.4507685 0.8551037 0.02328873 -0.817929 0.515157 0.02328869 -0.9659258 -0.258819 1.67047e-9 -0.9659258 -0.1858696 -0.1164435 0.08781165 0.02352896 -1.51863e-10 + + + + + + + + + + -0.2588191 0.9659258 -7.88424e-9 -0.04536698 0.846562 -0.5303533 -0.2214326 0.8263976 -0.5177206 0.258818 -0.9659261 7.88424e-9 -0.604965 0.604965 -0.5177206 -0.7558278 0.383992 -0.5303532 -0.846562 -0.04536702 -0.5303532 -0.7104608 -0.4625699 -0.5303532 -0.3839922 -0.7558277 -0.5303532 0.04536671 -0.846562 -0.5303533 0.4625697 -0.710461 -0.5303532 0.7558275 -0.3839925 -0.5303532 0.8465621 0.04536646 -0.5303532 0.710461 0.4625695 -0.5303533 0.3839924 0.7558275 -0.5303533 -0.128177 0.478363 -0.8687575 -0.2214326 0.8263976 -0.5177206 1.13524e-7 0.4823416 -0.8759832 -0.4177201 0.2411708 -0.8759832 -0.350186 0.350186 -0.8687575 -0.4823417 6.26838e-8 -0.8759832 -0.4177202 -0.2411707 -0.8759832 -0.241171 -0.41772 -0.8759832 -2.29459e-7 -0.4823416 -0.8759832 0.2411706 -0.4177203 -0.8759832 0.4177199 -0.2411711 -0.8759832 0.4823416 -3.65446e-7 -0.8759832 0.4177204 0.2411705 -0.8759832 0.2411711 0.4177199 -0.8759832 4.96899e-9 -1.85445e-8 -1 -0.128177 0.478363 -0.8687575 -1.06342e-14 -4.23875e-8 -1 2.29429e-8 -1.32461e-8 -1 1.35755e-8 -1.35755e-8 -1 1.85445e-8 -6.88255e-8 -1 9.17878e-9 8.47722e-8 -1 2.3843e-8 4.12972e-8 -1 2.63194e-14 5.56336e-8 -1 -2.91414e-8 5.04744e-8 -1 -5.73572e-8 3.31153e-8 -1 -6.88796e-8 6.88256e-8 -1 4.58691e-9 -7.68246e-8 -1 -1.32461e-8 -2.29429e-8 -1 0.128177 -0.478363 -0.8687574 4.96899e-9 -1.85445e-8 -1 -1.1592e-7 -0.4823416 -0.8759832 0.4177201 -0.2411708 -0.8759832 0.350186 -0.350186 -0.8687575 0.4823416 -1.7983e-7 -0.8759832 0.4177202 0.2411707 -0.8759832 0.2411709 0.4177201 -0.8759832 2.31855e-7 0.4823417 -0.8759832 -0.2411706 0.4177203 -0.8759832 -0.4177199 0.2411711 -0.8759832 -0.4823416 5.03241e-7 -0.8759832 -0.4177204 -0.2411705 -0.8759832 -0.241171 -0.41772 -0.8759832 0.2214325 -0.8263976 -0.5177206 0.128177 -0.478363 -0.8687574 -0.1128103 -0.842025 -0.5275109 0.7104607 -0.4625701 -0.5303532 0.4878711 -0.6940696 -0.5293856 0.846562 -0.04536721 -0.5303532 0.7558279 0.3839917 -0.5303533 0.4625703 0.7104605 -0.5303533 0.04536752 0.846562 -0.5303533 -0.3839915 0.755828 -0.5303533 -0.7104603 0.4625706 -0.5303532 -0.846562 0.04536776 -0.5303533 -0.7558282 -0.3839912 -0.5303532 -0.4625705 -0.7104603 -0.5303533 0.258819 -0.9659258 -1.10073e-8 0.2214326 -0.8263976 -0.5177206 -0.258818 0.9659261 1.10073e-8 + + + + + + + + + + + + + + + + + +

0 0 75 0 1 1 13 1 2 2 74 2 0 0 12 3 2 2 14 4 3 3 15 5 0 0 12 3 3 3 15 5 4 4 16 6 0 0 12 3 4 4 16 6 5 5 17 7 0 0 12 3 5 5 17 7 6 6 18 8 0 0 12 3 6 6 18 8 7 7 19 9 0 0 12 3 7 7 19 9 8 8 20 10 0 0 12 3 8 8 20 10 9 9 21 11 0 0 12 3 9 9 21 11 10 10 22 12 0 0 12 3 10 10 22 12 11 11 23 13 0 0 12 3 11 11 23 13 12 12 24 14 0 0 12 3 12 12 24 14 1 1 13 1 14 13 76 15 2 2 77 16 1 1 13 1 1 1 13 1 13 14 25 17 14 13 76 15 15 15 27 18 3 3 15 5 2 2 14 4 2 2 14 4 14 13 26 19 15 15 27 18 16 16 28 20 4 4 16 6 3 3 15 5 3 3 15 5 15 15 27 18 16 16 28 20 17 17 29 21 5 5 17 7 4 4 16 6 4 4 16 6 16 16 28 20 17 17 29 21 18 18 30 22 6 6 18 8 5 5 17 7 5 5 17 7 17 17 29 21 18 18 30 22 19 19 31 23 7 7 19 9 6 6 18 8 6 6 18 8 18 18 30 22 19 19 31 23 20 20 32 24 8 8 20 10 7 7 19 9 7 7 19 9 19 19 31 23 20 20 32 24 21 21 33 25 9 9 21 11 8 8 20 10 8 8 20 10 20 20 32 24 21 21 33 25 22 22 34 26 10 10 22 12 9 9 21 11 9 9 21 11 21 21 33 25 22 22 34 26 23 23 35 27 11 11 23 13 10 10 22 12 10 10 22 12 22 22 34 26 23 23 35 27 24 24 36 28 12 12 24 14 11 11 23 13 11 11 23 13 23 23 35 27 24 24 36 28 13 14 25 17 1 1 13 1 12 12 24 14 12 12 24 14 24 24 36 28 13 14 25 17 26 25 78 29 14 13 79 30 13 14 25 17 13 14 25 17 25 26 37 31 26 25 78 29 27 27 39 32 15 15 27 18 14 13 26 19 14 13 26 19 26 25 38 33 27 27 39 32 28 28 40 34 16 16 28 20 15 15 27 18 15 15 27 18 27 27 39 32 28 28 40 34 29 29 41 35 17 17 29 21 16 16 28 20 16 16 28 20 28 28 40 34 29 29 41 35 30 30 42 36 18 18 30 22 17 17 29 21 17 17 29 21 29 29 41 35 30 30 42 36 31 31 43 37 19 19 31 23 18 18 30 22 18 18 30 22 30 30 42 36 31 31 43 37 32 32 44 38 20 20 32 24 19 19 31 23 19 19 31 23 31 31 43 37 32 32 44 38 33 33 45 39 21 21 33 25 20 20 32 24 20 20 32 24 32 32 44 38 33 33 45 39 34 34 46 40 22 22 34 26 21 21 33 25 21 21 33 25 33 33 45 39 34 34 46 40 35 35 47 41 23 23 35 27 22 22 34 26 22 22 34 26 34 34 46 40 35 35 47 41 36 36 48 42 24 24 36 28 23 23 35 27 23 23 35 27 35 35 47 41 36 36 48 42 25 26 37 31 13 14 25 17 24 24 36 28 24 24 36 28 36 36 48 42 25 26 37 31 38 37 80 43 26 25 81 44 25 26 37 31 25 26 37 31 37 38 49 45 38 37 80 43 39 39 51 46 27 27 39 32 26 25 38 33 26 25 38 33 38 37 50 47 39 39 51 46 40 40 52 48 28 28 40 34 27 27 39 32 27 27 39 32 39 39 51 46 40 40 52 48 41 41 53 49 29 29 41 35 28 28 40 34 28 28 40 34 40 40 52 48 41 41 53 49 42 42 54 50 30 30 42 36 29 29 41 35 29 29 41 35 41 41 53 49 42 42 54 50 43 43 55 51 31 31 43 37 30 30 42 36 30 30 42 36 42 42 54 50 43 43 55 51 44 44 56 52 32 32 44 38 31 31 43 37 31 31 43 37 43 43 55 51 44 44 56 52 45 45 57 53 33 33 45 39 32 32 44 38 32 32 44 38 44 44 56 52 45 45 57 53 46 46 58 54 34 34 46 40 33 33 45 39 33 33 45 39 45 45 57 53 46 46 58 54 47 47 59 55 35 35 47 41 34 34 46 40 34 34 46 40 46 46 58 54 47 47 59 55 48 48 60 56 36 36 48 42 35 35 47 41 35 35 47 41 47 47 59 55 48 48 60 56 37 38 49 45 25 26 37 31 36 36 48 42 36 36 48 42 48 48 60 56 37 38 49 45 50 49 82 57 38 37 83 58 37 38 49 45 37 38 49 45 49 50 61 59 50 49 82 57 51 51 63 60 39 39 51 46 38 37 50 47 38 37 50 47 50 49 62 61 51 51 63 60 52 52 64 62 40 40 52 48 39 39 51 46 39 39 51 46 51 51 63 60 52 52 64 62 53 53 65 63 41 41 53 49 40 40 52 48 40 40 52 48 52 52 64 62 53 53 65 63 54 54 66 64 42 42 54 50 41 41 53 49 41 41 53 49 53 53 65 63 54 54 66 64 55 55 67 65 43 43 55 51 42 42 54 50 42 42 54 50 54 54 66 64 55 55 67 65 56 56 68 66 44 44 56 52 43 43 55 51 43 43 55 51 55 55 67 65 56 56 68 66 57 57 69 67 45 45 57 53 44 44 56 52 44 44 56 52 56 56 68 66 57 57 69 67 58 58 70 68 46 46 58 54 45 45 57 53 45 45 57 53 57 57 69 67 58 58 70 68 59 59 71 69 47 47 59 55 46 46 58 54 46 46 58 54 58 58 70 68 59 59 71 69 60 60 72 70 48 48 60 56 47 47 59 55 47 47 59 55 59 59 71 69 60 60 72 70 49 50 61 59 37 38 49 45 48 48 60 56 48 48 60 56 60 60 72 70 49 50 61 59 61 61 85 71 50 49 62 61 49 50 84 72 61 61 73 73 51 51 63 60 50 49 62 61 61 61 73 73 52 52 64 62 51 51 63 60 61 61 73 73 53 53 65 63 52 52 64 62 61 61 73 73 54 54 66 64 53 53 65 63 61 61 73 73 55 55 67 65 54 54 66 64 61 61 73 73 56 56 68 66 55 55 67 65 61 61 73 73 57 57 69 67 56 56 68 66 61 61 73 73 58 58 70 68 57 57 69 67 61 61 73 73 59 59 71 69 58 58 70 68 61 61 73 73 60 60 72 70 59 59 71 69 61 61 73 73 49 50 61 59 60 60 72 70

+
+
+
+
+ + + + + 0 0 0 + + + + + + + + + + + + + + + + + + + + 1 + 1 + 1 + 1 + + + + + + + + +
\ No newline at end of file diff --git a/Templates/Empty/game/art/environment/Fog_Sphere.cs b/Templates/Empty/game/art/environment/Fog_Sphere.cs new file mode 100644 index 0000000000..65e2ed15c6 --- /dev/null +++ b/Templates/Empty/game/art/environment/Fog_Sphere.cs @@ -0,0 +1,8 @@ + +singleton TSShapeConstructor(Fog_SphereDAE) +{ + baseShape = "./Fog_Sphere.DAE"; + lodType = "TrailingNumber"; + neverImport = "env*"; + loadLights = "0"; +}; diff --git a/Templates/Empty/game/art/environment/Fog_Sphere.dts b/Templates/Empty/game/art/environment/Fog_Sphere.dts new file mode 100644 index 0000000000..ae249462ca Binary files /dev/null and b/Templates/Empty/game/art/environment/Fog_Sphere.dts differ diff --git a/Templates/Empty/game/art/environment/Fog_Sphere_Lo.DAE b/Templates/Empty/game/art/environment/Fog_Sphere_Lo.DAE new file mode 100644 index 0000000000..6efd27019a --- /dev/null +++ b/Templates/Empty/game/art/environment/Fog_Sphere_Lo.DAE @@ -0,0 +1,177 @@ + + + + + Richard + OpenCOLLADA for 3ds Max; Version: 1.4.1; Revision: exported; Platform: x64; Configuration: Release_Max2011_static + file:///G:/Documents%20and%20Settings/Richard/Mijn%20documenten/3dsmax/scenes/FogVolumes.max + + 2014-08-21T21:29:11 + 2014-08-21T21:29:11 + + Z_UP + + + + + + + + 0 0 0 1 + + + 0.588 0.588 0.588 1 + + + 0.588 0.588 0.588 1 + + + 0.9 0.9 0.9 1 + + + 0 + + + 0 0 0 1 + + + 1 1 1 1 + + + 1 + + + + + + + + 0 + 0 + 0 + 1.5 + 0 + 3 + 1 + 0 + + + 1 + 1 + 0 + 0.1 + 0 + + + + + + + + + + + + + + + 0 0 1 -2.80971e-8 0.6427876 0.7660444 -0.4131759 0.4924039 0.7660444 -0.6330222 0.1116188 0.7660444 -0.5566703 -0.3213939 0.7660444 -0.2198463 -0.6040229 0.7660444 0.2198463 -0.6040228 0.7660444 0.5566704 -0.3213939 0.7660444 0.6330222 0.1116187 0.7660444 0.4131762 0.4924037 0.7660444 -4.30473e-8 0.9848078 0.1736481 -0.6330222 0.7544065 0.1736481 -0.9698464 0.17101 0.1736481 -0.8528684 -0.4924041 0.1736481 -0.336824 -0.9254166 0.1736481 0.3368241 -0.9254166 0.1736481 0.8528685 -0.4924041 0.1736481 0.9698464 0.1710097 0.1736481 0.6330226 0.7544062 0.1736481 -3.78552e-8 0.8660254 -0.5000001 -0.5566704 0.6634139 -0.5000001 -0.8528686 0.1503836 -0.5000001 -0.7499999 -0.4330128 -0.5000001 -0.2961981 -0.8137977 -0.5000001 0.2961981 -0.8137977 -0.5000001 0.7499999 -0.4330128 -0.5000001 0.8528686 0.1503834 -0.5000001 0.5566707 0.6634136 -0.5000001 0 0 -1 + + + + + + + + + + 2.03492e-8 1.89926e-8 1 5.46754e-8 0.6830024 0.7304162 -0.4390255 0.5232102 0.7304162 -0.6726261 0.118602 0.7304162 -0.5914973 -0.3415012 0.7304162 -0.2336005 -0.6418123 0.7304162 0.2336005 -0.6418123 0.7304162 0.5914973 -0.3415012 0.7304162 0.6726261 0.1186019 0.7304162 0.4390256 0.52321 0.7304161 5.7514e-8 0.9867694 0.1621301 -0.6342831 0.7559092 0.1621302 -0.9717782 0.1713506 0.1621302 -0.8545673 -0.4933848 0.1621302 -0.3374949 -0.9272599 0.1621302 0.3374949 -0.9272599 0.1621302 0.8545672 -0.4933849 0.1621302 0.9717781 0.1713504 0.1621302 0.6342834 0.755909 0.1621302 1.4565e-7 0.9848077 -0.1736482 -0.6330222 0.7544065 -0.1736482 -0.9698464 0.1710099 -0.1736482 -0.8528684 -0.492404 -0.1736482 -0.336824 -0.9254166 -0.1736482 0.336824 -0.9254166 -0.1736482 0.8528684 -0.492404 -0.1736482 0.9698464 0.1710098 -0.1736482 0.6330224 0.7544063 -0.1736482 1.29242e-8 1.93863e-8 -1 -0.3213938 0.3830222 -0.8660254 3.57753e-8 0.5 -0.8660254 -0.4924038 0.08682401 -0.8660254 -0.4330125 -0.25 -0.8660254 -0.17101 -0.4698463 -0.8660254 0.17101 -0.4698462 -0.8660254 0.4330126 -0.2500001 -0.8660254 0.4924039 0.08682394 -0.8660254 0.3213939 0.3830221 -0.8660254 + + + + + + + + + + 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0.4999997 0.9905506 0.9994413 0.9999999 0.7851583 0.9801956 0.1160092 0.7833326 0.984732 0.2295166 0.7788748 0.9961261 0.339554 0.7740715 1.008927 0.4468543 0.7710763 1.017195 0.5531455 0.7710763 1.017195 0.6604459 0.7740715 1.008927 0.7704833 0.7788749 0.9961259 0.8839907 0.7833326 0.9847319 0.9999999 0.5572463 0.9697994 0.1142684 0.5568308 0.9768149 0.2269719 0.5558176 0.9943575 0.3374268 0.5547289 1.013937 0.4460405 0.5540517 1.026516 0.5539594 0.5540517 1.026516 0.6625731 0.5547289 1.013937 0.773028 0.5558177 0.9943573 0.8857315 0.5568308 0.9768149 0.9999999 0.3284827 0.9734225 0.114713 0.329676 0.9795718 0.2276268 0.3325887 0.9949721 0.3379785 0.3357246 1.0122 0.4462526 0.3376782 1.023288 0.5537474 0.3376782 1.023288 0.6620214 0.3357246 1.0122 0.7723731 0.3325886 0.9949719 0.8852869 0.329676 0.9795716 0.4999997 0.009449377 0.9994413 -5.96046e-8 0.7851583 0.9801956 -5.96046e-8 0.7851583 0.9801956 -5.96046e-8 0.7851583 0.9801956 -5.96046e-8 0.5572463 0.9697994 -5.96046e-8 0.7851583 0.9801956 -5.96046e-8 0.5572463 0.9697994 -5.96046e-8 0.3284827 0.9734225 -5.96046e-8 0.5572463 0.9697994 -5.96046e-8 0.3284827 0.9734225 -5.96046e-8 0.3284827 0.9734225 + + + + + + + + + + 0.2238811 -0.0785364 -3.06419e-9 -0.9354552 -0.1908979 0.1785061 -0.6869337 -0.639937 0.04550849 -0.1096357 -0.9340882 0.05071206 0.5146792 -0.7888748 0.04795851 0.8991777 -0.2825699 0.03928105 0.8744262 0.3508374 0.02862113 0.4516609 0.8255476 0.0202204 -0.1818446 0.921684 0.01779799 -0.4004079 0.3944702 -0.0418959 0.9354553 -0.1908977 0.1785058 -0.9393936 -0.1837057 0.1717808 -0.9393936 -0.009268265 0.05640956 -0.7197701 -0.6042999 0.001590007 -0.9376013 -0.1908451 0.1784568 -0.1624367 -0.9261331 0.005187307 0.4710938 -0.8139435 0.006130689 0.8838201 -0.32094 0.004255926 0.8831198 0.3215432 6.51869e-4 0.4700756 0.8131569 -0.003157425 -0.1621079 0.9247235 -0.005667374 -0.7185697 0.6041677 -0.005667772 -0.9389364 0.009800279 -0.05964688 -0.9376239 0.1907578 -0.178375 -0.9393396 -0.008065835 0.04909124 -0.9393396 -0.0113547 -0.06439642 -0.7211711 -0.6020736 0.01329767 -0.9397946 -0.009275502 0.05645361 -0.1650293 -0.9248964 0.01086491 0.4679183 -0.8148584 0.01247781 0.8820943 -0.3242773 0.01716752 0.8845703 0.3176584 0.02290956 0.4740701 0.8114872 0.02729584 -0.1582722 0.9262638 0.02822048 -0.7169227 0.6073082 0.02492951 -0.9395653 0.01067859 0.06056042 0.2152879 -0.07707404 1.28825e-9 -0.7133705 -0.6097047 -0.004916242 -0.9379215 -0.2614893 -0.150971 -0.1508478 -0.9273379 -0.007202065 0.4792722 -0.809265 -0.006021289 0.885683 -0.3181199 -0.002301566 0.885683 0.3181199 0.002301564 0.4792723 0.8092649 0.00602139 -0.1508476 0.9273379 0.007202091 0.1694879 0.1972498 0.1501381 0.9379215 -0.2614894 -0.1509709 + + + + + + + + + + -0.3310187 -0.9436242 2.46578e-8 -0.2690833 0.7034762 -0.6578111 -0.5226249 0.5125575 -0.6812841 -0.7307699 0.04880675 -0.6808768 -0.5935783 -0.4286704 -0.6811068 -0.1920629 -0.7059416 -0.6817319 0.2913449 -0.6704833 -0.6823271 0.6479726 -0.3377881 -0.6826644 0.7142271 0.1540981 -0.6827396 0.5500826 0.4862531 -0.6789456 -0.269083 -0.7034762 0.6578112 -0.2586258 0.7055657 -0.6597649 -0.06074167 0.1618308 -0.9849473 -0.1055285 0.1230967 -0.9867679 -0.268443 0.7036067 -0.6579331 -0.1606354 0.02264739 -0.9867539 -0.1371027 -0.08678448 -0.9867478 -0.05114097 -0.1539197 -0.986759 0.05611226 -0.1521121 -0.9867691 0.1387047 -0.08401495 -0.9867636 0.1607264 0.02212849 -0.9867509 0.1089 0.1202639 -0.9867509 0.06424478 0.1617952 -0.9847309 0.268323 0.7036311 -0.657956 -0.05288803 0.1619032 -0.9853883 0.06944448 -0.173229 -0.9824302 0.1005981 -0.1422463 -0.984706 -0.06076309 0.1618306 -0.984946 0.1689593 -0.04171533 -0.9847399 0.1571115 0.07513974 -0.9847182 0.0768082 0.1568049 -0.9846384 -0.03612153 0.1715889 -0.9845062 -0.1355787 0.1123163 -0.9843797 -0.1762237 -1.21433e-4 -0.9843501 -0.13221 -0.115662 -0.9844505 -0.06531041 -0.1732775 -0.9827052 0.3370557 0.9414847 2.26081e-8 0.5646661 -0.6566427 -0.4999725 0.3064388 -0.8243613 -0.4759452 0.8554305 -0.1352681 -0.4999412 0.7435366 0.4440657 -0.4999589 0.2915982 0.8154609 -0.499994 -0.2915982 0.8154609 -0.499994 -0.7435365 0.4440658 -0.499959 -0.8554305 -0.1352679 -0.4999412 -0.7603593 0.6494828 0.005070773 0.3064388 0.8243612 0.4759452 + + + + + + + + + + + + + + + + + +

0 0 12 0 1 1 41 1 2 2 14 2 0 0 12 0 2 2 14 2 3 3 15 3 0 0 12 0 3 3 15 3 4 4 16 4 0 0 12 0 4 4 16 4 5 5 17 5 0 0 12 0 5 5 17 5 6 6 18 6 0 0 12 0 6 6 18 6 7 7 19 7 0 0 12 0 7 7 19 7 8 8 20 8 0 0 12 0 8 8 20 8 9 9 21 9 0 0 12 0 9 9 21 9 1 1 42 10 1 1 43 11 10 10 44 12 11 11 23 13 1 1 45 14 11 11 23 13 2 2 14 2 2 2 14 2 11 11 23 13 12 12 24 15 2 2 14 2 12 12 24 15 3 3 15 3 3 3 15 3 12 12 24 15 13 13 25 16 3 3 15 3 13 13 25 16 4 4 16 4 4 4 16 4 13 13 25 16 14 14 26 17 4 4 16 4 14 14 26 17 5 5 17 5 5 5 17 5 14 14 26 17 15 15 27 18 5 5 17 5 15 15 27 18 6 6 18 6 6 6 18 6 15 15 27 18 16 16 28 19 6 6 18 6 16 16 28 19 7 7 19 7 7 7 19 7 16 16 28 19 17 17 29 20 7 7 19 7 17 17 29 20 8 8 20 8 8 8 20 8 17 17 29 20 18 18 30 21 8 8 20 8 18 18 30 21 9 9 21 9 9 9 21 9 18 18 30 21 10 10 22 22 9 9 21 9 10 10 22 22 1 1 13 23 10 10 46 24 19 19 47 25 20 20 32 26 10 10 48 27 20 20 32 26 11 11 23 13 11 11 23 13 20 20 32 26 21 21 33 28 11 11 23 13 21 21 33 28 12 12 24 15 12 12 24 15 21 21 33 28 22 22 34 29 12 12 24 15 22 22 34 29 13 13 25 16 13 13 25 16 22 22 34 29 23 23 35 30 13 13 25 16 23 23 35 30 14 14 26 17 14 14 26 17 23 23 35 30 24 24 36 31 14 14 26 17 24 24 36 31 15 15 27 18 15 15 27 18 24 24 36 31 25 25 37 32 15 15 27 18 25 25 37 32 16 16 28 19 16 16 28 19 25 25 37 32 26 26 38 33 16 16 28 19 26 26 38 33 17 17 29 20 17 17 29 20 26 26 38 33 27 27 39 34 17 17 29 20 27 27 39 34 18 18 30 21 18 18 30 21 27 27 39 34 19 19 31 35 18 18 30 21 19 19 31 35 10 10 22 22 28 28 40 36 20 29 32 37 19 30 49 38 28 28 40 36 21 31 33 39 20 29 32 37 28 28 40 36 22 32 34 40 21 31 33 39 28 28 40 36 23 33 35 41 22 32 34 40 28 28 40 36 24 34 36 42 23 33 35 41 28 28 40 36 25 35 37 43 24 34 36 42 28 28 40 36 26 36 38 44 25 35 37 43 28 28 40 36 27 37 39 45 26 36 38 44 28 28 40 36 19 30 50 46 27 37 39 45

+
+
+
+
+ + + + + 0 0 0 + + + + + + + + + + + + + + + + + + + + 1 + 1 + 1 + 1 + + + + + + + + +
\ No newline at end of file diff --git a/Templates/Empty/game/art/environment/Fog_Sphere_Lo.cs b/Templates/Empty/game/art/environment/Fog_Sphere_Lo.cs new file mode 100644 index 0000000000..f744887351 --- /dev/null +++ b/Templates/Empty/game/art/environment/Fog_Sphere_Lo.cs @@ -0,0 +1,8 @@ + +singleton TSShapeConstructor(Fog_Sphere_LoDAE) +{ + baseShape = "./Fog_Sphere_Lo.DAE"; + lodType = "TrailingNumber"; + neverImport = "env*"; + loadLights = "0"; +}; diff --git a/Templates/Empty/game/art/environment/Fog_Sphere_Lo.dts b/Templates/Empty/game/art/environment/Fog_Sphere_Lo.dts new file mode 100644 index 0000000000..724367ca31 Binary files /dev/null and b/Templates/Empty/game/art/environment/Fog_Sphere_Lo.dts differ diff --git a/Templates/Empty/game/art/environment/LightVolume_Sphere.DAE b/Templates/Empty/game/art/environment/LightVolume_Sphere.DAE new file mode 100644 index 0000000000..81c93d8e03 --- /dev/null +++ b/Templates/Empty/game/art/environment/LightVolume_Sphere.DAE @@ -0,0 +1,423 @@ + + + + + Richard + OpenCOLLADA for 3ds Max; Version: 1.4.1; Revision: exported; Platform: x64; Configuration: Release_Max2011_static + file:///G:/Documents%20and%20Settings/Richard/Mijn%20documenten/3dsmax/scenes/lightfog.max + + 2014-08-22T22:51:35 + 2014-08-22T22:51:35 + + Z_UP + + + + + + + + 0 0 0 1 + + + 0.588 0.588 0.588 1 + + + 0.588 0.588 0.588 1 + + + 0.9 0.9 0.9 1 + + + 0 + + + 0 0 0 1 + + + 1 1 1 1 + + + 1 + + + + + + + + 0 + 0 + 0 + 1.5 + 0 + 3 + 1 + 0 + + + 1 + 1 + 0 + 0.1 + 0 + + + + + + + + + + + + + + + 0 0 5 -9.48283e-8 2.169419 4.504844 -0.9412758 1.954579 4.504844 -1.69612 1.35261 4.504844 -2.115027 0.4827411 4.504844 -2.115027 -0.482741 4.504844 -1.69612 -1.35261 4.504844 -0.9412759 -1.954579 4.504844 2.58701e-8 -2.169419 4.504844 0.9412759 -1.954579 4.504844 1.696121 -1.35261 4.504844 2.115027 -0.4827399 4.504844 2.115026 0.4827427 4.504844 1.696119 1.352612 4.504844 0.9412734 1.95458 4.504844 -1.70875e-7 3.909158 3.117449 -1.69612 3.522029 3.117449 -3.056303 2.43732 3.117449 -3.811147 0.8698694 3.117449 -3.811147 -0.8698691 3.117449 -3.056303 -2.43732 3.117449 -1.696121 -3.522029 3.117449 4.66162e-8 -3.909158 3.117449 1.696121 -3.522029 3.117449 3.056304 -2.437319 3.117449 3.811147 -0.8698672 3.117449 3.811146 0.8698722 3.117449 3.0563 2.437323 3.117449 1.696116 3.522031 3.117449 -2.13077e-7 4.87464 1.112604 -2.115027 4.391898 1.112604 -3.811147 3.039288 1.112604 -4.752422 1.084709 1.112604 -4.752422 -1.084709 1.112604 -3.811147 -3.039288 1.112604 -2.115028 -4.391898 1.112604 5.81295e-8 -4.87464 1.112604 2.115028 -4.391898 1.112604 3.811148 -3.039287 1.112604 4.752423 -1.084707 1.112604 4.752421 1.084713 1.112604 3.811144 3.039291 1.112604 2.115022 4.391901 1.112604 -2.13077e-7 4.87464 -1.112605 -2.115027 4.391898 -1.112605 -3.811147 3.039288 -1.112605 -4.752422 1.084709 -1.112605 -4.752422 -1.084709 -1.112605 -3.811147 -3.039288 -1.112605 -2.115028 -4.391898 -1.112605 5.81295e-8 -4.87464 -1.112605 2.115028 -4.391898 -1.112605 3.811148 -3.039287 -1.112605 4.752423 -1.084707 -1.112605 4.752421 1.084713 -1.112605 3.811144 3.039291 -1.112605 2.115022 4.391901 -1.112605 -1.70875e-7 3.909157 -3.11745 -1.69612 3.522028 -3.11745 -3.056302 2.437319 -3.11745 -3.811146 0.8698692 -3.11745 -3.811146 -0.869869 -3.11745 -3.056302 -2.437319 -3.11745 -1.69612 -3.522028 -3.11745 4.66162e-8 -3.909157 -3.11745 1.69612 -3.522028 -3.11745 3.056303 -2.437318 -3.11745 3.811146 -0.8698671 -3.11745 3.811145 0.8698721 -3.11745 3.0563 2.437322 -3.11745 1.696116 3.52203 -3.11745 -9.48283e-8 2.169418 -4.504845 -0.9412755 1.954578 -4.504845 -1.696119 1.35261 -4.504845 -2.115026 0.4827409 -4.504845 -2.115026 -0.4827408 -4.504845 -1.69612 -1.35261 -4.504845 -0.9412756 -1.954578 -4.504845 2.58701e-8 -2.169418 -4.504845 0.9412756 -1.954578 -4.504845 1.69612 -1.352609 -4.504845 2.115026 -0.4827397 -4.504845 2.115026 0.4827425 -4.504845 1.696118 1.352612 -4.504845 0.9412731 1.954579 -4.504845 0 0 -5 + + + + + + + + + + 3.34297e-8 3.12427e-8 1 -1.46401e-7 0.4589442 0.8884651 -0.1991285 0.4134944 0.888465 -0.358817 0.286147 0.8884651 -0.4474375 0.1021247 0.888465 -0.4474375 -0.1021246 0.8884651 -0.358817 -0.286147 0.888465 -0.1991284 -0.4134944 0.8884651 -4.96273e-9 -0.4589442 0.888465 0.1991285 -0.4134944 0.888465 0.3588171 -0.2861469 0.888465 0.4474375 -0.1021244 0.8884651 0.4474374 0.102125 0.888465 0.3588168 0.2861473 0.8884651 0.1991281 0.4134945 0.8884651 -2.38195e-7 0.7935484 0.6085071 -0.3443078 0.7149624 0.6085071 -0.6204212 0.4947692 0.6085072 -0.7736526 0.1765811 0.6085071 -0.7736526 -0.176581 0.608507 -0.6204212 -0.4947692 0.6085072 -0.3443078 -0.7149624 0.6085071 -1.26699e-8 -0.7935485 0.6085071 0.3443078 -0.7149624 0.6085072 0.6204213 -0.4947691 0.6085071 0.7736526 -0.1765807 0.6085072 0.7736524 0.1765818 0.6085072 0.6204207 0.4947699 0.608507 0.3443072 0.7149627 0.6085071 -2.56849e-7 0.9764001 0.2159697 -0.4236442 0.879706 0.2159697 -0.7633804 0.6087754 0.2159697 -0.9519197 0.2172694 0.2159697 -0.9519197 -0.2172693 0.2159698 -0.7633804 -0.6087753 0.2159698 -0.4236441 -0.8797061 0.2159698 2.56849e-9 -0.9764001 0.2159697 0.4236443 -0.879706 0.2159698 0.7633805 -0.6087751 0.2159698 0.9519198 -0.2172689 0.2159698 0.9519196 0.2172702 0.2159698 0.7633796 0.6087762 0.2159697 0.4236434 0.8797064 0.2159697 -2.56849e-7 0.9764 -0.2159699 -0.4236442 0.8797059 -0.2159699 -0.7633803 0.6087754 -0.2159699 -0.9519196 0.2172694 -0.2159698 -0.9519197 -0.2172693 -0.2159699 -0.7633804 -0.6087753 -0.2159699 -0.4236442 -0.879706 -0.2159699 2.31164e-8 -0.9764 -0.2159699 0.4236442 -0.8797059 -0.2159699 0.7633805 -0.6087751 -0.2159699 0.9519197 -0.2172689 -0.2159699 0.9519195 0.2172701 -0.2159699 0.7633796 0.6087762 -0.2159699 0.4236434 0.8797063 -0.2159699 -1.95117e-7 0.7935483 -0.6085073 -0.3443078 0.7149623 -0.6085073 -0.6204211 0.4947692 -0.6085073 -0.7736524 0.1765811 -0.6085073 -0.7736524 -0.1765811 -0.6085073 -0.6204211 -0.4947692 -0.6085073 -0.3443078 -0.7149622 -0.6085073 1.77379e-8 -0.7935483 -0.6085073 0.3443078 -0.7149622 -0.6085073 0.6204212 -0.494769 -0.6085073 0.7736525 -0.1765806 -0.6085073 0.7736523 0.1765817 -0.6085073 0.6204206 0.4947698 -0.6085073 0.3443071 0.7149625 -0.6085073 -1.16624e-7 0.4589441 -0.8884652 -0.1991284 0.4134943 -0.8884652 -0.358817 0.2861468 -0.8884652 -0.4474374 0.1021247 -0.8884652 -0.4474373 -0.1021246 -0.8884652 -0.3588169 -0.2861468 -0.8884652 -0.1991284 -0.4134943 -0.8884652 -9.92546e-9 -0.4589441 -0.8884651 0.1991285 -0.4134943 -0.8884651 0.358817 -0.2861468 -0.8884652 0.4474374 -0.1021244 -0.8884651 0.4474373 0.102125 -0.8884652 0.3588167 0.2861473 -0.8884651 0.1991281 0.4134944 -0.8884652 2.59315e-8 -2.62439e-8 -1 + + + + + + + + + + -0.03571416 1 0.999001 3.79455e-8 0.8571429 0.999001 0.0714286 0.8571428 0.9990011 0.1428572 0.8571428 0.9990011 0.2142857 0.8571428 0.9990011 0.2857142 0.8571428 0.9990011 0.3571428 0.8571428 0.9990011 0.4285714 0.8571428 0.9990011 0.4999999 0.8571429 0.999001 0.5714285 0.8571429 0.999001 0.6428571 0.8571429 0.999001 0.7142857 0.8571429 0.999001 0.7857143 0.8571429 0.999001 0.857143 0.8571429 0.999001 0.9285716 0.8571429 0.999001 1 0.7142857 0.9990011 0.0714286 0.7142857 0.9990011 0.1428572 0.7142857 0.9990011 0.2142857 0.7142857 0.9990011 0.2857142 0.7142857 0.9990011 0.3571428 0.7142857 0.9990011 0.4285714 0.7142857 0.9990011 0.5 0.7142857 0.9990011 0.5714285 0.7142857 0.999001 0.6428571 0.7142857 0.999001 0.7142857 0.7142857 0.9990009 0.7857143 0.7142857 0.999001 0.857143 0.7142857 0.999001 0.9285716 0.7142857 0.999001 0.9999999 0.5714285 0.999001 0.0714286 0.5714285 0.999001 0.1428572 0.5714285 0.9990011 0.2142857 0.5714285 0.9990011 0.2857142 0.5714285 0.9990011 0.3571428 0.5714285 0.9990011 0.4285714 0.5714285 0.9990011 0.5 0.5714285 0.999001 0.5714285 0.5714285 0.999001 0.6428571 0.5714285 0.999001 0.7142857 0.5714285 0.9990009 0.7857143 0.5714285 0.9990009 0.8571429 0.5714285 0.999001 0.9285716 0.5714285 0.999001 0.9999999 0.4285714 0.999001 0.0714286 0.4285714 0.999001 0.1428572 0.4285714 0.9990011 0.2142857 0.4285714 0.9990011 0.2857142 0.4285714 0.9990011 0.3571428 0.4285714 0.9990011 0.4285714 0.4285714 0.9990011 0.5 0.4285714 0.999001 0.5714285 0.4285714 0.999001 0.6428571 0.4285714 0.999001 0.7142857 0.4285714 0.999001 0.7857143 0.4285714 0.999001 0.8571429 0.4285714 0.999001 0.9285716 0.4285714 0.999001 1 0.2857142 0.999001 0.0714286 0.2857142 0.9990011 0.1428572 0.2857142 0.9990011 0.2142857 0.2857142 0.9990011 0.2857142 0.2857143 0.9990011 0.3571428 0.2857143 0.9990011 0.4285714 0.2857142 0.9990011 0.5 0.2857142 0.999001 0.5714285 0.2857142 0.999001 0.6428571 0.2857142 0.999001 0.7142857 0.2857142 0.999001 0.7857143 0.2857142 0.999001 0.857143 0.2857142 0.999001 0.9285716 0.2857142 0.999001 3.79455e-8 0.1428571 0.999001 0.0714286 0.1428572 0.9990011 0.1428572 0.1428571 0.999001 0.2142857 0.1428572 0.9990011 0.2857142 0.1428572 0.9990011 0.3571428 0.1428572 0.9990011 0.4285714 0.1428572 0.9990011 0.4999999 0.1428571 0.999001 0.5714285 0.1428571 0.999001 0.6428571 0.1428571 0.999001 0.7142857 0.1428571 0.999001 0.7857143 0.1428571 0.999001 0.857143 0.1428571 0.999001 0.9285716 0.1428571 0.999001 -0.03571416 0 0.999001 0.03571432 1 0.999001 0.1071429 1 0.999001 0.1785714 1 0.999001 0.25 1 0.999001 0.3214285 1 0.999001 0.3928571 1 0.999001 0.4642856 1 0.999001 0.5357142 1 0.999001 0.6071428 1 0.999001 0.6785715 1 0.999001 0.75 1 0.999001 0.8214287 1 0.999001 0.8928573 1 0.999001 -0.07142836 0.8571429 0.999001 0 0.7142857 0.9990011 -0.07142836 0.8571429 0.999001 0 0.7142857 0.9990011 0 0.7142857 0.9990011 -5.96046e-8 0.5714285 0.999001 0 0.7142857 0.9990011 -5.96046e-8 0.5714285 0.999001 -5.96046e-8 0.4285714 0.999001 -5.96046e-8 0.5714285 0.999001 -5.96046e-8 0.4285714 0.999001 0 0.2857142 0.999001 -5.96046e-8 0.4285714 0.999001 0 0.2857142 0.999001 0 0.2857142 0.999001 -0.07142836 0.2857142 0.999001 -0.07142836 0.1428571 0.999001 -0.07142836 0.2857142 0.999001 0 0.2857142 0.999001 0.03571432 0 0.999001 0.1071429 0 0.999001 0.1785714 0 0.999001 0.25 0 0.999001 0.3214285 0 0.999001 0.3928571 0 0.999001 0.4642856 0 0.999001 0.5357142 0 0.999001 0.6071428 0 0.999001 0.6785715 0 0.999001 0.75 0 0.999001 0.8214287 0 0.999001 0.8928573 0 0.999001 -0.07142836 0.1428571 0.999001 + + + + + + + + + + -0.9749277 -0.2225218 3.95437e-8 -0.9749279 -0.03513084 0.01814697 -0.8631371 -0.4546571 0.01814702 -0.7818314 -0.6234899 4.56159e-8 -0.5803916 -0.7841328 0.01814686 -0.4338837 -0.9009689 4.26533e-8 -0.1826924 -0.9583017 0.01814685 1.04443e-15 -1 3.12427e-8 0.2511913 -0.9426673 0.01814685 0.4338836 -0.900969 1.36441e-8 0.6353235 -0.740326 0.01814683 0.7818314 -0.6234899 -6.65688e-9 0.8936221 -0.3913545 0.01814665 0.9749277 -0.2225219 -2.56394e-8 0.9749278 0.03512998 0.01814669 0.9749279 0.222521 -3.95437e-8 0.8631371 0.4546568 0.01814684 0.7818313 0.62349 -4.56159e-8 0.5803913 0.7841329 0.01814687 0.4338832 0.9009691 -4.26533e-8 0.1826917 0.9583018 0.01814686 -7.40827e-7 1 -3.12427e-8 -0.2511921 0.942667 0.01814683 -0.4338844 0.9009686 -1.36441e-8 -0.6353242 0.7403254 0.01814688 -0.7818321 0.623489 6.65693e-9 -0.852976 0.4757568 -0.03024468 -0.974928 0.2225204 2.56394e-8 -0.9545922 0.2647484 0.09073415 -0.974928 -0.08239544 0.1074507 -0.8783796 -0.4230055 1.2098e-7 -0.6078575 -0.7622294 -2.40103e-8 -0.2169419 -0.9504844 3.08126e-9 0.2169418 -0.9504845 1.00124e-8 0.6078575 -0.7622294 -1.22219e-8 0.8783796 -0.4230055 2.27489e-8 0.9749279 -1.0315e-7 -1.14217e-7 0.8783796 0.4230055 2.7348e-8 0.6078573 0.7622295 2.9091e-8 0.2169413 0.9504846 1.53869e-8 -0.2169426 0.9504843 -1.74207e-8 -0.6078583 0.7622288 -1.32728e-8 -0.8783801 0.4230047 1.08194e-8 -0.974928 0.08239487 -0.1074508 -0.9545922 0.2647484 0.09073415 -0.974928 0.08239487 -0.1074508 -0.9749279 -0.08239547 0.1074508 -0.9749279 -0.01037927 0.04692359 -0.8783797 -0.4230054 1.38382e-9 -0.974928 -0.08239544 0.1074507 -0.6078575 -0.7622294 -2.5756e-9 -0.2169418 -0.9504845 -4.34778e-9 0.2169417 -0.9504845 7.21083e-10 0.6078575 -0.7622294 2.68537e-9 0.8783797 -0.4230054 -1.49521e-8 0.9749279 9.89275e-9 3.31305e-8 0.8783796 0.4230055 6.33846e-10 0.6078573 0.7622295 2.8277e-9 0.2169413 0.9504845 1.9462e-9 -0.2169426 0.9504842 3.51617e-9 -0.6078584 0.7622287 -1.28249e-8 -0.8783801 0.4230047 -3.55722e-8 -0.974928 0.01037875 -0.04692358 -0.9749279 -0.01037927 0.04692359 -0.9749279 -0.01037929 -0.04692363 -0.8783796 -0.4230055 7.11577e-9 -0.9749279 -0.01037927 0.04692359 -0.6078576 -0.7622294 -5.38627e-9 -0.2169418 -0.9504845 -4.0761e-8 0.2169417 -0.9504845 -6.37691e-9 0.6078574 -0.7622295 4.32713e-8 0.8783797 -0.4230054 4.91462e-8 0.9749279 7.86884e-9 6.87766e-8 0.8783796 0.4230055 7.54338e-8 0.6078573 0.7622295 -3.74104e-9 0.2169413 0.9504845 -6.87179e-10 -0.2169426 0.9504843 -5.06594e-9 -0.6078584 0.7622287 1.11192e-8 -0.8783801 0.4230047 -7.55682e-8 -0.974928 0.01037875 0.04692348 -0.9749279 -0.01037935 -0.04692387 -0.9749279 -0.08239562 -0.107451 -0.8783797 -0.4230055 5.99473e-9 -0.9749279 -0.01037929 -0.04692363 -0.6078575 -0.7622295 -5.14789e-8 -0.2169418 -0.9504844 -6.99784e-8 0.2169419 -0.9504845 -6.77193e-8 0.6078575 -0.7622295 8.75301e-8 0.8783796 -0.4230056 2.38485e-7 0.9749279 -3.58523e-8 7.51737e-8 0.8783796 0.4230055 1.39721e-9 0.6078573 0.7622295 6.92574e-8 0.2169412 0.9504845 -5.31509e-8 -0.2169425 0.9504843 -5.50918e-9 -0.6078583 0.7622288 -2.65355e-8 -0.8605051 0.4601225 0.05372539 -0.974928 0.08239491 0.1074507 -0.9749278 -0.08239586 -0.1074513 -0.9749279 0.03512977 0.0181467 -0.8936222 -0.3913543 0.01814683 -0.9749279 -0.08239562 -0.107451 -0.6353234 -0.740326 0.01814686 -0.2511912 -0.9426673 0.01814672 0.1826924 -0.9583017 0.01814681 0.5803915 -0.7841328 0.01814685 0.8631371 -0.454657 0.01814701 0.9749278 -0.03513059 0.01814698 0.8936221 0.3913542 0.01814686 0.6353234 0.7403261 0.01814691 0.2511908 0.9426673 0.01814683 -0.1826932 0.9583015 0.01814677 -0.5803923 0.7841322 0.01814686 -0.802168 0.5812611 0.09073409 -0.91413 0.3487692 -0.1074508 -0.9545922 0.2647484 -0.09073412 -0.91413 0.3487692 -0.1074508 -0.974928 0.08239496 0.1074508 -0.9749278 -0.2225216 -1.94415e-8 -0.7818317 -0.6234895 -3.91125e-9 -0.4338831 -0.9009692 1.23937e-8 -6.80542e-16 -1 2.62439e-8 0.4338836 -0.9009689 3.48962e-8 0.7818314 -0.6234899 3.66368e-8 0.9749278 -0.2225216 3.11211e-8 0.9749279 0.222521 1.94415e-8 0.7818313 0.6234901 3.91122e-9 0.4338837 0.9009689 -1.23937e-8 -1.19783e-6 1 -2.62439e-8 -0.4338844 0.9009685 -3.48962e-8 -0.7818321 0.623489 -3.66368e-8 -0.974928 0.2225205 -3.11211e-8 -0.9545922 0.2647484 -0.09073412 + + + + + + + + + + -0.2225218 0.9749277 -2.30205e-8 -0.04052453 0.8877353 -0.4585672 -0.4216851 0.7822389 -0.4585672 -0.6234899 0.7818314 -3.58345e-9 -0.7193257 0.5218109 -0.4585672 -0.9009689 0.4338837 1.65634e-8 -0.8744953 0.1580317 -0.4585672 -1 0 3.34297e-8 -0.8564605 -0.2370475 -0.4585672 -0.900969 -0.4338836 4.36748e-8 -0.6687932 -0.5851767 -0.4585672 -0.6234899 -0.7818314 4.52696e-8 -0.3486635 -0.8174044 -0.4585672 -0.2225219 -0.9749277 3.78982e-8 0.04052361 -0.8877353 -0.4585672 0.222521 -0.9749279 2.30206e-8 0.4216849 -0.7822391 -0.4585672 0.62349 -0.7818313 3.58345e-9 0.7193259 -0.5218107 -0.4585672 0.9009691 -0.4338832 -1.65634e-8 0.8744955 -0.1580312 -0.4585672 1 7.40827e-7 -3.34297e-8 0.8564603 0.2370483 -0.4585672 0.9009686 0.4338844 -4.36748e-8 0.6687926 0.5851774 -0.4585672 0.623489 0.7818321 -4.52696e-8 0.445375 0.7693955 -0.4578992 0.2225204 0.974928 -3.78982e-8 0.1987407 0.8707421 -0.4497891 -0.1375673 0.6027217 -0.7860037 -0.2640215 0.5482458 -0.7935484 -0.4757501 0.3793979 -0.7935484 -0.5932505 0.1354056 -0.7935484 -0.5932505 -0.1354055 -0.7935485 -0.4757501 -0.3793979 -0.7935484 -0.2640214 -0.5482459 -0.7935484 -1.5735e-7 -0.6085071 -0.7935484 0.2640215 -0.5482459 -0.7935484 0.4757502 -0.3793978 -0.7935484 0.5932507 -0.1354052 -0.7935484 0.5932505 0.135406 -0.7935484 0.4757496 0.3793984 -0.7935485 0.2640209 0.5482461 -0.7935484 0.1375669 0.6027217 -0.7860037 0.1987407 0.8707421 -0.4497891 0.137567 0.6027217 -0.7860037 -0.1375673 0.6027217 -0.7860037 -0.04923392 0.2157078 -0.975216 -0.09370578 0.194582 -0.9764001 -0.1375673 0.6027217 -0.7860037 -0.168852 0.1346549 -0.9764001 -0.2105549 0.04805777 -0.9764001 -0.2105549 -0.04805776 -0.9764001 -0.168852 -0.1346549 -0.9764001 -0.09370578 -0.194582 -0.9764001 3.5372e-8 -0.2159697 -0.9764001 0.09370579 -0.194582 -0.9764001 0.168852 -0.1346549 -0.9764 0.210555 -0.04805767 -0.9764 0.2105549 0.04805796 -0.9764 0.1688518 0.1346551 -0.9764001 0.09370564 0.1945821 -0.9764001 0.04923379 0.2157078 -0.975216 -0.04923392 0.2157078 -0.975216 0.04923396 -0.215708 -0.9752159 0.09370587 -0.1945822 -0.9764 -0.04923392 0.2157078 -0.975216 0.1688521 -0.134655 -0.9764 0.2105551 -0.04805776 -0.9764 0.210555 0.04805779 -0.9764 0.1688521 0.134655 -0.9764 0.0937059 0.1945822 -0.9764 6.71373e-8 0.2159699 -0.9764 -0.09370582 0.1945822 -0.9764 -0.1688522 0.134655 -0.9764 -0.2105552 0.04805771 -0.9764 -0.210555 -0.04805798 -0.9764 -0.1688519 -0.1346552 -0.9764 -0.09370562 -0.1945823 -0.9764 -0.0492337 -0.215708 -0.9752159 0.04923421 -0.215708 -0.9752159 0.1375676 -0.6027218 -0.7860035 0.2640215 -0.5482461 -0.7935483 0.04923396 -0.215708 -0.9752159 0.4757503 -0.379398 -0.7935483 0.5932507 -0.1354055 -0.7935483 0.5932507 0.1354057 -0.7935483 0.4757503 0.379398 -0.7935482 0.2640218 0.548246 -0.7935483 8.35655e-8 0.6085073 -0.7935483 -0.2640215 0.5482461 -0.7935483 -0.4757503 0.379398 -0.7935483 -0.5932509 0.1354052 -0.7935483 -0.5932507 -0.135406 -0.7935483 -0.4757498 -0.3793985 -0.7935483 -0.3258031 -0.5168711 -0.7916417 -0.1375669 -0.6027219 -0.7860036 0.137568 -0.6027218 -0.7860035 -0.04052343 -0.8877354 -0.458567 0.3486632 -0.8174045 -0.4585671 0.1375676 -0.6027218 -0.7860035 0.6687933 -0.5851768 -0.458567 0.8564606 -0.2370474 -0.4585671 0.8744955 0.1580318 -0.458567 0.7193258 0.5218109 -0.458567 0.4216851 0.782239 -0.458567 0.04052431 0.8877353 -0.4585671 -0.3486632 0.8174045 -0.4585671 -0.6687933 0.5851767 -0.458567 -0.8564607 0.2370471 -0.4585671 -0.8744953 -0.1580326 -0.458567 -0.7193253 -0.5218116 -0.4585671 -0.5568597 -0.6982815 -0.449789 -0.137567 -0.6027219 -0.7860035 -0.1987408 -0.8707422 -0.449789 -0.137567 -0.6027219 -0.7860035 -0.137567 -0.6027219 -0.7860036 0.2225216 -0.9749278 3.13562e-8 0.6234895 -0.7818317 3.66863e-8 0.9009692 -0.4338831 3.47502e-8 1 0 2.59315e-8 0.9009689 0.4338836 1.19766e-8 0.6234899 0.7818314 -4.35029e-9 0.2225216 0.9749278 -1.98156e-8 -0.222521 0.9749279 -3.13562e-8 -0.6234901 0.7818313 -3.66863e-8 -0.9009689 0.4338837 -3.47502e-8 -1 -1.19783e-6 -2.59314e-8 -0.9009685 -0.4338844 -1.19766e-8 -0.623489 -0.7818321 4.35033e-9 -0.2225205 -0.974928 1.98156e-8 -0.1987408 -0.8707422 -0.449789 + + + + + + + + + + + + + + + + + +

0 0 86 0 1 1 1 1 2 2 2 2 0 0 87 3 2 2 2 2 3 3 3 4 0 0 88 5 3 3 3 4 4 4 4 6 0 0 89 7 4 4 4 6 5 5 5 8 0 0 90 9 5 5 5 8 6 6 6 10 0 0 91 11 6 6 6 10 7 7 7 12 0 0 92 13 7 7 7 12 8 8 8 14 0 0 93 15 8 8 8 14 9 9 9 16 0 0 94 17 9 9 9 16 10 10 10 18 0 0 95 19 10 10 10 18 11 11 11 20 0 0 96 21 11 11 11 20 12 12 12 22 0 0 97 23 12 12 12 22 13 13 13 24 0 0 98 25 13 13 13 24 14 14 14 26 0 0 0 27 14 14 99 28 1 1 1 1 1 1 1 1 15 15 100 29 16 16 16 30 1 1 1 1 16 16 16 30 2 2 2 2 2 2 2 2 16 16 16 30 17 17 17 31 2 2 2 2 17 17 17 31 3 3 3 4 3 3 3 4 17 17 17 31 18 18 18 32 3 3 3 4 18 18 18 32 4 4 4 6 4 4 4 6 18 18 18 32 19 19 19 33 4 4 4 6 19 19 19 33 5 5 5 8 5 5 5 8 19 19 19 33 20 20 20 34 5 5 5 8 20 20 20 34 6 6 6 10 6 6 6 10 20 20 20 34 21 21 21 35 6 6 6 10 21 21 21 35 7 7 7 12 7 7 7 12 21 21 21 35 22 22 22 36 7 7 7 12 22 22 22 36 8 8 8 14 8 8 8 14 22 22 22 36 23 23 23 37 8 8 8 14 23 23 23 37 9 9 9 16 9 9 9 16 23 23 23 37 24 24 24 38 9 9 9 16 24 24 24 38 10 10 10 18 10 10 10 18 24 24 24 38 25 25 25 39 10 10 10 18 25 25 25 39 11 11 11 20 11 11 11 20 25 25 25 39 26 26 26 40 11 11 11 20 26 26 26 40 12 12 12 22 12 12 12 22 26 26 26 40 27 27 27 41 12 12 12 22 27 27 27 41 13 13 13 24 13 13 13 24 27 27 27 41 28 28 28 42 13 13 13 24 28 28 28 42 14 14 14 26 14 14 14 26 28 28 28 42 15 15 15 43 14 14 101 44 15 15 102 45 1 1 1 1 15 15 103 46 29 29 104 47 30 30 30 48 15 15 105 49 30 30 30 48 16 16 16 30 16 16 16 30 30 30 30 48 31 31 31 50 16 16 16 30 31 31 31 50 17 17 17 31 17 17 17 31 31 31 31 50 32 32 32 51 17 17 17 31 32 32 32 51 18 18 18 32 18 18 18 32 32 32 32 51 33 33 33 52 18 18 18 32 33 33 33 52 19 19 19 33 19 19 19 33 33 33 33 52 34 34 34 53 19 19 19 33 34 34 34 53 20 20 20 34 20 20 20 34 34 34 34 53 35 35 35 54 20 20 20 34 35 35 35 54 21 21 21 35 21 21 21 35 35 35 35 54 36 36 36 55 21 21 21 35 36 36 36 55 22 22 22 36 22 22 22 36 36 36 36 55 37 37 37 56 22 22 22 36 37 37 37 56 23 23 23 37 23 23 23 37 37 37 37 56 38 38 38 57 23 23 23 37 38 38 38 57 24 24 24 38 24 24 24 38 38 38 38 57 39 39 39 58 24 24 24 38 39 39 39 58 25 25 25 39 25 25 25 39 39 39 39 58 40 40 40 59 25 25 25 39 40 40 40 59 26 26 26 40 26 26 26 40 40 40 40 59 41 41 41 60 26 26 26 40 41 41 41 60 27 27 27 41 27 27 27 41 41 41 41 60 42 42 42 61 27 27 27 41 42 42 42 61 28 28 28 42 28 28 28 42 42 42 42 61 29 29 29 62 28 28 28 42 29 29 29 62 15 15 15 43 29 29 106 63 43 43 107 64 44 44 44 65 29 29 108 66 44 44 44 65 30 30 30 48 30 30 30 48 44 44 44 65 45 45 45 67 30 30 30 48 45 45 45 67 31 31 31 50 31 31 31 50 45 45 45 67 46 46 46 68 31 31 31 50 46 46 46 68 32 32 32 51 32 32 32 51 46 46 46 68 47 47 47 69 32 32 32 51 47 47 47 69 33 33 33 52 33 33 33 52 47 47 47 69 48 48 48 70 33 33 33 52 48 48 48 70 34 34 34 53 34 34 34 53 48 48 48 70 49 49 49 71 34 34 34 53 49 49 49 71 35 35 35 54 35 35 35 54 49 49 49 71 50 50 50 72 35 35 35 54 50 50 50 72 36 36 36 55 36 36 36 55 50 50 50 72 51 51 51 73 36 36 36 55 51 51 51 73 37 37 37 56 37 37 37 56 51 51 51 73 52 52 52 74 37 37 37 56 52 52 52 74 38 38 38 57 38 38 38 57 52 52 52 74 53 53 53 75 38 38 38 57 53 53 53 75 39 39 39 58 39 39 39 58 53 53 53 75 54 54 54 76 39 39 39 58 54 54 54 76 40 40 40 59 40 40 40 59 54 54 54 76 55 55 55 77 40 40 40 59 55 55 55 77 41 41 41 60 41 41 41 60 55 55 55 77 56 56 56 78 41 41 41 60 56 56 56 78 42 42 42 61 42 42 42 61 56 56 56 78 43 43 43 79 42 42 42 61 43 43 43 79 29 29 29 62 43 43 109 80 57 57 110 81 58 58 58 82 43 43 111 83 58 58 58 82 44 44 44 65 44 44 44 65 58 58 58 82 59 59 59 84 44 44 44 65 59 59 59 84 45 45 45 67 45 45 45 67 59 59 59 84 60 60 60 85 45 45 45 67 60 60 60 85 46 46 46 68 46 46 46 68 60 60 60 85 61 61 61 86 46 46 46 68 61 61 61 86 47 47 47 69 47 47 47 69 61 61 61 86 62 62 62 87 47 47 47 69 62 62 62 87 48 48 48 70 48 48 48 70 62 62 62 87 63 63 63 88 48 48 48 70 63 63 63 88 49 49 49 71 49 49 49 71 63 63 63 88 64 64 64 89 49 49 49 71 64 64 64 89 50 50 50 72 50 50 50 72 64 64 64 89 65 65 65 90 50 50 50 72 65 65 65 90 51 51 51 73 51 51 51 73 65 65 65 90 66 66 66 91 51 51 51 73 66 66 66 91 52 52 52 74 52 52 52 74 66 66 66 91 67 67 67 92 52 52 52 74 67 67 67 92 53 53 53 75 53 53 53 75 67 67 67 92 68 68 68 93 53 53 53 75 68 68 68 93 54 54 54 76 54 54 54 76 68 68 68 93 69 69 69 94 54 54 54 76 69 69 69 94 55 55 55 77 55 55 55 77 69 69 69 94 70 70 70 95 55 55 55 77 70 70 70 95 56 56 56 78 56 56 56 78 70 70 70 95 57 57 57 96 56 56 56 78 57 57 57 96 43 43 43 79 57 57 112 97 71 71 71 98 72 72 72 99 57 57 113 100 72 72 72 99 58 58 58 82 58 58 58 82 72 72 72 99 73 73 73 101 58 58 58 82 73 73 73 101 59 59 59 84 59 59 59 84 73 73 73 101 74 74 74 102 59 59 59 84 74 74 74 102 60 60 60 85 60 60 60 85 74 74 74 102 75 75 75 103 60 60 60 85 75 75 75 103 61 61 61 86 61 61 61 86 75 75 75 103 76 76 76 104 61 61 61 86 76 76 76 104 62 62 62 87 62 62 62 87 76 76 76 104 77 77 77 105 62 62 62 87 77 77 77 105 63 63 63 88 63 63 63 88 77 77 77 105 78 78 78 106 63 63 63 88 78 78 78 106 64 64 64 89 64 64 64 89 78 78 78 106 79 79 79 107 64 64 64 89 79 79 79 107 65 65 65 90 65 65 65 90 79 79 79 107 80 80 80 108 65 65 65 90 80 80 80 108 66 66 66 91 66 66 66 91 80 80 80 108 81 81 81 109 66 66 66 91 81 81 81 109 67 67 67 92 67 67 67 92 81 81 81 109 82 82 82 110 67 67 67 92 82 82 82 110 68 68 68 93 68 68 68 93 82 82 82 110 83 83 83 111 68 68 68 93 83 83 83 111 69 69 69 94 69 69 69 94 83 83 83 111 84 84 84 112 69 69 69 94 84 84 84 112 70 70 70 95 70 70 114 113 84 84 115 114 71 71 71 98 70 70 116 115 71 71 71 98 57 57 117 116 85 85 118 117 72 72 72 99 71 71 71 98 85 85 119 118 73 73 73 101 72 72 72 99 85 85 120 119 74 74 74 102 73 73 73 101 85 85 121 120 75 75 75 103 74 74 74 102 85 85 122 121 76 76 76 104 75 75 75 103 85 85 123 122 77 77 77 105 76 76 76 104 85 85 124 123 78 78 78 106 77 77 77 105 85 85 125 124 79 79 79 107 78 78 78 106 85 85 126 125 80 80 80 108 79 79 79 107 85 85 127 126 81 81 81 109 80 80 80 108 85 85 128 127 82 82 82 110 81 81 81 109 85 85 129 128 83 83 83 111 82 82 82 110 85 85 130 129 84 84 84 112 83 83 83 111 85 85 85 130 71 71 71 98 84 84 131 131

+
+
+
+ + + + 0 0 5 -1.28465e-7 2.938926 4.045085 -1.727457 2.377641 4.045085 -2.795085 0.9081783 4.045085 -2.795085 -0.9081781 4.045085 -1.727458 -2.377641 4.045085 3.50463e-8 -2.938926 4.045085 1.727458 -2.377641 4.045085 2.795085 -0.9081767 4.045085 2.795084 0.9081804 4.045085 1.727455 2.377643 4.045085 -2.0786e-7 4.755283 1.545085 -2.795085 3.847105 1.545085 -4.522542 1.469463 1.545085 -4.522543 -1.469463 1.545085 -2.795086 -3.847104 1.545085 5.67062e-8 -4.755283 1.545085 2.795086 -3.847104 1.545085 4.522543 -1.469461 1.545085 4.522542 1.469467 1.545085 2.795081 3.847108 1.545085 -2.0786e-7 4.755282 -1.545085 -2.795084 3.847104 -1.545085 -4.522542 1.469463 -1.545085 -4.522542 -1.469463 -1.545085 -2.795086 -3.847103 -1.545085 5.67062e-8 -4.755282 -1.545085 2.795086 -3.847103 -1.545085 4.522543 -1.469461 -1.545085 4.522542 1.469467 -1.545085 2.795081 3.847107 -1.545085 -1.28465e-7 2.938926 -4.045085 -1.727457 2.377641 -4.045085 -2.795085 0.9081782 -4.045085 -2.795085 -0.908178 -4.045085 -1.727458 -2.37764 -4.045085 3.50463e-8 -2.938926 -4.045085 1.727458 -2.37764 -4.045085 2.795085 -0.9081766 -4.045085 2.795084 0.9081803 -4.045085 1.727455 2.377643 -4.045085 0 0 -5 + + + + + + + + + + 0 -2.11156e-8 1 -2.11354e-7 0.6252257 0.780444 -0.3674984 0.5058182 0.780444 -0.5946249 0.1932054 0.780444 -0.594625 -0.1932053 0.780444 -0.3674985 -0.5058182 0.780444 1.05677e-8 -0.6252257 0.780444 0.3674986 -0.5058181 0.780444 0.5946251 -0.1932051 0.780444 0.5946248 0.1932058 0.780444 0.3674981 0.5058185 0.780444 -2.70626e-7 0.9562714 0.2924812 -0.5620822 0.7736397 0.2924811 -0.909468 0.2955042 0.2924811 -0.9094681 -0.295504 0.2924812 -0.5620822 -0.7736397 0.2924811 5.52297e-9 -0.9562714 0.2924811 0.5620824 -0.7736396 0.2924811 0.9094682 -0.2955036 0.2924811 0.9094678 0.2955048 0.2924812 0.5620816 0.7736402 0.2924811 -2.70626e-7 0.9562712 -0.2924812 -0.5620822 0.7736397 -0.2924812 -0.909468 0.2955042 -0.2924812 -0.9094681 -0.295504 -0.2924812 -0.5620822 -0.7736396 -0.2924812 2.76149e-9 -0.9562712 -0.2924812 0.5620824 -0.7736395 -0.2924812 0.9094682 -0.2955037 -0.2924812 0.9094678 0.2955048 -0.2924812 0.5620815 0.7736402 -0.2924812 -1.638e-7 0.6252257 -0.780444 -0.3674985 0.5058182 -0.780444 -0.594625 0.1932054 -0.780444 -0.594625 -0.1932053 -0.780444 -0.3674985 -0.5058182 -0.780444 -3.17032e-8 -0.6252257 -0.780444 0.3674986 -0.5058181 -0.780444 0.5946251 -0.1932051 -0.780444 0.5946248 0.1932058 -0.780444 0.3674981 0.5058185 -0.780444 1.51768e-8 -4.22312e-8 -1 + + + + + + + + + + 0.95 1 0.999001 0.9999999 0.8 0.9990011 0.09999996 0.8 0.999001 0.2 0.8 0.999001 0.3 0.8 0.999001 0.3999999 0.8 0.999001 0.5 0.8 0.9990011 0.6 0.8 0.9990011 0.7 0.8 0.9990011 0.8000001 0.8 0.9990011 0.9000001 0.8 0.9990011 0.9999999 0.6 0.9990011 0.09999996 0.6 0.999001 0.2 0.6 0.999001 0.3 0.6 0.9990011 0.3999999 0.6 0.999001 0.5 0.6 0.9990011 0.6 0.6 0.9990011 0.7 0.6 0.9990011 0.8000001 0.6 0.9990011 0.9000001 0.6 0.9990011 0.9999999 0.4 0.9990011 0.09999996 0.4 0.999001 0.2 0.4 0.9990009 0.3 0.4 0.999001 0.3999999 0.4 0.999001 0.5 0.4 0.9990011 0.6 0.4 0.999001 0.7 0.4 0.9990011 0.8000001 0.4 0.9990011 0.9000001 0.4 0.999001 0.9999999 0.2 0.9990011 0.09999996 0.2 0.999001 0.2 0.2 0.999001 0.3 0.2 0.999001 0.3999999 0.2 0.999001 0.5 0.2 0.9990011 0.6 0.2 0.9990011 0.7 0.2 0.9990011 0.8000001 0.2 0.9990011 0.9000001 0.2 0.9990011 0.95 0 0.999001 0.04999995 1 0.999001 -5.96046e-8 0.8 0.9990011 0.15 1 0.999001 0.25 1 0.999001 0.35 1 0.999001 0.45 1 0.999001 0.55 1 0.999001 0.65 1 0.999001 0.7500001 1 0.999001 0.8500001 1 0.999001 -5.96046e-8 0.8 0.9990011 -5.96046e-8 0.6 0.9990011 -5.96046e-8 0.8 0.9990011 -5.96046e-8 0.6 0.9990011 -5.96046e-8 0.4 0.9990011 -5.96046e-8 0.6 0.9990011 -5.96046e-8 0.4 0.9990011 -5.96046e-8 0.2 0.9990011 -5.96046e-8 0.4 0.9990011 0.04999995 0 0.999001 -5.96046e-8 0.2 0.9990011 0.15 0 0.999001 0.25 0 0.999001 0.35 0 0.999001 0.45 0 0.999001 0.55 0 0.999001 0.65 0 0.999001 0.7500001 0 0.999001 0.8500001 0 0.999001 + + + + + + + + + + -0.9510565 -0.3090171 -6.52508e-9 -0.9510565 -0.1882202 0.1507859 -0.7472943 -0.5894716 0.03015721 -0.5877853 -0.809017 -1.70829e-8 -0.2580911 -0.9161411 0.03015718 -1.31262e-7 -1 -2.11156e-8 0.3296941 -0.8928759 0.0301572 0.5877852 -0.809017 -1.70829e-8 0.7915474 -0.5285625 0.03015717 0.9510565 -0.3090172 -6.52508e-9 0.9510565 0.03764403 0.0301572 0.9510565 0.3090172 6.52508e-9 0.7472941 0.5894718 0.03015722 0.587785 0.8090172 1.70829e-8 0.2580906 0.9161412 0.03015722 -6.5631e-7 1 2.11156e-8 -0.3296949 0.8928756 0.0301572 -0.587786 0.8090165 1.70829e-8 -0.7915479 0.5285618 0.03015718 -0.9510567 0.3090165 6.52507e-9 -0.9510567 0.1882196 -0.1507859 -0.9510565 -0.1882202 0.1507858 -0.9510566 -0.02643514 0.08642931 -0.7694209 -0.559017 7.9155e-10 -0.9510565 -0.1882202 0.1507859 -0.2938927 -0.9045085 -4.0073e-9 0.2938925 -0.9045085 -7.41231e-10 0.7694209 -0.5590171 -6.34775e-9 0.9510565 4.77085e-9 -2.3606e-9 0.7694207 0.5590172 -6.72929e-9 0.2938922 0.9045086 -2.86915e-9 -0.2938933 0.9045082 -2.409e-9 -0.7694214 0.5590164 -1.96186e-8 -0.9510566 0.0264346 -0.0864293 -0.9510566 -0.02643514 0.08642932 -0.9510566 -0.02643521 -0.08642933 -0.7694209 -0.559017 1.17386e-8 -0.9510566 -0.02643514 0.08642931 -0.2938927 -0.9045085 -3.27196e-9 0.2938926 -0.9045085 1.16709e-8 0.7694209 -0.5590171 -4.67655e-8 0.9510565 2.37408e-9 1.21738e-9 0.7694207 0.5590172 1.66922e-8 0.2938922 0.9045086 -7.07564e-9 -0.2938933 0.9045082 1.75192e-8 -0.7694214 0.5590164 1.41495e-8 -0.9510566 0.02643467 0.08642932 -0.9510567 -0.0264351 -0.08642897 -0.9510566 -0.1882199 -0.1507856 -0.7915475 -0.5285623 0.03015731 -0.9510566 -0.02643521 -0.08642933 -0.3296942 -0.8928758 0.03015721 0.258091 -0.9161412 0.03015719 0.7472943 -0.5894716 0.03015712 0.9510565 -0.03764394 0.03015711 0.7915473 0.5285625 0.03015719 0.3296938 0.892876 0.03015719 -0.2580917 0.9161409 0.03015721 -0.7472948 0.5894711 0.03015717 -0.9510567 0.1882196 0.1507858 -0.9510566 -0.3090166 -1.38389e-9 -0.9510567 -0.1882199 -0.1507856 -0.5877853 -0.8090169 2.5245e-8 -6.40936e-16 -1 4.22312e-8 0.5877852 -0.809017 4.30865e-8 0.9510566 -0.3090169 2.74842e-8 0.9510565 0.3090172 1.38386e-9 0.587785 0.8090172 -2.5245e-8 -6.5631e-7 1 -4.22312e-8 -0.587786 0.8090165 -4.30865e-8 -0.9510567 0.3090165 -2.74842e-8 + + + + + + + + + + -0.3090171 0.9510565 2.00821e-8 -0.2458018 0.7565 -0.6060439 -0.4991224 0.60081 -0.6244231 -0.809017 0.5877853 1.24114e-8 -0.7569457 0.1926888 -0.6244232 -1 1.31262e-7 2.77168e-15 -0.7256415 -0.289033 -0.6244231 -0.809017 -0.5877852 -1.24114e-8 -0.417167 -0.660354 -0.6244232 -0.3090172 -0.9510565 -2.00821e-8 0.05065125 -0.7794422 -0.6244232 0.3090172 -0.9510565 -2.00821e-8 0.4991225 -0.6008098 -0.6244231 0.8090172 -0.587785 -1.24114e-8 0.7569458 -0.1926883 -0.6244232 1 6.5631e-7 1.38584e-14 0.7256413 0.2890337 -0.6244231 0.8090165 0.587786 1.24115e-8 0.4171665 0.6603543 -0.6244232 0.3090165 0.9510567 2.00821e-8 0.2458013 0.7565002 -0.6060439 -0.2458018 0.7565 -0.6060439 -0.09460663 0.2911693 -0.9519822 -0.1719161 0.2366222 -0.9562713 -0.2458018 0.7565 -0.6060439 -0.2781661 0.09038166 -0.9562713 -0.2781661 -0.09038162 -0.9562713 -0.1719161 -0.2366222 -0.9562713 -9.06353e-10 -0.2924811 -0.9562713 0.1719161 -0.2366221 -0.9562713 0.2781661 -0.09038149 -0.9562713 0.2781661 0.09038187 -0.9562713 0.1719159 0.2366223 -0.9562713 0.09460646 0.2911693 -0.9519822 -0.09460664 0.2911693 -0.9519822 0.09460667 -0.2911693 -0.9519821 0.1719161 -0.2366223 -0.9562713 -0.09460663 0.2911693 -0.9519822 0.2781661 -0.09038168 -0.9562713 0.2781662 0.09038165 -0.9562713 0.1719161 0.2366223 -0.9562713 4.93948e-10 0.2924813 -0.9562713 -0.1719162 0.2366222 -0.9562713 -0.2781662 0.09038154 -0.9562713 -0.2781661 -0.09038187 -0.9562713 -0.171916 -0.2366224 -0.9562713 -0.09460649 -0.2911694 -0.9519821 0.09460628 -0.2911694 -0.9519822 0.2458014 -0.7565001 -0.6060439 0.4171668 -0.6603542 -0.6244231 0.09460667 -0.2911693 -0.9519821 0.7256415 -0.2890331 -0.6244232 0.7569457 0.1926887 -0.6244231 0.4991223 0.60081 -0.6244231 0.05065112 0.7794422 -0.6244232 -0.4171671 0.6603539 -0.6244232 -0.7256416 0.2890327 -0.6244232 -0.7569456 -0.1926893 -0.6244231 -0.4991219 -0.6008104 -0.6244231 -0.2458013 -0.7565002 -0.6060439 0.3090166 -0.9510566 4.48541e-8 0.2458014 -0.7565001 -0.6060439 0.8090169 -0.5877853 3.71012e-8 1 0 1.51768e-8 0.809017 0.5877852 -1.25446e-8 0.3090169 0.9510566 -3.54744e-8 -0.3090172 0.9510565 -4.48541e-8 -0.8090172 0.587785 -3.71012e-8 -1 -6.5631e-7 -1.51768e-8 -0.8090165 -0.587786 1.25446e-8 -0.3090165 -0.9510567 3.54744e-8 + + + + + + + + + + + + + + + + + +

0 0 42 0 1 1 43 1 2 2 2 2 0 0 44 3 2 2 2 2 3 3 3 4 0 0 45 5 3 3 3 4 4 4 4 6 0 0 46 7 4 4 4 6 5 5 5 8 0 0 47 9 5 5 5 8 6 6 6 10 0 0 48 11 6 6 6 10 7 7 7 12 0 0 49 13 7 7 7 12 8 8 8 14 0 0 50 15 8 8 8 14 9 9 9 16 0 0 51 17 9 9 9 16 10 10 10 18 0 0 0 19 10 10 10 18 1 1 1 20 1 1 52 21 11 11 53 22 12 12 12 23 1 1 54 24 12 12 12 23 2 2 2 2 2 2 2 2 12 12 12 23 13 13 13 25 2 2 2 2 13 13 13 25 3 3 3 4 3 3 3 4 13 13 13 25 14 14 14 26 3 3 3 4 14 14 14 26 4 4 4 6 4 4 4 6 14 14 14 26 15 15 15 27 4 4 4 6 15 15 15 27 5 5 5 8 5 5 5 8 15 15 15 27 16 16 16 28 5 5 5 8 16 16 16 28 6 6 6 10 6 6 6 10 16 16 16 28 17 17 17 29 6 6 6 10 17 17 17 29 7 7 7 12 7 7 7 12 17 17 17 29 18 18 18 30 7 7 7 12 18 18 18 30 8 8 8 14 8 8 8 14 18 18 18 30 19 19 19 31 8 8 8 14 19 19 19 31 9 9 9 16 9 9 9 16 19 19 19 31 20 20 20 32 9 9 9 16 20 20 20 32 10 10 10 18 10 10 10 18 20 20 20 32 11 11 11 33 10 10 10 18 11 11 11 33 1 1 1 20 11 11 55 34 21 21 56 35 22 22 22 36 11 11 57 37 22 22 22 36 12 12 12 23 12 12 12 23 22 22 22 36 23 23 23 38 12 12 12 23 23 23 23 38 13 13 13 25 13 13 13 25 23 23 23 38 24 24 24 39 13 13 13 25 24 24 24 39 14 14 14 26 14 14 14 26 24 24 24 39 25 25 25 40 14 14 14 26 25 25 25 40 15 15 15 27 15 15 15 27 25 25 25 40 26 26 26 41 15 15 15 27 26 26 26 41 16 16 16 28 16 16 16 28 26 26 26 41 27 27 27 42 16 16 16 28 27 27 27 42 17 17 17 29 17 17 17 29 27 27 27 42 28 28 28 43 17 17 17 29 28 28 28 43 18 18 18 30 18 18 18 30 28 28 28 43 29 29 29 44 18 18 18 30 29 29 29 44 19 19 19 31 19 19 19 31 29 29 29 44 30 30 30 45 19 19 19 31 30 30 30 45 20 20 20 32 20 20 20 32 30 30 30 45 21 21 21 46 20 20 20 32 21 21 21 46 11 11 11 33 21 21 58 47 31 31 59 48 32 32 32 49 21 21 60 50 32 32 32 49 22 22 22 36 22 22 22 36 32 32 32 49 33 33 33 51 22 22 22 36 33 33 33 51 23 23 23 38 23 23 23 38 33 33 33 51 34 34 34 52 23 23 23 38 34 34 34 52 24 24 24 39 24 24 24 39 34 34 34 52 35 35 35 53 24 24 24 39 35 35 35 53 25 25 25 40 25 25 25 40 35 35 35 53 36 36 36 54 25 25 25 40 36 36 36 54 26 26 26 41 26 26 26 41 36 36 36 54 37 37 37 55 26 26 26 41 37 37 37 55 27 27 27 42 27 27 27 42 37 37 37 55 38 38 38 56 27 27 27 42 38 38 38 56 28 28 28 43 28 28 28 43 38 38 38 56 39 39 39 57 28 28 28 43 39 39 39 57 29 29 29 44 29 29 29 44 39 39 39 57 40 40 40 58 29 29 29 44 40 40 40 58 30 30 30 45 30 30 30 45 40 40 40 58 31 31 31 59 30 30 30 45 31 31 31 59 21 21 21 46 41 41 61 60 32 32 32 49 31 31 62 61 41 41 63 62 33 33 33 51 32 32 32 49 41 41 64 63 34 34 34 52 33 33 33 51 41 41 65 64 35 35 35 53 34 34 34 52 41 41 66 65 36 36 36 54 35 35 35 53 41 41 67 66 37 37 37 55 36 36 36 54 41 41 68 67 38 38 38 56 37 37 37 55 41 41 69 68 39 39 39 57 38 38 38 56 41 41 70 69 40 40 40 58 39 39 39 57 41 41 41 70 31 31 31 59 40 40 40 58

+
+
+
+ + + + 0 0 5 -1.54543e-7 3.535534 3.535534 -2.5 2.5 3.535534 -3.535534 -3.09086e-7 3.535534 -2.5 -2.5 3.535534 4.21608e-8 -3.535534 3.535534 2.5 -2.5 3.535534 3.535534 -1.0677e-6 3.535534 2.500001 2.499999 3.535534 -2.18557e-7 5 -2.18557e-7 -3.535534 3.535534 -2.18557e-7 -5 -4.37114e-7 -2.18557e-7 -3.535533 -3.535534 -2.18557e-7 5.96244e-8 -5 -2.18557e-7 3.535533 -3.535534 -2.18557e-7 5 -1.50996e-6 -2.18557e-7 3.535536 3.535532 -2.18557e-7 -1.54543e-7 3.535534 -3.535534 -2.5 2.5 -3.535534 -3.535534 -3.09086e-7 -3.535534 -2.5 -2.5 -3.535534 4.21608e-8 -3.535534 -3.535534 2.5 -2.5 -3.535534 3.535534 -1.0677e-6 -3.535534 2.500001 2.499999 -3.535534 0 0 -5 + + + + + + + + + + 9.88537e-9 3.95415e-8 1 6.9026e-8 0.7486158 0.6630041 -0.5293514 0.5293513 0.6630041 -0.7486159 -8.05304e-8 0.6630041 -0.5293513 -0.5293514 0.663004 1.15043e-8 -0.7486158 0.6630041 0.5293513 -0.5293514 0.6630041 0.7486158 -2.01326e-7 0.6630041 0.5293515 0.5293512 0.6630041 7.27742e-8 1 -1.2129e-8 -0.7071067 0.7071068 -3.63871e-8 -1 -9.70323e-8 -1.81936e-8 -0.7071068 -0.7071068 -1.2129e-8 0 -1 3.03226e-8 0.7071066 -0.7071069 0 1 -3.21419e-7 -4.24516e-8 0.7071069 0.7071065 -1.2129e-8 6.32739e-8 0.7486157 -0.6630041 -0.5293513 0.5293513 -0.6630042 -0.7486158 -6.9026e-8 -0.6630042 -0.5293512 -0.5293514 -0.663004 2.30087e-8 -0.7486158 -0.6630041 0.5293512 -0.5293514 -0.6630041 0.7486158 -1.86945e-7 -0.6630042 0.5293514 0.5293511 -0.6630041 9.88537e-9 2.82439e-8 -1 + + + + + + + + + + 0.5 0.5 5.5 0.5000007 4.035534 4.035534 -2 3 4.035534 -3.035534 0.5000005 4.035534 -2 -2 4.035534 0.4999992 -3.035534 4.035534 2.999999 -2.000001 4.035534 4.035534 0.4999981 4.035534 3.000002 2.999998 4.035534 0.500001 5.5 0.4999998 -3.035533 4.035535 0.4999998 -4.5 0.5000008 0.4999998 -3.035534 -3.035533 0.4999998 0.4999989 -4.5 0.4999998 4.035532 -3.035535 0.4999998 5.5 0.4999973 0.4999998 4.035537 4.035532 0.4999998 0.5000007 4.035534 -3.035534 -2 3 -3.035534 -3.035534 0.5000005 -3.035534 -2 -2 -3.035534 0.4999992 -3.035534 -3.035534 2.999999 -2.000001 -3.035534 4.035534 0.4999981 -3.035534 3.000002 2.999998 -3.035534 0.5 0.5 -4.5 + + + + + + + + + + 0.954739 2.15833e-7 -9.43795e-9 0.8185035 -0.07019225 0.07925587 0.7049205 -0.02852993 0.5855967 0.6144843 1.61232e-7 0.6938309 0.7364077 -0.004867014 0.5840719 0.8185036 -0.07019225 -0.07925597 0.7049205 -0.02852995 -0.5855966 0.6144844 1.36677e-7 -0.6938309 0.7364076 -0.004866982 -0.584072 0.7071067 -5.4318e-8 -0.2357023 0.2724478 0.2724477 -0.03612882 -1.08617e-14 7.48297e-8 -5.34923e-9 0.2724474 -0.2724474 0.03612879 0.7071068 7.1471e-9 0.2357022 0.2724478 0.2724477 0.03612882 3.23075e-14 2.23624e-7 1.56345e-8 0.2724472 -0.2724473 -0.03612873 0.8185034 0.07019258 0.07925641 0.7364079 0.004867376 -0.5840717 0.6144844 1.60997e-7 -0.6938308 0.7049204 0.02853028 -0.5855968 0.8185035 0.07019259 -0.07925631 0.736408 0.004867405 0.5840716 0.6144844 1.54593e-7 0.6938308 0.7049204 0.02853028 0.5855969 0.954739 2.15833e-7 9.43795e-9 + + + + + + + + + + 2.26065e-7 -1 3.95415e-8 -0.1282771 -0.6575266 0.742431 -0.3587224 -0.8478319 0.3905115 1.75624e-7 -1 7.68394e-8 0.3255071 -0.8483869 -0.4174744 -0.1282772 -0.6575266 -0.742431 -0.3587225 -0.8478319 -0.3905116 -5.29431e-8 -1 -2.43878e-7 0.325507 -0.848387 0.4174741 0.3162278 -1.15066e-8 0.9486833 0.06601453 0.06601457 0.9956325 -2.5066e-8 0.07130344 0.9974547 0.06601458 -0.06601456 -0.9956325 0.3162277 -2.87665e-8 -0.9486833 0.06601455 0.06601453 -0.9956325 -1.99311e-8 0.06974413 -0.9975649 0.06601449 -0.06601451 0.9956325 -0.1282779 0.6575266 0.7424309 0.3255066 0.848387 0.4174746 -1.66844e-7 1 8.42766e-8 -0.3587228 0.8478319 -0.3905113 -0.1282778 0.6575265 -0.7424309 0.3255067 0.8483869 -0.4174747 2.93614e-8 1 -2.48815e-7 -0.3587227 0.847832 0.3905111 -2.26065e-7 1 2.82439e-8 + + + + + + + + + + + + + + + + + +

0 0 0 0 1 1 1 1 2 2 2 2 0 0 0 0 2 2 2 2 3 3 3 3 0 0 0 0 3 3 3 3 4 4 4 4 0 0 0 0 4 4 4 4 5 5 5 5 0 0 0 0 5 5 5 5 6 6 6 6 0 0 0 0 6 6 6 6 7 7 7 7 0 0 0 0 7 7 7 7 8 8 8 8 0 0 0 0 8 8 8 8 1 1 1 1 1 1 1 1 9 9 9 9 10 10 10 10 1 1 1 1 10 10 10 10 2 2 2 2 2 2 2 2 10 10 10 10 11 11 11 11 2 2 2 2 11 11 11 11 3 3 3 3 3 3 3 3 11 11 11 11 12 12 12 12 3 3 3 3 12 12 12 12 4 4 4 4 4 4 4 4 12 12 12 12 13 13 13 13 4 4 4 4 13 13 13 13 5 5 5 5 5 5 5 5 13 13 13 13 14 14 14 14 5 5 5 5 14 14 14 14 6 6 6 6 6 6 6 6 14 14 14 14 15 15 15 15 6 6 6 6 15 15 15 15 7 7 7 7 7 7 7 7 15 15 15 15 16 16 16 16 7 7 7 7 16 16 16 16 8 8 8 8 8 8 8 8 16 16 16 16 9 9 9 9 8 8 8 8 9 9 9 9 1 1 1 1 9 9 9 9 17 17 17 17 18 18 18 18 9 9 9 9 18 18 18 18 10 10 10 10 10 10 10 10 18 18 18 18 19 19 19 19 10 10 10 10 19 19 19 19 11 11 11 11 11 11 11 11 19 19 19 19 20 20 20 20 11 11 11 11 20 20 20 20 12 12 12 12 12 12 12 12 20 20 20 20 21 21 21 21 12 12 12 12 21 21 21 21 13 13 13 13 13 13 13 13 21 21 21 21 22 22 22 22 13 13 13 13 22 22 22 22 14 14 14 14 14 14 14 14 22 22 22 22 23 23 23 23 14 14 14 14 23 23 23 23 15 15 15 15 15 15 15 15 23 23 23 23 24 24 24 24 15 15 15 15 24 24 24 24 16 16 16 16 16 16 16 16 24 24 24 24 17 17 17 17 16 16 16 16 17 17 17 17 9 9 9 9 25 25 25 25 18 18 18 18 17 17 17 17 25 25 25 25 19 19 19 19 18 18 18 18 25 25 25 25 20 20 20 20 19 19 19 19 25 25 25 25 21 21 21 21 20 20 20 20 25 25 25 25 22 22 22 22 21 21 21 21 25 25 25 25 23 23 23 23 22 22 22 22 25 25 25 25 24 24 24 24 23 23 23 23 25 25 25 25 17 17 17 17 24 24 24 24

+
+
+
+ + + + 0 0 5 -1.89276e-7 4.330127 2.5 -3.75 2.165064 2.5 -3.75 -2.165064 2.5 5.16362e-8 -4.330127 2.5 3.75 -2.165064 2.5 3.750001 2.165062 2.5 -1.89276e-7 4.330127 -2.5 -3.75 2.165064 -2.5 -3.75 -2.165063 -2.5 5.16362e-8 -4.330127 -2.5 3.75 -2.165064 -2.5 3.750001 2.165062 -2.5 0 0 -5 + + + + + + + + + + -1.99952e-8 1.33301e-8 1 7.03834e-8 0.8973439 0.441332 -0.7771226 0.448672 0.441332 -0.7771226 -0.448672 0.441332 -3.51917e-8 -0.8973439 0.441332 0.7771224 -0.4486721 0.441332 0.7771227 0.4486718 0.441332 8.44601e-8 0.8973438 -0.4413321 -0.7771226 0.4486719 -0.4413322 -0.7771226 -0.4486719 -0.4413321 -4.92684e-8 -0.8973439 -0.4413321 0.7771225 -0.4486721 -0.4413321 0.7771227 0.4486717 -0.4413321 -6.66506e-9 1.33301e-8 -1 + + + + + + + + + + 0.9166666 1 0.999001 0.9999999 0.6666667 0.9990011 0.1666667 0.6666666 0.9990012 0.3333333 0.6666667 0.9990011 0.5 0.6666667 0.9990011 0.6666666 0.6666667 0.999001 0.8333333 0.6666667 0.999001 0.9999999 0.3333333 0.999001 0.1666666 0.3333333 0.9990011 0.3333333 0.3333333 0.9990011 0.5 0.3333333 0.999001 0.6666666 0.3333333 0.999001 0.8333332 0.3333333 0.9990009 0.9166666 0 0.999001 0.08333331 1 0.999001 -5.96046e-8 0.6666667 0.9990011 0.25 1 0.999001 0.4166666 1 0.999001 0.5833333 1 0.999001 0.7499999 1 0.999001 -5.96046e-8 0.6666667 0.9990011 -5.96046e-8 0.3333333 0.999001 -5.96046e-8 0.6666667 0.9990011 0.08333328 0 0.999001 -5.96046e-8 0.3333333 0.999001 0.25 0 0.999001 0.4166666 0 0.999001 0.5833333 0 0.999001 0.7499999 0 0.999001 + + + + + + + + + + -0.8660253 -0.5000002 -1.06513e-8 -0.8660252 -0.09738706 0.1980136 -0.4161448 -0.7597387 0.03960266 -3.09715e-7 -1 1.33301e-8 0.4498806 -0.7402613 0.03960252 0.8660254 -0.5 2.39814e-8 0.8660254 0.01947738 0.03960269 0.8660254 0.4999999 1.06513e-8 0.416145 0.7597387 0.03960266 3.30363e-7 1 -1.33301e-8 -0.4498804 0.7402614 0.03960264 -0.8660253 0.5000001 -2.39814e-8 -0.8660254 0.09738707 -0.1980133 -0.8660254 -0.09738693 0.1980133 -0.8660254 -0.09738697 -0.1980133 -0.4498806 -0.7402613 0.03960274 -0.8660254 -0.09738709 0.1980137 0.4161448 -0.7597387 0.03960259 0.8660254 -0.01947747 0.03960272 0.4498808 0.7402612 0.03960273 -0.4161446 0.7597387 0.0396026 -0.8660254 0.09738708 0.1980132 -0.8660254 -0.5 -8.92948e-10 -0.8660254 -0.09738697 -0.1980133 0 -1 -1.33301e-8 0.8660254 -0.5 -1.24372e-8 0.8660255 0.4999998 8.92944e-10 2.75302e-7 1 1.33301e-8 -0.8660254 0.5 1.24372e-8 + + + + + + + + + + -0.5000002 0.8660253 -2.15418e-8 -0.2469142 0.4276673 -0.8695597 -0.4071567 0.176304 -0.896181 -1 3.09715e-7 -1.99952e-8 -0.3562622 -0.2644559 -0.896181 -0.5 -0.8660254 1.54663e-9 0.05089461 -0.4407601 -0.896181 0.4999999 -0.8660254 2.15418e-8 0.4071567 -0.1763041 -0.8961809 1 -3.30363e-7 1.99952e-8 0.3562622 0.2644559 -0.896181 0.5000001 0.8660253 -1.54663e-9 0.2469139 0.4276673 -0.8695598 -0.2469138 0.4276673 -0.8695598 0.2469139 -0.4276674 -0.8695598 0.3562622 -0.2644562 -0.8961809 -0.2469142 0.4276672 -0.8695597 0.4071568 0.1763041 -0.8961809 0.05089469 0.4407602 -0.8961809 -0.3562621 0.2644562 -0.8961809 -0.4071568 -0.176304 -0.8961809 -0.2469138 -0.4276673 -0.8695598 0.5 -0.8660254 -1.48767e-8 0.2469139 -0.4276674 -0.8695598 1 0 -6.66506e-9 0.5 0.8660254 8.21169e-9 -0.4999998 0.8660255 1.48767e-8 -1 2.75302e-7 6.66506e-9 -0.5 -0.8660254 -8.21169e-9 + + + + + + + + + + + + + + + + + +

0 0 14 0 1 1 15 1 2 2 2 2 0 0 16 3 2 2 2 2 3 3 3 4 0 0 17 5 3 3 3 4 4 4 4 6 0 0 18 7 4 4 4 6 5 5 5 8 0 0 19 9 5 5 5 8 6 6 6 10 0 0 0 11 6 6 6 10 1 1 1 12 1 1 20 13 7 7 21 14 8 8 8 15 1 1 22 16 8 8 8 15 2 2 2 2 2 2 2 2 8 8 8 15 9 9 9 17 2 2 2 2 9 9 9 17 3 3 3 4 3 3 3 4 9 9 9 17 10 10 10 18 3 3 3 4 10 10 10 18 4 4 4 6 4 4 4 6 10 10 10 18 11 11 11 19 4 4 4 6 11 11 11 19 5 5 5 8 5 5 5 8 11 11 11 19 12 12 12 20 5 5 5 8 12 12 12 20 6 6 6 10 6 6 6 10 12 12 12 20 7 7 7 21 6 6 6 10 7 7 7 21 1 1 1 12 13 13 23 22 8 8 8 15 7 7 24 23 13 13 25 24 9 9 9 17 8 8 8 15 13 13 26 25 10 10 10 18 9 9 9 17 13 13 27 26 11 11 11 19 10 10 10 18 13 13 28 27 12 12 12 20 11 11 11 19 13 13 13 28 7 7 7 21 12 12 12 20

+
+
+
+
+ + + + + 0 0 0 + + + + + + + + + + + + + + + + + + + + 1 + 1 + 1 + 1 + + + + + + + + + + + + + + 1 + 1 + 1 + 1 + + + + + + + + + + + + + + 1 + 1 + 1 + 1 + + + + + + + + + + + + + + 1 + 1 + 1 + 1 + + + + + + + + +
\ No newline at end of file diff --git a/Templates/Empty/game/art/environment/LightVolume_Sphere.cs b/Templates/Empty/game/art/environment/LightVolume_Sphere.cs new file mode 100644 index 0000000000..475da3bee9 --- /dev/null +++ b/Templates/Empty/game/art/environment/LightVolume_Sphere.cs @@ -0,0 +1,8 @@ + +singleton TSShapeConstructor(LightVolume_SphereDAE) +{ + baseShape = "./LightVolume_Sphere.DAE"; + lodType = "TrailingNumber"; + neverImport = "env*"; + loadLights = "0"; +}; diff --git a/Templates/Empty/game/art/environment/LightVolume_Sphere.dts b/Templates/Empty/game/art/environment/LightVolume_Sphere.dts new file mode 100644 index 0000000000..223993dd63 Binary files /dev/null and b/Templates/Empty/game/art/environment/LightVolume_Sphere.dts differ diff --git a/Templates/Empty/game/core/scripts/client/postFx/glow.cs b/Templates/Empty/game/core/scripts/client/postFx/glow.cs index 3cc946b04e..7eeb1a83d5 100644 --- a/Templates/Empty/game/core/scripts/client/postFx/glow.cs +++ b/Templates/Empty/game/core/scripts/client/postFx/glow.cs @@ -106,3 +106,72 @@ singleton PostEffect( GlowPostFx ) target = "$backBuffer"; }; }; + + +singleton ShaderData( PFX_VolFogGlowBlurVertShader ) +{ + DXVertexShaderFile = "shaders/common/postFx/glowBlurV.hlsl"; + DXPixelShaderFile = "shaders/common/postFx/VolFogGlowP.hlsl"; + defines = "BLUR_DIR=float2(0.0,1.0)"; + samplerNames[0] = "$diffuseMap"; + pixVersion = 2.0; +}; +singleton ShaderData( PFX_VolFogGlowBlurHorzShader : PFX_VolFogGlowBlurVertShader ) +{ + DXVertexShaderFile = "shaders/common/postFx/glowBlurV.hlsl"; + DXPixelShaderFile = "shaders/common/postFx/VolFogGlowP.hlsl"; + defines = "BLUR_DIR=float2(1.0,0.0)"; +}; + +$VolFogGlowPostFx::glowStrength = 0.3; + +singleton PostEffect( VolFogGlowPostFx ) +{ + // Do not allow the glow effect to work in reflection + // passes by default so we don't do the extra drawing. + allowReflectPass = false; + renderTime = "PFXAfterBin"; + renderBin = "FogBin"; + renderPriority = 1; + // First we down sample the glow buffer. + shader = PFX_PassthruShader; + stateBlock = PFX_DefaultStateBlock; + texture[0] = "$backbuffer"; + target = "$outTex"; + targetScale = "0.5 0.5"; + isEnabled = true; + // Blur vertically + new PostEffect() + { + shader = PFX_VolFogGlowBlurVertShader; + stateBlock = PFX_DefaultStateBlock; + internalName = "vert"; + texture[0] = "$inTex"; + target = "$outTex"; + }; + // Blur horizontally + new PostEffect() + { + shader = PFX_VolFogGlowBlurHorzShader; + stateBlock = PFX_DefaultStateBlock; + internalName = "hor"; + texture[0] = "$inTex"; + target = "$outTex"; + }; + // Upsample and combine with the back buffer. + new PostEffect() + { + shader = PFX_PassthruShader; + stateBlock = PFX_GlowCombineStateBlock; + texture[0] = "$inTex"; + target = "$backBuffer"; + }; +}; + +function VolFogGlowPostFx::setShaderConsts( %this ) +{ + %vp=%this-->vert; + %vp.setShaderConst( "$strength", $VolFogGlowPostFx::glowStrength ); + %vp=%this-->hor; + %vp.setShaderConst( "$strength", $VolFogGlowPostFx::glowStrength ); +} \ No newline at end of file diff --git a/Templates/Empty/game/core/scripts/client/postFx/postFxManager.gui.settings.cs b/Templates/Empty/game/core/scripts/client/postFx/postFxManager.gui.settings.cs index a6c29f58a3..c26b0898bb 100644 --- a/Templates/Empty/game/core/scripts/client/postFx/postFxManager.gui.settings.cs +++ b/Templates/Empty/game/core/scripts/client/postFx/postFxManager.gui.settings.cs @@ -70,6 +70,7 @@ postVerbose("% - PostFX Manager - PostFX disabled"); } + VolFogGlowPostFx.disable(); } function PostFXManager::settingsEffectSetEnabled(%this, %sName, %bEnable) diff --git a/Templates/Empty/game/core/scripts/client/renderManager.cs b/Templates/Empty/game/core/scripts/client/renderManager.cs index dcd1628fe4..5734bbce60 100644 --- a/Templates/Empty/game/core/scripts/client/renderManager.cs +++ b/Templates/Empty/game/core/scripts/client/renderManager.cs @@ -75,6 +75,8 @@ function initRenderManager() DiffuseRenderPassManager.addManager( new RenderParticleMgr() { renderOrder = 1.35; processAddOrder = 1.35; } ); DiffuseRenderPassManager.addManager( new RenderTranslucentMgr() { renderOrder = 1.4; processAddOrder = 1.4; } ); + DiffuseRenderPassManager.addManager(new RenderObjectMgr(FogBin){ bintype = "ObjectVolumetricFog"; renderOrder = 1.45; processAddOrder = 1.45; } ); + // Note that the GlowPostFx is triggered after this bin. DiffuseRenderPassManager.addManager( new RenderGlowMgr(GlowBin) { renderOrder = 1.5; processAddOrder = 1.5; } ); diff --git a/Templates/Empty/game/core/scripts/client/shaders.cs b/Templates/Empty/game/core/scripts/client/shaders.cs index 98d0529ebe..0c140e71d0 100644 --- a/Templates/Empty/game/core/scripts/client/shaders.cs +++ b/Templates/Empty/game/core/scripts/client/shaders.cs @@ -101,4 +101,23 @@ singleton ShaderData( OffscreenParticleCompositeShaderData ) samplerNames[1] = "$alphaMap"; pixVersion = 1.4; +}; + +singleton ShaderData( VolumetricFogPrePassShader ) +{ +DXVertexShaderFile = "shaders/common/VolumetricFog/VFogPreV.hlsl"; +DXPixelShaderFile = "shaders/common/VolumetricFog/VFogPreP.hlsl"; +pixVersion = 3.0; +}; +singleton ShaderData( VolumetricFogShader ) +{ +DXVertexShaderFile = "shaders/common/VolumetricFog/VFogV.hlsl"; +DXPixelShaderFile = "shaders/common/VolumetricFog/VFogP.hlsl"; +pixVersion = 3.0; +}; +singleton ShaderData( VolumetricFogReflectionShader ) +{ +DXVertexShaderFile = "shaders/common/VolumetricFog/VFogPreV.hlsl"; +DXPixelShaderFile = "shaders/common/VolumetricFog/VFogRefl.hlsl"; +pixVersion = 3.0; }; \ No newline at end of file diff --git a/Templates/Empty/game/scripts/server/VolumetricFog.cs b/Templates/Empty/game/scripts/server/VolumetricFog.cs new file mode 100644 index 0000000000..020b30d86b --- /dev/null +++ b/Templates/Empty/game/scripts/server/VolumetricFog.cs @@ -0,0 +1,114 @@ +//----------------------------------------------------------------------------- +// Copyright (c) 2014 R.G.S. - Richards Game Studio, the Netherlands +// http://www.richardsgamestudio.com/ +// +// If you find this code useful or you are feeling particularly generous I +// would ask that you please go to http://www.richardsgamestudio.com/ then +// choose Donations from the menu on the left side and make a donation to +// Richards Game Studio. It will be highly appreciated. +// +// The MIT License: +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +// IN THE SOFTWARE. +//----------------------------------------------------------------------------- + +function VolumetricFog::onEnterFog(%this,%obj) +{ + // This method is called whenever the control object (Camera or Player) + // %obj enters the fog area. + + // echo("Control Object " @ %obj @ " enters fog " @ %this); +} + +function VolumetricFog::onLeaveFog(%this,%obj) +{ + // This method is called whenever the control object (Camera or Player) + // %obj leaves the fog area. + + // echo("Control Object " @ %obj @ " left fog " @ %this); +} + +function VolumetricFog::Dissolve(%this,%speed,%delete) +{ + // This method dissolves the fog at speed milliseconds + %this.isBuilding = true; + if (%this.FogDensity > 0) + { + %this.setFogDensity(%this.FogDensity - 0.005); + %this.schedule(%speed,Dissolve,%speed,%delete); + } + else + { + %this.isBuilding = false; + %this.SetFogDensity(0.0); + if (%delete !$= "" && %delete !$="0" && %delete !$="false") + %this.schedule(250,delete); + } +} + +function VolumetricFog::Thicken(%this,%speed, %end_density) +{ + // This method thickens the fog at speed milliseconds to a density of %end_density + + %this.isBuilding = true; + if (%this.FogDensity + 0.005 < %end_density) + { + %this.setFogDensity(%this.FogDensity + 0.005); + %this.schedule(%speed,Thicken,%speed, %end_density); + } + else + { + %this.setFogDensity(%end_density); + %this.isBuilding = false; + } +} + +function GenerateFog(%pos,%scale,%color,%density) +{ + // This function can be used to generate some fog caused by massive gunfire etc. + // Change shape and modulation data to your likings. + + %fog=new VolumetricFog() { + shapeName = "art/environment/Fog_Sphere.dts"; + fogColor = %color; + fogDensity = "0.0"; + ignoreWater = "0"; + MinSize = "250"; + FadeSize = "750"; + texture = "art/environment/FogMod_heavy.dds"; + tiles = "1"; + modStrength = "0.2"; + PrimSpeed = "-0.01 0.04"; + SecSpeed = "0.02 0.02"; + position = %pos; + rotation = "0 0 1 20.354"; + scale = %scale; + canSave = "1"; + canSaveDynamicFields = "1"; + }; + + if (isObject(%fog)) + { + MissionCleanup.add(%fog); + + %fog.Thicken(500,%density); + } + + return %fog; +} \ No newline at end of file diff --git a/Templates/Empty/game/scripts/server/scriptExec.cs b/Templates/Empty/game/scripts/server/scriptExec.cs index f2f2d1f586..d2318f8f37 100644 --- a/Templates/Empty/game/scripts/server/scriptExec.cs +++ b/Templates/Empty/game/scripts/server/scriptExec.cs @@ -22,3 +22,5 @@ // Load up all scripts. This function is called when // a server is constructed. + +exec("./VolumetricFog.cs"); \ No newline at end of file diff --git a/Templates/Empty/game/shaders/common/VolumetricFog/VFogP.hlsl b/Templates/Empty/game/shaders/common/VolumetricFog/VFogP.hlsl new file mode 100644 index 0000000000..0f12d5785f --- /dev/null +++ b/Templates/Empty/game/shaders/common/VolumetricFog/VFogP.hlsl @@ -0,0 +1,89 @@ +//----------------------------------------------------------------------------- +// Copyright (c) 2014 R.G.S. - Richards Game Studio, the Netherlands +// http://www.richardsgamestudio.com/ +// +// If you find this code useful or you are feeling particularly generous I +// would ask that you please go to http://www.richardsgamestudio.com/ then +// choose Donations from the menu on the left side and make a donation to +// Richards Game Studio. It will be highly appreciated. +// +// The MIT License: +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +// IN THE SOFTWARE. +//----------------------------------------------------------------------------- + +// Volumetric Fog final pixel shader V2.00 + +#include "shadergen:/autogenConditioners.h" + +uniform sampler2D prepassTex : register(S0); +uniform sampler2D depthBuffer : register(S1); +uniform sampler2D frontBuffer : register(S2); +uniform sampler2D density : register(S3); + +uniform float accumTime; +uniform float4 fogColor; +uniform float fogDensity; +uniform float preBias; +uniform float textured; +uniform float modstrength; +uniform float4 modspeed;//xy speed layer 1, zw speed layer 2 +uniform float2 viewpoint; +uniform float2 texscale; +uniform float numtiles; +uniform float fadesize; +uniform float2 PixelSize; + +struct ConnectData +{ + float4 hpos : POSITION; + float4 htpos : TEXCOORD0; + float2 uv0 : TEXCOORD1; +}; + +float4 main( ConnectData IN ) : COLOR0 +{ + float2 uvscreen=((IN.htpos.xy/IN.htpos.w) + 1.0 ) / 2.0; + uvscreen.y = 1.0 - uvscreen.y; + + float obj_test = prepassUncondition( prepassTex, uvscreen).w * preBias; + float depth = tex2D(depthBuffer,uvscreen).r; + float front = tex2D(frontBuffer,uvscreen).r; + + if (depth <= front) + return float4(0,0,0,0); + else if ( obj_test < depth ) + depth = obj_test; + if ( front >= 0.0) + depth -= front; + + float diff = 1.0; + float3 col = fogColor.rgb; + if (textured != 0.0) + { + float2 offset = viewpoint + ((-0.5 + (texscale * uvscreen)) * numtiles); + + float2 mod1 = tex2D(density,(offset + (modspeed.xy*accumTime))).rg; + float2 mod2= tex2D(density,(offset + (modspeed.zw*accumTime))).rg; + diff = (mod2.r + mod1.r) * modstrength; + col *= (2.0 - ((mod1.g + mod2.g) * fadesize))/2.0; + } + + return float4(col, 1.0 - saturate(exp(-fogDensity * depth * diff * fadesize))); +} diff --git a/Templates/Empty/game/shaders/common/VolumetricFog/VFogPreP.hlsl b/Templates/Empty/game/shaders/common/VolumetricFog/VFogPreP.hlsl new file mode 100644 index 0000000000..7100356660 --- /dev/null +++ b/Templates/Empty/game/shaders/common/VolumetricFog/VFogPreP.hlsl @@ -0,0 +1,47 @@ +//----------------------------------------------------------------------------- +// Copyright (c) 2014 R.G.S. - Richards Game Studio, the Netherlands +// http://www.richardsgamestudio.com/ +// +// If you find this code useful or you are feeling particularly generous I +// would ask that you please go to http://www.richardsgamestudio.com/ then +// choose Donations from the menu on the left side and make a donation to +// Richards Game Studio. It will be highly appreciated. +// +// The MIT License: +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +// IN THE SOFTWARE. +//----------------------------------------------------------------------------- + +// Volumetric Fog prepass pixel shader V1.00 + +struct ConnectData +{ + float4 hpos : POSITION; + float4 pos : TEXCOORD0; +}; + +float4 main( ConnectData IN ) : COLOR0 +{ + float OUT; + + clip( IN.pos.w ); + OUT = IN.pos.w; + + return float4(OUT,0,0,1); +} diff --git a/Templates/Empty/game/shaders/common/VolumetricFog/VFogPreV.hlsl b/Templates/Empty/game/shaders/common/VolumetricFog/VFogPreV.hlsl new file mode 100644 index 0000000000..16001c01bf --- /dev/null +++ b/Templates/Empty/game/shaders/common/VolumetricFog/VFogPreV.hlsl @@ -0,0 +1,54 @@ +//----------------------------------------------------------------------------- +// Copyright (c) 2014 R.G.S. - Richards Game Studio, the Netherlands +// http://www.richardsgamestudio.com/ +// +// If you find this code useful or you are feeling particularly generous I +// would ask that you please go to http://www.richardsgamestudio.com/ then +// choose Donations from the menu on the left side and make a donation to +// Richards Game Studio. It will be highly appreciated. +// +// The MIT License: +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +// IN THE SOFTWARE. +//----------------------------------------------------------------------------- + +// Volumetric Fog prepass vertex shader V1.00 + +#include "shaders/common/hlslstructs.h" + +struct ConnectData +{ + float4 hpos : POSITION; + float4 pos : TEXCOORD0; +}; + +uniform float4x4 modelView; + +ConnectData main( VertexIn_P IN) +{ + ConnectData OUT; + + float4 inPos = IN.pos; + inPos.w = 1.0; + + OUT.hpos = mul( modelView, inPos ); + OUT.pos = OUT.hpos; + + return OUT; +} diff --git a/Templates/Empty/game/shaders/common/VolumetricFog/VFogRefl.hlsl b/Templates/Empty/game/shaders/common/VolumetricFog/VFogRefl.hlsl new file mode 100644 index 0000000000..078d1547dc --- /dev/null +++ b/Templates/Empty/game/shaders/common/VolumetricFog/VFogRefl.hlsl @@ -0,0 +1,45 @@ +//----------------------------------------------------------------------------- +// Copyright (c) 2014 R.G.S. - Richards Game Studio, the Netherlands +// http://www.richardsgamestudio.com/ +// +// If you find this code useful or you are feeling particularly generous I +// would ask that you please go to http://www.richardsgamestudio.com/ then +// choose Donations from the menu on the left side and make a donation to +// Richards Game Studio. It will be highly appreciated. +// +// The MIT License: +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +// IN THE SOFTWARE. +//----------------------------------------------------------------------------- + +// Volumetric Fog Reflection pixel shader V1.00 +uniform float4 fogColor; +uniform float fogDensity; +uniform float reflStrength; + +struct ConnectData +{ + float4 hpos : POSITION; + float4 pos : TEXCOORD0; +}; + +float4 main( ConnectData IN ) : COLOR0 +{ + return float4(fogColor.rgb,saturate(fogDensity*reflStrength)); +} diff --git a/Templates/Empty/game/shaders/common/VolumetricFog/VFogV.hlsl b/Templates/Empty/game/shaders/common/VolumetricFog/VFogV.hlsl new file mode 100644 index 0000000000..31eafccf38 --- /dev/null +++ b/Templates/Empty/game/shaders/common/VolumetricFog/VFogV.hlsl @@ -0,0 +1,53 @@ +//----------------------------------------------------------------------------- +// Copyright (c) 2014 R.G.S. - Richards Game Studio, the Netherlands +// http://www.richardsgamestudio.com/ +// +// If you find this code useful or you are feeling particularly generous I +// would ask that you please go to http://www.richardsgamestudio.com/ then +// choose Donations from the menu on the left side and make a donation to +// Richards Game Studio. It will be highly appreciated. +// +// The MIT License: +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +// IN THE SOFTWARE. +//----------------------------------------------------------------------------- + +// Volumetric Fog final vertex shader V1.00 + +#include "shaders/common/hlslstructs.h" + +struct ConnectData +{ + float4 hpos : POSITION; + float4 htpos : TEXCOORD0; + float2 uv0 : TEXCOORD1; +}; + +uniform float4x4 modelView; + +ConnectData main( VertexIn_PNT IN) +{ + ConnectData OUT; + + OUT.hpos = mul(modelView, IN.pos); + OUT.htpos = OUT.hpos; + OUT.uv0 = IN.uv0; + + return OUT; +} diff --git a/Templates/Empty/game/shaders/common/postFx/VolFogGlowP.hlsl b/Templates/Empty/game/shaders/common/postFx/VolFogGlowP.hlsl new file mode 100644 index 0000000000..8a61b5928a --- /dev/null +++ b/Templates/Empty/game/shaders/common/postFx/VolFogGlowP.hlsl @@ -0,0 +1,74 @@ +//----------------------------------------------------------------------------- +// Copyright (c) 2014 R.G.S. - Richards Game Studio, the Netherlands +// http://www.richardsgamestudio.com/ +// +// If you find this code useful or you are feeling particularly generous I +// would ask that you please go to http://www.richardsgamestudio.com/ then +// choose Donations from the menu on the left side and make a donation to +// Richards Game Studio. It will be highly appreciated. +// +// The MIT License: +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +// IN THE SOFTWARE. +//----------------------------------------------------------------------------- + +// Volumetric Fog Glow postFx pixel shader V1.00 + +#include "./postFx.hlsl" + +uniform sampler2D diffuseMap : register(S0); +uniform float strength; + +struct VertToPix +{ + float4 hpos : POSITION; + + float2 uv0 : TEXCOORD0; + float2 uv1 : TEXCOORD1; + float2 uv2 : TEXCOORD2; + float2 uv3 : TEXCOORD3; + + float2 uv4 : TEXCOORD4; + float2 uv5 : TEXCOORD5; + float2 uv6 : TEXCOORD6; + float2 uv7 : TEXCOORD7; +}; + +float4 main( VertToPix IN ) : COLOR +{ + float4 kernel = float4( 0.175, 0.275, 0.375, 0.475 ) * strength; + + float4 OUT = 0; + OUT += tex2D( diffuseMap, IN.uv0 ) * kernel.x; + OUT += tex2D( diffuseMap, IN.uv1 ) * kernel.y; + OUT += tex2D( diffuseMap, IN.uv2 ) * kernel.z; + OUT += tex2D( diffuseMap, IN.uv3 ) * kernel.w; + + OUT += tex2D( diffuseMap, IN.uv4 ) * kernel.x; + OUT += tex2D( diffuseMap, IN.uv5 ) * kernel.y; + OUT += tex2D( diffuseMap, IN.uv6 ) * kernel.z; + OUT += tex2D( diffuseMap, IN.uv7 ) * kernel.w; + + // Calculate a lumenance value in the alpha so we + // can use alpha test to save fillrate. + float3 rgb2lum = float3( 0.30, 0.59, 0.11 ); + OUT.a = dot( OUT.rgb, rgb2lum ); + + return OUT; +} diff --git a/Templates/Empty/game/tools/classIcons/VolumetricFog.png b/Templates/Empty/game/tools/classIcons/VolumetricFog.png new file mode 100644 index 0000000000..5dc516cb53 Binary files /dev/null and b/Templates/Empty/game/tools/classIcons/VolumetricFog.png differ diff --git a/Templates/Empty/game/tools/worldEditor/gui/objectBuilderGui.ed.gui b/Templates/Empty/game/tools/worldEditor/gui/objectBuilderGui.ed.gui index 33cb5de751..ee182cc2bc 100644 --- a/Templates/Empty/game/tools/worldEditor/gui/objectBuilderGui.ed.gui +++ b/Templates/Empty/game/tools/worldEditor/gui/objectBuilderGui.ed.gui @@ -980,6 +980,19 @@ function ObjectBuilderGui::buildObserverDropPoint(%this) //------------------------------------------------------------------------------ // System //------------------------------------------------------------------------------ +function ObjectBuilderGui::buildVolumetricFog(%this) +{ + // Change this if you want to default to another Folder + // Otherwise every time you want to add a Fog you will go this. + %defShape = "/art/environment/Fog_Cube.dts"; + %this.lastPath=getMainDotCsDir() @ %defShape; + OBObjectName.setValue( "" ); + %this.objectClassName = "VolumetricFog"; + %this.addField( "shapeName", "TypeFile", "Shape (Fog volume)", "", "*.dts;*.dae"); + %this.addField("Scale", "TypePoint3", "Scale", "1 1 1"); + %this.addField("FogColor", "TypeColorI", "FogColor", "200 200 200 255"); + %this.process(); +} function ObjectBuilderGui::buildPhysicsEntity(%this) { diff --git a/Templates/Empty/game/tools/worldEditor/scripts/editors/creator.ed.cs b/Templates/Empty/game/tools/worldEditor/scripts/editors/creator.ed.cs index 75d41eb530..a9c65280d7 100644 --- a/Templates/Empty/game/tools/worldEditor/scripts/editors/creator.ed.cs +++ b/Templates/Empty/game/tools/worldEditor/scripts/editors/creator.ed.cs @@ -46,6 +46,7 @@ %this.registerMissionObject( "SFXEmitter", "Sound Emitter" ); %this.registerMissionObject( "Precipitation" ); %this.registerMissionObject( "ParticleEmitterNode", "Particle Emitter" ); + %this.registerMissionObject( "VolumetricFog", "Volumetric Fog" ); %this.registerMissionObject( "RibbonNode", "Ribbon" ); // Legacy features. Users should use Ground Cover and the Forest Editor. diff --git a/Templates/Full/game/art/environment/FogMod_heavy.dds b/Templates/Full/game/art/environment/FogMod_heavy.dds new file mode 100644 index 0000000000..197dd43327 Binary files /dev/null and b/Templates/Full/game/art/environment/FogMod_heavy.dds differ diff --git a/Templates/Full/game/art/environment/FogMod_light.dds b/Templates/Full/game/art/environment/FogMod_light.dds new file mode 100644 index 0000000000..d726795fa1 Binary files /dev/null and b/Templates/Full/game/art/environment/FogMod_light.dds differ diff --git a/Templates/Full/game/art/environment/FogMod_med.dds b/Templates/Full/game/art/environment/FogMod_med.dds new file mode 100644 index 0000000000..2b25d3263c Binary files /dev/null and b/Templates/Full/game/art/environment/FogMod_med.dds differ diff --git a/Templates/Full/game/art/environment/Fog_Cil.DAE b/Templates/Full/game/art/environment/Fog_Cil.DAE new file mode 100644 index 0000000000..2bf4326ab7 --- /dev/null +++ b/Templates/Full/game/art/environment/Fog_Cil.DAE @@ -0,0 +1,177 @@ + + + + + Richard + OpenCOLLADA for 3ds Max; Version: 1.4.1; Revision: exported; Platform: x64; Configuration: Release_Max2011_static + file:///G:/Documents%20and%20Settings/Richard/Mijn%20documenten/3dsmax/scenes/FogVolumes.max + + 2014-08-16T10:26:01 + 2014-08-16T10:26:01 + + Z_UP + + + + + + + + 0 0 0 1 + + + 0.588 0.588 0.588 1 + + + 0.588 0.588 0.588 1 + + + 0.9 0.9 0.9 1 + + + 0 + + + 0 0 0 1 + + + 1 1 1 1 + + + 1 + + + + + + + + 0 + 0 + 0 + 1.5 + 0 + 3 + 1 + 0 + + + 1 + 1 + 0 + 0.1 + 0 + + + + + + + + + + + + + + + 1 0 -0.85 0.7315391 0.4223543 -1 0.4223543 0.7315391 -1 -2.51992e-8 0.8447086 -1 -0.4223543 0.7315391 -1 -0.7315391 0.4223543 -1 -0.8447086 1.25542e-7 -1 -0.7315391 -0.4223541 -1 -0.4223545 -0.7315389 -1 -4.0012e-7 -0.8447086 -1 0.4223539 -0.7315393 -1 0.8660251 -0.5000006 -0.85 1 0 0.85 0.8660254 0.5 0.85 0.5 0.8660254 0.85 -4.37114e-8 1 0.85 -0.5000001 0.8660254 0.85 -0.8660254 0.5000001 0.85 -1 1.50996e-7 0.85 -0.8660255 -0.4999998 0.85 -0.5000003 -0.8660252 0.85 -4.64912e-7 -1 0.85 0.4999995 -0.8660257 0.85 0.8660251 -0.5000006 0.85 0.8447086 2.31402e-8 -1 0.8660254 0.5 -0.85 0.5 0.8660254 -0.85 -4.37114e-8 1 -0.85 -0.5000001 0.8660254 -0.85 -0.8660254 0.5000001 -0.85 -1 1.50996e-7 -0.85 -0.8660255 -0.4999998 -0.85 -0.5000003 -0.8660252 -0.85 -4.64912e-7 -1 -0.85 0.4999995 -0.8660257 -0.85 0.7315388 -0.4223548 -1 0.8447086 1.85122e-8 1 0.7315391 0.4223543 1 0.4223543 0.7315391 1 -4.37114e-8 0.8447086 1 -0.4223543 0.7315391 1 -0.7315391 0.4223543 1 -0.8447086 1.39426e-7 1 -0.7315391 -0.4223541 1 -0.4223545 -0.7315389 1 -3.83922e-7 -0.8447086 1 0.4223539 -0.7315393 1 0.7315388 -0.4223548 1 + + + + + + + + + + 0.9293314 -1.23732e-7 -0.369247 0.8048245 0.4646656 -0.3692469 0.8048245 0.4646657 0.369247 0.9293313 -1.23732e-7 0.369247 0.4646657 0.8048245 -0.369247 0.4646656 0.8048246 0.369247 -4.78054e-8 0.9293314 -0.3692469 -6.18658e-8 0.9293312 0.369247 -0.4646657 0.8048246 -0.369247 -0.4646657 0.8048245 0.3692469 -0.8048245 0.4646657 -0.369247 -0.8048245 0.4646657 0.369247 -0.9293314 1.15295e-7 -0.369247 -0.9293314 1.12483e-7 0.369247 -0.8048247 -0.4646654 -0.369247 -0.8048246 -0.4646654 0.369247 -0.4646659 -0.8048243 -0.369247 -0.4646659 -0.8048243 0.369247 -4.47121e-7 -0.9293312 -0.369247 -4.33061e-7 -0.9293312 0.369247 0.4646652 -0.8048248 -0.369247 0.4646652 -0.8048248 0.369247 0.8048243 -0.464666 -0.369247 0.8048243 -0.464666 0.369247 0.2128647 -0.3686929 -0.9048504 -1.95478e-7 -0.4257298 -0.9048504 -0.212865 -0.3686927 -0.9048504 -0.3686928 -0.2128648 -0.9048504 -0.4257297 3.16991e-8 -0.9048504 -0.3686928 0.2128649 -0.9048503 -0.2128649 0.3686928 -0.9048504 -1.05664e-8 0.4257298 -0.9048504 0.2128648 0.3686928 -0.9048504 0.3686928 0.2128649 -0.9048504 0.4257298 -7.13229e-8 -0.9048503 0.3686926 -0.2128651 -0.9048504 0.3686928 0.2128649 0.9048504 0.2128649 0.3686928 0.9048504 -3.43407e-8 0.4257297 0.9048504 -0.2128649 0.3686928 0.9048504 -0.3686928 0.2128649 0.9048504 -0.4257298 5.01902e-8 0.9048504 -0.3686928 -0.2128648 0.9048504 -0.212865 -0.3686926 0.9048504 -2.03402e-7 -0.4257298 0.9048504 0.2128647 -0.3686929 0.9048504 0.3686927 -0.2128651 0.9048504 0.4257298 -7.39645e-8 0.9048504 + + + + + + + + + + 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0.75 0.07542458 0.999001 0.2890339 0.8654041 -0.2497502 0.1345959 0.7109662 -0.2497502 0.07806763 0.5000001 -0.2497502 0.1345958 0.2890339 -0.2497502 0.2890337 0.1345959 -0.2497502 0.4999999 0.07806763 -0.2497502 0.710966 0.1345958 -0.2497502 0.865404 0.2890336 -0.2497502 0.9219323 0.4999997 -0.2497502 0.8654042 0.7109659 -0.2497502 0.6666665 0.07542458 0.999001 0.75 0.9245754 0.999001 0.8333333 0.9245754 0.999001 0.9166666 0.9245754 0.999001 0.9999999 0.9245754 0.999001 0.08333331 0.9245754 0.999001 0.1666666 0.9245754 0.999001 0.2499999 0.9245754 0.999001 0.3333333 0.9245754 0.999001 0.4166666 0.9245754 0.999001 0.4999999 0.9245754 0.999001 0.5833332 0.9245754 0.999001 0.6666665 0.9245754 0.999001 0.5000001 0.9219323 -0.2497502 0.8333333 0.07542458 0.999001 0.9166666 0.07542458 0.999001 0.9999999 0.07542458 0.999001 0.08333331 0.07542458 0.999001 0.1666666 0.07542458 0.999001 0.2499999 0.07542458 0.999001 0.3333333 0.07542458 0.999001 0.4166666 0.07542458 0.999001 0.4999999 0.07542458 0.999001 0.5833332 0.07542458 0.999001 0.7109665 0.865404 -0.2497502 0.5000001 0.9219323 0.2497502 0.2890339 0.8654041 0.2497502 0.1345959 0.7109662 0.2497502 0.07806763 0.5000001 0.2497502 0.1345958 0.2890339 0.2497502 0.2890337 0.1345959 0.2497502 0.4999999 0.07806763 0.2497502 0.710966 0.1345958 0.2497502 0.865404 0.2890336 0.2497502 0.9219323 0.4999997 0.2497502 0.8654042 0.7109659 0.2497502 0.7109665 0.865404 0.2497502 1.083333 0.07542458 0.999001 1.083333 0.9245754 0.999001 0.75 4.99517e-4 0.8438647 0.8333333 4.99517e-4 0.8438647 0.8333333 0.9995005 0.8438647 0.75 0.9995005 0.8438647 0.8333333 4.99517e-4 0.8438647 0.9166666 4.99517e-4 0.8438647 0.9166666 0.9995005 0.8438647 0.8333333 0.9995005 0.8438647 0.9166666 4.99517e-4 0.8438647 0.9999999 4.99517e-4 0.8438647 0.9999999 0.9995005 0.8438647 0.9166666 0.9995005 0.8438647 0.9999999 4.99517e-4 0.8438647 1.083333 4.99517e-4 0.8438647 0.08333331 0.9995005 0.8438647 -5.96046e-8 0.9995005 0.8438647 -5.96046e-8 0.9245754 0.999001 0.1666666 4.99517e-4 0.8438647 0.08333325 4.99517e-4 0.8438647 0.1666666 0.9995005 0.8438647 0.08333331 0.9995005 0.8438647 0.1666666 4.99517e-4 0.8438647 0.2499999 4.99517e-4 0.8438647 0.2499999 0.9995005 0.8438647 0.1666666 0.9995005 0.8438647 0.2499999 4.99517e-4 0.8438647 0.3333333 4.99517e-4 0.8438646 0.3333333 0.9995005 0.8438646 0.2499999 0.9995005 0.8438647 0.3333333 4.99517e-4 0.8438646 0.4166666 4.99517e-4 0.8438647 0.4166666 0.9995005 0.8438647 0.3333333 0.9995005 0.8438646 0.4166666 4.99517e-4 0.8438647 0.4999999 4.99517e-4 0.8438647 0.4999999 0.9995005 0.8438647 0.4166666 0.9995005 0.8438647 0.4999999 4.99517e-4 0.8438647 0.5833332 4.99517e-4 0.8438647 0.5833332 0.9995005 0.8438647 0.4999999 0.9995005 0.8438647 0.5833332 4.99517e-4 0.8438647 0.6666665 4.99517e-4 0.8438647 0.6666665 0.9995005 0.8438647 0.5833332 0.9995005 0.8438647 0.6666665 4.99517e-4 0.8438647 0.75 4.99517e-4 0.8438647 0.75 0.9995005 0.8438647 0.6666665 0.9995005 0.8438647 + + + + + + + + + + -0.01176262 0.9659258 -0.02960484 -0.4931497 0.830635 -0.02960483 -0.4727761 0.8423977 -0.02960484 0.01176289 0.9659258 -0.02960484 -0.8423976 0.4727761 -0.02960486 -0.8306349 0.4931497 -0.02960485 -0.9659258 -0.01176279 -0.02960482 -0.9659258 0.0211729 -0.05328867 -0.8541604 -0.4524024 0.08881447 -0.8541604 -0.4524024 -0.08881447 -0.8188722 -0.5135234 -0.08881448 -0.4727761 -0.8423977 -0.02960482 -0.4931498 -0.8306349 -0.02960481 -0.8365163 -0.482963 -1.57802e-8 0.01176262 -0.9659258 -0.02960483 -0.01176285 -0.9659258 -0.02960482 0.4931495 -0.8306351 -0.02960484 0.4727759 -0.8423978 -0.02960481 0.8423975 -0.4727764 -0.0296048 0.8306348 -0.4931501 -0.02960481 0.9659258 0.01176229 -0.02960482 0.9659258 -0.01176321 -0.02960482 0.8306352 0.4931493 -0.02960479 0.842398 0.4727756 -0.02960483 0.4727764 0.8423974 -0.02960484 0.4931501 0.8306346 -0.02960485 -0.07848173 -0.8640655 0.3336119 -2.91986e-7 -0.8187542 0.3852217 0.07848181 -0.8640657 0.3336117 0.07848163 -0.9546886 0.1926108 8.97006e-8 -1 -7.72363e-8 -0.07848153 -0.9546885 -0.192611 -0.07848156 -0.8640656 -0.3336118 8.67616e-8 -0.8187542 -0.3852217 0.0784818 -0.8640656 -0.3336118 0.07848165 -0.9546885 -0.1926109 5.96406e-8 -1 1.06884e-7 -0.07848179 -0.9546885 0.1926111 0.07848196 -0.9546886 0.1926108 0.07848229 -0.8640657 0.3336117 2.1016e-7 -0.8187542 0.3852217 -0.0784816 -0.8640656 0.3336119 -0.07848162 -0.9546885 0.1926109 9.43523e-8 -1 9.98605e-8 0.07848193 -0.9546886 -0.1926107 0.0784823 -0.8640658 -0.3336116 5.68705e-7 -0.8187542 -0.3852217 -0.07848107 -0.8640655 -0.3336121 -0.07848159 -0.9546884 -0.1926111 2.66309e-8 -1 -9.4272e-8 -0.2119091 0.9659258 -0.09970279 -0.2994442 0.9424709 0.09970271 -0.2994442 0.9424709 -0.09970272 -0.2119091 0.9659258 0.09970281 -0.6664816 0.7305618 -0.09970271 -0.7305617 0.6664816 0.09970278 -0.7305617 0.6664817 -0.09970276 -0.6664816 0.7305617 0.09970271 -0.9424709 0.2994441 -0.09970273 -0.9659259 0.2119091 0.09970269 -0.9659259 0.2119091 -0.09970269 -0.9424709 0.2994441 0.09970275 -0.9659258 -0.2119092 -0.09970271 -0.9424709 -0.2994442 0.09970272 -0.9424709 -0.2994442 -0.09970272 -0.9659258 -0.2119092 0.09970268 -0.9659258 -0.03528834 0.08881445 -0.7305617 -0.6664816 -0.09970272 -0.6664816 -0.7305617 0.09970271 -0.6664816 -0.7305617 -0.0997027 -0.7305617 -0.6664816 0.09970275 -0.2994442 -0.9424709 -0.09970271 -0.2119093 -0.9659258 0.09970269 -0.2119092 -0.9659258 -0.0997027 -0.2994442 -0.9424709 0.09970272 0.2119091 -0.9659258 -0.09970269 0.299444 -0.9424709 0.09970267 0.2994441 -0.9424709 -0.09970269 0.211909 -0.9659259 0.09970272 0.6664814 -0.7305619 -0.0997027 0.7305615 -0.6664819 0.09970269 0.7305615 -0.6664819 -0.09970265 0.6664815 -0.7305619 0.09970266 0.9424708 -0.2994446 -0.09970267 0.9659257 -0.2119096 0.09970272 0.9659257 -0.2119096 -0.09970273 0.9424708 -0.2994446 0.0997027 0.9659259 0.2119087 -0.0997027 0.9424711 0.2994437 0.0997027 0.942471 0.2994437 -0.0997027 0.9659259 0.2119087 0.09970272 0.7305622 0.6664812 -0.09970268 0.6664821 0.7305613 0.09970275 0.6664821 0.7305613 -0.09970279 0.7305622 0.6664812 0.09970269 0.2994445 0.9424708 -0.09970281 0.2119094 0.9659258 0.09970278 0.2119095 0.9659257 -0.0997028 0.2994445 0.9424708 0.09970279 + + + + + + + + + + -0.3690463 -0.03296186 -0.9288263 -0.3031225 -0.213069 -0.9288263 0.3360844 0.1559773 -0.9288263 0.3690463 -0.03296196 -0.9288263 -0.1559773 -0.3360844 -0.9288263 0.213069 0.3031226 -0.9288263 0.03296189 -0.3690462 -0.9288263 0.0592593 0.3685981 -0.9276981 0.09845869 -0.3674528 -0.9248158 -0.0984587 0.3674528 -0.9248158 0.2689941 -0.2689941 -0.9248158 0.3360844 -0.1559773 -0.9288263 -0.3031225 0.213069 -0.9288263 -0.1846235 0.3197772 -0.9293313 0.3690464 0.03296184 -0.9288263 -0.3690463 0.03296192 -0.9288263 0.3031226 0.2130689 -0.9288263 -0.3360845 -0.1559773 -0.9288263 0.1559775 0.3360844 -0.9288263 -0.2130691 -0.3031225 -0.9288263 -0.03296171 0.3690464 -0.9288263 -0.03296206 -0.3690463 -0.9288263 -0.2130688 0.3031227 -0.9288263 0.1559772 -0.3360846 -0.9288263 -0.3360844 0.1559775 -0.9288263 0.3031224 -0.2130692 -0.9288263 0.9734271 -4.11316e-8 0.2289972 1 -3.75207e-7 -3.94991e-8 0.973427 3.62858e-8 -0.2289976 0.9260745 -8.50388e-8 -0.3773408 0.9048504 1.14047e-7 -0.4257297 0.9260745 2.46267e-7 -0.3773408 0.973427 1.92641e-7 -0.2289974 1 9.126e-8 3.12602e-8 0.973427 6.11442e-8 0.2289974 0.9260745 -1.17694e-7 0.3773408 0.9048503 9.94694e-8 0.4257298 0.9260745 2.84456e-9 0.3773407 -0.9260744 -2.18063e-7 0.3773409 -0.973427 -5.4944e-7 0.2289977 -1 -2.24779e-7 6.78064e-8 -0.973427 -1.66681e-7 -0.2289974 -0.9260745 -1.40116e-7 -0.3773408 -0.9048504 -1.27888e-7 -0.4257298 -0.9260744 -2.30126e-7 -0.3773409 -0.9734269 -5.48234e-7 -0.2289978 -1 -4.82111e-7 -4.51623e-7 -0.9734271 -6.44828e-7 0.228997 -0.9260745 -2.22445e-7 0.3773407 -0.9048503 -6.42314e-8 0.4257298 -0.8793729 -0.2356273 -0.4137427 -0.8793729 -0.2356273 -0.4137427 0.8793729 0.2356273 -0.4137427 0.8793729 0.2356273 -0.4137427 -0.6437457 -0.6437456 -0.4137427 -0.6437457 -0.6437456 -0.4137427 0.6437457 0.6437456 -0.4137427 0.6437457 0.6437456 -0.4137427 -0.2356272 -0.879373 -0.4137427 -0.2356272 -0.879373 -0.4137427 0.2356272 0.879373 -0.4137427 0.2356272 0.879373 -0.4137427 0.2356273 -0.8793729 -0.4137427 0.2356273 -0.8793729 -0.4137427 -0.2356273 0.8793729 -0.4137427 -0.2356273 0.8793729 -0.4137427 -0.0984587 0.3674529 -0.9248158 0.6437457 -0.6437457 -0.4137427 0.6437457 -0.6437457 -0.4137428 -0.6437457 0.6437457 -0.4137427 -0.6437457 0.6437457 -0.4137427 0.8793729 -0.2356273 -0.4137428 0.879373 -0.2356273 -0.4137426 -0.8793729 0.2356273 -0.4137427 -0.8793729 0.2356273 -0.4137427 0.879373 0.2356272 -0.4137426 0.879373 0.2356272 -0.4137427 -0.879373 -0.2356272 -0.4137427 -0.879373 -0.2356271 -0.4137427 0.6437459 0.6437455 -0.4137427 0.6437459 0.6437455 -0.4137427 -0.6437459 -0.6437455 -0.4137427 -0.6437459 -0.6437455 -0.4137427 0.2356277 0.8793728 -0.4137427 0.2356277 0.8793728 -0.4137427 -0.2356277 -0.8793728 -0.4137427 -0.2356277 -0.8793729 -0.4137426 -0.2356268 0.8793731 -0.4137427 -0.2356268 0.8793731 -0.4137427 0.2356268 -0.879373 -0.4137427 0.2356268 -0.8793731 -0.4137427 -0.6437452 0.6437461 -0.4137427 -0.6437452 0.6437461 -0.4137427 0.6437452 -0.6437461 -0.4137427 0.6437452 -0.6437461 -0.4137427 -0.8793729 0.2356276 -0.4137427 -0.8793728 0.2356275 -0.4137427 0.8793728 -0.2356276 -0.4137427 0.8793729 -0.2356275 -0.4137427 + + + + + + + + + + + + + + + + + +

0 0 12 0 25 1 37 1 13 2 25 2 13 2 25 2 12 3 24 3 0 0 12 0 25 1 37 1 26 4 38 4 14 5 26 5 14 5 26 5 13 2 25 2 25 1 37 1 26 4 38 4 27 6 39 6 15 7 27 7 15 7 27 7 14 5 26 5 26 4 38 4 27 6 39 6 28 8 60 8 16 9 61 9 16 9 61 9 15 7 27 7 27 6 39 6 28 8 40 10 29 10 41 11 17 11 29 12 17 11 29 12 16 9 28 13 28 8 40 10 29 10 41 11 30 12 42 14 18 13 30 15 18 13 30 15 17 11 29 12 29 10 41 11 30 12 42 14 31 14 43 16 19 15 31 17 19 15 31 17 18 13 30 15 30 12 42 14 31 14 43 16 32 16 44 18 20 17 32 19 20 17 32 19 19 15 31 17 31 14 43 16 32 16 44 18 33 18 45 20 21 19 33 21 21 19 33 21 20 17 32 19 32 16 44 18 33 18 45 20 34 20 46 22 22 21 34 23 22 21 34 23 21 19 33 21 33 18 45 20 34 20 46 22 11 22 23 24 23 23 35 25 23 23 35 25 22 21 34 23 34 20 46 22 11 22 23 24 0 0 12 0 12 3 24 3 12 3 24 3 23 23 35 25 11 22 23 24 10 24 22 26 9 25 21 27 8 26 20 28 8 26 20 28 7 27 19 29 6 28 18 30 6 28 18 30 5 29 17 31 4 30 16 32 8 26 20 28 6 28 18 30 4 30 16 32 4 30 16 32 3 31 15 33 2 32 14 34 2 32 14 34 1 33 13 35 24 34 36 36 4 30 16 32 2 32 14 34 24 34 36 36 8 26 20 28 4 30 16 32 24 34 36 36 10 24 22 26 8 26 20 28 24 34 36 36 35 35 47 37 10 24 22 26 24 34 36 36 37 36 49 38 38 37 50 39 39 38 51 40 39 38 51 40 40 39 52 41 41 40 53 42 41 40 53 42 42 41 54 43 43 42 55 44 39 38 51 40 41 40 53 42 43 42 55 44 43 42 55 44 44 43 56 45 45 44 57 46 45 44 57 46 46 45 58 47 47 46 59 48 43 42 55 44 45 44 57 46 47 46 59 48 39 38 51 40 43 42 55 44 47 46 59 48 37 36 49 38 39 38 51 40 47 46 59 48 36 47 48 49 37 36 49 38 47 46 59 48 0 0 12 0 24 34 62 50 1 33 63 51 1 33 63 51 25 1 37 1 0 0 12 0 13 2 25 2 37 36 64 52 36 47 65 53 36 47 65 53 12 3 24 3 13 2 25 2 25 1 37 1 1 33 66 54 2 32 67 55 2 32 67 55 26 4 38 4 25 1 37 1 14 5 26 5 38 37 68 56 37 36 69 57 37 36 69 57 13 2 25 2 14 5 26 5 26 4 38 4 2 32 70 58 3 31 71 59 3 31 71 59 27 6 39 6 26 4 38 4 15 7 27 7 39 38 72 60 38 37 73 61 38 37 73 61 14 5 26 5 15 7 27 7 27 6 39 6 3 31 74 62 4 30 75 63 4 30 75 63 28 8 60 8 27 6 39 6 16 9 28 13 40 39 76 64 39 38 77 65 39 38 77 65 15 7 78 66 16 9 28 13 28 8 40 10 4 30 80 67 5 29 79 68 5 29 79 68 29 10 41 11 28 8 40 10 17 11 29 12 41 40 81 69 40 39 82 70 40 39 82 70 16 9 28 13 17 11 29 12 29 10 41 11 5 29 83 71 6 28 84 72 6 28 84 72 30 12 42 14 29 10 41 11 18 13 30 15 42 41 85 73 41 40 86 74 41 40 86 74 17 11 29 12 18 13 30 15 30 12 42 14 6 28 87 75 7 27 88 76 7 27 88 76 31 14 43 16 30 12 42 14 19 15 31 17 43 42 89 77 42 41 90 78 42 41 90 78 18 13 30 15 19 15 31 17 31 14 43 16 7 27 91 79 8 26 92 80 8 26 92 80 32 16 44 18 31 14 43 16 20 17 32 19 44 43 93 81 43 42 94 82 43 42 94 82 19 15 31 17 20 17 32 19 32 16 44 18 8 26 95 83 9 25 96 84 9 25 96 84 33 18 45 20 32 16 44 18 21 19 33 21 45 44 97 85 44 43 98 86 44 43 98 86 20 17 32 19 21 19 33 21 33 18 45 20 9 25 99 87 10 24 100 88 10 24 100 88 34 20 46 22 33 18 45 20 22 21 34 23 46 45 101 89 45 44 102 90 45 44 102 90 21 19 33 21 22 21 34 23 34 20 46 22 10 24 103 91 35 35 104 92 35 35 104 92 11 22 23 24 34 20 46 22 23 23 35 25 47 46 105 93 46 45 106 94 46 45 106 94 22 21 34 23 23 23 35 25 11 22 23 24 35 35 107 95 24 34 108 96 24 34 108 96 0 0 12 0 11 22 23 24 12 3 24 3 36 47 109 97 47 46 110 98 47 46 110 98 23 23 35 25 12 3 24 3

+
+
+
+
+ + + + + 0 0 0 + + + + + + + + + + + + + + + + + + + + 1 + 1 + 1 + 1 + + + + + + + + +
\ No newline at end of file diff --git a/Templates/Full/game/art/environment/Fog_Cil.cs b/Templates/Full/game/art/environment/Fog_Cil.cs new file mode 100644 index 0000000000..688601d8e4 --- /dev/null +++ b/Templates/Full/game/art/environment/Fog_Cil.cs @@ -0,0 +1,8 @@ + +singleton TSShapeConstructor(Fog_CilDAE) +{ + baseShape = "./Fog_Cil.DAE"; + lodType = "TrailingNumber"; + neverImport = "env*"; + loadLights = "0"; +}; diff --git a/Templates/Full/game/art/environment/Fog_Cil.dts b/Templates/Full/game/art/environment/Fog_Cil.dts new file mode 100644 index 0000000000..2262894701 Binary files /dev/null and b/Templates/Full/game/art/environment/Fog_Cil.dts differ diff --git a/Templates/Full/game/art/environment/Fog_Cone.DAE b/Templates/Full/game/art/environment/Fog_Cone.DAE new file mode 100644 index 0000000000..9de756ae9a --- /dev/null +++ b/Templates/Full/game/art/environment/Fog_Cone.DAE @@ -0,0 +1,177 @@ + + + + + Richard + OpenCOLLADA for 3ds Max; Version: 1.4.1; Revision: exported; Platform: x64; Configuration: Release_Max2011_static + file:///G:/Documents%20and%20Settings/Richard/Mijn%20documenten/3dsmax/scenes/FogVolumes.max + + 2014-08-20T08:23:30 + 2014-08-20T08:23:30 + + Z_UP + + + + + + + + 0 0 0 1 + + + 0.588 0.588 0.588 1 + + + 0.588 0.588 0.588 1 + + + 0.9 0.9 0.9 1 + + + 0 + + + 0 0 0 1 + + + 1 1 1 1 + + + 1 + + + + + + + + 0 + 0 + 0 + 1.5 + 0 + 3 + 1 + 0 + + + 1 + 1 + 0 + 0.1 + 0 + + + + + + + + + + + + + + + 1 0 -1 0.8660254 0.5 -1 0.5 0.8660254 -1 -4.37114e-8 1 -1 -0.5000001 0.8660254 -1 -0.8660254 0.5000001 -1 -1 1.50996e-7 -1 -0.8660255 -0.4999998 -1 -0.5000003 -0.8660252 -1 -4.64912e-7 -1 -1 0.4999995 -0.8660257 -1 0.8660251 -0.5000006 -1 -1.39078e-7 -9.93411e-9 1 + + + + + + + + + + 0.8944272 -9.4796e-8 0.4472137 0.7745967 0.4472136 0.4472137 -1.50139e-6 4.92261e-8 1 0.4472136 0.7745967 0.4472136 -3.15987e-8 0.8944272 0.4472136 -0.4472136 0.7745967 0.4472136 -0.7745966 0.4472136 0.4472136 -0.8944272 1.05329e-7 0.4472136 -0.7745968 -0.4472134 0.4472136 -0.4472139 -0.7745965 0.4472136 -4.10783e-7 -0.8944272 0.4472136 0.4472131 -0.774597 0.4472136 0.7745965 -0.4472139 0.4472136 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 + + + + + + + + + + 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0.75 4.99517e-4 0.999001 0.8333333 4.99517e-4 0.999001 0.9166666 4.99517e-4 0.999001 0.9999999 4.99517e-4 0.999001 0.08333331 4.99517e-4 0.999001 0.1666666 4.99517e-4 0.999001 0.2499999 4.99517e-4 0.999001 0.3333333 4.99517e-4 0.999001 0.4166666 4.99517e-4 0.999001 0.4999999 4.99517e-4 0.999001 0.5833332 4.99517e-4 0.999001 0.6666665 4.99517e-4 0.999001 0.3333332 0.9995005 0.9990011 1.083333 4.99517e-4 0.999001 0.8749999 0.9995005 0.999001 0.7497506 0.9325799 -0.2497502 0.9325804 0.7497499 -0.2497502 0.9995005 0.4999997 -0.2497502 0.93258 0.2502495 -0.2497502 0.7497501 0.06741977 -0.2497502 0.4999998 4.99487e-4 -0.2497502 0.2502496 0.06741995 -0.2497502 0.06741983 0.2502498 -0.2497502 4.99487e-4 0.5000001 -0.2497502 0.06741992 0.7497503 -0.2497502 0.2502498 0.9325802 -0.2497502 0.5000001 0.9995005 -0.2497502 + + + + + + + + + + 1.06829e-7 0.9659258 -8.91067e-9 -0.4829629 0.8365163 -6.67926e-9 -0.5277916 0.5277917 -8.18405e-7 -0.8365163 0.4829629 2.63104e-9 -0.9659258 -3.79472e-8 7.64529e-9 -0.8623982 -0.4381342 -0.1035276 -0.8106344 -0.5277917 0.1035276 -0.482963 -0.8365163 1.40098e-8 0.3769941 -0.3769943 5.84575e-7 -1.14117e-7 -0.9659258 -7.36119e-10 0.4829627 -0.8365164 1.2516e-8 0.8365161 -0.4829632 3.86915e-9 0.9659258 -4.46888e-7 -6.53612e-9 0.8365166 0.4829624 6.83675e-9 0.4829633 0.836516 -2.17593e-8 2.63125e-7 -1 0 -2.17705e-8 -1 0 1.65026e-7 -1 0 1.74199e-7 -1 0 2.46574e-7 -1 0 3.58702e-7 -1 0 1.83987e-7 -1 0 -7.4051e-9 -1 0 1.17168e-7 -1 0 2.03914e-7 -1 0 2.75375e-7 -1 0 5.52085e-7 -1 0 + + + + + + + + + + 0.4472137 -5.77119e-8 -0.8944272 0.3872984 0.2236068 -0.8944272 0.7071068 0.7071068 1.02684e-6 0.2236068 0.3872984 -0.8944272 -2.46486e-8 0.4472136 -0.8944272 -0.1189793 0.4440369 -0.8880738 -0.3250576 0.3250576 -0.8880738 -0.3872983 0.2236068 -0.8944272 -0.707107 -0.7071066 -1.02684e-6 -0.4472136 5.35165e-8 -0.8944272 -0.3872984 -0.2236067 -0.8944272 -0.2236069 -0.3872982 -0.8944272 -2.12957e-7 -0.4472136 -0.8944272 0.2236066 -0.3872984 -0.8944272 0.3872982 -0.223607 -0.8944272 1 2.63125e-7 0 1 -2.17705e-8 0 1 1.65026e-7 0 1 1.74199e-7 0 1 2.46574e-7 0 1 3.58702e-7 0 1 1.83987e-7 0 1 -7.4051e-9 0 1 1.17168e-7 0 1 2.03914e-7 0 1 2.75375e-7 0 1 5.52085e-7 0 + + + + + + + + + + + + + + + + + +

0 0 12 0 1 1 13 1 12 2 26 2 1 1 13 1 2 3 14 3 12 2 26 2 2 3 14 3 3 4 15 4 12 2 26 2 3 4 15 4 4 5 25 5 12 2 26 2 4 5 16 6 5 6 17 7 12 2 24 8 5 6 17 7 6 7 18 9 12 2 24 8 6 7 18 9 7 8 19 10 12 2 24 8 7 8 19 10 8 9 20 11 12 2 24 8 8 9 20 11 9 10 21 12 12 2 24 8 9 10 21 12 10 11 22 13 12 2 24 8 10 11 22 13 11 12 23 14 12 2 24 8 11 12 23 14 0 0 12 0 12 2 26 2 10 13 28 15 9 14 29 16 8 15 30 17 8 15 30 17 7 16 31 18 6 17 32 19 6 17 32 19 5 18 33 20 4 19 34 21 8 15 30 17 6 17 32 19 4 19 34 21 4 19 34 21 3 20 35 22 2 21 36 23 2 21 36 23 1 22 37 24 0 23 38 25 4 19 34 21 2 21 36 23 0 23 38 25 8 15 30 17 4 19 34 21 0 23 38 25 10 13 28 15 8 15 30 17 0 23 38 25 11 24 27 26 10 13 28 15 0 23 38 25

+
+
+
+
+ + + + + 0 0 0 + + + + + + + + + + + + + + + + + + + + 1 + 1 + 1 + 1 + + + + + + + + +
\ No newline at end of file diff --git a/Templates/Full/game/art/environment/Fog_Cone.cs b/Templates/Full/game/art/environment/Fog_Cone.cs new file mode 100644 index 0000000000..f738bbb739 --- /dev/null +++ b/Templates/Full/game/art/environment/Fog_Cone.cs @@ -0,0 +1,8 @@ + +singleton TSShapeConstructor(Fog_ConeDAE) +{ + baseShape = "./Fog_Cone.DAE"; + lodType = "TrailingNumber"; + neverImport = "env*"; + loadLights = "0"; +}; diff --git a/Templates/Full/game/art/environment/Fog_Cone.dts b/Templates/Full/game/art/environment/Fog_Cone.dts new file mode 100644 index 0000000000..1f5f6f9651 Binary files /dev/null and b/Templates/Full/game/art/environment/Fog_Cone.dts differ diff --git a/Templates/Full/game/art/environment/Fog_Cube.DAE b/Templates/Full/game/art/environment/Fog_Cube.DAE new file mode 100644 index 0000000000..34cad9f48d --- /dev/null +++ b/Templates/Full/game/art/environment/Fog_Cube.DAE @@ -0,0 +1,177 @@ + + + + + Richard + OpenCOLLADA for 3ds Max; Version: 1.4.1; Revision: exported; Platform: x64; Configuration: Release_Max2011_static + file:///G:/Documents%20and%20Settings/Richard/Mijn%20documenten/3dsmax/scenes/FogVolumes.max + + 2014-08-16T10:10:23 + 2014-08-16T10:10:23 + + Z_UP + + + + + + + + 0 0 0 1 + + + 0.588 0.588 0.588 1 + + + 0.588 0.588 0.588 1 + + + 0.9 0.9 0.9 1 + + + 0 + + + 0 0 0 1 + + + 1 1 1 1 + + + 1 + + + + + + + + 0 + 0 + 0 + 1.5 + 0 + 3 + 1 + 0 + + + 1 + 1 + 0 + 0.1 + 0 + + + + + + + + + + + + + + + -0.85 -1 -0.85 0.85 -0.85 -1 -1 0.85 -0.85 0.85 0.85 -1 -0.85 -1 0.85 1 -0.85 0.85 -1 0.85 0.85 0.85 1 0.85 -1 -0.85 -0.85 -0.85 -0.85 -1 1 -0.85 -0.85 0.85 -1 -0.85 -0.85 1 -0.85 -0.85 0.85 -1 0.85 1 -0.85 1 0.85 -0.85 -0.85 -0.85 1 -1 -0.85 0.85 0.85 -0.85 1 0.85 -1 0.85 -0.85 0.85 1 -0.85 1 0.85 0.85 0.85 1 1 0.85 0.85 + + + + + + + + + + -0.341586 -0.341586 -0.8755786 -0.341586 0.341586 -0.8755788 0.341586 0.341586 -0.8755788 0.341586 -0.341586 -0.8755788 -0.341586 -0.341586 0.8755786 0.341586 -0.341586 0.8755788 0.341586 0.341586 0.8755788 -0.341586 0.341586 0.8755788 -0.341586 -0.8755786 -0.341586 0.341586 -0.8755788 -0.341586 0.341586 -0.8755786 0.341586 -0.341586 -0.8755788 0.341586 0.8755786 -0.341586 -0.341586 0.8755788 0.341586 -0.341586 0.8755786 0.341586 0.341586 0.8755788 -0.341586 0.341586 0.341586 0.8755786 -0.341586 -0.341586 0.8755788 -0.341586 -0.341586 0.8755786 0.341586 0.341586 0.8755788 0.341586 -0.8755786 0.341586 -0.341586 -0.8755788 -0.341586 -0.341586 -0.8755786 -0.341586 0.341586 -0.8755788 0.341586 0.341586 + + + + + + + + + + 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0.07542458 0.07542461 4.99755e-4 0.07542479 0.07542461 4.99547e-4 0.07542455 0.07542461 4.99755e-4 0.07542461 0.9245752 4.99547e-4 0.07542458 0.9245754 4.99755e-4 0.07542458 0.9245754 0.9995003 0.07542455 0.9245754 4.99755e-4 0.07542455 0.9245754 0.9995003 0.9245752 0.07542461 4.99576e-4 0.9245754 0.07542479 4.99547e-4 0.07542458 0.07542461 0.9995003 0.9245752 0.07542461 4.99576e-4 0.9245752 0.07542461 0.9995004 0.9245752 0.9245754 4.99547e-4 0.07542455 0.07542461 0.9995003 0.9245752 0.07542461 0.9995004 0.07542461 0.07542479 0.9995005 0.9245752 0.9245754 4.99576e-4 0.9245752 0.07542461 0.9995005 0.9245752 0.9245754 4.99576e-4 0.07542479 0.9245754 0.9995005 0.9245752 0.9245754 0.9995004 0.9245754 0.9245752 0.9995005 0.9245752 0.9245754 0.9995004 0.9995003 0.07542461 0.07542458 0.9245752 4.99547e-4 0.07542461 0.9245752 4.99547e-4 0.07542461 0.9995003 0.07542461 0.07542458 0.9995003 0.07542461 0.9245754 0.9245752 4.99547e-4 0.9245754 0.9245752 4.99547e-4 0.9245754 0.9995003 0.07542461 0.9245754 0.9995003 0.9245754 0.07542458 0.9245752 0.9995005 0.07542461 0.9995003 0.9245754 0.07542458 0.9245752 0.9995005 0.07542461 0.9995003 0.9245754 0.9245754 0.9245752 0.9995005 0.9245754 0.9995003 0.9245754 0.9245754 0.9245752 0.9995005 0.9245754 0.9995004 0.07542482 0.07542461 0.9995003 0.9245754 0.07542461 0.9245752 0.9995004 0.07542461 0.07542455 0.9995003 0.07542461 4.99606e-4 0.9245752 0.07542461 4.99725e-4 0.07542458 0.07542461 0.07542479 4.99576e-4 0.07542461 0.9245754 4.99755e-4 0.07542461 0.07542458 4.99755e-4 0.9245754 0.9245752 4.99576e-4 0.9245754 0.9995003 0.07542458 0.9245754 0.9995004 0.9245752 0.9245754 0.9245754 0.9995003 0.9245754 0.07542482 0.9995004 0.9245754 4.99755e-4 0.9245754 0.9245754 4.99576e-4 0.07542482 0.9245754 0.9995003 0.07542461 0.07542458 0.9995003 0.9245754 0.07542458 0.9995003 0.9245754 0.07542458 0.9995003 0.07542461 0.07542458 0.9995003 0.07542461 0.9245754 0.9995003 0.9245754 0.9245754 0.9995003 0.07542461 0.9245754 0.9995003 0.9245754 0.9245754 + + + + + + + + + + -0.8644259 0.01841655 0.3300502 -0.8715108 -0.05526615 0.3184382 -0.8644259 0.01841664 -0.3300501 -0.8715108 -0.05526611 -0.3184382 0.8738725 -0.06754867 0.3145678 0.8597026 -0.006149054 -0.3377912 0.8738725 -0.06754874 -0.3145678 0.8597026 -0.006148929 0.3377911 0.883319 -0.2990854 -0.116681 0.8478944 0.3571441 -0.06756432 0.8597026 0.3377913 0.00614921 0.883319 -0.2990854 0.116681 0.2990854 0.883319 -0.116681 -0.3571441 0.8478944 -0.06756432 -0.3377913 0.8597026 0.00614921 0.2990854 0.883319 0.116681 -0.883319 0.2990854 -0.116681 -0.8478944 -0.3571441 -0.06756432 -0.8597026 -0.3377913 0.00614921 -0.883319 0.2990854 0.116681 -0.2990854 -0.883319 -0.116681 0.3571441 -0.8478944 -0.06756432 0.3377913 -0.8597026 0.00614921 -0.2990854 -0.883319 0.116681 0.8360862 -0.3764972 0.1289794 0.7071068 -0.7071068 0 0.7071068 0.7071068 0 0.3764972 0.8360862 0.1289794 -0.3764972 -0.8360862 0.1289794 -0.7071068 -0.7071068 0 -0.7071068 0.7071068 0 -0.8360862 0.3764972 0.1289794 0.8360862 -0.3764971 -0.1289794 0.7071068 -0.7071068 0 0.3764971 0.8360862 -0.1289794 0.7071068 0.7071068 0 -0.3764971 -0.8360862 -0.1289794 -0.7071068 -0.7071068 0 -0.8360862 0.3764971 -0.1289794 -0.7071068 0.7071068 0 -0.376497 0.1289792 0.8360862 -0.3764973 -0.1289798 0.8360861 -0.8833191 -0.2990855 0.1166808 -0.883319 0.2990853 -0.1166812 -0.3764971 0.1289794 -0.8360862 -0.3764972 -0.1289795 -0.8360862 -0.8833191 -0.2990855 -0.1166807 -0.883319 0.2990853 0.1166812 0.883319 -0.2990853 0.1166812 0.8833191 0.2990855 -0.1166807 0.3764971 0.1289797 -0.8360862 0.3764971 -0.1289793 -0.8360862 0.883319 -0.2990853 -0.1166811 0.8833191 0.2990855 0.1166808 0.3764972 0.1289799 0.8360861 0.3764971 -0.128979 0.8360862 0.3764972 0.8360862 0.1289794 0.3764971 0.8360862 -0.1289794 0.8360862 -0.3764971 -0.1289794 0.8360862 -0.3764972 0.1289794 -0.8360862 0.3764972 0.1289794 -0.8360862 0.3764971 -0.1289794 -0.3764972 -0.8360862 0.1289794 -0.3764971 -0.8360862 -0.1289794 + + + + + + + + + + 0.1043954 -0.9396398 0.3258505 -0.06496345 -0.9379679 -0.3405817 0.1043953 -0.9396398 -0.3258505 -0.06496349 -0.937968 0.3405817 0.05187585 -0.9370471 -0.3453283 -0.1307439 -0.939827 -0.3156443 0.05187577 -0.9370471 0.3453283 -0.1307438 -0.939827 0.3156443 0 0.3634471 -0.9316148 -0.196368 0.2889368 -0.9369926 0.1307441 -0.3156442 -0.939827 0 -0.3634471 -0.9316148 -0.3634471 0 -0.9316148 -0.2889368 -0.196368 -0.9369926 0.3156442 0.1307441 -0.939827 0.3634471 0 -0.9316148 0 -0.3634471 -0.9316148 0.196368 -0.2889368 -0.9369926 -0.1307441 0.3156442 -0.939827 0 0.3634471 -0.9316148 0.3634471 0 -0.9316148 0.2889368 0.196368 -0.9369926 -0.3156442 -0.1307441 -0.939827 -0.3634471 0 -0.9316148 0.2608475 0.2608475 -0.9294714 0.6191276 0.6191276 -0.4830755 -0.6191276 0.6191276 -0.4830755 -0.2608475 0.2608475 -0.9294714 0.2608475 -0.2608475 -0.9294714 0.6191276 -0.6191276 -0.4830755 -0.6191276 -0.6191276 -0.4830755 -0.2608475 -0.2608475 -0.9294714 -0.2608475 -0.2608475 -0.9294714 -0.6191276 -0.6191276 -0.4830755 0.2608475 -0.2608475 -0.9294714 0.6191276 -0.6191276 -0.4830755 -0.2608475 0.2608475 -0.9294714 -0.6191276 0.6191276 -0.4830755 0.2608475 0.2608475 -0.9294714 0.6191276 0.6191276 -0.4830755 0.2608476 -0.9294715 0.2608473 -0.2608474 -0.9294714 -0.2608479 1.81809e-7 -0.363447 -0.9316149 2.27262e-7 -0.3634472 -0.9316148 0.2608475 -0.9294714 -0.2608475 -0.2608475 -0.9294714 0.2608477 2.72714e-7 -0.363447 0.9316149 2.72714e-7 -0.3634472 0.9316148 2.72714e-7 -0.3634472 -0.9316148 2.72714e-7 -0.363447 -0.9316149 -0.2608474 -0.9294714 -0.2608478 0.2608476 -0.9294714 0.2608474 1.81809e-7 -0.3634472 0.9316148 2.27262e-7 -0.3634471 0.9316149 -0.2608473 -0.9294714 0.260848 0.2608477 -0.9294715 -0.2608472 -0.2608475 0.2608475 -0.9294714 0.2608475 -0.2608475 -0.9294714 -0.2608475 -0.2608475 -0.9294714 0.2608475 0.2608475 -0.9294714 -0.2608475 -0.2608475 -0.9294714 0.2608475 0.2608475 -0.9294714 0.2608475 -0.2608475 -0.9294714 -0.2608475 0.2608475 -0.9294714 + + + + + + + + + + + + + + + + + +

9 0 21 0 13 1 25 1 3 2 15 2 3 2 15 2 1 3 13 3 9 0 21 0 16 4 28 4 18 5 30 5 22 6 34 6 22 6 34 6 20 7 32 7 16 4 28 4 0 8 12 8 11 9 23 9 19 10 31 10 19 10 31 10 4 11 16 11 0 8 12 8 10 12 22 12 15 13 27 13 23 14 35 14 23 14 35 14 5 15 17 15 10 12 22 12 14 16 26 16 12 17 24 17 21 18 33 18 21 18 33 18 7 19 19 19 14 16 26 16 2 20 14 20 8 21 20 21 17 22 29 22 17 22 29 22 6 23 18 23 2 20 14 20 0 8 36 24 8 21 20 21 9 0 37 25 1 3 38 26 10 12 39 27 11 9 23 9 2 20 40 28 12 17 24 17 13 1 41 29 3 2 42 30 14 16 43 31 15 13 27 13 4 11 44 32 16 4 45 33 17 22 29 22 5 15 46 34 18 5 47 35 19 10 31 10 6 23 48 36 20 7 49 37 21 18 33 18 7 19 50 38 22 6 51 39 23 14 35 14 9 0 21 0 8 21 52 40 2 20 53 41 2 20 53 41 13 1 25 1 9 0 21 0 13 1 25 1 12 17 54 42 14 16 55 43 14 16 55 43 3 2 15 2 13 1 25 1 3 2 15 2 15 13 56 44 10 12 57 45 10 12 57 45 1 3 13 3 3 2 15 2 1 3 13 3 11 9 58 46 0 8 59 47 0 8 59 47 9 0 21 0 1 3 13 3 16 4 28 4 4 11 60 48 19 10 61 49 19 10 61 49 18 5 30 5 16 4 28 4 18 5 30 5 5 15 62 50 23 14 63 51 23 14 63 51 22 6 34 6 18 5 30 5 22 6 34 6 7 19 64 52 21 18 65 53 21 18 65 53 20 7 32 7 22 6 34 6 20 7 32 7 6 23 66 54 17 22 67 55 17 22 67 55 16 4 28 4 20 7 32 7 11 9 23 9 10 12 68 56 5 15 69 57 5 15 69 57 19 10 31 10 11 9 23 9 4 11 70 58 17 22 29 22 8 21 20 21 8 21 20 21 0 8 71 59 4 11 70 58 15 13 27 13 14 16 72 60 7 19 73 61 7 19 73 61 23 14 35 14 15 13 27 13 12 17 24 17 2 20 74 62 6 23 75 63 6 23 75 63 21 18 33 18 12 17 24 17

+
+
+
+
+ + + + + 0 0 0 + + + + + + + + + + + + + + + + + + + + 1 + 1 + 1 + 1 + + + + + + + + +
\ No newline at end of file diff --git a/Templates/Full/game/art/environment/Fog_Cube.cs b/Templates/Full/game/art/environment/Fog_Cube.cs new file mode 100644 index 0000000000..3c686032c6 --- /dev/null +++ b/Templates/Full/game/art/environment/Fog_Cube.cs @@ -0,0 +1,8 @@ + +singleton TSShapeConstructor(Fog_CubeDAE) +{ + baseShape = "./Fog_Cube.DAE"; + lodType = "TrailingNumber"; + neverImport = "env*"; + loadLights = "0"; +}; diff --git a/Templates/Full/game/art/environment/Fog_Cube.dts b/Templates/Full/game/art/environment/Fog_Cube.dts new file mode 100644 index 0000000000..9531c3a038 Binary files /dev/null and b/Templates/Full/game/art/environment/Fog_Cube.dts differ diff --git a/Templates/Full/game/art/environment/Fog_DSphere.DAE b/Templates/Full/game/art/environment/Fog_DSphere.DAE new file mode 100644 index 0000000000..88e5032a86 --- /dev/null +++ b/Templates/Full/game/art/environment/Fog_DSphere.DAE @@ -0,0 +1,177 @@ + + + + + Richard + OpenCOLLADA for 3ds Max; Version: 1.4.1; Revision: exported; Platform: x64; Configuration: Release_Max2011_static + file:///G:/Documents%20and%20Settings/Richard/Mijn%20documenten/3dsmax/scenes/FogVolumes.max + + 2014-08-16T10:36:13 + 2014-08-16T10:36:13 + + Z_UP + + + + + + + + 0 0 0 1 + + + 0.588 0.588 0.588 1 + + + 0.588 0.588 0.588 1 + + + 0.9 0.9 0.9 1 + + + 0 + + + 0 0 0 1 + + + 1 1 1 1 + + + 1 + + + + + + + + 0 + 0 + 0 + 1.5 + 0 + 3 + 1 + 0 + + + 1 + 1 + 0 + 0.1 + 0 + + + + + + + + + + + + + + + 0 0 0.5 -2.18557e-8 0.5 0.3660254 -0.25 0.4330127 0.3660254 -0.4330127 0.25 0.3660254 -0.5 7.54979e-8 0.3660254 -0.4330128 -0.2499999 0.3660254 -0.2500001 -0.4330126 0.3660254 -2.32456e-7 -0.5 0.3660254 0.2499997 -0.4330128 0.3660254 0.4330125 -0.2500003 0.3660254 0.5 -3.89414e-7 0.3660254 0.4330129 0.2499996 0.3660254 0.2500004 0.4330125 0.3660254 -3.78552e-8 0.8660254 -2.98023e-8 -0.4330128 0.75 -2.98023e-8 -0.75 0.4330128 -2.98023e-8 -0.8660254 1.30766e-7 -2.98023e-8 -0.7500001 -0.4330125 -2.98023e-8 -0.433013 -0.7499999 -2.98023e-8 -4.02626e-7 -0.8660254 -2.98023e-8 0.4330123 -0.7500003 -2.98023e-8 0.7499998 -0.4330132 -2.98023e-8 0.8660254 -6.74485e-7 -2.98023e-8 0.7500004 0.433012 -2.98023e-8 0.4330134 0.7499996 -2.98023e-8 -4.25801e-8 0.9741181 -0.4034075 -0.4870591 0.843611 -0.4034075 -0.843611 0.4870591 -0.4034075 -0.9741181 1.47088e-7 -0.4034075 -0.8436111 -0.4870588 -0.4034075 -0.4870594 -0.8436108 -0.4034075 -4.52879e-7 -0.9741181 -0.4034075 0.4870586 -0.8436113 -0.4034075 0.8436107 -0.4870596 -0.4034075 0.9741181 -7.58671e-7 -0.4034075 0.8436115 0.4870583 -0.4034075 0.4870599 0.8436105 -0.4034075 -6.53089e-8 0.8964724 -0.5000001 -0.4482363 0.7763678 -0.5000001 -0.7763678 0.4482363 -0.5000001 -0.8964724 1.34026e-7 -0.5000001 -0.776368 -0.448236 -0.5000001 -0.4482365 -0.7763677 -0.5000001 -4.21717e-7 -0.8964724 -0.5000001 0.4482357 -0.7763681 -0.5000001 0.7763675 -0.4482367 -0.5000001 0.8964724 -6.98609e-7 -0.5000001 0.7763683 0.4482355 -0.5000001 0.448237 0.7763674 -0.5000001 + + + + + + + + + + -1.91248e-9 7.64992e-9 1 1.11601e-7 0.5308999 0.8474345 -0.2654499 0.4597727 0.8474346 -0.4597727 0.2654499 0.8474346 -0.5308999 5.07276e-8 0.8474346 -0.4597728 -0.2654498 0.8474346 -0.2654501 -0.4597726 0.8474346 -2.51102e-7 -0.5308998 0.8474345 0.2654496 -0.4597729 0.8474346 0.4597726 -0.2654503 0.8474346 0.5308999 -3.95676e-7 0.8474346 0.459773 0.2654495 0.8474346 0.2654503 0.4597726 0.8474345 2.04038e-7 0.8759832 0.4823416 -0.4379916 0.7586237 0.4823416 -0.7586237 0.4379916 0.4823416 -0.8759832 1.12482e-7 0.4823416 -0.7586238 -0.4379914 0.4823416 -0.4379919 -0.7586235 0.4823417 -4.13307e-7 -0.8759832 0.4823416 0.4379911 -0.758624 0.4823416 0.7586234 -0.4379921 0.4823416 0.8759832 -6.80126e-7 0.4823416 0.7586241 0.4379909 0.4823416 0.4379921 0.7586234 0.4823416 2.45659e-7 0.9659259 0.258819 -0.4829629 0.8365163 0.258819 -0.8365163 0.482963 0.258819 -0.9659259 1.33065e-7 0.258819 -0.8365164 -0.4829628 0.258819 -0.4829633 -0.8365162 0.2588189 -4.40139e-7 -0.9659259 0.258819 0.4829624 -0.8365167 0.258819 0.836516 -0.4829635 0.258819 0.9659259 -7.47213e-7 0.258819 0.8365167 0.4829622 0.258819 0.4829635 0.836516 0.258819 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 -0.2044302 0.7629437 -0.6132903 -0.2044302 0.7629438 -0.6132904 -0.2044302 0.7629438 -0.6132903 -0.2044302 0.7629438 -0.6132904 -0.2044302 0.7629439 -0.6132904 -0.2044302 0.7629438 -0.6132904 -0.5585136 0.5585136 -0.6132904 -0.5585136 0.5585136 -0.6132904 -0.5585136 0.5585136 -0.6132904 -0.5585136 0.5585136 -0.6132904 -0.5585136 0.5585136 -0.6132904 -0.5585136 0.5585136 -0.6132904 -0.7629438 0.2044303 -0.6132904 -0.7629437 0.2044303 -0.6132904 -0.7629438 0.2044303 -0.6132904 -0.7629437 0.2044302 -0.6132904 -0.7629438 0.2044303 -0.6132904 -0.7629437 0.2044302 -0.6132904 -0.7629438 -0.20443 -0.6132904 -0.7629438 -0.20443 -0.6132904 -0.7629438 -0.20443 -0.6132904 -0.7629438 -0.2044301 -0.6132904 -0.7629439 -0.2044301 -0.6132904 -0.7629439 -0.2044301 -0.6132904 -0.5585138 -0.5585135 -0.6132903 -0.5585138 -0.5585135 -0.6132903 -0.5585138 -0.5585135 -0.6132903 -0.5585138 -0.5585135 -0.6132905 -0.5585138 -0.5585135 -0.6132905 -0.5585137 -0.5585134 -0.6132904 -0.2044306 -0.7629436 -0.6132905 -0.2044306 -0.7629436 -0.6132905 -0.2044306 -0.7629436 -0.6132905 -0.2044305 -0.7629437 -0.6132904 -0.2044305 -0.7629436 -0.6132904 -0.2044305 -0.7629437 -0.6132904 0.2044298 -0.7629439 -0.6132904 0.2044298 -0.7629439 -0.6132904 0.2044298 -0.7629439 -0.6132904 0.2044298 -0.7629437 -0.6132906 0.2044298 -0.7629437 -0.6132906 0.2044298 -0.7629437 -0.6132906 0.558513 -0.5585139 -0.6132905 0.5585131 -0.5585139 -0.6132905 0.5585131 -0.5585139 -0.6132906 0.5585133 -0.558514 -0.6132904 0.5585132 -0.5585139 -0.6132904 0.5585132 -0.5585139 -0.6132904 0.7629436 -0.2044307 -0.6132905 0.7629436 -0.2044307 -0.6132904 0.7629435 -0.2044307 -0.6132904 0.7629436 -0.2044307 -0.6132904 0.7629436 -0.2044307 -0.6132904 0.7629436 -0.2044307 -0.6132904 0.7629439 0.2044295 -0.6132904 0.7629439 0.2044295 -0.6132904 0.7629439 0.2044295 -0.6132904 0.7629439 0.2044295 -0.6132904 0.7629439 0.2044295 -0.6132904 0.7629439 0.2044295 -0.6132904 0.5585141 0.5585132 -0.6132904 0.5585141 0.5585132 -0.6132903 0.5585141 0.5585132 -0.6132903 0.5585141 0.5585131 -0.6132904 0.5585141 0.5585132 -0.6132904 0.5585141 0.5585131 -0.6132904 0.2044306 0.7629436 -0.6132904 0.2044306 0.7629436 -0.6132904 0.2044306 0.7629436 -0.6132904 0.2044306 0.7629437 -0.6132904 0.2044306 0.7629436 -0.6132904 0.2044306 0.7629437 -0.6132904 + + + + + + + + + + 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0.5 1 0.9990009 0.9999999 0.8333333 0.9990009 0.08333331 0.8333333 0.999001 0.1666666 0.8333333 0.9990009 0.2499999 0.8333333 0.9990009 0.3333333 0.8333333 0.999001 0.4166666 0.8333333 0.9990009 0.4999999 0.8333333 0.9990009 0.5833332 0.8333333 0.999001 0.6666665 0.8333333 0.999001 0.7499998 0.8333333 0.9990009 0.8333331 0.8333333 0.999001 0.9166664 0.8333333 0.9990009 0.9999999 0.6666667 0.999001 0.08333331 0.6666667 0.9990009 0.1666666 0.6666667 0.999001 0.2499999 0.6666667 0.999001 0.3333333 0.6666667 0.9990009 0.4166666 0.6666667 0.999001 0.4999999 0.6666667 0.999001 0.5833332 0.6666667 0.9990009 0.6666665 0.6666667 0.999001 0.7499998 0.6666667 0.999001 0.8333331 0.6666667 0.9990009 0.9166664 0.6666667 0.999001 0.9999999 0.5314604 0.9779174 0.08333331 0.5314604 0.9779174 0.1666666 0.5314604 0.9779174 0.2499999 0.5314604 0.9779174 0.3333333 0.5314604 0.9779174 0.4166666 0.5314604 0.9779174 0.4999999 0.5314604 0.9779174 0.5833332 0.5314604 0.9779174 0.6666665 0.5314604 0.9779174 0.7499998 0.5314604 0.9779174 0.8333331 0.5314604 0.9779174 0.9166664 0.5314604 0.9779173 1.083333 0.8333333 0.999001 1.5 1 0.9990009 -5.96046e-8 0.8333333 0.9990009 -5.96046e-8 0.6666667 0.999001 -5.96046e-8 0.5314604 0.9779174 0.5000001 0.9596859 4.99547e-4 0.7298434 0.8980994 4.99547e-4 0.8980999 0.7298425 4.99547e-4 0.9596859 0.4999995 4.99547e-4 0.8980994 0.2701567 4.99547e-4 0.7298426 0.1019002 4.99547e-4 0.4999997 0.04031408 4.99547e-4 0.2701568 0.1019005 4.99547e-4 0.1019002 0.2701572 4.99547e-4 0.04031408 0.5000002 4.99547e-4 0.1019004 0.7298431 4.99547e-4 0.2701571 0.8980997 4.99547e-4 0.5000001 0.9995005 0.9995005 0.2502499 0.9325801 0.9995005 0.06741998 0.7497504 0.9995005 4.99547e-4 0.5000002 0.9995005 0.0674198 0.25025 0.9995005 0.2502495 0.0674201 0.9995005 0.4999996 4.99547e-4 0.9995005 0.7497499 0.06741971 0.9995005 0.9325799 0.2502494 0.9995005 0.9995005 0.4999995 0.9995005 0.9325804 0.7497497 0.9995005 0.7497507 0.9325798 0.9995005 + + + + + + + + + + -0.9659258 -0.2588191 1.32631e-10 -0.9659257 0.06195684 -0.03881452 -0.9294511 -0.3219951 -0.1164434 0.08781165 0.02352896 -1.20566e-11 -0.7900489 -0.5634469 0.0582217 -0.4507694 -0.8551033 0.02328868 0.03717382 -0.9659258 0.02328868 0.5151563 -0.8179295 0.02328868 0.8551031 -0.4507697 0.02328869 0.9659259 0.03717347 0.02328868 0.8179297 0.515156 0.02328869 0.4507699 0.855103 0.0232887 -0.03717319 0.9659259 0.02328867 -0.5151557 0.8179298 0.02328872 -0.8551029 0.4507699 0.02328869 -0.9659258 -0.1858697 0.1164435 -0.9659258 -0.06021496 0.1093572 -0.8365163 -0.4829629 1.86542e-8 -0.482963 -0.8365163 6.37053e-9 -1.23387e-7 -0.9659258 1.17127e-9 0.4829627 -0.8365164 9.95521e-9 0.8365161 -0.4829632 -1.1399e-8 0.9659258 -4.5581e-7 -1.20598e-10 0.8365166 0.4829624 1.35444e-8 0.4829635 0.836516 1.16066e-8 7.45131e-7 0.9659258 8.76795e-9 -0.4829622 0.8365168 3.13627e-8 -0.8365159 0.4829635 -1.29557e-9 -0.9659257 0.06021541 -0.1093572 -0.9659258 -0.01733734 0.06470482 -0.8394059 -0.477958 -0.02156825 -0.4879679 -0.8336267 -0.02156823 -0.005779321 -0.9659258 -0.02156825 0.4779579 -0.839406 -0.02156826 0.8336266 -0.4879681 -0.02156825 0.9659258 -0.005779629 -0.02156825 0.8394062 0.4779575 -0.02156823 0.4879684 0.8336264 -0.02156826 0.005779935 0.9659258 -0.02156825 -0.4779573 0.8394063 -0.02156825 -0.8336263 0.4879684 -0.02156827 -0.9659257 0.01733783 -0.06470482 1 -3.17268e-7 0 1 -3.17268e-7 0 1 -3.17268e-7 0 1 9.92311e-8 0 1 9.92311e-8 0 1 9.92311e-8 0 1 2.47735e-7 0 1 2.47735e-7 0 1 2.47735e-7 0 1 2.47735e-7 0 1 2.47735e-7 0 1 2.47735e-7 0 1 3.00381e-9 0 1 3.00381e-9 0 1 3.00381e-9 0 1 2.10791e-7 0 1 2.10791e-7 0 1 2.10791e-7 0 1 2.24615e-7 0 1 2.24615e-7 0 1 2.24615e-7 0 1 2.56802e-7 0 1 2.56802e-7 0 1 2.56802e-7 0 1 2.46079e-7 0 1 2.46079e-7 0 1 2.46079e-7 0 1 2.46079e-7 0 1 2.46079e-7 0 1 2.46079e-7 0 0.9486833 9.34216e-8 -0.3162278 0.9486833 7.90412e-8 -0.3162278 0.9486833 9.34216e-8 -0.3162278 0.9486833 6.95035e-8 -0.3162278 0.9486833 5.87182e-8 -0.3162278 0.9486833 5.87182e-8 -0.3162278 0.7393535 -6.7211e-8 -0.6733174 0.7393536 -9.18241e-8 -0.6733174 0.7393535 -6.7211e-8 -0.6733174 0.7393538 3.95853e-7 -0.6733171 0.7393538 3.7124e-7 -0.6733171 0.7393538 3.93654e-7 -0.6733171 0.6265218 3.70566e-7 -0.7794039 0.6265219 3.62932e-7 -0.7794038 0.6265218 3.70566e-7 -0.7794039 0.6265218 -1.06696e-7 -0.7794039 0.6265218 -1.00925e-7 -0.7794039 0.6265218 -9.90622e-8 -0.7794039 0.6265218 -1.01051e-7 -0.7794039 0.6265218 -1.10548e-7 -0.7794039 0.6265218 -1.01051e-7 -0.7794039 0.6265217 3.69736e-7 -0.779404 0.6265217 3.54468e-7 -0.779404 0.6265217 3.62102e-7 -0.779404 0.7393533 3.11047e-7 -0.6733177 0.7393533 3.11047e-7 -0.6733177 0.7393533 3.11047e-7 -0.6733177 0.7393535 2.65487e-7 -0.6733175 0.7393535 2.65487e-7 -0.6733175 0.7393535 2.67685e-7 -0.6733175 0.948683 3.43719e-7 -0.3162287 0.948683 3.581e-7 -0.3162287 0.948683 3.43719e-7 -0.3162287 0.948683 3.84169e-7 -0.3162287 0.948683 3.84169e-7 -0.3162287 0.948683 3.84169e-7 -0.3162287 0.9486835 6.63497e-8 0.3162273 0.9486835 6.99448e-8 0.3162273 0.9486835 6.63497e-8 0.3162273 0.9486836 3.42504e-7 0.3162268 0.9486836 3.5329e-7 0.3162268 0.9486836 3.42504e-7 0.3162268 0.7393542 2.83e-7 0.6733167 0.7393541 3.07613e-7 0.6733168 0.7393542 2.85198e-7 0.6733167 0.7393539 1.48017e-7 0.673317 0.7393539 1.45818e-7 0.673317 0.7393539 1.45818e-7 0.673317 0.626522 1.45573e-7 0.7794037 0.626522 1.5507e-7 0.7794038 0.626522 1.47436e-7 0.7794037 0.6265219 -1.82545e-8 0.7794038 0.6265219 -2.58886e-8 0.7794038 0.6265219 -8.75741e-9 0.7794038 0.6265217 -2.02434e-8 0.779404 0.6265217 -2.02434e-8 0.779404 0.6265217 -2.02434e-8 0.779404 0.6265217 8.18989e-7 0.779404 0.6265217 8.18989e-7 0.779404 0.6265217 8.18989e-7 0.779404 0.739353 7.06687e-7 0.673318 0.739353 7.08885e-7 0.673318 0.739353 7.08885e-7 0.673318 0.7393532 2.98111e-7 0.6733178 0.7393532 2.95912e-7 0.6733178 0.7393532 2.98111e-7 0.6733178 0.948683 3.17273e-7 0.3162288 0.948683 3.06488e-7 0.3162288 0.948683 3.17273e-7 0.3162288 0.948683 3.49953e-7 0.3162288 0.948683 3.49953e-7 0.3162288 0.948683 3.53549e-7 0.3162288 + + + + + + + + + + -0.2588191 0.9659258 -7.88424e-9 0.07547419 0.8450174 -0.5293856 -0.2214326 0.8263976 -0.5177206 0.258818 -0.9659261 7.88424e-9 -0.5187088 0.6728101 -0.5275109 -0.7558278 0.383992 -0.5303532 -0.846562 -0.04536702 -0.5303532 -0.7104608 -0.4625699 -0.5303532 -0.3839922 -0.7558277 -0.5303532 0.04536671 -0.8465621 -0.5303532 0.4625697 -0.710461 -0.5303532 0.7558275 -0.3839925 -0.5303532 0.8465621 0.04536646 -0.5303532 0.7104611 0.4625695 -0.5303532 0.3839924 0.7558275 -0.5303533 -0.2214326 0.8263976 -0.5177206 -0.128177 0.4783629 -0.8687575 -0.2411708 0.4177201 -0.8759832 -0.4177201 0.2411708 -0.8759832 -0.4823416 6.05518e-8 -0.8759832 -0.4177202 -0.2411707 -0.8759832 -0.241171 -0.41772 -0.8759832 -2.27721e-7 -0.4823416 -0.8759832 0.2411706 -0.4177203 -0.8759832 0.4177199 -0.2411711 -0.8759832 0.4823416 -3.64134e-7 -0.8759832 0.4177203 0.2411705 -0.8759832 0.2411711 0.4177199 -0.8759832 0.1281772 0.4783629 -0.8687575 -0.06918418 0.2581988 -0.9636114 -0.1093606 0.2356393 -0.9656679 -0.2125286 0.1493893 -0.9656679 -0.2587498 0.02311064 -0.9656679 -0.2356393 -0.1093605 -0.9656679 -0.1493893 -0.2125285 -0.9656679 -0.02311072 -0.2587498 -0.9656679 0.1093604 -0.2356393 -0.9656679 0.2125285 -0.1493894 -0.9656679 0.2587498 -0.0231108 -0.9656679 0.2356394 0.1093604 -0.9656679 0.1493895 0.2125285 -0.9656679 0.06918431 0.2581988 -0.9636114 3.17268e-7 1 0 3.17268e-7 1 0 3.17268e-7 1 0 -9.92311e-8 1 0 -9.92311e-8 1 0 -9.92311e-8 1 0 -2.47735e-7 1 0 -2.47735e-7 1 0 -2.47735e-7 1 0 -2.47735e-7 1 0 -2.47735e-7 1 0 -2.47735e-7 1 0 -3.00381e-9 1 0 -3.00381e-9 1 0 -3.00381e-9 1 0 -2.10791e-7 1 0 -2.10791e-7 1 0 -2.10791e-7 1 0 -2.24615e-7 1 0 -2.24615e-7 1 0 -2.24615e-7 1 0 -2.56802e-7 1 0 -2.56802e-7 1 0 -2.56802e-7 1 0 -2.46079e-7 1 0 -2.46079e-7 1 0 -2.46079e-7 1 0 -2.46079e-7 1 0 -2.46079e-7 1 0 -2.46079e-7 1 0 0.241264 0.6464648 0.723792 0.241264 0.6464648 0.723792 0.241264 0.6464648 0.7237921 0.241264 0.6464648 0.723792 0.241264 0.6464648 0.7237921 0.241264 0.6464648 0.723792 0.376057 0.8294953 0.412939 0.376057 0.8294954 0.412939 0.376057 0.8294953 0.412939 0.3760565 0.8294954 0.4129394 0.3760565 0.8294954 0.4129394 0.3760565 0.8294954 0.4129394 0.1593335 0.9788811 0.1280803 0.1593335 0.9788811 0.1280803 0.1593335 0.9788811 0.1280803 0.1593338 0.9788811 0.1280799 0.1593338 0.9788811 0.1280799 0.1593338 0.9788811 0.1280799 -0.1593335 0.9788812 -0.12808 -0.1593335 0.9788812 -0.12808 -0.1593335 0.9788812 -0.12808 -0.1593338 0.9788812 -0.1280796 -0.1593338 0.9788812 -0.1280796 -0.1593338 0.9788812 -0.1280796 -0.3760572 0.8294954 -0.4129386 -0.3760572 0.8294954 -0.4129386 -0.3760572 0.8294954 -0.4129386 -0.376057 0.8294955 -0.4129387 -0.376057 0.8294955 -0.4129387 -0.376057 0.8294955 -0.4129387 -0.2412649 0.646465 -0.7237916 -0.2412649 0.6464651 -0.7237915 -0.2412649 0.646465 -0.7237916 -0.2412649 0.646465 -0.7237916 -0.2412649 0.646465 -0.7237916 -0.2412649 0.646465 -0.7237916 0.2412636 0.6464648 -0.7237922 0.2412636 0.6464647 -0.7237922 0.2412636 0.6464648 -0.7237922 0.241263 0.6464649 -0.7237923 0.241263 0.6464649 -0.7237923 0.241263 0.6464649 -0.7237923 0.3760566 0.8294952 -0.4129397 0.3760566 0.8294952 -0.4129397 0.3760566 0.8294952 -0.4129397 0.3760569 0.8294951 -0.4129396 0.3760569 0.8294951 -0.4129396 0.3760569 0.8294951 -0.4129396 0.159334 0.978881 -0.1280805 0.159334 0.978881 -0.1280805 0.159334 0.978881 -0.1280805 0.1593341 0.978881 -0.1280803 0.1593341 0.978881 -0.1280803 0.1593341 0.978881 -0.1280803 -0.1593332 0.9788813 0.1280796 -0.1593332 0.9788813 0.1280796 -0.1593332 0.9788813 0.1280796 -0.1593337 0.9788813 0.1280789 -0.1593337 0.9788813 0.1280789 -0.1593337 0.9788813 0.1280789 -0.3760574 0.8294956 0.412938 -0.3760574 0.8294956 0.412938 -0.3760574 0.8294956 0.412938 -0.376057 0.8294957 0.4129383 -0.376057 0.8294957 0.4129383 -0.376057 0.8294957 0.4129383 -0.2412649 0.646465 0.7237916 -0.2412649 0.646465 0.7237916 -0.2412649 0.646465 0.7237916 -0.241265 0.646465 0.7237916 -0.241265 0.646465 0.7237916 -0.241265 0.646465 0.7237916 + + + + + + + + + + + + + + + + + +

0 0 50 0 1 1 13 1 2 2 49 2 0 0 12 3 2 2 14 4 3 3 15 5 0 0 12 3 3 3 15 5 4 4 16 6 0 0 12 3 4 4 16 6 5 5 17 7 0 0 12 3 5 5 17 7 6 6 18 8 0 0 12 3 6 6 18 8 7 7 19 9 0 0 12 3 7 7 19 9 8 8 20 10 0 0 12 3 8 8 20 10 9 9 21 11 0 0 12 3 9 9 21 11 10 10 22 12 0 0 12 3 10 10 22 12 11 11 23 13 0 0 12 3 11 11 23 13 12 12 24 14 0 0 12 3 12 12 24 14 1 1 13 1 1 1 51 15 13 13 52 16 14 14 26 17 14 14 26 17 2 2 14 4 1 1 51 15 2 2 14 4 14 14 26 17 15 15 27 18 15 15 27 18 3 3 15 5 2 2 14 4 3 3 15 5 15 15 27 18 16 16 28 19 16 16 28 19 4 4 16 6 3 3 15 5 4 4 16 6 16 16 28 19 17 17 29 20 17 17 29 20 5 5 17 7 4 4 16 6 5 5 17 7 17 17 29 20 18 18 30 21 18 18 30 21 6 6 18 8 5 5 17 7 6 6 18 8 18 18 30 21 19 19 31 22 19 19 31 22 7 7 19 9 6 6 18 8 7 7 19 9 19 19 31 22 20 20 32 23 20 20 32 23 8 8 20 10 7 7 19 9 8 8 20 10 20 20 32 23 21 21 33 24 21 21 33 24 9 9 21 11 8 8 20 10 9 9 21 11 21 21 33 24 22 22 34 25 22 22 34 25 10 10 22 12 9 9 21 11 10 10 22 12 22 22 34 25 23 23 35 26 23 23 35 26 11 11 23 13 10 10 22 12 11 11 23 13 23 23 35 26 24 24 36 27 24 24 36 27 12 12 24 14 11 11 23 13 12 12 24 14 24 24 36 27 13 13 25 28 13 13 25 28 1 1 13 1 12 12 24 14 13 13 52 16 25 25 53 29 26 26 38 30 26 26 38 30 14 14 26 17 13 13 52 16 14 14 26 17 26 26 38 30 27 27 39 31 27 27 39 31 15 15 27 18 14 14 26 17 15 15 27 18 27 27 39 31 28 28 40 32 28 28 40 32 16 16 28 19 15 15 27 18 16 16 28 19 28 28 40 32 29 29 41 33 29 29 41 33 17 17 29 20 16 16 28 19 17 17 29 20 29 29 41 33 30 30 42 34 30 30 42 34 18 18 30 21 17 17 29 20 18 18 30 21 30 30 42 34 31 31 43 35 31 31 43 35 19 19 31 22 18 18 30 21 19 19 31 22 31 31 43 35 32 32 44 36 32 32 44 36 20 20 32 23 19 19 31 22 20 20 32 23 32 32 44 36 33 33 45 37 33 33 45 37 21 21 33 24 20 20 32 23 21 21 33 24 33 33 45 37 34 34 46 38 34 34 46 38 22 22 34 25 21 21 33 24 22 22 34 25 34 34 46 38 35 35 47 39 35 35 47 39 23 23 35 26 22 22 34 25 23 23 35 26 35 35 47 39 36 36 48 40 36 36 48 40 24 24 36 27 23 23 35 26 24 24 36 27 36 36 48 40 25 25 37 41 25 25 37 41 13 13 25 28 24 24 36 27 48 37 55 42 47 38 56 43 46 39 57 44 46 40 57 45 45 41 58 46 44 42 59 47 44 43 59 48 43 44 60 49 42 45 61 50 46 46 57 51 44 47 59 52 42 48 61 53 42 49 61 54 41 50 62 55 40 51 63 56 40 52 63 57 39 53 64 58 38 54 65 59 42 55 61 60 40 56 63 61 38 57 65 62 46 58 57 63 42 59 61 64 38 60 65 65 48 61 55 66 46 62 57 67 38 63 65 68 37 64 54 69 48 65 55 70 38 66 65 71 25 67 66 72 37 68 54 73 38 69 65 74 38 70 65 75 26 71 67 76 25 72 66 77 26 73 67 78 38 74 65 79 39 75 64 80 39 76 64 81 27 77 68 82 26 78 67 83 27 79 68 84 39 80 64 85 40 81 63 86 40 82 63 87 28 83 69 88 27 84 68 89 28 85 69 90 40 86 63 91 41 87 62 92 41 88 62 93 29 89 70 94 28 90 69 95 29 91 70 96 41 92 62 97 42 93 61 98 42 94 61 99 30 95 71 100 29 96 70 101 30 97 71 102 42 98 61 103 43 99 60 104 43 100 60 105 31 101 72 106 30 102 71 107 31 103 72 108 43 104 60 109 44 105 59 110 44 106 59 111 32 107 73 112 31 108 72 113 32 109 73 114 44 110 59 115 45 111 58 116 45 112 58 117 33 113 74 118 32 114 73 119 33 115 74 120 45 116 58 121 46 117 57 122 46 118 57 123 34 119 75 124 33 120 74 125 34 121 75 126 46 122 57 127 47 123 56 128 47 124 56 129 35 125 76 130 34 126 75 131 35 127 76 132 47 128 56 133 48 129 55 134 48 130 55 135 36 131 77 136 35 132 76 137 36 133 77 138 48 134 55 139 37 135 54 140 37 136 54 141 25 137 66 142 36 138 77 143

+
+
+
+
+ + + + + 0 0 0 + + + + + + + + + + + + + + + + + + + + 1 + 1 + 1 + 1 + + + + + + + + +
\ No newline at end of file diff --git a/Templates/Full/game/art/environment/Fog_DSphere.cs b/Templates/Full/game/art/environment/Fog_DSphere.cs new file mode 100644 index 0000000000..702e5d69b6 --- /dev/null +++ b/Templates/Full/game/art/environment/Fog_DSphere.cs @@ -0,0 +1,8 @@ + +singleton TSShapeConstructor(Fog_DSphereDAE) +{ + baseShape = "./Fog_DSphere.DAE"; + lodType = "TrailingNumber"; + neverImport = "env*"; + loadLights = "0"; +}; diff --git a/Templates/Full/game/art/environment/Fog_DSphere.dts b/Templates/Full/game/art/environment/Fog_DSphere.dts new file mode 100644 index 0000000000..1f66914f2c Binary files /dev/null and b/Templates/Full/game/art/environment/Fog_DSphere.dts differ diff --git a/Templates/Full/game/art/environment/Fog_Pyra.DAE b/Templates/Full/game/art/environment/Fog_Pyra.DAE new file mode 100644 index 0000000000..5aed647128 --- /dev/null +++ b/Templates/Full/game/art/environment/Fog_Pyra.DAE @@ -0,0 +1,177 @@ + + + + + Richard + OpenCOLLADA for 3ds Max; Version: 1.4.1; Revision: exported; Platform: x64; Configuration: Release_Max2011_static + file:///G:/Documents%20and%20Settings/Richard/Mijn%20documenten/3dsmax/scenes/FogVolumes.max + + 2014-08-20T08:26:02 + 2014-08-20T08:26:02 + + Z_UP + + + + + + + + 0 0 0 1 + + + 0.588 0.588 0.588 1 + + + 0.588 0.588 0.588 1 + + + 0.9 0.9 0.9 1 + + + 0 + + + 0 0 0 1 + + + 1 1 1 1 + + + 1 + + + + + + + + 0 + 0 + 0 + 1.5 + 0 + 3 + 1 + 0 + + + 1 + 1 + 0 + 0.1 + 0 + + + + + + + + + + + + + + + -1 -1 -1 1 -1 -1 -1 1 -1 1 1 -1 0 0 1 + + + + + + + + + + 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 -0.8944272 0.4472136 0 -0.8944272 0.4472136 0 -0.8944272 0.4472136 0.8944272 0 0.4472136 0.8944272 0 0.4472136 0.8944272 0 0.4472136 0 0.8944272 0.4472136 0 0.8944272 0.4472136 0 0.8944272 0.4472136 -0.8944272 0 0.4472136 -0.8944272 0 0.4472136 -0.8944272 0 0.4472136 + + + + + + + + + + 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0.9995005 4.99785e-4 4.99547e-4 4.99785e-4 4.99547e-4 4.99547e-4 0.9995002 0.9995005 4.99547e-4 4.99547e-4 0.9995002 4.99547e-4 4.99547e-4 4.99547e-4 4.99785e-4 0.9995002 4.99547e-4 4.99547e-4 0.4999999 0.9995005 4.99666e-4 4.99547e-4 4.99547e-4 0.9995002 0.9995002 4.99547e-4 0.9995005 0.4999999 0.9995005 0.9995003 4.99547e-4 4.99547e-4 0.9995002 0.9995002 4.99547e-4 0.9995005 0.4999999 0.9995005 0.9995003 4.99547e-4 4.99547e-4 4.99785e-4 0.9995002 4.99547e-4 4.99547e-4 0.4999999 0.9995005 4.99666e-4 + + + + + + + + + + -1 -2.38657e-7 0 -1 -2.38657e-7 0 -1 -2.38657e-7 0 -1 -2.38657e-7 0 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 1 0 -1 0 0 -1 0 0 -1 0 0 0 -1 0 0 -1 0 0 -1 0 + + + + + + + + + + 2.38657e-7 -1 0 2.38657e-7 -1 0 2.38657e-7 -1 0 2.38657e-7 -1 0 0 -0.4472136 -0.8944272 0 -0.4472136 -0.8944272 0 -0.4472136 -0.8944272 0.4472136 0 -0.8944272 0.4472136 0 -0.8944272 0.4472136 0 -0.8944272 0 0.4472136 -0.8944272 0 0.4472136 -0.8944272 0 0.4472136 -0.8944272 -0.4472136 0 -0.8944272 -0.4472136 0 -0.8944272 -0.4472136 0 -0.8944272 + + + + + + + + + + + + + + + + + +

0 0 12 0 2 1 14 1 3 2 15 2 3 2 15 2 1 3 13 3 0 0 12 0 0 4 16 4 1 5 17 5 4 6 18 6 1 7 19 7 3 8 20 8 4 9 21 9 3 10 22 10 2 11 23 11 4 12 24 12 2 13 25 13 0 14 26 14 4 15 27 15

+
+
+
+
+ + + + + 0 0 0 + + + + + + + + + + + + + + + + + + + + 1 + 1 + 1 + 1 + + + + + + + + +
\ No newline at end of file diff --git a/Templates/Full/game/art/environment/Fog_Pyra.cs b/Templates/Full/game/art/environment/Fog_Pyra.cs new file mode 100644 index 0000000000..75478f2c8c --- /dev/null +++ b/Templates/Full/game/art/environment/Fog_Pyra.cs @@ -0,0 +1,8 @@ + +singleton TSShapeConstructor(Fog_PyraDAE) +{ + baseShape = "./Fog_Pyra.DAE"; + lodType = "TrailingNumber"; + neverImport = "env*"; + loadLights = "0"; +}; diff --git a/Templates/Full/game/art/environment/Fog_Pyra.dts b/Templates/Full/game/art/environment/Fog_Pyra.dts new file mode 100644 index 0000000000..85595c5615 Binary files /dev/null and b/Templates/Full/game/art/environment/Fog_Pyra.dts differ diff --git a/Templates/Full/game/art/environment/Fog_RCube.DAE b/Templates/Full/game/art/environment/Fog_RCube.DAE new file mode 100644 index 0000000000..6cb95b863f --- /dev/null +++ b/Templates/Full/game/art/environment/Fog_RCube.DAE @@ -0,0 +1,177 @@ + + + + + Richard + OpenCOLLADA for 3ds Max; Version: 1.4.1; Revision: exported; Platform: x64; Configuration: Release_Max2011_static + file:///G:/Documents%20and%20Settings/Richard/Mijn%20documenten/3dsmax/scenes/FogVolumes.max + + 2014-08-16T10:05:43 + 2014-08-16T10:05:43 + + Z_UP + + + + + + + + 0 0 0 1 + + + 0.588 0.588 0.588 1 + + + 0.588 0.588 0.588 1 + + + 0.9 0.9 0.9 1 + + + 0 + + + 0 0 0 1 + + + 1 1 1 1 + + + 1 + + + + + + + + 0 + 0 + 0 + 1.5 + 0 + 3 + 1 + 0 + + + 1 + 1 + 0 + 0.1 + 0 + + + + + + + + + + + + + + + -0.853033 -0.946967 -0.725 0.853033 -0.725 -0.946967 -0.946967 0.853033 -0.725 0.725 0.725 -1 -0.725 -1 0.7249999 1 -0.725 0.7249999 -1 0.725 0.7249999 0.725 1 0.7249999 -0.946967 -0.853033 -0.725 0.946967 -0.725 -0.853033 0.725 -0.946967 -0.853033 -0.853033 0.946967 -0.725 0.725 0.946967 -0.853033 -0.725 -0.853033 0.946967 0.853033 -0.725 0.946967 0.725 -1 0.7249999 -0.853033 0.725 0.946967 0.725 0.853033 0.946967 1 0.725 0.7249999 -0.8666667 -0.8666667 -0.8666667 -0.725 -0.946967 -0.853033 -0.725 -1 -0.725 0.8666667 -0.8666667 -0.8666667 0.725 -0.853033 -0.946967 0.725 -0.725 -1 -0.8666667 0.8666667 -0.8666667 -0.946967 0.725 -0.853033 -1 0.725 -0.725 0.725 0.853033 -0.946967 0.8666667 0.8666667 -0.8666667 0.853033 0.725 -0.946967 -0.725 -0.946967 0.8530329 -0.8666667 -0.8666667 0.8666667 -0.853033 -0.946967 0.7249999 0.946967 -0.725 0.8530329 0.8666667 -0.8666667 0.8666667 0.946967 -0.853033 0.7249999 -0.946967 0.725 0.8530329 -0.8666667 0.8666667 0.8666667 -0.946967 0.853033 0.7249999 0.725 0.946967 0.8530329 0.8666667 0.8666667 0.8666667 0.853033 0.946967 0.7249999 -1 -0.725 -0.725 -0.946967 -0.725 -0.853033 -0.853033 -0.725 -0.946967 -0.725 -0.725 -1 -0.725 -0.853033 -0.946967 1 -0.725 -0.725 0.946967 -0.853033 -0.725 0.853033 -0.946967 -0.725 0.725 -1 -0.725 -0.725 1 -0.725 -0.725 0.946967 -0.853033 -0.725 0.853033 -0.946967 -0.725 0.725 -1 -0.853033 0.725 -0.946967 0.725 1 -0.725 0.853033 0.946967 -0.725 0.946967 0.853033 -0.725 1 0.725 -0.725 0.946967 0.725 -0.853033 -0.725 -0.725 1 -0.853033 -0.725 0.946967 -0.946967 -0.725 0.8530329 -1 -0.725 0.7249999 -0.946967 -0.853033 0.7249999 0.725 -0.725 1 0.725 -0.853033 0.946967 0.853033 -0.946967 0.7249999 0.725 -0.946967 0.8530329 -0.725 0.725 1 -0.725 0.853033 0.946967 -0.725 0.946967 0.8530329 -0.725 1 0.7249999 -0.853033 0.946967 0.7249999 0.725 0.725 1 0.853033 0.725 0.946967 0.946967 0.853033 0.7249999 0.946967 0.725 0.8530329 + + + + + + + + + + -0.1876921 -0.1876921 -0.9641284 -0.1876921 0.1876921 -0.9641284 0.1876921 0.1876921 -0.9641284 0.1876921 -0.1876921 -0.9641284 -0.1876921 -0.1876921 0.9641284 0.1876921 -0.1876921 0.9641284 0.1876921 0.1876921 0.9641284 -0.1876921 0.1876921 0.9641284 -0.1876921 -0.9641284 -0.1876921 0.1876921 -0.9641284 -0.1876921 0.1876922 -0.9641284 0.187692 -0.1876921 -0.9641284 0.187692 0.9641284 -0.1876921 -0.1876921 0.9641284 0.1876921 -0.1876921 0.9641284 0.1876922 0.187692 0.9641284 -0.1876921 0.187692 0.1876921 0.9641284 -0.1876921 -0.1876921 0.9641284 -0.1876921 -0.1876922 0.9641284 0.187692 0.1876921 0.9641284 0.187692 -0.9641284 0.1876921 -0.1876921 -0.9641284 -0.1876921 -0.1876921 -0.9641283 -0.1876921 0.187692 -0.9641284 0.1876921 0.187692 -0.5402085 -0.1824033 -0.8215253 -0.8215253 -0.1824033 -0.5402086 -0.8215253 0.1824033 -0.5402085 -0.5402085 0.1824033 -0.8215253 -0.1824033 0.5402085 -0.8215253 -0.1824033 0.8215253 -0.5402086 0.1824033 0.8215253 -0.5402085 0.1824033 0.5402085 -0.8215253 0.5402085 0.1824033 -0.8215253 0.8215253 0.1824033 -0.5402086 0.8215253 -0.1824033 -0.5402085 0.5402085 -0.1824033 -0.8215253 0.1824033 -0.5402085 -0.8215253 0.1824033 -0.8215253 -0.5402086 -0.1824033 -0.8215253 -0.5402085 -0.1824033 -0.5402085 -0.8215253 -0.1824033 -0.5402086 0.8215252 -0.1824033 -0.8215254 0.5402083 0.1824033 -0.8215255 0.5402083 0.1824033 -0.5402086 0.8215252 0.5402086 -0.1824033 0.8215252 0.8215254 -0.1824033 0.5402083 0.8215255 0.1824033 0.5402083 0.5402086 0.1824033 0.8215252 0.1824033 0.5402086 0.8215252 0.1824033 0.8215254 0.5402083 -0.1824033 0.8215254 0.5402083 -0.1824033 0.5402086 0.8215252 -0.5402086 0.1824033 0.8215252 -0.8215254 0.1824033 0.5402083 -0.8215254 -0.1824033 0.5402083 -0.5402086 -0.1824033 0.8215252 0.5402085 -0.8215253 -0.1824032 0.8215253 -0.5402086 -0.1824033 0.8215253 -0.5402085 0.1824032 0.5402085 -0.8215253 0.1824032 -0.5402085 -0.8215253 0.1824032 -0.8215253 -0.5402085 0.1824032 -0.8215253 -0.5402085 -0.1824032 -0.5402086 -0.8215253 -0.1824033 0.8215253 0.5402085 -0.1824032 0.5402086 0.8215253 -0.1824033 0.5402085 0.8215253 0.1824032 0.8215253 0.5402085 0.1824032 -0.5402085 0.8215253 -0.1824032 -0.8215253 0.5402086 -0.1824033 -0.8215253 0.5402085 0.1824032 -0.5402086 0.8215253 0.1824032 -0.5773503 -0.5773503 -0.5773502 0.5773503 -0.5773503 -0.5773502 -0.5773503 0.5773503 -0.5773502 0.5773503 0.5773503 -0.5773502 -0.5773503 -0.5773504 0.5773501 0.5773503 -0.5773504 0.5773501 -0.5773504 0.5773503 0.5773501 0.5773504 0.5773503 0.5773501 + + + + + + + + + + 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0.9730103 0.1378621 0.07390955 0.07390976 0.1378621 0.02698955 0.07390952 0.1378621 0.0269897 0.1378621 0.8621377 4.99547e-4 0.1378621 0.8621378 4.99696e-4 0.1378621 0.8621378 0.9995003 0.1378621 0.8621378 4.99696e-4 0.1378621 0.8621378 0.9995003 0.9260902 0.1378621 0.02698952 0.1378621 0.07390961 0.9730103 0.8621377 0.07390961 0.02698952 0.9260902 0.1378621 0.9730105 0.1378621 0.07390961 0.9730103 0.1378621 0.9730104 0.07390976 0.1378621 0.9730104 0.9260902 0.8621377 0.8621378 4.99517e-4 0.1378621 0.9730104 0.07390976 0.1378621 0.9730104 0.9260902 0.8621377 0.8621378 0.9995005 0.9329004 0.06709972 0.0670996 0.1378621 0.07390961 0.0269897 0.1378621 0.1378621 4.99696e-4 0.06709969 0.06709954 0.0670996 0.1378623 0.07390958 0.02698955 0.1378623 0.1378621 4.99547e-4 0.9329003 0.9329004 0.0670996 0.1378621 0.07390961 0.0269897 0.1378621 0.1378621 4.99696e-4 0.1378621 0.9260902 0.02698955 0.06709957 0.9329003 0.0670996 0.07390958 0.8621377 0.02698955 0.1378621 0.9260904 0.0269897 0.9329003 0.9329004 0.06709957 0.9730103 0.8621378 0.07390955 0.1378621 0.9260904 0.9730103 0.9329002 0.9329004 0.06709954 0.07390955 0.8621378 0.9730103 0.1378621 0.9260904 0.0269897 0.9329003 0.9329004 0.9329004 0.07390952 0.8621378 0.0269897 0.1378621 0.9260904 0.9730103 0.9329002 0.9329004 0.9329004 0.07390952 0.8621378 0.9730103 0.8621377 0.1378621 4.99517e-4 0.8621377 0.07390961 0.02698952 0.9260904 0.1378623 0.02698955 0.8621379 0.1378623 4.99547e-4 0.8621379 0.07390976 0.02698955 0.1378621 0.1378621 0.9995003 0.07390955 0.1378621 0.9730103 0.9260902 0.1378621 0.02698952 0.8621377 0.1378621 4.99517e-4 0.8621377 0.1378621 0.9995005 0.8621377 0.07390961 0.9730105 0.8621377 0.9260904 0.02698955 0.8621377 0.8621379 4.99547e-4 0.9260902 0.8621379 0.02698955 0.1378621 0.1378621 0.9995003 0.07390952 0.1378621 0.9730103 0.9260902 0.1378621 0.9730105 0.8621377 0.1378621 0.9995005 0.8621377 0.07390961 0.9730105 0.1378621 0.1378623 0.9995005 0.8621377 0.9730104 0.07390958 0.8621377 0.9260904 0.02698952 0.8621377 0.8621378 4.99517e-4 0.9260902 0.8621378 0.02698952 0.8621377 0.1378621 0.9995005 0.8621377 0.9730104 0.07390958 0.9260902 0.8621378 0.02698952 0.8621377 0.9260904 0.02698952 0.1378623 0.8621379 0.9995005 0.8621377 0.9730104 0.9260904 0.8621377 0.9260904 0.9730105 0.8621377 0.8621378 0.9995005 0.9260902 0.8621378 0.9730105 0.8621379 0.8621377 0.9995005 0.8621377 0.9730104 0.9260904 0.9260902 0.8621378 0.9730105 0.8621377 0.9260904 0.9730105 0.8621379 0.1378623 4.99547e-4 0.8621377 0.8621379 4.99547e-4 0.1378621 0.8621377 4.99547e-4 0.1378621 0.8621377 4.99547e-4 0.1378623 0.1378621 4.99547e-4 0.8621379 0.1378623 4.99547e-4 0.1378621 0.1378623 0.9995005 0.8621377 0.1378621 0.9995005 0.8621379 0.8621377 0.9995005 0.8621379 0.8621377 0.9995005 0.1378623 0.8621379 0.9995005 0.1378621 0.1378623 0.9995005 0.1378621 0.1378621 4.99696e-4 0.8621377 0.1378621 4.99517e-4 0.8621377 0.8621378 4.99517e-4 0.8621377 0.8621378 4.99517e-4 0.1378621 0.8621378 4.99696e-4 0.1378621 0.1378621 4.99696e-4 0.1378621 0.1378621 0.9995003 0.8621377 0.1378621 0.9995005 0.8621377 0.8621378 0.9995005 0.8621377 0.8621378 0.9995005 0.1378621 0.8621378 0.9995003 0.1378621 0.1378621 0.9995003 0.1378621 0.1378621 0.9995003 0.8621377 0.1378621 0.9995005 0.8621377 0.8621378 0.9995005 0.8621377 0.8621378 0.9995005 0.1378621 0.8621378 0.9995003 0.1378621 0.1378621 0.9995003 0.1378621 0.1378621 4.99696e-4 0.8621377 0.1378621 4.99517e-4 0.8621377 0.8621378 4.99517e-4 0.8621377 0.8621378 4.99517e-4 0.1378621 0.8621378 4.99696e-4 0.1378621 0.1378621 4.99696e-4 0.9260904 0.1378623 0.02698955 0.9730105 0.1378623 0.07390961 0.9730103 0.8621379 0.07390961 0.9730103 0.8621379 0.07390961 0.9260902 0.8621379 0.02698955 0.9260904 0.1378623 0.02698955 0.8621377 0.9260904 0.02698955 0.8621377 0.9730105 0.07390961 0.1378621 0.9730103 0.07390961 0.1378621 0.9730103 0.07390961 0.1378621 0.9260902 0.02698955 0.8621377 0.9260904 0.02698955 0.07390958 0.8621377 0.02698955 0.02698952 0.8621377 0.07390961 0.0269897 0.1378621 0.07390961 0.0269897 0.1378621 0.07390961 0.07390976 0.1378621 0.02698955 0.07390958 0.8621377 0.02698955 0.1378623 0.07390958 0.02698955 0.1378623 0.02698952 0.07390961 0.8621379 0.0269897 0.07390961 0.8621379 0.0269897 0.07390961 0.8621379 0.07390976 0.02698955 0.1378623 0.07390958 0.02698955 0.1378621 0.9730104 0.07390976 0.1378621 0.9260904 0.0269897 0.8621377 0.9260904 0.02698952 0.8621377 0.9260904 0.02698952 0.8621377 0.9730104 0.07390958 0.1378621 0.9730104 0.07390976 0.1378621 0.9730104 0.9260902 0.1378621 0.9260904 0.9730103 0.8621377 0.9260904 0.9730105 0.8621377 0.9260904 0.9730105 0.8621377 0.9730104 0.9260904 0.1378621 0.9730104 0.9260902 0.1378621 0.9730104 0.9260902 0.1378621 0.9260904 0.9730103 0.8621377 0.9260904 0.9730105 0.8621377 0.9260904 0.9730105 0.8621377 0.9730104 0.9260904 0.1378621 0.9730104 0.9260902 0.1378621 0.9730104 0.07390976 0.1378621 0.9260904 0.0269897 0.8621377 0.9260904 0.02698952 0.8621377 0.9260904 0.02698952 0.8621377 0.9730104 0.07390958 0.1378621 0.9730104 0.07390976 0.9260902 0.1378621 0.02698952 0.9730103 0.1378621 0.07390955 0.9730103 0.8621378 0.07390955 0.9730103 0.8621378 0.07390955 0.9260902 0.8621378 0.02698952 0.9260902 0.1378621 0.02698952 0.9730103 0.8621378 0.07390955 0.9260902 0.8621378 0.02698952 0.9260902 0.1378621 0.02698952 0.9260902 0.1378621 0.02698952 0.9730103 0.1378621 0.07390955 0.9730103 0.8621378 0.07390955 0.9260902 0.1378621 0.9730105 0.9730103 0.1378621 0.9260905 0.9730103 0.8621378 0.9260905 0.9730103 0.8621378 0.9260905 0.9260902 0.8621378 0.9730105 0.9260902 0.1378621 0.9730105 0.9260902 0.1378621 0.9730105 0.9730103 0.1378621 0.9260905 0.9730103 0.8621378 0.9260905 0.9730103 0.8621378 0.9260905 0.9260902 0.8621378 0.9730105 0.9260902 0.1378621 0.9730105 0.07390955 0.1378621 0.0269897 0.06709954 0.0670996 0.06709972 0.1378621 0.07390961 0.0269897 0.1378621 0.07390961 0.0269897 0.1378621 0.1378621 4.99696e-4 0.07390955 0.1378621 0.0269897 0.07390976 0.1378621 0.02698955 0.06709969 0.06709954 0.0670996 0.1378623 0.07390958 0.02698955 0.1378623 0.07390958 0.02698955 0.1378623 0.1378621 4.99547e-4 0.07390976 0.1378621 0.02698955 0.07390952 0.1378621 0.0269897 0.06709957 0.0670996 0.06709972 0.1378621 0.07390961 0.0269897 0.1378621 0.07390961 0.0269897 0.1378621 0.1378621 4.99696e-4 0.07390952 0.1378621 0.0269897 0.07390958 0.8621377 0.02698955 0.1378621 0.9260902 0.02698955 0.06709957 0.9329003 0.0670996 0.1378621 0.9260902 0.02698955 0.07390958 0.8621377 0.02698955 0.1378621 0.8621377 4.99547e-4 0.07390955 0.8621378 0.0269897 0.1378621 0.9260904 0.0269897 0.06709957 0.9329004 0.06709972 0.1378621 0.9260904 0.0269897 0.07390955 0.8621378 0.0269897 0.1378621 0.8621378 4.99696e-4 0.07390955 0.8621378 0.9730103 0.1378621 0.9260904 0.9730103 0.06709954 0.9329004 0.9329002 0.1378621 0.9260904 0.9730103 0.07390955 0.8621378 0.9730103 0.1378621 0.8621378 0.9995003 0.07390952 0.8621378 0.0269897 0.1378621 0.9260904 0.0269897 0.06709957 0.9329004 0.06709972 0.1378621 0.9260904 0.0269897 0.07390952 0.8621378 0.0269897 0.1378621 0.8621378 4.99696e-4 0.07390952 0.8621378 0.9730103 0.1378621 0.9260904 0.9730103 0.06709957 0.9329004 0.9329002 0.1378621 0.9260904 0.9730103 0.07390952 0.8621378 0.9730103 0.1378621 0.8621378 0.9995003 0.9260902 0.1378621 0.02698952 0.8621377 0.1378621 4.99517e-4 0.8621377 0.07390961 0.02698952 0.8621377 0.07390961 0.02698952 0.9329003 0.0670996 0.06709954 0.9260902 0.1378621 0.02698952 0.8621379 0.07390976 0.02698955 0.9260904 0.1378623 0.02698955 0.8621379 0.1378623 4.99547e-4 0.9260904 0.1378623 0.02698955 0.8621379 0.07390976 0.02698955 0.9329004 0.06709972 0.0670996 0.1378621 0.07390961 0.9730103 0.1378621 0.1378621 0.9995003 0.07390955 0.1378621 0.9730103 0.07390955 0.1378621 0.9730103 0.06709954 0.0670996 0.9329003 0.1378621 0.07390961 0.9730103 0.8621377 0.07390961 0.02698952 0.9329003 0.0670996 0.06709954 0.9260902 0.1378621 0.02698952 0.9260902 0.1378621 0.02698952 0.8621377 0.1378621 4.99517e-4 0.8621377 0.07390961 0.02698952 0.9260902 0.1378621 0.9730105 0.8621377 0.1378621 0.9995005 0.8621377 0.07390961 0.9730105 0.8621377 0.07390961 0.9730105 0.9329003 0.0670996 0.9329004 0.9260902 0.1378621 0.9730105 0.9260902 0.8621379 0.02698955 0.8621377 0.9260904 0.02698955 0.8621377 0.8621379 4.99547e-4 0.8621377 0.9260904 0.02698955 0.9260902 0.8621379 0.02698955 0.9329003 0.9329004 0.0670996 0.1378621 0.07390961 0.9730103 0.1378621 0.1378621 0.9995003 0.07390952 0.1378621 0.9730103 0.07390952 0.1378621 0.9730103 0.06709957 0.0670996 0.9329003 0.1378621 0.07390961 0.9730103 0.8621377 0.07390961 0.9730105 0.9260902 0.1378621 0.9730105 0.8621377 0.1378621 0.9995005 0.9260902 0.1378621 0.9730105 0.8621377 0.07390961 0.9730105 0.9329003 0.0670996 0.9329004 0.1378621 0.07390976 0.9730104 0.1378621 0.1378623 0.9995005 0.07390958 0.1378623 0.9730104 0.07390958 0.1378623 0.9730104 0.06709957 0.06709972 0.9329004 0.1378621 0.07390976 0.9730104 0.9260902 0.8621378 0.02698952 0.8621377 0.9260904 0.02698952 0.8621377 0.8621378 4.99517e-4 0.8621377 0.9260904 0.02698952 0.9260902 0.8621378 0.02698952 0.9329003 0.9329004 0.06709957 0.9260902 0.1378621 0.9730104 0.8621377 0.1378621 0.9995005 0.8621377 0.07390958 0.9730104 0.8621377 0.07390958 0.9730104 0.9329002 0.06709954 0.9329004 0.9260902 0.1378621 0.9730104 0.8621377 0.9260904 0.02698952 0.9260902 0.8621378 0.02698952 0.9329002 0.9329004 0.06709954 0.9260902 0.8621378 0.02698952 0.8621377 0.9260904 0.02698952 0.8621377 0.8621378 4.99517e-4 0.07390976 0.8621379 0.9730104 0.1378623 0.8621379 0.9995005 0.1378623 0.9260904 0.9730104 0.1378623 0.9260904 0.9730104 0.06709972 0.9329004 0.9329004 0.07390976 0.8621379 0.9730104 0.9260902 0.8621378 0.9730105 0.8621377 0.9260904 0.9730105 0.8621377 0.8621378 0.9995005 0.8621377 0.9260904 0.9730105 0.9260902 0.8621378 0.9730105 0.9329003 0.9329004 0.9329004 0.8621379 0.9260902 0.9730104 0.8621379 0.8621377 0.9995005 0.9260904 0.8621377 0.9730104 0.9260904 0.8621377 0.9730104 0.9329004 0.9329002 0.9329004 0.8621379 0.9260902 0.9730104 0.8621377 0.9260904 0.9730105 0.9260902 0.8621378 0.9730105 0.9329002 0.9329004 0.9329004 0.9260902 0.8621378 0.9730105 0.8621377 0.9260904 0.9730105 0.8621377 0.8621378 0.9995005 0.8621379 0.1378623 4.99547e-4 0.9260904 0.1378623 0.02698955 0.9260902 0.8621379 0.02698955 0.9260902 0.8621379 0.02698955 0.8621377 0.8621379 4.99547e-4 0.8621379 0.1378623 4.99547e-4 0.8621377 0.8621379 4.99547e-4 0.8621377 0.9260904 0.02698955 0.1378621 0.9260902 0.02698955 0.1378621 0.9260902 0.02698955 0.1378621 0.8621377 4.99547e-4 0.1378621 0.8621377 4.99547e-4 0.07390958 0.8621377 0.02698955 0.07390976 0.1378621 0.02698955 0.07390976 0.1378621 0.02698955 0.1378623 0.1378621 4.99547e-4 0.1378623 0.1378621 4.99547e-4 0.1378623 0.07390958 0.02698955 0.8621379 0.07390976 0.02698955 0.8621379 0.07390976 0.02698955 0.1378621 0.1378623 0.9995005 0.1378621 0.07390976 0.9730104 0.8621377 0.07390958 0.9730104 0.8621377 0.07390958 0.9730104 0.8621377 0.1378621 0.9995005 0.1378621 0.1378623 0.9995005 0.8621377 0.1378621 0.9995005 0.9260902 0.1378621 0.9730104 0.9260904 0.8621377 0.9730104 0.9260904 0.8621377 0.9730104 0.8621379 0.8621377 0.9995005 0.8621379 0.8621377 0.9995005 0.8621379 0.9260902 0.9730104 0.1378623 0.9260904 0.9730104 0.1378623 0.9260904 0.9730104 0.1378623 0.8621379 0.9995005 0.1378623 0.8621379 0.9995005 0.07390976 0.8621379 0.9730104 0.07390958 0.1378623 0.9730104 0.07390958 0.1378623 0.9730104 0.8621377 0.1378621 4.99517e-4 0.9260902 0.1378621 0.02698952 0.9260902 0.8621378 0.02698952 0.9260902 0.8621378 0.02698952 0.8621377 0.8621378 4.99517e-4 0.8621377 0.1378621 4.99517e-4 0.1378621 0.8621378 4.99696e-4 0.07390955 0.8621378 0.0269897 0.07390955 0.1378621 0.0269897 0.07390955 0.1378621 0.0269897 0.1378621 0.1378621 4.99696e-4 0.1378621 0.8621378 4.99696e-4 0.8621377 0.1378621 0.9995005 0.9260902 0.1378621 0.9730105 0.9260902 0.8621378 0.9730105 0.9260902 0.8621378 0.9730105 0.8621377 0.8621378 0.9995005 0.8621377 0.1378621 0.9995005 0.8621377 0.1378621 0.9995005 0.9260902 0.1378621 0.9730105 0.9260902 0.8621378 0.9730105 0.9260902 0.8621378 0.9730105 0.8621377 0.8621378 0.9995005 0.8621377 0.1378621 0.9995005 0.9329003 0.0670996 0.06709954 0.9260902 0.1378621 0.02698952 0.9329004 0.06709972 0.0670996 0.9730105 0.1378623 0.07390961 0.8621379 0.0269897 0.07390961 0.06709969 0.06709954 0.0670996 0.0269897 0.1378621 0.07390961 0.9329003 0.0670996 0.06709954 0.9730103 0.1378621 0.07390955 0.1378623 0.02698952 0.07390961 0.9329003 0.0670996 0.9329004 0.9730103 0.1378621 0.9260905 0.9329003 0.9329004 0.0670996 0.8621377 0.9730105 0.07390961 0.9730103 0.8621379 0.07390961 0.06709957 0.9329003 0.0670996 0.1378621 0.9730103 0.07390961 0.9329003 0.0670996 0.9329004 0.9730103 0.1378621 0.9260905 0.02698952 0.8621377 0.07390961 0.06709957 0.9329004 0.06709972 0.1378621 0.9260904 0.0269897 0.9329003 0.9329004 0.06709957 0.8621377 0.9260904 0.02698952 0.9260902 0.8621378 0.02698952 0.06709954 0.9329004 0.9329002 0.1378621 0.9260904 0.9730103 0.9329002 0.9329004 0.06709954 0.8621377 0.9260904 0.02698952 0.9730103 0.8621378 0.07390955 0.06709957 0.9329004 0.06709972 0.1378621 0.9260904 0.0269897 0.9329003 0.9329004 0.9329004 0.8621377 0.9260904 0.9730105 0.9730103 0.8621378 0.9260905 0.06709957 0.9329004 0.9329002 0.1378621 0.9260904 0.9730103 0.9329002 0.9329004 0.9329004 0.8621377 0.9260904 0.9730105 0.9730103 0.8621378 0.9260905 0.8621377 0.07390961 0.02698952 0.8621377 0.1378621 4.99517e-4 0.1378621 0.1378621 4.99696e-4 0.1378621 0.1378621 4.99696e-4 0.8621377 0.07390961 0.9730105 0.1378621 0.1378621 0.9995003 0.1378621 0.1378621 0.9995003 0.8621377 0.07390961 0.9730105 0.1378621 0.1378621 0.9995003 0.1378621 0.1378621 0.9995003 0.8621377 0.07390961 0.02698952 0.1378621 0.1378621 4.99696e-4 0.1378621 0.9260904 0.0269897 0.8621377 0.8621378 4.99517e-4 0.1378621 0.9260904 0.9730103 0.1378621 0.8621378 0.9995003 0.8621377 0.8621378 0.9995005 0.1378621 0.9260904 0.9730103 0.1378621 0.8621378 0.9995003 0.8621377 0.8621378 0.9995005 0.1378621 0.9260904 0.0269897 0.1378621 0.8621378 4.99696e-4 0.8621377 0.8621378 4.99517e-4 0.8621377 0.8621378 4.99517e-4 0.07390955 0.1378621 0.9730103 0.1378621 0.8621378 0.9995003 0.9260902 0.8621378 0.02698952 0.8621377 0.1378621 4.99517e-4 0.07390952 0.1378621 0.9730103 0.1378621 0.8621378 0.9995003 0.07390952 0.1378621 0.0269897 0.1378621 0.8621378 4.99696e-4 + + + + + + + + + + -0.9647717 0.03522801 0.1809593 -0.9647717 -0.03522864 0.1809592 -0.9647717 0.03522801 -0.1809593 -0.9647717 0.03522809 -0.1809593 -0.9647717 -0.03522856 -0.1809592 -0.9647717 0.03522809 0.1809593 0.9647717 -0.03522809 0.1809593 0.9647717 0.03522856 -0.1809592 0.9647717 -0.03522809 -0.1809593 0.9647717 -0.03522801 -0.1809593 0.9647717 0.03522864 0.1809592 0.9647717 -0.03522801 0.1809593 0.9647717 -0.1809593 -0.03522833 0.9647717 0.1809593 0.03522833 0.9647717 0.1809593 -0.03522832 0.9647717 0.1809593 -0.03522832 0.9647717 -0.1809593 0.03522832 0.9647717 -0.1809593 -0.03522833 0.1809593 0.9647717 -0.03522833 -0.1809593 0.9647717 0.03522833 -0.1809593 0.9647717 -0.03522832 -0.1809593 0.9647717 -0.03522832 0.1809593 0.9647717 0.03522832 0.1809593 0.9647717 -0.03522833 -0.9647717 0.1809593 -0.03522833 -0.9647717 -0.1809593 0.03522833 -0.9647717 -0.1809593 -0.03522832 -0.9647717 -0.1809593 -0.03522832 -0.9647717 0.1809593 0.03522832 -0.9647717 0.1809593 -0.03522833 -0.1809593 -0.9647717 -0.03522833 0.1809593 -0.9647717 0.03522833 0.1809593 -0.9647717 -0.03522831 0.1809593 -0.9647717 -0.03522831 -0.1809593 -0.9647717 0.03522832 -0.1809593 -0.9647717 -0.03522833 -0.8145656 -0.03628428 0.5436882 -0.5436881 0.0362834 0.8145656 -0.5436882 -0.03628427 0.8145655 -0.5436882 -0.03628384 0.8145656 -0.8145656 0.03628384 0.5436882 -0.8145656 -0.03628385 0.5436881 -0.966729 -0.09853609 0.1498487 -0.9667291 -0.1498491 0.09853553 -0.966729 0.1498487 -0.09853609 -0.966729 0.1498487 -0.09853609 -0.9667291 0.09853553 -0.1498491 -0.966729 -0.09853609 0.1498487 -0.8145656 -0.03628385 -0.5436881 -0.5436882 0.03628383 -0.8145656 -0.5436882 -0.03628384 -0.8145656 -0.5436882 -0.03628427 -0.8145655 -0.8145656 0.03628341 -0.5436881 -0.8145656 -0.03628428 -0.5436882 -0.966729 -0.09853609 -0.1498487 -0.9667291 -0.1498491 -0.09853553 -0.966729 0.1498487 0.09853609 -0.966729 0.1498487 0.09853609 -0.9667291 0.09853553 0.1498491 -0.966729 -0.09853609 -0.1498487 0.966729 -0.09853584 0.1498489 0.966729 -0.1498489 0.09853578 0.966729 0.149849 -0.09853578 0.966729 0.149849 -0.09853578 0.966729 0.09853584 -0.1498489 0.966729 -0.09853584 0.1498489 0.09853586 0.966729 0.1498489 0.149849 0.966729 0.09853581 -0.149849 0.966729 -0.09853578 -0.149849 0.966729 -0.09853578 -0.09853584 0.966729 -0.1498489 0.09853586 0.966729 0.1498489 -0.966729 0.09853586 0.1498489 -0.966729 0.149849 0.09853581 -0.966729 -0.149849 -0.09853579 -0.966729 -0.149849 -0.09853579 -0.966729 -0.09853586 -0.1498489 -0.966729 0.09853586 0.1498489 -0.09853584 -0.966729 0.1498489 -0.1498489 -0.966729 0.09853578 0.149849 -0.966729 -0.09853579 0.149849 -0.966729 -0.09853579 0.09853586 -0.966729 -0.1498489 -0.09853584 -0.966729 0.1498489 0.8145656 0.5436881 -0.03628384 0.5436882 0.8145656 0.03628383 0.5436881 0.8145656 -0.03628384 0.5436881 0.8145656 -0.03628384 0.8145656 0.5436881 0.03628383 0.8145656 0.5436881 -0.03628384 0.8145656 -0.5436881 -0.03628383 0.5436881 -0.8145656 0.03628384 0.5436881 -0.8145656 -0.03628384 0.5436881 -0.8145656 -0.03628384 0.8145656 -0.5436882 0.03628383 0.8145656 -0.5436881 -0.03628383 -0.5436881 0.8145656 -0.03628384 -0.8145656 0.5436882 0.03628383 -0.8145656 0.5436881 -0.03628384 -0.8145656 0.5436881 -0.03628384 -0.5436881 0.8145656 0.03628383 -0.5436881 0.8145656 -0.03628384 -0.8145656 -0.5436881 -0.03628384 -0.5436882 -0.8145656 0.03628383 -0.5436881 -0.8145656 -0.03628383 -0.5436881 -0.8145656 -0.03628383 -0.8145656 -0.5436882 0.03628383 -0.8145656 -0.5436881 -0.03628384 0.8328932 -0.5435314 -0.01870198 0.7452874 -0.6022932 -0.1429942 0.9275532 -0.2824244 0.1163071 0.9504859 -0.2628513 0.07879775 0.9605829 -0.1941471 0.03670338 0.8241011 -0.5344221 -0.03369053 -0.8328933 -0.01870195 -0.5435313 -0.7452874 -0.1429942 -0.6022933 -0.9275532 0.1163071 -0.2824244 -0.9504859 0.07879776 -0.2628512 -0.9605829 0.03670338 -0.1941471 -0.8241011 -0.03369053 -0.534422 -0.5435314 -0.8328932 -0.01870198 -0.6022932 -0.7452874 -0.1429942 -0.2824244 -0.9275532 0.1163071 -0.2628513 -0.9504859 0.07879775 -0.1941471 -0.9605829 0.03670338 -0.5344221 -0.8241011 -0.03369053 -0.8328933 0.01870227 -0.5435313 -0.9275533 -0.1163068 -0.2824243 -0.7452875 0.1429945 -0.6022931 -0.9504859 -0.07879774 -0.2628513 -0.8241011 0.03369052 -0.534422 -0.9605829 -0.03670339 -0.1941471 0.8328932 -0.5435314 0.0187016 0.9275532 -0.2824246 -0.1163074 0.7452873 -0.6022934 0.1429939 0.9504859 -0.2628512 -0.07879774 0.8241011 -0.534422 0.03369051 0.9605829 -0.1941471 -0.03670337 0.5435314 0.8328932 0.01870158 0.2824246 0.9275531 -0.1163074 0.6022935 0.7452872 0.1429939 0.2628513 0.9504859 -0.07879772 0.534422 0.8241011 0.03369051 0.1941471 0.9605829 -0.03670337 -0.5435314 -0.8328932 0.0187016 -0.2824246 -0.9275532 -0.1163074 -0.6022934 -0.7452873 0.1429939 -0.2628512 -0.9504859 -0.07879774 -0.534422 -0.8241011 0.03369051 -0.1941471 -0.9605829 -0.03670337 -0.8328932 0.5435314 0.01870158 -0.9275531 0.2824246 -0.1163074 -0.7452872 0.6022935 0.1429939 -0.9504859 0.2628513 -0.07879772 -0.8241011 0.534422 0.03369051 -0.9605829 0.1941471 -0.03670337 0.534422 -0.8241011 0.03369051 0.1941471 -0.9605829 -0.03670339 0.2628513 -0.9504859 -0.07879776 0.2824244 -0.9275532 -0.1163071 0.6022932 -0.7452874 0.1429942 0.5435313 -0.8328933 0.01870197 -0.9504859 -0.07879774 0.2628513 -0.8241011 0.03369052 0.534422 -0.9605829 -0.03670339 0.1941471 -0.8328933 0.01870195 0.5435313 -0.9275532 -0.1163071 0.2824245 -0.7452874 0.1429942 0.6022933 0.2628513 0.9504859 0.07879775 0.1941471 0.9605829 0.03670338 0.5344221 0.8241011 -0.03369053 0.5435314 0.8328932 -0.01870198 0.6022932 0.7452874 -0.1429942 0.2824244 0.9275532 0.1163071 0.9275532 0.2824244 -0.1163071 0.7452874 0.6022932 0.1429942 0.8328933 0.5435313 0.01870197 0.8241011 0.534422 0.03369051 0.9605829 0.1941471 -0.03670339 0.9504859 0.2628513 -0.07879776 -0.8241011 -0.534422 0.03369051 -0.9605829 -0.1941471 -0.03670339 -0.9504859 -0.2628513 -0.07879776 -0.9275532 -0.2824244 -0.1163071 -0.7452874 -0.6022932 0.1429942 -0.8328933 -0.5435313 0.01870197 -0.8241011 -0.03369053 0.534422 -0.9504859 0.07879776 0.2628512 -0.9605829 0.03670338 0.1941471 -0.9275531 0.1163074 0.2824246 -0.8328932 -0.01870163 0.5435314 -0.7452873 -0.1429939 0.6022935 -0.9504859 0.2628513 0.07879775 -0.9605829 0.1941471 0.03670338 -0.8241011 0.5344221 -0.03369053 -0.8328932 0.5435314 -0.01870198 -0.7452874 0.6022932 -0.1429942 -0.9275532 0.2824244 0.1163071 -0.2628513 0.9504859 -0.07879776 -0.534422 0.8241011 0.03369051 -0.1941471 0.9605829 -0.03670339 -0.5435313 0.8328933 0.01870197 -0.2824244 0.9275532 -0.1163071 -0.6022932 0.7452874 0.1429942 0.9504859 0.07879774 0.2628513 0.9605829 0.03670338 0.1941471 0.824101 -0.03369056 0.5344221 0.8328932 -0.01870195 0.5435315 0.7452874 -0.1429942 0.6022934 0.9275531 0.1163072 0.2824246 0.534422 -0.8241011 -0.03369051 0.2628512 -0.9504859 0.07879772 0.1941472 -0.9605829 0.03670335 0.2824246 -0.9275531 0.1163074 0.5435314 -0.8328932 -0.01870158 0.6022935 -0.7452872 -0.1429939 0.824101 0.03369056 -0.5344221 0.9605829 -0.03670339 -0.1941471 0.9504859 -0.07879773 -0.2628513 0.9275531 -0.1163072 -0.2824246 0.7452874 0.1429942 -0.6022934 0.8328932 0.01870195 -0.5435315 0.9275532 0.2824245 0.1163074 0.8328932 0.5435314 -0.0187016 0.7452873 0.6022934 -0.1429939 0.8241011 0.534422 -0.03369051 0.9504859 0.2628512 0.07879775 0.9605829 0.1941471 0.03670336 0.824101 0.03369055 0.5344221 0.9605829 -0.03670339 0.1941471 0.9504859 -0.07879773 0.2628513 0.9275532 -0.1163071 0.2824246 0.7452873 0.1429942 0.6022934 0.8328932 0.01870199 0.5435314 -0.8241011 -0.534422 -0.03369052 -0.9504859 -0.2628512 0.07879772 -0.9605829 -0.1941471 0.03670336 -0.9275531 -0.2824246 0.1163074 -0.8328932 -0.5435314 -0.01870159 -0.7452872 -0.6022935 -0.1429939 0.9504859 0.07879773 -0.2628513 0.9605829 0.03670338 -0.1941471 0.824101 -0.03369056 -0.5344221 0.8328932 -0.01870192 -0.5435315 0.7452873 -0.1429941 -0.6022934 0.9275531 0.1163072 -0.2824246 -0.2824245 0.9275532 0.1163074 -0.5435314 0.8328932 -0.0187016 -0.6022934 0.7452873 -0.1429939 -0.534422 0.8241011 -0.03369051 -0.2628512 0.9504859 0.07879775 -0.1941471 0.9605829 0.03670336 -0.9605829 -0.03670339 0.1941471 -0.8241011 0.03369052 0.534422 -0.8241011 -0.03369053 0.534422 -0.8241011 -0.03369053 0.534422 -0.9605829 0.03670338 0.1941471 -0.9605829 -0.03670339 0.1941471 -0.9647717 -0.03522858 0.1809592 -0.9667291 -0.09853603 0.1498488 -0.966729 0.09853559 -0.1498491 -0.966729 0.09853552 -0.1498491 -0.9647717 0.03522798 -0.1809593 -0.9647717 -0.03522867 0.1809592 -0.9605829 -0.03670339 -0.1941471 -0.8241011 0.03369052 -0.534422 -0.8241011 -0.03369053 -0.534422 -0.8241011 -0.03369053 -0.534422 -0.9605829 0.03670338 -0.1941471 -0.9605829 -0.03670339 -0.1941471 -0.9647717 -0.03522858 -0.1809592 -0.9667291 -0.09853603 -0.1498488 -0.966729 0.09853559 0.1498491 -0.966729 0.09853559 0.1498491 -0.9647717 0.03522807 0.1809593 -0.9647717 -0.03522858 -0.1809592 0.9647717 -0.03522807 0.1809593 0.966729 -0.09853562 0.1498491 0.966729 0.09853606 -0.1498488 0.966729 0.09853606 -0.1498488 0.9647717 0.03522858 -0.1809592 0.9647717 -0.03522807 0.1809593 0.9605829 -0.03670339 -0.1941471 0.824101 0.03369056 -0.5344221 0.824101 -0.03369056 -0.5344221 0.824101 -0.03369056 -0.5344221 0.9605829 0.03670338 -0.1941471 0.9605829 -0.03670339 -0.1941471 0.9647717 -0.03522807 -0.1809593 0.966729 -0.09853564 -0.1498491 0.966729 0.09853608 0.1498488 0.966729 0.09853615 0.1498488 0.9647717 0.03522867 0.1809592 0.9647717 -0.03522798 -0.1809594 0.9605829 -0.03670339 0.1941471 0.824101 0.03369055 0.5344221 0.824101 -0.03369056 0.5344221 0.824101 -0.03369056 0.5344221 0.9605829 0.03670338 0.1941471 0.9605829 -0.03670339 0.1941471 0.9605829 0.1941471 -0.03670339 0.8241011 0.534422 0.03369051 0.8241011 0.534422 -0.03369051 0.8241011 0.534422 -0.03369051 0.9605829 0.1941471 0.03670336 0.9605829 0.1941471 -0.03670339 0.9605829 -0.1941471 -0.03670337 0.8241011 -0.534422 0.03369051 0.8241011 -0.5344221 -0.03369053 0.8241011 -0.5344221 -0.03369053 0.9605829 -0.1941471 0.03670338 0.9605829 -0.1941471 -0.03670337 -0.1941471 0.9605829 -0.03670339 -0.534422 0.8241011 0.03369051 -0.534422 0.8241011 -0.03369051 -0.534422 0.8241011 -0.03369051 -0.1941471 0.9605829 0.03670336 -0.1941471 0.9605829 -0.03670339 -0.9605829 -0.1941471 -0.03670339 -0.8241011 -0.534422 0.03369051 -0.8241011 -0.534422 -0.03369052 -0.8241011 -0.534422 -0.03369052 -0.9605829 -0.1941471 0.03670336 -0.9605829 -0.1941471 -0.03670339 0.7071068 -0.7071068 0 0.8145656 -0.5436882 0.03628383 0.5436881 -0.8145656 -0.03628384 -0.7071065 -3.21208e-7 0.707107 -0.5436881 0.03628337 0.8145657 -0.8145655 -0.03628431 0.5436882 -0.9385198 -0.09980948 0.2740111 -0.9166709 -0.05338037 0.3906956 -0.7451447 0.159674 0.5854708 -0.7071069 -4.18542e-7 -0.7071066 -0.8145657 0.03628338 -0.5436881 -0.5436882 -0.0362843 -0.8145655 0.7071068 0.7071068 0 0.5436882 0.8145656 0.03628383 0.8145656 0.5436881 -0.03628384 -0.9166709 0.05338039 -0.3906956 -0.9385198 0.0998095 -0.2740111 -0.7451447 -0.159674 -0.5854708 -0.7071068 -0.7071068 0 -0.5436882 -0.8145656 0.03628383 -0.8145656 -0.5436881 -0.03628384 -0.7451446 -0.1596736 0.5854711 -0.9166707 0.05338068 0.390696 -0.9385197 0.09980993 0.2740113 -0.8145656 0.03628384 0.5436882 -0.5436882 -0.03628384 0.8145656 -0.7071067 -4.8667e-8 0.7071068 -0.7451448 0.1596744 -0.5854706 -0.93852 -0.09980906 -0.2740109 -0.916671 -0.05338009 -0.3906952 -0.7071068 0.7071068 0 -0.8145656 0.5436882 0.03628383 -0.5436881 0.8145656 -0.03628384 -0.5436882 0.03628383 -0.8145656 -0.8145656 -0.03628385 -0.5436881 -0.7071067 4.8667e-8 -0.7071068 0.7451446 -0.585471 0.1596736 0.9385198 -0.2740112 -0.09980978 0.9166708 -0.3906958 -0.05338057 0.5854711 -0.7451446 -0.1596736 0.390696 -0.9166707 0.05338063 0.2740113 -0.9385197 0.09980983 0.5436881 -0.8145656 0.03628384 0.8145656 -0.5436881 -0.03628383 0.7071068 -0.7071068 -2.43335e-8 0.5854711 0.7451446 0.1596736 0.2740113 0.9385197 -0.09980984 0.390696 0.9166707 -0.05338063 0.7451446 0.585471 -0.1596736 0.9166708 0.3906958 0.05338056 0.9385198 0.2740112 0.09980979 0.8145656 0.5436881 0.03628383 0.5436881 0.8145656 -0.03628384 0.7071068 0.7071068 2.43335e-8 -0.585471 -0.7451446 0.1596736 -0.2740112 -0.9385198 -0.09980978 -0.3906958 -0.9166708 -0.05338057 -0.7451446 -0.5854711 -0.1596736 -0.9166707 -0.390696 0.05338063 -0.9385197 -0.2740113 0.09980983 -0.8145656 -0.5436882 0.03628383 -0.5436881 -0.8145656 -0.03628383 -0.7071068 -0.7071068 -2.43335e-8 -0.7451446 0.5854711 0.1596736 -0.9385197 0.2740113 -0.09980984 -0.9166707 0.390696 -0.05338063 -0.585471 0.7451446 -0.1596736 -0.3906958 0.9166708 0.05338056 -0.2740112 0.9385198 0.09980979 -0.5436881 0.8145656 0.03628383 -0.8145656 0.5436881 -0.03628384 -0.7071068 0.7071068 2.43335e-8 0.1498489 -0.966729 0.09853582 0.1809593 -0.9647717 0.03522833 -0.1809593 -0.9647717 -0.03522833 -0.1809593 -0.9647717 -0.03522833 -0.1498489 -0.966729 -0.09853581 0.1498489 -0.966729 0.09853582 -0.966729 -0.1498489 0.09853582 -0.9647717 -0.1809593 0.03522833 -0.9647717 0.1809593 -0.03522833 -0.9647717 0.1809593 -0.03522833 -0.966729 0.1498489 -0.09853581 -0.966729 -0.1498489 0.09853582 -0.1498489 0.966729 0.09853582 -0.1809593 0.9647717 0.03522833 0.1809593 0.9647717 -0.03522833 0.1809593 0.9647717 -0.03522833 0.1498489 0.966729 -0.09853581 -0.1498489 0.966729 0.09853582 0.966729 0.1498489 0.09853582 0.9647717 0.1809593 0.03522833 0.9647717 -0.1809593 -0.03522833 0.9647717 -0.1809593 -0.03522833 0.966729 -0.1498489 -0.09853581 0.966729 0.1498489 0.09853582 0.966729 -0.1498489 0.09853578 0.9647717 -0.1809593 0.03522832 0.9647717 0.1809593 -0.03522832 0.9647717 0.1809593 -0.03522832 0.966729 0.149849 -0.09853578 0.966729 -0.1498489 0.09853578 0.149849 0.966729 0.09853581 0.1809593 0.9647717 0.03522832 -0.1809593 0.9647717 -0.03522832 -0.1809593 0.9647717 -0.03522832 -0.149849 0.966729 -0.09853578 0.149849 0.966729 0.09853581 -0.966729 0.149849 0.09853581 -0.9647717 0.1809593 0.03522832 -0.9647717 -0.1809593 -0.03522832 -0.9647717 -0.1809593 -0.03522832 -0.966729 -0.149849 -0.09853579 -0.966729 0.149849 0.09853581 -0.1498489 -0.966729 0.09853578 -0.1809593 -0.9647717 0.03522832 0.1809593 -0.9647717 -0.03522831 0.1809593 -0.9647717 -0.03522831 0.149849 -0.966729 -0.09853579 -0.1498489 -0.966729 0.09853578 0.5344221 0.8241011 -0.03369053 0.1941471 0.9605829 0.03670338 0.1941471 0.9605829 -0.03670337 0.1941471 0.9605829 -0.03670337 0.534422 0.8241011 0.03369051 0.5344221 0.8241011 -0.03369053 0.534422 -0.8241011 -0.03369051 0.1941472 -0.9605829 0.03670335 0.1941471 -0.9605829 -0.03670339 0.1941471 -0.9605829 -0.03670339 0.534422 -0.8241011 0.03369051 0.534422 -0.8241011 -0.03369051 -0.8241011 0.5344221 -0.03369053 -0.9605829 0.1941471 0.03670338 -0.9605829 0.1941471 -0.03670337 -0.9605829 0.1941471 -0.03670337 -0.8241011 0.534422 0.03369051 -0.8241011 0.5344221 -0.03369053 -0.5344221 -0.8241011 -0.03369053 -0.1941471 -0.9605829 0.03670338 -0.1941471 -0.9605829 -0.03670337 -0.1941471 -0.9605829 -0.03670337 -0.534422 -0.8241011 0.03369051 -0.5344221 -0.8241011 -0.03369053 + + + + + + + + + + 3.23116e-7 -0.9815729 0.1910881 3.23116e-7 -0.9815729 -0.1910882 3.23116e-7 -0.9815729 -0.1910881 2.42337e-7 -0.9815729 -0.1910881 2.42337e-7 -0.9815729 0.1910882 2.42337e-7 -0.9815729 0.1910881 2.42337e-7 -0.9815729 -0.1910881 2.42337e-7 -0.9815729 -0.1910882 2.42337e-7 -0.9815729 0.1910881 3.23116e-7 -0.9815729 0.191088 3.23116e-7 -0.9815729 0.1910882 3.23116e-7 -0.9815729 -0.191088 0 0.1910881 -0.9815729 0 0.1910881 -0.9815729 0 -0.1910881 -0.9815729 0 -0.1910881 -0.9815729 0 -0.1910881 -0.9815729 0 0.1910881 -0.9815729 -0.1910881 0 -0.9815729 -0.1910881 0 -0.9815729 0.1910881 0 -0.9815729 0.1910881 0 -0.9815729 0.1910881 0 -0.9815729 -0.1910881 0 -0.9815729 0 -0.1910881 -0.9815729 0 -0.1910881 -0.9815729 0 0.1910881 -0.9815729 0 0.1910881 -0.9815729 0 0.1910881 -0.9815729 0 -0.1910881 -0.9815729 0.1910881 0 -0.9815729 0.1910881 0 -0.9815729 -0.191088 0 -0.9815729 -0.191088 0 -0.9815729 -0.1910881 0 -0.9815729 0.1910881 0 -0.9815729 0.1316091 -0.9825265 0.1316085 0.131609 -0.9825265 0.1316083 -0.1316085 -0.9825265 -0.1316091 -0.1316087 -0.9825265 -0.1316087 -0.1316087 -0.9825265 -0.1316087 0.1316087 -0.9825265 0.1316087 3.4193e-7 -0.8355425 -0.5494258 3.4193e-7 -0.5494258 -0.8355425 3.4193e-7 -0.5494259 -0.8355425 3.4193e-7 -0.5494259 -0.8355425 3.4193e-7 -0.8355425 -0.5494257 3.4193e-7 -0.8355425 -0.5494258 0.1316087 -0.9825265 -0.1316087 0.1316087 -0.9825265 -0.1316087 -0.1316087 -0.9825265 0.1316087 -0.1316085 -0.9825265 0.1316091 -0.1316084 -0.9825265 0.131609 0.1316091 -0.9825265 -0.1316085 3.4193e-7 -0.8355425 0.5494258 3.4193e-7 -0.5494258 0.8355425 3.4193e-7 -0.5494259 0.8355425 3.4193e-7 -0.5494259 0.8355425 3.4193e-7 -0.8355425 0.5494257 3.4193e-7 -0.8355425 0.5494258 0 -0.8355424 -0.5494259 0 -0.5494256 -0.8355426 0 -0.5494256 -0.8355427 0 -0.5494256 -0.8355427 0 -0.8355424 -0.5494259 0 -0.8355424 -0.5494259 0.8355424 0 -0.5494259 0.5494256 0 -0.8355426 0.5494256 0 -0.8355427 0.5494256 0 -0.8355427 0.8355424 0 -0.5494259 0.8355424 0 -0.5494259 0 0.8355424 -0.5494259 0 0.5494256 -0.8355426 0 0.5494256 -0.8355427 0 0.5494256 -0.8355427 0 0.8355424 -0.5494259 0 0.8355424 -0.5494259 -0.8355424 0 -0.5494259 -0.5494256 0 -0.8355426 -0.5494256 0 -0.8355427 -0.5494256 0 -0.8355427 -0.8355424 0 -0.5494259 -0.8355424 0 -0.5494259 -0.1316087 0.1316087 -0.9825265 -0.1316087 0.1316087 -0.9825265 0.1316087 -0.1316087 -0.9825265 0.1316087 -0.1316087 -0.9825265 0.1316087 -0.1316087 -0.9825265 -0.1316087 0.1316087 -0.9825265 -0.1316087 -0.1316087 -0.9825265 -0.1316087 -0.1316087 -0.9825265 0.1316087 0.1316087 -0.9825265 0.1316087 0.1316087 -0.9825265 0.1316087 0.1316087 -0.9825265 -0.1316087 -0.1316087 -0.9825265 -0.1316087 -0.1316087 -0.9825265 -0.1316087 -0.1316087 -0.9825265 0.1316087 0.1316087 -0.9825265 0.1316087 0.1316087 -0.9825265 0.1316087 0.1316087 -0.9825265 -0.1316087 -0.1316087 -0.9825265 0.1316087 -0.1316087 -0.9825265 0.1316087 -0.1316087 -0.9825265 -0.1316087 0.1316087 -0.9825265 -0.1316087 0.1316087 -0.9825265 -0.1316087 0.1316087 -0.9825265 0.1316087 -0.1316087 -0.9825265 0.08422161 0.1628838 -0.983044 0.273704 0.529342 -0.8030462 0.2540759 0.4913813 -0.8330606 0.2089638 0.5044833 -0.8377534 0.07324067 0.1768186 -0.9815146 0.07102473 0.1714689 -0.982626 -0.08422165 -0.983044 0.1628839 -0.2737041 -0.8030461 0.5293421 -0.2540759 -0.8330606 0.4913812 -0.2089638 -0.8377534 0.5044833 -0.07324066 -0.9815146 0.1768186 -0.07102475 -0.982626 0.1714689 0.1628838 -0.08422161 -0.983044 0.529342 -0.273704 -0.8030462 0.4913813 -0.2540759 -0.8330606 0.5044833 -0.2089638 -0.8377534 0.1768186 -0.07324067 -0.9815146 0.1714689 -0.07102473 -0.982626 0.08422137 -0.983044 -0.162884 0.2540756 -0.8330606 -0.4913813 0.2737039 -0.803046 -0.5293423 0.2089638 -0.8377534 -0.5044833 0.07102474 -0.982626 -0.1714689 0.07324067 -0.9815146 -0.1768186 -0.08422189 -0.1628836 -0.9830441 -0.2540762 -0.491381 -0.8330606 -0.2737043 -0.5293417 -0.8030463 -0.2089638 -0.5044832 -0.8377535 -0.07102471 -0.1714688 -0.982626 -0.07324064 -0.1768186 -0.9815146 0.1628836 -0.08422192 -0.983044 0.491381 -0.2540762 -0.8330606 0.5293417 -0.2737044 -0.8030463 0.5044832 -0.2089638 -0.8377535 0.1714688 -0.07102472 -0.982626 0.1768186 -0.07324064 -0.9815146 -0.1628836 0.08422189 -0.9830441 -0.491381 0.2540762 -0.8330606 -0.5293417 0.2737043 -0.8030463 -0.5044832 0.2089638 -0.8377535 -0.1714688 0.07102471 -0.982626 -0.1768186 0.07324064 -0.9815146 0.08422192 0.1628836 -0.983044 0.2540762 0.491381 -0.8330606 0.2737044 0.5293417 -0.8030463 0.2089638 0.5044832 -0.8377535 0.07102472 0.1714688 -0.982626 0.07324064 0.1768186 -0.9815146 0.1714689 0.07102472 -0.982626 0.1768186 0.07324067 -0.9815146 0.5044834 0.2089638 -0.8377533 0.4913813 0.2540759 -0.8330605 0.529342 0.273704 -0.8030462 0.1628838 0.0842216 -0.983044 0.2089638 -0.8377534 0.5044833 0.07102474 -0.982626 0.1714689 0.07324067 -0.9815146 0.1768186 0.08422164 -0.983044 0.1628838 0.254076 -0.8330605 0.4913812 0.2737041 -0.8030461 0.5293421 -0.5044833 0.2089638 -0.8377534 -0.1768186 0.07324067 -0.9815146 -0.1714689 0.07102473 -0.982626 -0.1628838 0.08422161 -0.983044 -0.529342 0.273704 -0.8030462 -0.4913813 0.2540759 -0.8330606 -0.2540759 0.4913813 -0.8330605 -0.273704 0.529342 -0.8030462 -0.0842216 0.1628838 -0.983044 -0.07102472 0.1714689 -0.982626 -0.07324067 0.1768186 -0.9815146 -0.2089638 0.5044834 -0.8377533 0.07102472 -0.1714689 -0.982626 0.07324067 -0.1768186 -0.9815146 0.2089638 -0.5044834 -0.8377533 0.2540759 -0.4913813 -0.8330605 0.273704 -0.529342 -0.8030462 0.0842216 -0.1628838 -0.983044 -0.07102475 -0.982626 -0.1714689 -0.2089638 -0.8377534 -0.5044833 -0.07324066 -0.9815146 -0.1768186 -0.2540763 -0.8330605 -0.4913811 -0.08422193 -0.983044 -0.1628837 -0.2737044 -0.8030461 -0.5293418 -0.2089638 -0.5044833 -0.8377534 -0.07324067 -0.1768186 -0.9815146 -0.07102473 -0.1714689 -0.982626 -0.08422161 -0.1628838 -0.983044 -0.273704 -0.529342 -0.8030462 -0.2540759 -0.4913813 -0.8330606 -0.5044834 -0.2089638 -0.8377533 -0.1714689 -0.07102472 -0.982626 -0.1768186 -0.07324067 -0.9815146 -0.1628838 -0.0842216 -0.983044 -0.4913813 -0.2540759 -0.8330605 -0.529342 -0.273704 -0.8030462 0.2089639 -0.8377533 -0.5044834 0.07324066 -0.9815146 -0.1768186 0.07102476 -0.982626 -0.171469 0.0842217 -0.983044 -0.1628839 0.2737042 -0.8030461 -0.5293421 0.2540761 -0.8330605 -0.4913813 -0.1714688 -0.07102472 -0.982626 -0.5044831 -0.2089637 -0.8377535 -0.1768185 -0.07324064 -0.9815147 -0.4913809 -0.2540762 -0.8330607 -0.1628836 -0.08422192 -0.983044 -0.5293417 -0.2737044 -0.8030463 -0.07102476 -0.982626 -0.171469 -0.07324067 -0.9815146 -0.1768186 -0.2089639 -0.8377533 -0.5044835 -0.2540761 -0.8330605 -0.4913813 -0.2737042 -0.8030461 -0.5293421 -0.0842217 -0.983044 -0.1628839 0.2540762 -0.491381 -0.8330606 0.08422189 -0.1628836 -0.9830441 0.2737043 -0.5293417 -0.8030463 0.07102471 -0.1714688 -0.982626 0.2089637 -0.5044831 -0.8377535 0.07324064 -0.1768186 -0.9815146 -0.07102475 -0.982626 0.1714689 -0.07324067 -0.9815146 0.1768186 -0.2089639 -0.8377533 0.5044834 -0.2540761 -0.8330605 0.4913813 -0.2737042 -0.8030461 0.529342 -0.08422165 -0.983044 0.1628839 -0.07102471 0.1714688 -0.982626 -0.2089637 0.5044831 -0.8377535 -0.07324064 0.1768186 -0.9815146 -0.2540762 0.4913809 -0.8330607 -0.08422192 0.1628836 -0.983044 -0.2737044 0.5293417 -0.8030463 0.2089639 -0.8377533 0.5044834 0.07324066 -0.9815146 0.1768186 0.07102476 -0.982626 0.1714689 0.08422172 -0.983044 0.1628839 0.2737043 -0.8030461 0.529342 0.2540761 -0.8330605 0.4913813 0.491381 0.2540762 -0.8330606 0.1628836 0.08422189 -0.9830441 0.5293417 0.2737043 -0.8030463 0.1714688 0.07102471 -0.982626 0.5044831 0.2089637 -0.8377535 0.1768186 0.07324064 -0.9815146 0.07324067 -0.9815146 0.1768186 0.07102474 -0.982626 0.1714689 -0.07102475 -0.982626 -0.1714689 -0.07102475 -0.982626 -0.1714689 -0.07324066 -0.9815146 -0.1768186 0.07324067 -0.9815146 0.1768186 2.61879e-7 -0.9815729 -0.1910882 2.62471e-7 -0.8355425 -0.5494258 2.62471e-7 -0.8355425 -0.5494258 3.49961e-7 -0.8355425 -0.5494257 3.49171e-7 -0.9815729 -0.1910881 3.49171e-7 -0.9815729 -0.1910882 0.07324067 -0.9815146 -0.1768186 0.07102474 -0.982626 -0.1714689 -0.07102475 -0.982626 0.1714689 -0.07102475 -0.982626 0.1714689 -0.07324066 -0.9815146 0.1768186 0.07324067 -0.9815146 -0.1768186 2.61879e-7 -0.9815729 0.1910882 2.62471e-7 -0.8355425 0.5494258 2.62471e-7 -0.8355425 0.5494258 2.62471e-7 -0.8355425 0.5494258 2.61879e-7 -0.9815729 0.1910881 2.61879e-7 -0.9815729 0.1910882 2.61879e-7 -0.9815729 -0.1910881 2.62471e-7 -0.8355425 -0.5494259 2.62471e-7 -0.8355424 -0.549426 2.62471e-7 -0.8355424 -0.549426 2.61879e-7 -0.9815729 -0.1910882 2.61879e-7 -0.9815729 -0.1910881 -0.07324067 -0.9815146 -0.1768186 -0.07102476 -0.982626 -0.171469 0.07102476 -0.982626 0.1714689 0.07102476 -0.982626 0.1714689 0.07324066 -0.9815146 0.1768186 -0.07324067 -0.9815146 -0.1768186 2.61878e-7 -0.9815729 0.1910881 2.6247e-7 -0.8355425 0.5494259 2.6247e-7 -0.8355424 0.549426 3.49961e-7 -0.8355424 0.549426 3.49172e-7 -0.9815729 0.1910882 3.49172e-7 -0.9815729 0.191088 -0.07324067 -0.9815146 0.1768186 -0.07102475 -0.982626 0.1714689 0.07102476 -0.982626 -0.171469 0.07102476 -0.982626 -0.171469 0.07324066 -0.9815146 -0.1768186 -0.07324067 -0.9815146 0.1768186 -0.07324067 0.1768186 -0.9815146 -0.07102472 0.1714689 -0.982626 0.07102471 -0.1714688 -0.982626 0.07102471 -0.1714688 -0.982626 0.07324064 -0.1768186 -0.9815146 -0.07324067 0.1768186 -0.9815146 -0.07324064 -0.1768186 -0.9815146 -0.07102471 -0.1714688 -0.982626 0.07102473 0.1714689 -0.982626 0.07102473 0.1714689 -0.982626 0.07324067 0.1768186 -0.9815146 -0.07324064 -0.1768186 -0.9815146 -0.1768186 -0.07324067 -0.9815146 -0.1714689 -0.07102472 -0.982626 0.1714688 0.07102471 -0.982626 0.1714688 0.07102471 -0.982626 0.1768186 0.07324064 -0.9815146 -0.1768186 -0.07324067 -0.9815146 0.07324067 -0.1768186 -0.9815146 0.07102472 -0.1714689 -0.982626 -0.07102471 0.1714688 -0.982626 -0.07102471 0.1714688 -0.982626 -0.07324064 0.1768186 -0.9815146 0.07324067 -0.1768186 -0.9815146 0.4082482 0.4082482 -0.8164966 0.1316087 0.1316087 -0.9825265 0.1316087 0.1316087 -0.9825265 0.4082486 -0.8164966 0.408248 0.131609 -0.9825265 0.1316083 0.1316091 -0.9825265 0.1316085 0.2340486 -0.8353806 0.4973535 0.3505436 -0.5676572 0.7449057 0.2558117 -0.7994118 0.5436002 -0.408248 -0.8164966 0.4082486 -0.1316083 -0.9825265 0.131609 -0.1316085 -0.9825265 0.1316091 -0.4082482 0.4082482 -0.8164966 -0.1316087 0.1316087 -0.9825265 -0.1316087 0.1316087 -0.9825265 -0.3505436 -0.5676572 0.7449057 -0.2340486 -0.8353806 0.4973535 -0.2558117 -0.7994118 0.5436002 0.4082482 -0.4082482 -0.8164966 0.1316087 -0.1316087 -0.9825265 0.1316087 -0.1316087 -0.9825265 -0.2558122 -0.7994119 -0.5435998 -0.3505441 -0.5676572 -0.7449055 -0.2340491 -0.8353806 -0.4973533 -0.1316087 -0.9825265 -0.1316087 -0.1316087 -0.9825265 -0.1316087 -0.4082483 -0.8164966 -0.4082483 0.2558113 -0.7994117 -0.5436005 0.2340481 -0.8353806 -0.4973536 0.3505432 -0.5676572 -0.7449059 -0.4082482 -0.4082482 -0.8164966 -0.1316087 -0.1316087 -0.9825265 -0.1316087 -0.1316087 -0.9825265 0.1316087 -0.9825265 -0.1316087 0.1316087 -0.9825265 -0.1316087 0.4082483 -0.8164966 -0.4082483 -0.2558119 -0.5435998 -0.799412 -0.2340489 -0.4973532 -0.8353807 -0.3505439 -0.7449055 -0.5676573 -0.5435997 -0.255812 -0.799412 -0.7449054 -0.350544 -0.5676573 -0.4973532 -0.234049 -0.8353807 -0.1316087 -0.1316087 -0.9825265 -0.1316087 -0.1316087 -0.9825265 -0.4082482 -0.4082482 -0.8164967 0.5435997 -0.255812 -0.799412 0.4973532 -0.234049 -0.8353807 0.7449054 -0.350544 -0.5676573 0.2558119 -0.5435998 -0.799412 0.3505439 -0.7449055 -0.5676573 0.2340489 -0.4973532 -0.8353807 0.1316087 -0.1316087 -0.9825265 0.1316087 -0.1316087 -0.9825265 0.4082482 -0.4082482 -0.8164967 -0.5435998 0.2558119 -0.799412 -0.4973532 0.2340489 -0.8353807 -0.7449055 0.3505439 -0.5676573 -0.255812 0.5435997 -0.799412 -0.350544 0.7449054 -0.5676573 -0.234049 0.4973532 -0.8353807 -0.1316087 0.1316087 -0.9825265 -0.1316087 0.1316087 -0.9825265 -0.4082482 0.4082482 -0.8164967 0.255812 0.5435997 -0.799412 0.234049 0.4973532 -0.8353807 0.350544 0.7449054 -0.5676573 0.5435998 0.2558119 -0.799412 0.7449055 0.3505439 -0.5676573 0.4973532 0.2340489 -0.8353807 0.1316087 0.1316087 -0.9825265 0.1316087 0.1316087 -0.9825265 0.4082482 0.4082482 -0.8164967 0.5494258 0 -0.8355425 0.1910881 0 -0.9815729 0.1910881 0 -0.9815729 0.1910881 0 -0.9815729 0.5494258 0 -0.8355425 0.5494258 0 -0.8355425 0 -0.5494258 -0.8355425 0 -0.1910881 -0.9815729 0 -0.1910881 -0.9815729 0 -0.1910881 -0.9815729 0 -0.5494258 -0.8355425 0 -0.5494258 -0.8355425 -0.5494258 0 -0.8355425 -0.1910881 0 -0.9815729 -0.1910881 0 -0.9815729 -0.1910881 0 -0.9815729 -0.5494258 0 -0.8355425 -0.5494258 0 -0.8355425 0 0.5494258 -0.8355425 0 0.1910881 -0.9815729 0 0.1910881 -0.9815729 0 0.1910881 -0.9815729 0 0.5494258 -0.8355425 0 0.5494258 -0.8355425 0 -0.5494256 -0.8355426 0 -0.1910881 -0.9815729 0 -0.1910881 -0.9815729 0 -0.1910881 -0.9815729 0 -0.5494256 -0.8355427 0 -0.5494256 -0.8355426 0.5494256 0 -0.8355426 0.1910881 0 -0.9815729 0.1910881 0 -0.9815729 0.1910881 0 -0.9815729 0.5494256 0 -0.8355427 0.5494256 0 -0.8355426 0 0.5494256 -0.8355426 0 0.1910881 -0.9815729 0 0.1910881 -0.9815729 0 0.1910881 -0.9815729 0 0.5494256 -0.8355427 0 0.5494256 -0.8355426 -0.5494256 0 -0.8355426 -0.1910881 0 -0.9815729 -0.191088 0 -0.9815729 -0.191088 0 -0.9815729 -0.5494256 0 -0.8355427 -0.5494256 0 -0.8355426 -0.1714689 0.07102473 -0.982626 -0.1768186 0.07324067 -0.9815146 0.1768186 -0.07324064 -0.9815146 0.1768186 -0.07324064 -0.9815146 0.1714688 -0.07102472 -0.982626 -0.1714689 0.07102473 -0.982626 -0.1714688 -0.07102472 -0.982626 -0.1768185 -0.07324064 -0.9815147 0.1768186 0.07324067 -0.9815146 0.1768186 0.07324067 -0.9815146 0.1714689 0.07102472 -0.982626 -0.1714688 -0.07102472 -0.982626 -0.07102473 -0.1714689 -0.982626 -0.07324067 -0.1768186 -0.9815146 0.07324064 0.1768186 -0.9815146 0.07324064 0.1768186 -0.9815146 0.07102472 0.1714688 -0.982626 -0.07102473 -0.1714689 -0.982626 0.1714689 -0.07102473 -0.982626 0.1768186 -0.07324067 -0.9815146 -0.1768186 0.07324064 -0.9815146 -0.1768186 0.07324064 -0.9815146 -0.1714688 0.07102471 -0.982626 0.1714689 -0.07102473 -0.982626 + + + + + + + + + + + + + + + + + +

46 0 92 0 55 1 93 1 3 2 94 2 3 2 95 3 24 3 96 4 46 0 97 5 62 4 98 6 67 5 99 7 76 6 100 8 76 6 101 9 71 7 102 10 62 4 103 11 21 8 104 12 51 9 105 13 15 10 106 14 15 10 107 15 4 11 108 16 21 8 109 17 48 12 110 18 60 13 111 19 18 14 112 20 18 14 113 21 5 15 114 22 48 12 115 23 57 16 116 24 52 17 117 25 74 18 118 26 74 18 119 27 7 19 120 28 57 16 121 29 27 20 122 30 43 21 123 31 65 22 124 32 65 22 125 33 6 23 126 34 27 20 127 35 45 24 128 36 44 25 129 37 26 26 130 38 26 26 131 39 56 27 132 40 45 24 133 41 54 28 134 42 53 29 135 43 12 30 136 44 12 30 137 45 28 31 138 46 54 28 139 47 30 32 140 48 61 33 141 49 9 34 142 50 9 34 143 51 1 35 144 52 30 32 145 53 23 36 146 54 10 37 147 55 20 38 148 56 20 38 149 57 47 39 150 58 23 36 151 59 13 40 152 60 31 41 153 61 70 42 154 62 70 42 155 63 68 43 156 64 13 40 157 65 14 44 158 66 34 45 159 67 79 46 160 68 79 46 161 69 77 47 162 70 14 44 163 71 17 48 164 72 40 49 165 73 73 50 166 74 73 50 167 75 72 51 168 76 17 48 169 77 16 52 170 78 37 53 171 79 64 54 172 80 64 54 173 81 63 55 174 82 16 52 175 83 50 56 176 84 49 57 177 85 36 58 178 86 36 58 179 87 69 59 180 88 50 56 181 89 33 60 182 90 66 61 183 91 8 62 184 92 8 62 185 93 0 63 186 94 33 60 187 95 59 64 188 96 58 65 189 97 42 66 190 98 42 66 191 99 78 67 192 100 59 64 193 101 11 68 194 102 2 69 195 103 39 70 196 104 39 70 197 105 75 71 198 106 11 68 199 107 0 63 200 108 19 72 201 109 20 38 202 110 20 38 203 111 21 8 204 112 0 63 205 113 1 35 206 114 22 73 207 115 23 36 208 116 23 36 209 117 24 3 210 118 1 35 211 119 2 69 212 120 25 74 213 121 26 26 214 122 26 26 215 123 27 20 216 124 2 69 217 125 30 32 218 126 28 31 219 127 29 75 220 128 28 31 221 129 30 32 222 130 3 2 223 131 33 60 224 132 31 41 225 133 32 76 226 134 31 41 227 135 33 60 228 136 4 11 229 137 36 58 230 138 34 45 231 139 35 77 232 140 34 45 233 141 36 58 234 142 5 15 235 143 39 70 236 144 37 53 237 145 38 78 238 146 37 53 239 147 39 70 240 148 6 23 241 149 42 66 242 150 40 49 243 151 41 79 244 152 40 49 245 153 42 66 246 154 7 19 247 155 8 62 248 156 43 21 249 157 44 25 250 158 44 25 251 159 19 72 252 160 8 62 253 161 47 39 254 162 45 24 255 163 46 0 256 164 45 24 257 165 47 39 258 166 19 72 259 167 9 34 260 168 48 12 261 169 49 57 262 170 49 57 263 171 22 73 264 172 9 34 265 173 10 37 266 174 22 73 267 175 50 56 268 176 50 56 269 177 51 9 270 178 10 37 271 179 11 68 272 180 52 17 273 181 53 29 274 182 53 29 275 183 25 74 276 184 11 68 277 185 56 27 278 186 54 28 279 187 55 1 280 188 54 28 281 189 56 27 282 190 25 74 283 191 12 30 284 192 57 16 285 193 58 65 286 194 58 65 287 195 29 75 288 196 12 30 289 197 61 33 290 198 59 64 291 199 60 13 292 200 59 64 293 201 61 33 294 202 29 75 295 203 13 40 296 204 62 4 297 205 63 55 298 206 63 55 299 207 32 76 300 208 13 40 301 209 66 61 302 210 64 54 303 211 65 22 304 212 64 54 305 213 66 61 306 214 32 76 307 215 14 44 308 216 67 5 309 217 68 43 310 218 68 43 311 219 35 77 312 220 14 44 313 221 70 42 314 222 69 59 315 223 35 77 316 224 69 59 317 225 70 42 318 226 15 10 319 227 16 52 320 228 71 7 321 229 72 51 322 230 72 51 323 231 38 78 324 232 16 52 325 233 75 71 326 234 73 50 327 235 74 18 328 236 73 50 329 237 75 71 330 238 38 78 331 239 17 48 332 240 76 6 333 241 77 47 334 242 77 47 335 243 41 79 336 244 17 48 337 245 79 46 338 246 78 67 339 247 41 79 340 248 78 67 341 249 79 46 342 250 18 14 343 251 46 0 344 252 45 24 345 253 56 27 346 254 56 27 347 255 55 1 348 256 46 0 349 257 55 1 350 258 54 28 351 259 28 31 352 260 28 31 353 261 3 2 354 262 55 1 67 263 3 2 355 264 30 32 356 265 1 35 357 266 1 35 358 267 24 3 359 268 3 2 15 269 24 3 360 270 23 36 361 271 47 39 362 272 47 39 363 273 46 0 58 274 24 3 36 275 62 4 364 276 13 40 365 277 68 43 366 278 68 43 367 279 67 5 368 280 62 4 369 281 67 5 370 282 14 44 371 283 77 47 372 284 77 47 373 285 76 6 374 286 67 5 79 287 76 6 375 288 17 48 376 289 72 51 377 290 72 51 378 291 71 7 379 292 76 6 88 293 71 7 380 294 16 52 381 295 63 55 382 296 63 55 383 297 62 4 74 298 71 7 83 299 51 9 384 300 50 56 385 301 69 59 386 302 69 59 387 303 15 10 388 304 51 9 389 305 4 11 390 306 33 60 391 307 0 63 392 308 0 63 393 309 21 8 394 310 4 11 395 311 60 13 396 312 59 64 397 313 78 67 398 314 78 67 399 315 18 14 400 316 60 13 401 317 52 17 402 318 11 68 403 319 75 71 404 320 75 71 405 321 74 18 406 322 52 17 407 323 19 72 408 324 0 63 12 325 8 62 409 326 19 72 410 327 44 25 411 328 45 24 57 329 47 39 59 330 20 38 412 331 19 72 31 332 22 73 413 333 1 35 13 334 9 34 414 335 22 73 415 336 49 57 416 337 50 56 62 338 10 37 417 339 23 36 35 340 22 73 34 341 25 74 418 342 2 69 419 343 11 68 23 344 25 74 420 345 53 29 421 346 54 28 66 347 56 27 68 348 26 26 422 349 25 74 37 350 29 75 423 351 28 31 40 352 12 30 424 353 29 75 425 354 58 65 426 355 59 64 71 356 61 33 427 357 30 32 42 358 29 75 41 359 32 76 428 360 31 41 429 361 13 40 25 362 32 76 430 363 63 55 75 364 64 54 431 365 66 61 432 366 33 60 45 367 32 76 44 368 35 77 433 369 34 45 434 370 14 44 26 371 35 77 435 372 68 43 80 373 70 42 436 374 69 59 81 375 36 58 437 376 35 77 47 377 38 78 438 378 37 53 439 379 16 52 28 380 38 78 440 381 72 51 84 382 73 50 441 383 75 71 87 384 39 70 442 385 38 78 50 386 41 79 443 387 40 49 444 388 17 48 29 389 41 79 445 390 77 47 89 391 79 46 446 392 78 67 90 393 42 66 447 394 41 79 53 395 44 25 448 396 43 21 449 397 27 20 450 398 27 20 451 399 26 26 38 400 44 25 56 401 53 29 452 402 52 17 64 403 57 16 453 404 57 16 454 405 12 30 24 406 53 29 65 407 61 33 455 408 60 13 72 409 48 12 456 410 48 12 457 411 9 34 21 412 61 33 73 413 10 37 458 414 51 9 63 415 21 8 459 416 21 8 33 417 20 38 32 418 10 37 22 419 31 41 460 420 4 11 16 421 15 10 461 422 15 10 27 423 70 42 82 424 31 41 43 425 34 45 462 426 5 15 463 427 18 14 464 428 18 14 30 429 79 46 91 430 34 45 46 431 40 49 465 432 7 19 466 433 74 18 467 434 74 18 86 435 73 50 85 436 40 49 52 437 37 53 468 438 6 23 469 439 65 22 470 440 65 22 471 441 64 54 76 442 37 53 49 443 49 57 472 444 48 12 60 445 5 15 473 446 5 15 17 447 36 58 48 448 49 57 61 449 66 61 474 450 65 22 77 451 43 21 475 452 43 21 55 453 8 62 20 454 66 61 78 455 58 65 476 456 57 16 69 457 7 19 477 458 7 19 19 459 42 66 54 460 58 65 70 461 2 69 478 462 27 20 39 463 6 23 479 464 6 23 18 465 39 70 51 466 2 69 14 467

+
+
+
+
+ + + + + 0 0 0 + + + + + + + + + + + + + + + + + + + + 1 + 1 + 1 + 1 + + + + + + + + +
\ No newline at end of file diff --git a/Templates/Full/game/art/environment/Fog_RCube.cs b/Templates/Full/game/art/environment/Fog_RCube.cs new file mode 100644 index 0000000000..59558647d3 --- /dev/null +++ b/Templates/Full/game/art/environment/Fog_RCube.cs @@ -0,0 +1,8 @@ + +singleton TSShapeConstructor(Fog_RCubeDAE) +{ + baseShape = "./Fog_RCube.DAE"; + lodType = "TrailingNumber"; + neverImport = "env*"; + loadLights = "0"; +}; diff --git a/Templates/Full/game/art/environment/Fog_RCube.dts b/Templates/Full/game/art/environment/Fog_RCube.dts new file mode 100644 index 0000000000..a72b0a79a0 Binary files /dev/null and b/Templates/Full/game/art/environment/Fog_RCube.dts differ diff --git a/Templates/Full/game/art/environment/Fog_Sphere.DAE b/Templates/Full/game/art/environment/Fog_Sphere.DAE new file mode 100644 index 0000000000..b91deada4e --- /dev/null +++ b/Templates/Full/game/art/environment/Fog_Sphere.DAE @@ -0,0 +1,177 @@ + + + + + Richard + OpenCOLLADA for 3ds Max; Version: 1.4.1; Revision: exported; Platform: x64; Configuration: Release_Max2011_static + file:///G:/Documents%20and%20Settings/Richard/Mijn%20documenten/3dsmax/scenes/FogVolumes.max + + 2014-08-16T10:30:12 + 2014-08-16T10:30:12 + + Z_UP + + + + + + + + 0 0 0 1 + + + 0.588 0.588 0.588 1 + + + 0.588 0.588 0.588 1 + + + 0.9 0.9 0.9 1 + + + 0 + + + 0 0 0 1 + + + 1 1 1 1 + + + 1 + + + + + + + + 0 + 0 + 0 + 1.5 + 0 + 3 + 1 + 0 + + + 1 + 1 + 0 + 0.1 + 0 + + + + + + + + + + + + + + + 0 0 1 -2.18557e-8 0.5 0.8660254 -0.25 0.4330127 0.8660254 -0.4330127 0.25 0.8660254 -0.5 7.54979e-8 0.8660254 -0.4330128 -0.2499999 0.8660254 -0.2500001 -0.4330126 0.8660254 -2.32456e-7 -0.5 0.8660254 0.2499997 -0.4330128 0.8660254 0.4330125 -0.2500003 0.8660254 0.5 -3.89414e-7 0.8660254 0.4330129 0.2499996 0.8660254 0.2500004 0.4330125 0.8660254 -3.78552e-8 0.8660254 0.5 -0.4330128 0.75 0.5 -0.75 0.4330128 0.5 -0.8660254 1.30766e-7 0.5 -0.7500001 -0.4330125 0.5 -0.433013 -0.7499999 0.5 -4.02626e-7 -0.8660254 0.5 0.4330123 -0.7500003 0.5 0.7499998 -0.4330132 0.5 0.8660254 -6.74485e-7 0.5 0.7500004 0.433012 0.5 0.4330134 0.7499996 0.5 -4.37114e-8 1 -4.37114e-8 -0.5000001 0.8660254 -4.37114e-8 -0.8660254 0.5000001 -4.37114e-8 -1 1.50996e-7 -4.37114e-8 -0.8660255 -0.4999998 -4.37114e-8 -0.5000003 -0.8660252 -4.37114e-8 -4.64912e-7 -1 -4.37114e-8 0.4999995 -0.8660257 -4.37114e-8 0.8660251 -0.5000006 -4.37114e-8 1 -7.78829e-7 -4.37114e-8 0.8660259 0.4999992 -4.37114e-8 0.5000008 0.8660249 -4.37114e-8 -3.78552e-8 0.8660254 -0.5000001 -0.4330128 0.75 -0.5000001 -0.75 0.4330128 -0.5000001 -0.8660254 1.30766e-7 -0.5000001 -0.7500001 -0.4330125 -0.5000001 -0.433013 -0.7499998 -0.5000001 -4.02626e-7 -0.8660254 -0.5000001 0.4330122 -0.7500002 -0.5000001 0.7499997 -0.4330132 -0.5000001 0.8660254 -6.74485e-7 -0.5000001 0.7500004 0.433012 -0.5000001 0.4330134 0.7499996 -0.5000001 -2.18557e-8 0.5000001 -0.8660254 -0.2500001 0.4330128 -0.8660254 -0.4330128 0.2500001 -0.8660254 -0.5000001 7.54979e-8 -0.8660254 -0.4330128 -0.2499999 -0.8660254 -0.2500002 -0.4330127 -0.8660254 -2.32456e-7 -0.5000001 -0.8660254 0.2499998 -0.4330129 -0.8660254 0.4330126 -0.2500003 -0.8660254 0.5000001 -3.89414e-7 -0.8660254 0.433013 0.2499996 -0.8660254 0.2500004 0.4330125 -0.8660254 0 0 -1 + + + + + + + + + + -1.91248e-9 7.64992e-9 1 1.11601e-7 0.5308999 0.8474345 -0.2654499 0.4597727 0.8474346 -0.4597727 0.2654499 0.8474346 -0.5308999 5.07276e-8 0.8474346 -0.4597728 -0.2654498 0.8474346 -0.2654501 -0.4597726 0.8474346 -2.51102e-7 -0.5308999 0.8474345 0.2654496 -0.4597729 0.8474346 0.4597726 -0.2654503 0.8474346 0.5308999 -3.95676e-7 0.8474346 0.459773 0.2654495 0.8474345 0.2654503 0.4597726 0.8474345 -0.4379916 0.7586237 0.4823417 2.04038e-7 0.8759832 0.4823416 -0.7586237 0.4379916 0.4823416 -0.8759832 1.25562e-7 0.4823417 -0.7586238 -0.4379915 0.4823417 -0.4379919 -0.7586235 0.4823416 -4.21155e-7 -0.8759832 0.4823416 0.4379911 -0.758624 0.4823416 0.7586234 -0.4379921 0.4823416 0.8759832 -6.69662e-7 0.4823416 0.758624 0.4379909 0.4823417 0.4379921 0.7586234 0.4823416 -0.5 0.8660254 -1.85445e-8 2.27833e-7 1 -4.23875e-8 -0.8660253 0.5000001 -2.64922e-8 -1 1.0332e-7 -1.85445e-8 -0.8660255 -0.4999998 -5.03351e-8 -0.5000003 -0.8660253 -4.76859e-8 -4.76859e-7 -1 -5.56336e-8 0.4999995 -0.8660257 -5.82828e-8 0.8660251 -0.5000006 -6.62305e-8 1 -7.68273e-7 -6.88797e-8 0.8660259 0.4999992 -3.44398e-8 0.5000007 0.8660251 -2.64922e-8 -0.4379916 0.7586237 -0.4823417 2.24965e-7 0.8759832 -0.4823416 -0.7586237 0.4379916 -0.4823416 -0.8759832 6.93205e-8 -0.4823416 -0.7586238 -0.4379914 -0.4823416 -0.4379919 -0.7586234 -0.4823417 -4.29002e-7 -0.8759832 -0.4823417 0.4379911 -0.758624 -0.4823416 0.7586234 -0.4379921 -0.4823416 0.8759832 -6.72278e-7 -0.4823416 0.758624 0.4379909 -0.4823417 0.437992 0.7586234 -0.4823416 -0.2654499 0.4597728 -0.8474345 1.23015e-7 0.5308998 -0.8474345 -0.4597727 0.2654499 -0.8474346 -0.5308998 5.70686e-8 -0.8474346 -0.4597729 -0.2654498 -0.8474345 -0.2654501 -0.4597727 -0.8474345 -2.47297e-7 -0.5308999 -0.8474345 0.2654497 -0.4597729 -0.8474345 0.4597726 -0.2654502 -0.8474345 0.5308999 -4.02017e-7 -0.8474345 0.459773 0.2654495 -0.8474345 0.2654502 0.4597726 -0.8474345 -4.46245e-9 1.01999e-8 -1 + + + + + + + + + + 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0.5 1 0.9990009 0.9999999 0.8333333 0.9990009 0.08333331 0.8333333 0.999001 0.1666666 0.8333333 0.9990009 0.2499999 0.8333333 0.9990009 0.3333333 0.8333333 0.999001 0.4166666 0.8333333 0.9990009 0.4999999 0.8333333 0.9990009 0.5833332 0.8333333 0.999001 0.6666665 0.8333333 0.999001 0.7499998 0.8333333 0.9990009 0.8333331 0.8333333 0.999001 0.9166664 0.8333333 0.9990009 0.9999999 0.6666667 0.999001 0.08333331 0.6666667 0.9990009 0.1666666 0.6666667 0.999001 0.2499999 0.6666667 0.999001 0.3333333 0.6666667 0.9990009 0.4166666 0.6666667 0.999001 0.4999999 0.6666667 0.999001 0.5833332 0.6666667 0.9990009 0.6666665 0.6666667 0.999001 0.7499998 0.6666667 0.999001 0.8333331 0.6666667 0.9990009 0.9166664 0.6666667 0.999001 0.9999999 0.5 0.9990009 0.08333331 0.5 0.999001 0.1666666 0.5 0.9990009 0.2499999 0.5 0.9990009 0.3333333 0.5 0.999001 0.4166666 0.5 0.9990009 0.4999999 0.5 0.9990009 0.5833332 0.5 0.999001 0.6666665 0.5 0.999001 0.7499998 0.5 0.9990009 0.8333331 0.5 0.999001 0.9166664 0.5 0.9990009 0.9999999 0.3333333 0.999001 0.08333331 0.3333333 0.9990009 0.1666666 0.3333333 0.999001 0.2499999 0.3333333 0.999001 0.3333333 0.3333333 0.9990008 0.4166666 0.3333333 0.999001 0.4999999 0.3333333 0.999001 0.5833332 0.3333333 0.9990009 0.6666665 0.3333333 0.999001 0.7499998 0.3333333 0.999001 0.8333331 0.3333333 0.9990008 0.9166664 0.3333333 0.999001 0.9999999 0.1666667 0.999001 0.08333331 0.1666667 0.999001 0.1666666 0.1666667 0.999001 0.2499999 0.1666667 0.999001 0.3333333 0.1666667 0.999001 0.4166666 0.1666667 0.999001 0.4999999 0.1666667 0.999001 0.5833332 0.1666667 0.999001 0.6666665 0.1666667 0.999001 0.7499998 0.1666667 0.999001 0.8333331 0.1666667 0.999001 0.9166664 0.1666667 0.999001 0.5 0 0.9990009 1.083333 0.8333333 0.999001 1.5 1 0.9990009 1.083333 0.6666667 0.9990009 1.083333 0.8333333 0.999001 1.083333 0.5 0.999001 1.083333 0.6666667 0.9990009 1.083333 0.3333333 0.9990009 1.083333 0.5 0.999001 1.083333 0.1666667 0.999001 1.083333 0.3333333 0.9990009 -5.96046e-8 0.1666667 0.999001 -0.5 0 0.9990009 + + + + + + + + + + -0.9659258 -0.2588191 1.32631e-10 -0.9659258 -0.03717376 0.0232887 -0.9294511 -0.3219951 -0.1164434 0.08781165 0.02352896 -1.20566e-11 -0.7435815 -0.6439308 0.1164434 -0.4507694 -0.8551033 0.02328868 0.03717382 -0.9659258 0.02328868 0.5151563 -0.8179295 0.02328868 0.8551031 -0.4507697 0.02328869 0.9659259 0.03717347 0.02328868 0.8179297 0.515156 0.02328869 0.4507699 0.855103 0.0232887 -0.03717319 0.9659259 0.02328867 -0.5151558 0.8179298 0.0232887 -0.8551029 0.4507699 0.02328869 -0.8666239 -0.4308151 -0.109357 -0.9294511 -0.3219951 -0.1164434 -0.9659258 2.25535e-7 -9.944e-10 -0.482963 -0.8365163 8.33416e-9 -0.8064087 -0.5351108 0.1093571 -1.35447e-7 -0.9659258 5.46104e-9 0.4829628 -0.8365164 -2.56043e-8 0.8365161 -0.4829632 2.97705e-9 0.9659258 -4.6326e-7 2.06542e-9 0.8365166 0.4829624 2.39772e-8 0.4829635 0.836516 -1.07789e-8 7.36888e-7 0.9659258 2.78338e-9 -0.4829622 0.8365167 2.36846e-9 -0.8365159 0.4829635 2.61648e-9 -0.8365163 -0.4829629 4.79968e-9 -0.8666239 -0.4308151 -0.109357 -0.9659258 2.2007e-7 9.43609e-16 -0.482963 -0.8365163 -1.59371e-15 -0.8365163 -0.4829629 -4.79968e-9 -9.9799e-8 -0.9659258 6.64804e-8 0.4829627 -0.8365164 -6.64803e-8 0.8365162 -0.4829632 2.09044e-15 0.9659258 -4.60611e-7 0 0.8365166 0.4829624 -6.54432e-16 0.4829635 0.836516 7.19921e-16 7.42095e-7 0.9659259 6.64804e-8 -0.4829622 0.8365167 -6.64803e-8 -0.8365159 0.4829635 -1.1452e-15 -0.8666239 -0.4308151 0.1093571 -0.8365163 -0.4829629 4.79968e-9 -0.9659258 2.44358e-7 -6.72837e-9 -0.4829629 -0.8365163 1.24423e-8 -0.8064087 -0.5351108 -0.109357 -1.42438e-7 -0.9659259 1.19863e-7 0.4829627 -0.8365164 -7.8617e-10 0.8365161 -0.4829633 -1.57024e-7 0.9659258 -4.71016e-7 -3.6945e-9 0.8365166 0.4829624 -1.42932e-8 0.4829635 0.836516 -9.32326e-10 8.03301e-7 0.9659259 1.12591e-7 -0.4829622 0.8365167 -3.94374e-9 -0.836516 0.4829634 -8.54757e-8 -0.9294512 -0.321995 0.1164434 -0.8666239 -0.4308151 0.1093571 -0.9659257 0.09293515 0.05822176 -0.5151565 -0.8179293 0.0232887 -0.805538 -0.5366189 -0.03881449 -0.03717404 -0.9659258 0.02328868 0.4507691 -0.8551034 0.02328871 0.8179292 -0.5151567 0.02328864 0.9659258 -0.03717439 0.02328869 0.8551036 0.4507688 0.02328869 0.515157 0.817929 0.0232887 0.03717467 0.9659258 0.02328869 -0.4507685 0.8551037 0.02328873 -0.817929 0.515157 0.02328869 -0.9659258 -0.258819 1.67047e-9 -0.9659258 -0.1858696 -0.1164435 0.08781165 0.02352896 -1.51863e-10 + + + + + + + + + + -0.2588191 0.9659258 -7.88424e-9 -0.04536698 0.846562 -0.5303533 -0.2214326 0.8263976 -0.5177206 0.258818 -0.9659261 7.88424e-9 -0.604965 0.604965 -0.5177206 -0.7558278 0.383992 -0.5303532 -0.846562 -0.04536702 -0.5303532 -0.7104608 -0.4625699 -0.5303532 -0.3839922 -0.7558277 -0.5303532 0.04536671 -0.846562 -0.5303533 0.4625697 -0.710461 -0.5303532 0.7558275 -0.3839925 -0.5303532 0.8465621 0.04536646 -0.5303532 0.710461 0.4625695 -0.5303533 0.3839924 0.7558275 -0.5303533 -0.128177 0.478363 -0.8687575 -0.2214326 0.8263976 -0.5177206 1.13524e-7 0.4823416 -0.8759832 -0.4177201 0.2411708 -0.8759832 -0.350186 0.350186 -0.8687575 -0.4823417 6.26838e-8 -0.8759832 -0.4177202 -0.2411707 -0.8759832 -0.241171 -0.41772 -0.8759832 -2.29459e-7 -0.4823416 -0.8759832 0.2411706 -0.4177203 -0.8759832 0.4177199 -0.2411711 -0.8759832 0.4823416 -3.65446e-7 -0.8759832 0.4177204 0.2411705 -0.8759832 0.2411711 0.4177199 -0.8759832 4.96899e-9 -1.85445e-8 -1 -0.128177 0.478363 -0.8687575 -1.06342e-14 -4.23875e-8 -1 2.29429e-8 -1.32461e-8 -1 1.35755e-8 -1.35755e-8 -1 1.85445e-8 -6.88255e-8 -1 9.17878e-9 8.47722e-8 -1 2.3843e-8 4.12972e-8 -1 2.63194e-14 5.56336e-8 -1 -2.91414e-8 5.04744e-8 -1 -5.73572e-8 3.31153e-8 -1 -6.88796e-8 6.88256e-8 -1 4.58691e-9 -7.68246e-8 -1 -1.32461e-8 -2.29429e-8 -1 0.128177 -0.478363 -0.8687574 4.96899e-9 -1.85445e-8 -1 -1.1592e-7 -0.4823416 -0.8759832 0.4177201 -0.2411708 -0.8759832 0.350186 -0.350186 -0.8687575 0.4823416 -1.7983e-7 -0.8759832 0.4177202 0.2411707 -0.8759832 0.2411709 0.4177201 -0.8759832 2.31855e-7 0.4823417 -0.8759832 -0.2411706 0.4177203 -0.8759832 -0.4177199 0.2411711 -0.8759832 -0.4823416 5.03241e-7 -0.8759832 -0.4177204 -0.2411705 -0.8759832 -0.241171 -0.41772 -0.8759832 0.2214325 -0.8263976 -0.5177206 0.128177 -0.478363 -0.8687574 -0.1128103 -0.842025 -0.5275109 0.7104607 -0.4625701 -0.5303532 0.4878711 -0.6940696 -0.5293856 0.846562 -0.04536721 -0.5303532 0.7558279 0.3839917 -0.5303533 0.4625703 0.7104605 -0.5303533 0.04536752 0.846562 -0.5303533 -0.3839915 0.755828 -0.5303533 -0.7104603 0.4625706 -0.5303532 -0.846562 0.04536776 -0.5303533 -0.7558282 -0.3839912 -0.5303532 -0.4625705 -0.7104603 -0.5303533 0.258819 -0.9659258 -1.10073e-8 0.2214326 -0.8263976 -0.5177206 -0.258818 0.9659261 1.10073e-8 + + + + + + + + + + + + + + + + + +

0 0 75 0 1 1 13 1 2 2 74 2 0 0 12 3 2 2 14 4 3 3 15 5 0 0 12 3 3 3 15 5 4 4 16 6 0 0 12 3 4 4 16 6 5 5 17 7 0 0 12 3 5 5 17 7 6 6 18 8 0 0 12 3 6 6 18 8 7 7 19 9 0 0 12 3 7 7 19 9 8 8 20 10 0 0 12 3 8 8 20 10 9 9 21 11 0 0 12 3 9 9 21 11 10 10 22 12 0 0 12 3 10 10 22 12 11 11 23 13 0 0 12 3 11 11 23 13 12 12 24 14 0 0 12 3 12 12 24 14 1 1 13 1 14 13 76 15 2 2 77 16 1 1 13 1 1 1 13 1 13 14 25 17 14 13 76 15 15 15 27 18 3 3 15 5 2 2 14 4 2 2 14 4 14 13 26 19 15 15 27 18 16 16 28 20 4 4 16 6 3 3 15 5 3 3 15 5 15 15 27 18 16 16 28 20 17 17 29 21 5 5 17 7 4 4 16 6 4 4 16 6 16 16 28 20 17 17 29 21 18 18 30 22 6 6 18 8 5 5 17 7 5 5 17 7 17 17 29 21 18 18 30 22 19 19 31 23 7 7 19 9 6 6 18 8 6 6 18 8 18 18 30 22 19 19 31 23 20 20 32 24 8 8 20 10 7 7 19 9 7 7 19 9 19 19 31 23 20 20 32 24 21 21 33 25 9 9 21 11 8 8 20 10 8 8 20 10 20 20 32 24 21 21 33 25 22 22 34 26 10 10 22 12 9 9 21 11 9 9 21 11 21 21 33 25 22 22 34 26 23 23 35 27 11 11 23 13 10 10 22 12 10 10 22 12 22 22 34 26 23 23 35 27 24 24 36 28 12 12 24 14 11 11 23 13 11 11 23 13 23 23 35 27 24 24 36 28 13 14 25 17 1 1 13 1 12 12 24 14 12 12 24 14 24 24 36 28 13 14 25 17 26 25 78 29 14 13 79 30 13 14 25 17 13 14 25 17 25 26 37 31 26 25 78 29 27 27 39 32 15 15 27 18 14 13 26 19 14 13 26 19 26 25 38 33 27 27 39 32 28 28 40 34 16 16 28 20 15 15 27 18 15 15 27 18 27 27 39 32 28 28 40 34 29 29 41 35 17 17 29 21 16 16 28 20 16 16 28 20 28 28 40 34 29 29 41 35 30 30 42 36 18 18 30 22 17 17 29 21 17 17 29 21 29 29 41 35 30 30 42 36 31 31 43 37 19 19 31 23 18 18 30 22 18 18 30 22 30 30 42 36 31 31 43 37 32 32 44 38 20 20 32 24 19 19 31 23 19 19 31 23 31 31 43 37 32 32 44 38 33 33 45 39 21 21 33 25 20 20 32 24 20 20 32 24 32 32 44 38 33 33 45 39 34 34 46 40 22 22 34 26 21 21 33 25 21 21 33 25 33 33 45 39 34 34 46 40 35 35 47 41 23 23 35 27 22 22 34 26 22 22 34 26 34 34 46 40 35 35 47 41 36 36 48 42 24 24 36 28 23 23 35 27 23 23 35 27 35 35 47 41 36 36 48 42 25 26 37 31 13 14 25 17 24 24 36 28 24 24 36 28 36 36 48 42 25 26 37 31 38 37 80 43 26 25 81 44 25 26 37 31 25 26 37 31 37 38 49 45 38 37 80 43 39 39 51 46 27 27 39 32 26 25 38 33 26 25 38 33 38 37 50 47 39 39 51 46 40 40 52 48 28 28 40 34 27 27 39 32 27 27 39 32 39 39 51 46 40 40 52 48 41 41 53 49 29 29 41 35 28 28 40 34 28 28 40 34 40 40 52 48 41 41 53 49 42 42 54 50 30 30 42 36 29 29 41 35 29 29 41 35 41 41 53 49 42 42 54 50 43 43 55 51 31 31 43 37 30 30 42 36 30 30 42 36 42 42 54 50 43 43 55 51 44 44 56 52 32 32 44 38 31 31 43 37 31 31 43 37 43 43 55 51 44 44 56 52 45 45 57 53 33 33 45 39 32 32 44 38 32 32 44 38 44 44 56 52 45 45 57 53 46 46 58 54 34 34 46 40 33 33 45 39 33 33 45 39 45 45 57 53 46 46 58 54 47 47 59 55 35 35 47 41 34 34 46 40 34 34 46 40 46 46 58 54 47 47 59 55 48 48 60 56 36 36 48 42 35 35 47 41 35 35 47 41 47 47 59 55 48 48 60 56 37 38 49 45 25 26 37 31 36 36 48 42 36 36 48 42 48 48 60 56 37 38 49 45 50 49 82 57 38 37 83 58 37 38 49 45 37 38 49 45 49 50 61 59 50 49 82 57 51 51 63 60 39 39 51 46 38 37 50 47 38 37 50 47 50 49 62 61 51 51 63 60 52 52 64 62 40 40 52 48 39 39 51 46 39 39 51 46 51 51 63 60 52 52 64 62 53 53 65 63 41 41 53 49 40 40 52 48 40 40 52 48 52 52 64 62 53 53 65 63 54 54 66 64 42 42 54 50 41 41 53 49 41 41 53 49 53 53 65 63 54 54 66 64 55 55 67 65 43 43 55 51 42 42 54 50 42 42 54 50 54 54 66 64 55 55 67 65 56 56 68 66 44 44 56 52 43 43 55 51 43 43 55 51 55 55 67 65 56 56 68 66 57 57 69 67 45 45 57 53 44 44 56 52 44 44 56 52 56 56 68 66 57 57 69 67 58 58 70 68 46 46 58 54 45 45 57 53 45 45 57 53 57 57 69 67 58 58 70 68 59 59 71 69 47 47 59 55 46 46 58 54 46 46 58 54 58 58 70 68 59 59 71 69 60 60 72 70 48 48 60 56 47 47 59 55 47 47 59 55 59 59 71 69 60 60 72 70 49 50 61 59 37 38 49 45 48 48 60 56 48 48 60 56 60 60 72 70 49 50 61 59 61 61 85 71 50 49 62 61 49 50 84 72 61 61 73 73 51 51 63 60 50 49 62 61 61 61 73 73 52 52 64 62 51 51 63 60 61 61 73 73 53 53 65 63 52 52 64 62 61 61 73 73 54 54 66 64 53 53 65 63 61 61 73 73 55 55 67 65 54 54 66 64 61 61 73 73 56 56 68 66 55 55 67 65 61 61 73 73 57 57 69 67 56 56 68 66 61 61 73 73 58 58 70 68 57 57 69 67 61 61 73 73 59 59 71 69 58 58 70 68 61 61 73 73 60 60 72 70 59 59 71 69 61 61 73 73 49 50 61 59 60 60 72 70

+
+
+
+
+ + + + + 0 0 0 + + + + + + + + + + + + + + + + + + + + 1 + 1 + 1 + 1 + + + + + + + + +
\ No newline at end of file diff --git a/Templates/Full/game/art/environment/Fog_Sphere.cs b/Templates/Full/game/art/environment/Fog_Sphere.cs new file mode 100644 index 0000000000..65e2ed15c6 --- /dev/null +++ b/Templates/Full/game/art/environment/Fog_Sphere.cs @@ -0,0 +1,8 @@ + +singleton TSShapeConstructor(Fog_SphereDAE) +{ + baseShape = "./Fog_Sphere.DAE"; + lodType = "TrailingNumber"; + neverImport = "env*"; + loadLights = "0"; +}; diff --git a/Templates/Full/game/art/environment/Fog_Sphere.dts b/Templates/Full/game/art/environment/Fog_Sphere.dts new file mode 100644 index 0000000000..ae249462ca Binary files /dev/null and b/Templates/Full/game/art/environment/Fog_Sphere.dts differ diff --git a/Templates/Full/game/art/environment/Fog_Sphere_Lo.DAE b/Templates/Full/game/art/environment/Fog_Sphere_Lo.DAE new file mode 100644 index 0000000000..6efd27019a --- /dev/null +++ b/Templates/Full/game/art/environment/Fog_Sphere_Lo.DAE @@ -0,0 +1,177 @@ + + + + + Richard + OpenCOLLADA for 3ds Max; Version: 1.4.1; Revision: exported; Platform: x64; Configuration: Release_Max2011_static + file:///G:/Documents%20and%20Settings/Richard/Mijn%20documenten/3dsmax/scenes/FogVolumes.max + + 2014-08-21T21:29:11 + 2014-08-21T21:29:11 + + Z_UP + + + + + + + + 0 0 0 1 + + + 0.588 0.588 0.588 1 + + + 0.588 0.588 0.588 1 + + + 0.9 0.9 0.9 1 + + + 0 + + + 0 0 0 1 + + + 1 1 1 1 + + + 1 + + + + + + + + 0 + 0 + 0 + 1.5 + 0 + 3 + 1 + 0 + + + 1 + 1 + 0 + 0.1 + 0 + + + + + + + + + + + + + + + 0 0 1 -2.80971e-8 0.6427876 0.7660444 -0.4131759 0.4924039 0.7660444 -0.6330222 0.1116188 0.7660444 -0.5566703 -0.3213939 0.7660444 -0.2198463 -0.6040229 0.7660444 0.2198463 -0.6040228 0.7660444 0.5566704 -0.3213939 0.7660444 0.6330222 0.1116187 0.7660444 0.4131762 0.4924037 0.7660444 -4.30473e-8 0.9848078 0.1736481 -0.6330222 0.7544065 0.1736481 -0.9698464 0.17101 0.1736481 -0.8528684 -0.4924041 0.1736481 -0.336824 -0.9254166 0.1736481 0.3368241 -0.9254166 0.1736481 0.8528685 -0.4924041 0.1736481 0.9698464 0.1710097 0.1736481 0.6330226 0.7544062 0.1736481 -3.78552e-8 0.8660254 -0.5000001 -0.5566704 0.6634139 -0.5000001 -0.8528686 0.1503836 -0.5000001 -0.7499999 -0.4330128 -0.5000001 -0.2961981 -0.8137977 -0.5000001 0.2961981 -0.8137977 -0.5000001 0.7499999 -0.4330128 -0.5000001 0.8528686 0.1503834 -0.5000001 0.5566707 0.6634136 -0.5000001 0 0 -1 + + + + + + + + + + 2.03492e-8 1.89926e-8 1 5.46754e-8 0.6830024 0.7304162 -0.4390255 0.5232102 0.7304162 -0.6726261 0.118602 0.7304162 -0.5914973 -0.3415012 0.7304162 -0.2336005 -0.6418123 0.7304162 0.2336005 -0.6418123 0.7304162 0.5914973 -0.3415012 0.7304162 0.6726261 0.1186019 0.7304162 0.4390256 0.52321 0.7304161 5.7514e-8 0.9867694 0.1621301 -0.6342831 0.7559092 0.1621302 -0.9717782 0.1713506 0.1621302 -0.8545673 -0.4933848 0.1621302 -0.3374949 -0.9272599 0.1621302 0.3374949 -0.9272599 0.1621302 0.8545672 -0.4933849 0.1621302 0.9717781 0.1713504 0.1621302 0.6342834 0.755909 0.1621302 1.4565e-7 0.9848077 -0.1736482 -0.6330222 0.7544065 -0.1736482 -0.9698464 0.1710099 -0.1736482 -0.8528684 -0.492404 -0.1736482 -0.336824 -0.9254166 -0.1736482 0.336824 -0.9254166 -0.1736482 0.8528684 -0.492404 -0.1736482 0.9698464 0.1710098 -0.1736482 0.6330224 0.7544063 -0.1736482 1.29242e-8 1.93863e-8 -1 -0.3213938 0.3830222 -0.8660254 3.57753e-8 0.5 -0.8660254 -0.4924038 0.08682401 -0.8660254 -0.4330125 -0.25 -0.8660254 -0.17101 -0.4698463 -0.8660254 0.17101 -0.4698462 -0.8660254 0.4330126 -0.2500001 -0.8660254 0.4924039 0.08682394 -0.8660254 0.3213939 0.3830221 -0.8660254 + + + + + + + + + + 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0.4999997 0.9905506 0.9994413 0.9999999 0.7851583 0.9801956 0.1160092 0.7833326 0.984732 0.2295166 0.7788748 0.9961261 0.339554 0.7740715 1.008927 0.4468543 0.7710763 1.017195 0.5531455 0.7710763 1.017195 0.6604459 0.7740715 1.008927 0.7704833 0.7788749 0.9961259 0.8839907 0.7833326 0.9847319 0.9999999 0.5572463 0.9697994 0.1142684 0.5568308 0.9768149 0.2269719 0.5558176 0.9943575 0.3374268 0.5547289 1.013937 0.4460405 0.5540517 1.026516 0.5539594 0.5540517 1.026516 0.6625731 0.5547289 1.013937 0.773028 0.5558177 0.9943573 0.8857315 0.5568308 0.9768149 0.9999999 0.3284827 0.9734225 0.114713 0.329676 0.9795718 0.2276268 0.3325887 0.9949721 0.3379785 0.3357246 1.0122 0.4462526 0.3376782 1.023288 0.5537474 0.3376782 1.023288 0.6620214 0.3357246 1.0122 0.7723731 0.3325886 0.9949719 0.8852869 0.329676 0.9795716 0.4999997 0.009449377 0.9994413 -5.96046e-8 0.7851583 0.9801956 -5.96046e-8 0.7851583 0.9801956 -5.96046e-8 0.7851583 0.9801956 -5.96046e-8 0.5572463 0.9697994 -5.96046e-8 0.7851583 0.9801956 -5.96046e-8 0.5572463 0.9697994 -5.96046e-8 0.3284827 0.9734225 -5.96046e-8 0.5572463 0.9697994 -5.96046e-8 0.3284827 0.9734225 -5.96046e-8 0.3284827 0.9734225 + + + + + + + + + + 0.2238811 -0.0785364 -3.06419e-9 -0.9354552 -0.1908979 0.1785061 -0.6869337 -0.639937 0.04550849 -0.1096357 -0.9340882 0.05071206 0.5146792 -0.7888748 0.04795851 0.8991777 -0.2825699 0.03928105 0.8744262 0.3508374 0.02862113 0.4516609 0.8255476 0.0202204 -0.1818446 0.921684 0.01779799 -0.4004079 0.3944702 -0.0418959 0.9354553 -0.1908977 0.1785058 -0.9393936 -0.1837057 0.1717808 -0.9393936 -0.009268265 0.05640956 -0.7197701 -0.6042999 0.001590007 -0.9376013 -0.1908451 0.1784568 -0.1624367 -0.9261331 0.005187307 0.4710938 -0.8139435 0.006130689 0.8838201 -0.32094 0.004255926 0.8831198 0.3215432 6.51869e-4 0.4700756 0.8131569 -0.003157425 -0.1621079 0.9247235 -0.005667374 -0.7185697 0.6041677 -0.005667772 -0.9389364 0.009800279 -0.05964688 -0.9376239 0.1907578 -0.178375 -0.9393396 -0.008065835 0.04909124 -0.9393396 -0.0113547 -0.06439642 -0.7211711 -0.6020736 0.01329767 -0.9397946 -0.009275502 0.05645361 -0.1650293 -0.9248964 0.01086491 0.4679183 -0.8148584 0.01247781 0.8820943 -0.3242773 0.01716752 0.8845703 0.3176584 0.02290956 0.4740701 0.8114872 0.02729584 -0.1582722 0.9262638 0.02822048 -0.7169227 0.6073082 0.02492951 -0.9395653 0.01067859 0.06056042 0.2152879 -0.07707404 1.28825e-9 -0.7133705 -0.6097047 -0.004916242 -0.9379215 -0.2614893 -0.150971 -0.1508478 -0.9273379 -0.007202065 0.4792722 -0.809265 -0.006021289 0.885683 -0.3181199 -0.002301566 0.885683 0.3181199 0.002301564 0.4792723 0.8092649 0.00602139 -0.1508476 0.9273379 0.007202091 0.1694879 0.1972498 0.1501381 0.9379215 -0.2614894 -0.1509709 + + + + + + + + + + -0.3310187 -0.9436242 2.46578e-8 -0.2690833 0.7034762 -0.6578111 -0.5226249 0.5125575 -0.6812841 -0.7307699 0.04880675 -0.6808768 -0.5935783 -0.4286704 -0.6811068 -0.1920629 -0.7059416 -0.6817319 0.2913449 -0.6704833 -0.6823271 0.6479726 -0.3377881 -0.6826644 0.7142271 0.1540981 -0.6827396 0.5500826 0.4862531 -0.6789456 -0.269083 -0.7034762 0.6578112 -0.2586258 0.7055657 -0.6597649 -0.06074167 0.1618308 -0.9849473 -0.1055285 0.1230967 -0.9867679 -0.268443 0.7036067 -0.6579331 -0.1606354 0.02264739 -0.9867539 -0.1371027 -0.08678448 -0.9867478 -0.05114097 -0.1539197 -0.986759 0.05611226 -0.1521121 -0.9867691 0.1387047 -0.08401495 -0.9867636 0.1607264 0.02212849 -0.9867509 0.1089 0.1202639 -0.9867509 0.06424478 0.1617952 -0.9847309 0.268323 0.7036311 -0.657956 -0.05288803 0.1619032 -0.9853883 0.06944448 -0.173229 -0.9824302 0.1005981 -0.1422463 -0.984706 -0.06076309 0.1618306 -0.984946 0.1689593 -0.04171533 -0.9847399 0.1571115 0.07513974 -0.9847182 0.0768082 0.1568049 -0.9846384 -0.03612153 0.1715889 -0.9845062 -0.1355787 0.1123163 -0.9843797 -0.1762237 -1.21433e-4 -0.9843501 -0.13221 -0.115662 -0.9844505 -0.06531041 -0.1732775 -0.9827052 0.3370557 0.9414847 2.26081e-8 0.5646661 -0.6566427 -0.4999725 0.3064388 -0.8243613 -0.4759452 0.8554305 -0.1352681 -0.4999412 0.7435366 0.4440657 -0.4999589 0.2915982 0.8154609 -0.499994 -0.2915982 0.8154609 -0.499994 -0.7435365 0.4440658 -0.499959 -0.8554305 -0.1352679 -0.4999412 -0.7603593 0.6494828 0.005070773 0.3064388 0.8243612 0.4759452 + + + + + + + + + + + + + + + + + +

0 0 12 0 1 1 41 1 2 2 14 2 0 0 12 0 2 2 14 2 3 3 15 3 0 0 12 0 3 3 15 3 4 4 16 4 0 0 12 0 4 4 16 4 5 5 17 5 0 0 12 0 5 5 17 5 6 6 18 6 0 0 12 0 6 6 18 6 7 7 19 7 0 0 12 0 7 7 19 7 8 8 20 8 0 0 12 0 8 8 20 8 9 9 21 9 0 0 12 0 9 9 21 9 1 1 42 10 1 1 43 11 10 10 44 12 11 11 23 13 1 1 45 14 11 11 23 13 2 2 14 2 2 2 14 2 11 11 23 13 12 12 24 15 2 2 14 2 12 12 24 15 3 3 15 3 3 3 15 3 12 12 24 15 13 13 25 16 3 3 15 3 13 13 25 16 4 4 16 4 4 4 16 4 13 13 25 16 14 14 26 17 4 4 16 4 14 14 26 17 5 5 17 5 5 5 17 5 14 14 26 17 15 15 27 18 5 5 17 5 15 15 27 18 6 6 18 6 6 6 18 6 15 15 27 18 16 16 28 19 6 6 18 6 16 16 28 19 7 7 19 7 7 7 19 7 16 16 28 19 17 17 29 20 7 7 19 7 17 17 29 20 8 8 20 8 8 8 20 8 17 17 29 20 18 18 30 21 8 8 20 8 18 18 30 21 9 9 21 9 9 9 21 9 18 18 30 21 10 10 22 22 9 9 21 9 10 10 22 22 1 1 13 23 10 10 46 24 19 19 47 25 20 20 32 26 10 10 48 27 20 20 32 26 11 11 23 13 11 11 23 13 20 20 32 26 21 21 33 28 11 11 23 13 21 21 33 28 12 12 24 15 12 12 24 15 21 21 33 28 22 22 34 29 12 12 24 15 22 22 34 29 13 13 25 16 13 13 25 16 22 22 34 29 23 23 35 30 13 13 25 16 23 23 35 30 14 14 26 17 14 14 26 17 23 23 35 30 24 24 36 31 14 14 26 17 24 24 36 31 15 15 27 18 15 15 27 18 24 24 36 31 25 25 37 32 15 15 27 18 25 25 37 32 16 16 28 19 16 16 28 19 25 25 37 32 26 26 38 33 16 16 28 19 26 26 38 33 17 17 29 20 17 17 29 20 26 26 38 33 27 27 39 34 17 17 29 20 27 27 39 34 18 18 30 21 18 18 30 21 27 27 39 34 19 19 31 35 18 18 30 21 19 19 31 35 10 10 22 22 28 28 40 36 20 29 32 37 19 30 49 38 28 28 40 36 21 31 33 39 20 29 32 37 28 28 40 36 22 32 34 40 21 31 33 39 28 28 40 36 23 33 35 41 22 32 34 40 28 28 40 36 24 34 36 42 23 33 35 41 28 28 40 36 25 35 37 43 24 34 36 42 28 28 40 36 26 36 38 44 25 35 37 43 28 28 40 36 27 37 39 45 26 36 38 44 28 28 40 36 19 30 50 46 27 37 39 45

+
+
+
+
+ + + + + 0 0 0 + + + + + + + + + + + + + + + + + + + + 1 + 1 + 1 + 1 + + + + + + + + +
\ No newline at end of file diff --git a/Templates/Full/game/art/environment/Fog_Sphere_Lo.cs b/Templates/Full/game/art/environment/Fog_Sphere_Lo.cs new file mode 100644 index 0000000000..f744887351 --- /dev/null +++ b/Templates/Full/game/art/environment/Fog_Sphere_Lo.cs @@ -0,0 +1,8 @@ + +singleton TSShapeConstructor(Fog_Sphere_LoDAE) +{ + baseShape = "./Fog_Sphere_Lo.DAE"; + lodType = "TrailingNumber"; + neverImport = "env*"; + loadLights = "0"; +}; diff --git a/Templates/Full/game/art/environment/Fog_Sphere_Lo.dts b/Templates/Full/game/art/environment/Fog_Sphere_Lo.dts new file mode 100644 index 0000000000..724367ca31 Binary files /dev/null and b/Templates/Full/game/art/environment/Fog_Sphere_Lo.dts differ diff --git a/Templates/Full/game/art/environment/LightVolume_Sphere.DAE b/Templates/Full/game/art/environment/LightVolume_Sphere.DAE new file mode 100644 index 0000000000..81c93d8e03 --- /dev/null +++ b/Templates/Full/game/art/environment/LightVolume_Sphere.DAE @@ -0,0 +1,423 @@ + + + + + Richard + OpenCOLLADA for 3ds Max; Version: 1.4.1; Revision: exported; Platform: x64; Configuration: Release_Max2011_static + file:///G:/Documents%20and%20Settings/Richard/Mijn%20documenten/3dsmax/scenes/lightfog.max + + 2014-08-22T22:51:35 + 2014-08-22T22:51:35 + + Z_UP + + + + + + + + 0 0 0 1 + + + 0.588 0.588 0.588 1 + + + 0.588 0.588 0.588 1 + + + 0.9 0.9 0.9 1 + + + 0 + + + 0 0 0 1 + + + 1 1 1 1 + + + 1 + + + + + + + + 0 + 0 + 0 + 1.5 + 0 + 3 + 1 + 0 + + + 1 + 1 + 0 + 0.1 + 0 + + + + + + + + + + + + + + + 0 0 5 -9.48283e-8 2.169419 4.504844 -0.9412758 1.954579 4.504844 -1.69612 1.35261 4.504844 -2.115027 0.4827411 4.504844 -2.115027 -0.482741 4.504844 -1.69612 -1.35261 4.504844 -0.9412759 -1.954579 4.504844 2.58701e-8 -2.169419 4.504844 0.9412759 -1.954579 4.504844 1.696121 -1.35261 4.504844 2.115027 -0.4827399 4.504844 2.115026 0.4827427 4.504844 1.696119 1.352612 4.504844 0.9412734 1.95458 4.504844 -1.70875e-7 3.909158 3.117449 -1.69612 3.522029 3.117449 -3.056303 2.43732 3.117449 -3.811147 0.8698694 3.117449 -3.811147 -0.8698691 3.117449 -3.056303 -2.43732 3.117449 -1.696121 -3.522029 3.117449 4.66162e-8 -3.909158 3.117449 1.696121 -3.522029 3.117449 3.056304 -2.437319 3.117449 3.811147 -0.8698672 3.117449 3.811146 0.8698722 3.117449 3.0563 2.437323 3.117449 1.696116 3.522031 3.117449 -2.13077e-7 4.87464 1.112604 -2.115027 4.391898 1.112604 -3.811147 3.039288 1.112604 -4.752422 1.084709 1.112604 -4.752422 -1.084709 1.112604 -3.811147 -3.039288 1.112604 -2.115028 -4.391898 1.112604 5.81295e-8 -4.87464 1.112604 2.115028 -4.391898 1.112604 3.811148 -3.039287 1.112604 4.752423 -1.084707 1.112604 4.752421 1.084713 1.112604 3.811144 3.039291 1.112604 2.115022 4.391901 1.112604 -2.13077e-7 4.87464 -1.112605 -2.115027 4.391898 -1.112605 -3.811147 3.039288 -1.112605 -4.752422 1.084709 -1.112605 -4.752422 -1.084709 -1.112605 -3.811147 -3.039288 -1.112605 -2.115028 -4.391898 -1.112605 5.81295e-8 -4.87464 -1.112605 2.115028 -4.391898 -1.112605 3.811148 -3.039287 -1.112605 4.752423 -1.084707 -1.112605 4.752421 1.084713 -1.112605 3.811144 3.039291 -1.112605 2.115022 4.391901 -1.112605 -1.70875e-7 3.909157 -3.11745 -1.69612 3.522028 -3.11745 -3.056302 2.437319 -3.11745 -3.811146 0.8698692 -3.11745 -3.811146 -0.869869 -3.11745 -3.056302 -2.437319 -3.11745 -1.69612 -3.522028 -3.11745 4.66162e-8 -3.909157 -3.11745 1.69612 -3.522028 -3.11745 3.056303 -2.437318 -3.11745 3.811146 -0.8698671 -3.11745 3.811145 0.8698721 -3.11745 3.0563 2.437322 -3.11745 1.696116 3.52203 -3.11745 -9.48283e-8 2.169418 -4.504845 -0.9412755 1.954578 -4.504845 -1.696119 1.35261 -4.504845 -2.115026 0.4827409 -4.504845 -2.115026 -0.4827408 -4.504845 -1.69612 -1.35261 -4.504845 -0.9412756 -1.954578 -4.504845 2.58701e-8 -2.169418 -4.504845 0.9412756 -1.954578 -4.504845 1.69612 -1.352609 -4.504845 2.115026 -0.4827397 -4.504845 2.115026 0.4827425 -4.504845 1.696118 1.352612 -4.504845 0.9412731 1.954579 -4.504845 0 0 -5 + + + + + + + + + + 3.34297e-8 3.12427e-8 1 -1.46401e-7 0.4589442 0.8884651 -0.1991285 0.4134944 0.888465 -0.358817 0.286147 0.8884651 -0.4474375 0.1021247 0.888465 -0.4474375 -0.1021246 0.8884651 -0.358817 -0.286147 0.888465 -0.1991284 -0.4134944 0.8884651 -4.96273e-9 -0.4589442 0.888465 0.1991285 -0.4134944 0.888465 0.3588171 -0.2861469 0.888465 0.4474375 -0.1021244 0.8884651 0.4474374 0.102125 0.888465 0.3588168 0.2861473 0.8884651 0.1991281 0.4134945 0.8884651 -2.38195e-7 0.7935484 0.6085071 -0.3443078 0.7149624 0.6085071 -0.6204212 0.4947692 0.6085072 -0.7736526 0.1765811 0.6085071 -0.7736526 -0.176581 0.608507 -0.6204212 -0.4947692 0.6085072 -0.3443078 -0.7149624 0.6085071 -1.26699e-8 -0.7935485 0.6085071 0.3443078 -0.7149624 0.6085072 0.6204213 -0.4947691 0.6085071 0.7736526 -0.1765807 0.6085072 0.7736524 0.1765818 0.6085072 0.6204207 0.4947699 0.608507 0.3443072 0.7149627 0.6085071 -2.56849e-7 0.9764001 0.2159697 -0.4236442 0.879706 0.2159697 -0.7633804 0.6087754 0.2159697 -0.9519197 0.2172694 0.2159697 -0.9519197 -0.2172693 0.2159698 -0.7633804 -0.6087753 0.2159698 -0.4236441 -0.8797061 0.2159698 2.56849e-9 -0.9764001 0.2159697 0.4236443 -0.879706 0.2159698 0.7633805 -0.6087751 0.2159698 0.9519198 -0.2172689 0.2159698 0.9519196 0.2172702 0.2159698 0.7633796 0.6087762 0.2159697 0.4236434 0.8797064 0.2159697 -2.56849e-7 0.9764 -0.2159699 -0.4236442 0.8797059 -0.2159699 -0.7633803 0.6087754 -0.2159699 -0.9519196 0.2172694 -0.2159698 -0.9519197 -0.2172693 -0.2159699 -0.7633804 -0.6087753 -0.2159699 -0.4236442 -0.879706 -0.2159699 2.31164e-8 -0.9764 -0.2159699 0.4236442 -0.8797059 -0.2159699 0.7633805 -0.6087751 -0.2159699 0.9519197 -0.2172689 -0.2159699 0.9519195 0.2172701 -0.2159699 0.7633796 0.6087762 -0.2159699 0.4236434 0.8797063 -0.2159699 -1.95117e-7 0.7935483 -0.6085073 -0.3443078 0.7149623 -0.6085073 -0.6204211 0.4947692 -0.6085073 -0.7736524 0.1765811 -0.6085073 -0.7736524 -0.1765811 -0.6085073 -0.6204211 -0.4947692 -0.6085073 -0.3443078 -0.7149622 -0.6085073 1.77379e-8 -0.7935483 -0.6085073 0.3443078 -0.7149622 -0.6085073 0.6204212 -0.494769 -0.6085073 0.7736525 -0.1765806 -0.6085073 0.7736523 0.1765817 -0.6085073 0.6204206 0.4947698 -0.6085073 0.3443071 0.7149625 -0.6085073 -1.16624e-7 0.4589441 -0.8884652 -0.1991284 0.4134943 -0.8884652 -0.358817 0.2861468 -0.8884652 -0.4474374 0.1021247 -0.8884652 -0.4474373 -0.1021246 -0.8884652 -0.3588169 -0.2861468 -0.8884652 -0.1991284 -0.4134943 -0.8884652 -9.92546e-9 -0.4589441 -0.8884651 0.1991285 -0.4134943 -0.8884651 0.358817 -0.2861468 -0.8884652 0.4474374 -0.1021244 -0.8884651 0.4474373 0.102125 -0.8884652 0.3588167 0.2861473 -0.8884651 0.1991281 0.4134944 -0.8884652 2.59315e-8 -2.62439e-8 -1 + + + + + + + + + + -0.03571416 1 0.999001 3.79455e-8 0.8571429 0.999001 0.0714286 0.8571428 0.9990011 0.1428572 0.8571428 0.9990011 0.2142857 0.8571428 0.9990011 0.2857142 0.8571428 0.9990011 0.3571428 0.8571428 0.9990011 0.4285714 0.8571428 0.9990011 0.4999999 0.8571429 0.999001 0.5714285 0.8571429 0.999001 0.6428571 0.8571429 0.999001 0.7142857 0.8571429 0.999001 0.7857143 0.8571429 0.999001 0.857143 0.8571429 0.999001 0.9285716 0.8571429 0.999001 1 0.7142857 0.9990011 0.0714286 0.7142857 0.9990011 0.1428572 0.7142857 0.9990011 0.2142857 0.7142857 0.9990011 0.2857142 0.7142857 0.9990011 0.3571428 0.7142857 0.9990011 0.4285714 0.7142857 0.9990011 0.5 0.7142857 0.9990011 0.5714285 0.7142857 0.999001 0.6428571 0.7142857 0.999001 0.7142857 0.7142857 0.9990009 0.7857143 0.7142857 0.999001 0.857143 0.7142857 0.999001 0.9285716 0.7142857 0.999001 0.9999999 0.5714285 0.999001 0.0714286 0.5714285 0.999001 0.1428572 0.5714285 0.9990011 0.2142857 0.5714285 0.9990011 0.2857142 0.5714285 0.9990011 0.3571428 0.5714285 0.9990011 0.4285714 0.5714285 0.9990011 0.5 0.5714285 0.999001 0.5714285 0.5714285 0.999001 0.6428571 0.5714285 0.999001 0.7142857 0.5714285 0.9990009 0.7857143 0.5714285 0.9990009 0.8571429 0.5714285 0.999001 0.9285716 0.5714285 0.999001 0.9999999 0.4285714 0.999001 0.0714286 0.4285714 0.999001 0.1428572 0.4285714 0.9990011 0.2142857 0.4285714 0.9990011 0.2857142 0.4285714 0.9990011 0.3571428 0.4285714 0.9990011 0.4285714 0.4285714 0.9990011 0.5 0.4285714 0.999001 0.5714285 0.4285714 0.999001 0.6428571 0.4285714 0.999001 0.7142857 0.4285714 0.999001 0.7857143 0.4285714 0.999001 0.8571429 0.4285714 0.999001 0.9285716 0.4285714 0.999001 1 0.2857142 0.999001 0.0714286 0.2857142 0.9990011 0.1428572 0.2857142 0.9990011 0.2142857 0.2857142 0.9990011 0.2857142 0.2857143 0.9990011 0.3571428 0.2857143 0.9990011 0.4285714 0.2857142 0.9990011 0.5 0.2857142 0.999001 0.5714285 0.2857142 0.999001 0.6428571 0.2857142 0.999001 0.7142857 0.2857142 0.999001 0.7857143 0.2857142 0.999001 0.857143 0.2857142 0.999001 0.9285716 0.2857142 0.999001 3.79455e-8 0.1428571 0.999001 0.0714286 0.1428572 0.9990011 0.1428572 0.1428571 0.999001 0.2142857 0.1428572 0.9990011 0.2857142 0.1428572 0.9990011 0.3571428 0.1428572 0.9990011 0.4285714 0.1428572 0.9990011 0.4999999 0.1428571 0.999001 0.5714285 0.1428571 0.999001 0.6428571 0.1428571 0.999001 0.7142857 0.1428571 0.999001 0.7857143 0.1428571 0.999001 0.857143 0.1428571 0.999001 0.9285716 0.1428571 0.999001 -0.03571416 0 0.999001 0.03571432 1 0.999001 0.1071429 1 0.999001 0.1785714 1 0.999001 0.25 1 0.999001 0.3214285 1 0.999001 0.3928571 1 0.999001 0.4642856 1 0.999001 0.5357142 1 0.999001 0.6071428 1 0.999001 0.6785715 1 0.999001 0.75 1 0.999001 0.8214287 1 0.999001 0.8928573 1 0.999001 -0.07142836 0.8571429 0.999001 0 0.7142857 0.9990011 -0.07142836 0.8571429 0.999001 0 0.7142857 0.9990011 0 0.7142857 0.9990011 -5.96046e-8 0.5714285 0.999001 0 0.7142857 0.9990011 -5.96046e-8 0.5714285 0.999001 -5.96046e-8 0.4285714 0.999001 -5.96046e-8 0.5714285 0.999001 -5.96046e-8 0.4285714 0.999001 0 0.2857142 0.999001 -5.96046e-8 0.4285714 0.999001 0 0.2857142 0.999001 0 0.2857142 0.999001 -0.07142836 0.2857142 0.999001 -0.07142836 0.1428571 0.999001 -0.07142836 0.2857142 0.999001 0 0.2857142 0.999001 0.03571432 0 0.999001 0.1071429 0 0.999001 0.1785714 0 0.999001 0.25 0 0.999001 0.3214285 0 0.999001 0.3928571 0 0.999001 0.4642856 0 0.999001 0.5357142 0 0.999001 0.6071428 0 0.999001 0.6785715 0 0.999001 0.75 0 0.999001 0.8214287 0 0.999001 0.8928573 0 0.999001 -0.07142836 0.1428571 0.999001 + + + + + + + + + + -0.9749277 -0.2225218 3.95437e-8 -0.9749279 -0.03513084 0.01814697 -0.8631371 -0.4546571 0.01814702 -0.7818314 -0.6234899 4.56159e-8 -0.5803916 -0.7841328 0.01814686 -0.4338837 -0.9009689 4.26533e-8 -0.1826924 -0.9583017 0.01814685 1.04443e-15 -1 3.12427e-8 0.2511913 -0.9426673 0.01814685 0.4338836 -0.900969 1.36441e-8 0.6353235 -0.740326 0.01814683 0.7818314 -0.6234899 -6.65688e-9 0.8936221 -0.3913545 0.01814665 0.9749277 -0.2225219 -2.56394e-8 0.9749278 0.03512998 0.01814669 0.9749279 0.222521 -3.95437e-8 0.8631371 0.4546568 0.01814684 0.7818313 0.62349 -4.56159e-8 0.5803913 0.7841329 0.01814687 0.4338832 0.9009691 -4.26533e-8 0.1826917 0.9583018 0.01814686 -7.40827e-7 1 -3.12427e-8 -0.2511921 0.942667 0.01814683 -0.4338844 0.9009686 -1.36441e-8 -0.6353242 0.7403254 0.01814688 -0.7818321 0.623489 6.65693e-9 -0.852976 0.4757568 -0.03024468 -0.974928 0.2225204 2.56394e-8 -0.9545922 0.2647484 0.09073415 -0.974928 -0.08239544 0.1074507 -0.8783796 -0.4230055 1.2098e-7 -0.6078575 -0.7622294 -2.40103e-8 -0.2169419 -0.9504844 3.08126e-9 0.2169418 -0.9504845 1.00124e-8 0.6078575 -0.7622294 -1.22219e-8 0.8783796 -0.4230055 2.27489e-8 0.9749279 -1.0315e-7 -1.14217e-7 0.8783796 0.4230055 2.7348e-8 0.6078573 0.7622295 2.9091e-8 0.2169413 0.9504846 1.53869e-8 -0.2169426 0.9504843 -1.74207e-8 -0.6078583 0.7622288 -1.32728e-8 -0.8783801 0.4230047 1.08194e-8 -0.974928 0.08239487 -0.1074508 -0.9545922 0.2647484 0.09073415 -0.974928 0.08239487 -0.1074508 -0.9749279 -0.08239547 0.1074508 -0.9749279 -0.01037927 0.04692359 -0.8783797 -0.4230054 1.38382e-9 -0.974928 -0.08239544 0.1074507 -0.6078575 -0.7622294 -2.5756e-9 -0.2169418 -0.9504845 -4.34778e-9 0.2169417 -0.9504845 7.21083e-10 0.6078575 -0.7622294 2.68537e-9 0.8783797 -0.4230054 -1.49521e-8 0.9749279 9.89275e-9 3.31305e-8 0.8783796 0.4230055 6.33846e-10 0.6078573 0.7622295 2.8277e-9 0.2169413 0.9504845 1.9462e-9 -0.2169426 0.9504842 3.51617e-9 -0.6078584 0.7622287 -1.28249e-8 -0.8783801 0.4230047 -3.55722e-8 -0.974928 0.01037875 -0.04692358 -0.9749279 -0.01037927 0.04692359 -0.9749279 -0.01037929 -0.04692363 -0.8783796 -0.4230055 7.11577e-9 -0.9749279 -0.01037927 0.04692359 -0.6078576 -0.7622294 -5.38627e-9 -0.2169418 -0.9504845 -4.0761e-8 0.2169417 -0.9504845 -6.37691e-9 0.6078574 -0.7622295 4.32713e-8 0.8783797 -0.4230054 4.91462e-8 0.9749279 7.86884e-9 6.87766e-8 0.8783796 0.4230055 7.54338e-8 0.6078573 0.7622295 -3.74104e-9 0.2169413 0.9504845 -6.87179e-10 -0.2169426 0.9504843 -5.06594e-9 -0.6078584 0.7622287 1.11192e-8 -0.8783801 0.4230047 -7.55682e-8 -0.974928 0.01037875 0.04692348 -0.9749279 -0.01037935 -0.04692387 -0.9749279 -0.08239562 -0.107451 -0.8783797 -0.4230055 5.99473e-9 -0.9749279 -0.01037929 -0.04692363 -0.6078575 -0.7622295 -5.14789e-8 -0.2169418 -0.9504844 -6.99784e-8 0.2169419 -0.9504845 -6.77193e-8 0.6078575 -0.7622295 8.75301e-8 0.8783796 -0.4230056 2.38485e-7 0.9749279 -3.58523e-8 7.51737e-8 0.8783796 0.4230055 1.39721e-9 0.6078573 0.7622295 6.92574e-8 0.2169412 0.9504845 -5.31509e-8 -0.2169425 0.9504843 -5.50918e-9 -0.6078583 0.7622288 -2.65355e-8 -0.8605051 0.4601225 0.05372539 -0.974928 0.08239491 0.1074507 -0.9749278 -0.08239586 -0.1074513 -0.9749279 0.03512977 0.0181467 -0.8936222 -0.3913543 0.01814683 -0.9749279 -0.08239562 -0.107451 -0.6353234 -0.740326 0.01814686 -0.2511912 -0.9426673 0.01814672 0.1826924 -0.9583017 0.01814681 0.5803915 -0.7841328 0.01814685 0.8631371 -0.454657 0.01814701 0.9749278 -0.03513059 0.01814698 0.8936221 0.3913542 0.01814686 0.6353234 0.7403261 0.01814691 0.2511908 0.9426673 0.01814683 -0.1826932 0.9583015 0.01814677 -0.5803923 0.7841322 0.01814686 -0.802168 0.5812611 0.09073409 -0.91413 0.3487692 -0.1074508 -0.9545922 0.2647484 -0.09073412 -0.91413 0.3487692 -0.1074508 -0.974928 0.08239496 0.1074508 -0.9749278 -0.2225216 -1.94415e-8 -0.7818317 -0.6234895 -3.91125e-9 -0.4338831 -0.9009692 1.23937e-8 -6.80542e-16 -1 2.62439e-8 0.4338836 -0.9009689 3.48962e-8 0.7818314 -0.6234899 3.66368e-8 0.9749278 -0.2225216 3.11211e-8 0.9749279 0.222521 1.94415e-8 0.7818313 0.6234901 3.91122e-9 0.4338837 0.9009689 -1.23937e-8 -1.19783e-6 1 -2.62439e-8 -0.4338844 0.9009685 -3.48962e-8 -0.7818321 0.623489 -3.66368e-8 -0.974928 0.2225205 -3.11211e-8 -0.9545922 0.2647484 -0.09073412 + + + + + + + + + + -0.2225218 0.9749277 -2.30205e-8 -0.04052453 0.8877353 -0.4585672 -0.4216851 0.7822389 -0.4585672 -0.6234899 0.7818314 -3.58345e-9 -0.7193257 0.5218109 -0.4585672 -0.9009689 0.4338837 1.65634e-8 -0.8744953 0.1580317 -0.4585672 -1 0 3.34297e-8 -0.8564605 -0.2370475 -0.4585672 -0.900969 -0.4338836 4.36748e-8 -0.6687932 -0.5851767 -0.4585672 -0.6234899 -0.7818314 4.52696e-8 -0.3486635 -0.8174044 -0.4585672 -0.2225219 -0.9749277 3.78982e-8 0.04052361 -0.8877353 -0.4585672 0.222521 -0.9749279 2.30206e-8 0.4216849 -0.7822391 -0.4585672 0.62349 -0.7818313 3.58345e-9 0.7193259 -0.5218107 -0.4585672 0.9009691 -0.4338832 -1.65634e-8 0.8744955 -0.1580312 -0.4585672 1 7.40827e-7 -3.34297e-8 0.8564603 0.2370483 -0.4585672 0.9009686 0.4338844 -4.36748e-8 0.6687926 0.5851774 -0.4585672 0.623489 0.7818321 -4.52696e-8 0.445375 0.7693955 -0.4578992 0.2225204 0.974928 -3.78982e-8 0.1987407 0.8707421 -0.4497891 -0.1375673 0.6027217 -0.7860037 -0.2640215 0.5482458 -0.7935484 -0.4757501 0.3793979 -0.7935484 -0.5932505 0.1354056 -0.7935484 -0.5932505 -0.1354055 -0.7935485 -0.4757501 -0.3793979 -0.7935484 -0.2640214 -0.5482459 -0.7935484 -1.5735e-7 -0.6085071 -0.7935484 0.2640215 -0.5482459 -0.7935484 0.4757502 -0.3793978 -0.7935484 0.5932507 -0.1354052 -0.7935484 0.5932505 0.135406 -0.7935484 0.4757496 0.3793984 -0.7935485 0.2640209 0.5482461 -0.7935484 0.1375669 0.6027217 -0.7860037 0.1987407 0.8707421 -0.4497891 0.137567 0.6027217 -0.7860037 -0.1375673 0.6027217 -0.7860037 -0.04923392 0.2157078 -0.975216 -0.09370578 0.194582 -0.9764001 -0.1375673 0.6027217 -0.7860037 -0.168852 0.1346549 -0.9764001 -0.2105549 0.04805777 -0.9764001 -0.2105549 -0.04805776 -0.9764001 -0.168852 -0.1346549 -0.9764001 -0.09370578 -0.194582 -0.9764001 3.5372e-8 -0.2159697 -0.9764001 0.09370579 -0.194582 -0.9764001 0.168852 -0.1346549 -0.9764 0.210555 -0.04805767 -0.9764 0.2105549 0.04805796 -0.9764 0.1688518 0.1346551 -0.9764001 0.09370564 0.1945821 -0.9764001 0.04923379 0.2157078 -0.975216 -0.04923392 0.2157078 -0.975216 0.04923396 -0.215708 -0.9752159 0.09370587 -0.1945822 -0.9764 -0.04923392 0.2157078 -0.975216 0.1688521 -0.134655 -0.9764 0.2105551 -0.04805776 -0.9764 0.210555 0.04805779 -0.9764 0.1688521 0.134655 -0.9764 0.0937059 0.1945822 -0.9764 6.71373e-8 0.2159699 -0.9764 -0.09370582 0.1945822 -0.9764 -0.1688522 0.134655 -0.9764 -0.2105552 0.04805771 -0.9764 -0.210555 -0.04805798 -0.9764 -0.1688519 -0.1346552 -0.9764 -0.09370562 -0.1945823 -0.9764 -0.0492337 -0.215708 -0.9752159 0.04923421 -0.215708 -0.9752159 0.1375676 -0.6027218 -0.7860035 0.2640215 -0.5482461 -0.7935483 0.04923396 -0.215708 -0.9752159 0.4757503 -0.379398 -0.7935483 0.5932507 -0.1354055 -0.7935483 0.5932507 0.1354057 -0.7935483 0.4757503 0.379398 -0.7935482 0.2640218 0.548246 -0.7935483 8.35655e-8 0.6085073 -0.7935483 -0.2640215 0.5482461 -0.7935483 -0.4757503 0.379398 -0.7935483 -0.5932509 0.1354052 -0.7935483 -0.5932507 -0.135406 -0.7935483 -0.4757498 -0.3793985 -0.7935483 -0.3258031 -0.5168711 -0.7916417 -0.1375669 -0.6027219 -0.7860036 0.137568 -0.6027218 -0.7860035 -0.04052343 -0.8877354 -0.458567 0.3486632 -0.8174045 -0.4585671 0.1375676 -0.6027218 -0.7860035 0.6687933 -0.5851768 -0.458567 0.8564606 -0.2370474 -0.4585671 0.8744955 0.1580318 -0.458567 0.7193258 0.5218109 -0.458567 0.4216851 0.782239 -0.458567 0.04052431 0.8877353 -0.4585671 -0.3486632 0.8174045 -0.4585671 -0.6687933 0.5851767 -0.458567 -0.8564607 0.2370471 -0.4585671 -0.8744953 -0.1580326 -0.458567 -0.7193253 -0.5218116 -0.4585671 -0.5568597 -0.6982815 -0.449789 -0.137567 -0.6027219 -0.7860035 -0.1987408 -0.8707422 -0.449789 -0.137567 -0.6027219 -0.7860035 -0.137567 -0.6027219 -0.7860036 0.2225216 -0.9749278 3.13562e-8 0.6234895 -0.7818317 3.66863e-8 0.9009692 -0.4338831 3.47502e-8 1 0 2.59315e-8 0.9009689 0.4338836 1.19766e-8 0.6234899 0.7818314 -4.35029e-9 0.2225216 0.9749278 -1.98156e-8 -0.222521 0.9749279 -3.13562e-8 -0.6234901 0.7818313 -3.66863e-8 -0.9009689 0.4338837 -3.47502e-8 -1 -1.19783e-6 -2.59314e-8 -0.9009685 -0.4338844 -1.19766e-8 -0.623489 -0.7818321 4.35033e-9 -0.2225205 -0.974928 1.98156e-8 -0.1987408 -0.8707422 -0.449789 + + + + + + + + + + + + + + + + + +

0 0 86 0 1 1 1 1 2 2 2 2 0 0 87 3 2 2 2 2 3 3 3 4 0 0 88 5 3 3 3 4 4 4 4 6 0 0 89 7 4 4 4 6 5 5 5 8 0 0 90 9 5 5 5 8 6 6 6 10 0 0 91 11 6 6 6 10 7 7 7 12 0 0 92 13 7 7 7 12 8 8 8 14 0 0 93 15 8 8 8 14 9 9 9 16 0 0 94 17 9 9 9 16 10 10 10 18 0 0 95 19 10 10 10 18 11 11 11 20 0 0 96 21 11 11 11 20 12 12 12 22 0 0 97 23 12 12 12 22 13 13 13 24 0 0 98 25 13 13 13 24 14 14 14 26 0 0 0 27 14 14 99 28 1 1 1 1 1 1 1 1 15 15 100 29 16 16 16 30 1 1 1 1 16 16 16 30 2 2 2 2 2 2 2 2 16 16 16 30 17 17 17 31 2 2 2 2 17 17 17 31 3 3 3 4 3 3 3 4 17 17 17 31 18 18 18 32 3 3 3 4 18 18 18 32 4 4 4 6 4 4 4 6 18 18 18 32 19 19 19 33 4 4 4 6 19 19 19 33 5 5 5 8 5 5 5 8 19 19 19 33 20 20 20 34 5 5 5 8 20 20 20 34 6 6 6 10 6 6 6 10 20 20 20 34 21 21 21 35 6 6 6 10 21 21 21 35 7 7 7 12 7 7 7 12 21 21 21 35 22 22 22 36 7 7 7 12 22 22 22 36 8 8 8 14 8 8 8 14 22 22 22 36 23 23 23 37 8 8 8 14 23 23 23 37 9 9 9 16 9 9 9 16 23 23 23 37 24 24 24 38 9 9 9 16 24 24 24 38 10 10 10 18 10 10 10 18 24 24 24 38 25 25 25 39 10 10 10 18 25 25 25 39 11 11 11 20 11 11 11 20 25 25 25 39 26 26 26 40 11 11 11 20 26 26 26 40 12 12 12 22 12 12 12 22 26 26 26 40 27 27 27 41 12 12 12 22 27 27 27 41 13 13 13 24 13 13 13 24 27 27 27 41 28 28 28 42 13 13 13 24 28 28 28 42 14 14 14 26 14 14 14 26 28 28 28 42 15 15 15 43 14 14 101 44 15 15 102 45 1 1 1 1 15 15 103 46 29 29 104 47 30 30 30 48 15 15 105 49 30 30 30 48 16 16 16 30 16 16 16 30 30 30 30 48 31 31 31 50 16 16 16 30 31 31 31 50 17 17 17 31 17 17 17 31 31 31 31 50 32 32 32 51 17 17 17 31 32 32 32 51 18 18 18 32 18 18 18 32 32 32 32 51 33 33 33 52 18 18 18 32 33 33 33 52 19 19 19 33 19 19 19 33 33 33 33 52 34 34 34 53 19 19 19 33 34 34 34 53 20 20 20 34 20 20 20 34 34 34 34 53 35 35 35 54 20 20 20 34 35 35 35 54 21 21 21 35 21 21 21 35 35 35 35 54 36 36 36 55 21 21 21 35 36 36 36 55 22 22 22 36 22 22 22 36 36 36 36 55 37 37 37 56 22 22 22 36 37 37 37 56 23 23 23 37 23 23 23 37 37 37 37 56 38 38 38 57 23 23 23 37 38 38 38 57 24 24 24 38 24 24 24 38 38 38 38 57 39 39 39 58 24 24 24 38 39 39 39 58 25 25 25 39 25 25 25 39 39 39 39 58 40 40 40 59 25 25 25 39 40 40 40 59 26 26 26 40 26 26 26 40 40 40 40 59 41 41 41 60 26 26 26 40 41 41 41 60 27 27 27 41 27 27 27 41 41 41 41 60 42 42 42 61 27 27 27 41 42 42 42 61 28 28 28 42 28 28 28 42 42 42 42 61 29 29 29 62 28 28 28 42 29 29 29 62 15 15 15 43 29 29 106 63 43 43 107 64 44 44 44 65 29 29 108 66 44 44 44 65 30 30 30 48 30 30 30 48 44 44 44 65 45 45 45 67 30 30 30 48 45 45 45 67 31 31 31 50 31 31 31 50 45 45 45 67 46 46 46 68 31 31 31 50 46 46 46 68 32 32 32 51 32 32 32 51 46 46 46 68 47 47 47 69 32 32 32 51 47 47 47 69 33 33 33 52 33 33 33 52 47 47 47 69 48 48 48 70 33 33 33 52 48 48 48 70 34 34 34 53 34 34 34 53 48 48 48 70 49 49 49 71 34 34 34 53 49 49 49 71 35 35 35 54 35 35 35 54 49 49 49 71 50 50 50 72 35 35 35 54 50 50 50 72 36 36 36 55 36 36 36 55 50 50 50 72 51 51 51 73 36 36 36 55 51 51 51 73 37 37 37 56 37 37 37 56 51 51 51 73 52 52 52 74 37 37 37 56 52 52 52 74 38 38 38 57 38 38 38 57 52 52 52 74 53 53 53 75 38 38 38 57 53 53 53 75 39 39 39 58 39 39 39 58 53 53 53 75 54 54 54 76 39 39 39 58 54 54 54 76 40 40 40 59 40 40 40 59 54 54 54 76 55 55 55 77 40 40 40 59 55 55 55 77 41 41 41 60 41 41 41 60 55 55 55 77 56 56 56 78 41 41 41 60 56 56 56 78 42 42 42 61 42 42 42 61 56 56 56 78 43 43 43 79 42 42 42 61 43 43 43 79 29 29 29 62 43 43 109 80 57 57 110 81 58 58 58 82 43 43 111 83 58 58 58 82 44 44 44 65 44 44 44 65 58 58 58 82 59 59 59 84 44 44 44 65 59 59 59 84 45 45 45 67 45 45 45 67 59 59 59 84 60 60 60 85 45 45 45 67 60 60 60 85 46 46 46 68 46 46 46 68 60 60 60 85 61 61 61 86 46 46 46 68 61 61 61 86 47 47 47 69 47 47 47 69 61 61 61 86 62 62 62 87 47 47 47 69 62 62 62 87 48 48 48 70 48 48 48 70 62 62 62 87 63 63 63 88 48 48 48 70 63 63 63 88 49 49 49 71 49 49 49 71 63 63 63 88 64 64 64 89 49 49 49 71 64 64 64 89 50 50 50 72 50 50 50 72 64 64 64 89 65 65 65 90 50 50 50 72 65 65 65 90 51 51 51 73 51 51 51 73 65 65 65 90 66 66 66 91 51 51 51 73 66 66 66 91 52 52 52 74 52 52 52 74 66 66 66 91 67 67 67 92 52 52 52 74 67 67 67 92 53 53 53 75 53 53 53 75 67 67 67 92 68 68 68 93 53 53 53 75 68 68 68 93 54 54 54 76 54 54 54 76 68 68 68 93 69 69 69 94 54 54 54 76 69 69 69 94 55 55 55 77 55 55 55 77 69 69 69 94 70 70 70 95 55 55 55 77 70 70 70 95 56 56 56 78 56 56 56 78 70 70 70 95 57 57 57 96 56 56 56 78 57 57 57 96 43 43 43 79 57 57 112 97 71 71 71 98 72 72 72 99 57 57 113 100 72 72 72 99 58 58 58 82 58 58 58 82 72 72 72 99 73 73 73 101 58 58 58 82 73 73 73 101 59 59 59 84 59 59 59 84 73 73 73 101 74 74 74 102 59 59 59 84 74 74 74 102 60 60 60 85 60 60 60 85 74 74 74 102 75 75 75 103 60 60 60 85 75 75 75 103 61 61 61 86 61 61 61 86 75 75 75 103 76 76 76 104 61 61 61 86 76 76 76 104 62 62 62 87 62 62 62 87 76 76 76 104 77 77 77 105 62 62 62 87 77 77 77 105 63 63 63 88 63 63 63 88 77 77 77 105 78 78 78 106 63 63 63 88 78 78 78 106 64 64 64 89 64 64 64 89 78 78 78 106 79 79 79 107 64 64 64 89 79 79 79 107 65 65 65 90 65 65 65 90 79 79 79 107 80 80 80 108 65 65 65 90 80 80 80 108 66 66 66 91 66 66 66 91 80 80 80 108 81 81 81 109 66 66 66 91 81 81 81 109 67 67 67 92 67 67 67 92 81 81 81 109 82 82 82 110 67 67 67 92 82 82 82 110 68 68 68 93 68 68 68 93 82 82 82 110 83 83 83 111 68 68 68 93 83 83 83 111 69 69 69 94 69 69 69 94 83 83 83 111 84 84 84 112 69 69 69 94 84 84 84 112 70 70 70 95 70 70 114 113 84 84 115 114 71 71 71 98 70 70 116 115 71 71 71 98 57 57 117 116 85 85 118 117 72 72 72 99 71 71 71 98 85 85 119 118 73 73 73 101 72 72 72 99 85 85 120 119 74 74 74 102 73 73 73 101 85 85 121 120 75 75 75 103 74 74 74 102 85 85 122 121 76 76 76 104 75 75 75 103 85 85 123 122 77 77 77 105 76 76 76 104 85 85 124 123 78 78 78 106 77 77 77 105 85 85 125 124 79 79 79 107 78 78 78 106 85 85 126 125 80 80 80 108 79 79 79 107 85 85 127 126 81 81 81 109 80 80 80 108 85 85 128 127 82 82 82 110 81 81 81 109 85 85 129 128 83 83 83 111 82 82 82 110 85 85 130 129 84 84 84 112 83 83 83 111 85 85 85 130 71 71 71 98 84 84 131 131

+
+
+
+ + + + 0 0 5 -1.28465e-7 2.938926 4.045085 -1.727457 2.377641 4.045085 -2.795085 0.9081783 4.045085 -2.795085 -0.9081781 4.045085 -1.727458 -2.377641 4.045085 3.50463e-8 -2.938926 4.045085 1.727458 -2.377641 4.045085 2.795085 -0.9081767 4.045085 2.795084 0.9081804 4.045085 1.727455 2.377643 4.045085 -2.0786e-7 4.755283 1.545085 -2.795085 3.847105 1.545085 -4.522542 1.469463 1.545085 -4.522543 -1.469463 1.545085 -2.795086 -3.847104 1.545085 5.67062e-8 -4.755283 1.545085 2.795086 -3.847104 1.545085 4.522543 -1.469461 1.545085 4.522542 1.469467 1.545085 2.795081 3.847108 1.545085 -2.0786e-7 4.755282 -1.545085 -2.795084 3.847104 -1.545085 -4.522542 1.469463 -1.545085 -4.522542 -1.469463 -1.545085 -2.795086 -3.847103 -1.545085 5.67062e-8 -4.755282 -1.545085 2.795086 -3.847103 -1.545085 4.522543 -1.469461 -1.545085 4.522542 1.469467 -1.545085 2.795081 3.847107 -1.545085 -1.28465e-7 2.938926 -4.045085 -1.727457 2.377641 -4.045085 -2.795085 0.9081782 -4.045085 -2.795085 -0.908178 -4.045085 -1.727458 -2.37764 -4.045085 3.50463e-8 -2.938926 -4.045085 1.727458 -2.37764 -4.045085 2.795085 -0.9081766 -4.045085 2.795084 0.9081803 -4.045085 1.727455 2.377643 -4.045085 0 0 -5 + + + + + + + + + + 0 -2.11156e-8 1 -2.11354e-7 0.6252257 0.780444 -0.3674984 0.5058182 0.780444 -0.5946249 0.1932054 0.780444 -0.594625 -0.1932053 0.780444 -0.3674985 -0.5058182 0.780444 1.05677e-8 -0.6252257 0.780444 0.3674986 -0.5058181 0.780444 0.5946251 -0.1932051 0.780444 0.5946248 0.1932058 0.780444 0.3674981 0.5058185 0.780444 -2.70626e-7 0.9562714 0.2924812 -0.5620822 0.7736397 0.2924811 -0.909468 0.2955042 0.2924811 -0.9094681 -0.295504 0.2924812 -0.5620822 -0.7736397 0.2924811 5.52297e-9 -0.9562714 0.2924811 0.5620824 -0.7736396 0.2924811 0.9094682 -0.2955036 0.2924811 0.9094678 0.2955048 0.2924812 0.5620816 0.7736402 0.2924811 -2.70626e-7 0.9562712 -0.2924812 -0.5620822 0.7736397 -0.2924812 -0.909468 0.2955042 -0.2924812 -0.9094681 -0.295504 -0.2924812 -0.5620822 -0.7736396 -0.2924812 2.76149e-9 -0.9562712 -0.2924812 0.5620824 -0.7736395 -0.2924812 0.9094682 -0.2955037 -0.2924812 0.9094678 0.2955048 -0.2924812 0.5620815 0.7736402 -0.2924812 -1.638e-7 0.6252257 -0.780444 -0.3674985 0.5058182 -0.780444 -0.594625 0.1932054 -0.780444 -0.594625 -0.1932053 -0.780444 -0.3674985 -0.5058182 -0.780444 -3.17032e-8 -0.6252257 -0.780444 0.3674986 -0.5058181 -0.780444 0.5946251 -0.1932051 -0.780444 0.5946248 0.1932058 -0.780444 0.3674981 0.5058185 -0.780444 1.51768e-8 -4.22312e-8 -1 + + + + + + + + + + 0.95 1 0.999001 0.9999999 0.8 0.9990011 0.09999996 0.8 0.999001 0.2 0.8 0.999001 0.3 0.8 0.999001 0.3999999 0.8 0.999001 0.5 0.8 0.9990011 0.6 0.8 0.9990011 0.7 0.8 0.9990011 0.8000001 0.8 0.9990011 0.9000001 0.8 0.9990011 0.9999999 0.6 0.9990011 0.09999996 0.6 0.999001 0.2 0.6 0.999001 0.3 0.6 0.9990011 0.3999999 0.6 0.999001 0.5 0.6 0.9990011 0.6 0.6 0.9990011 0.7 0.6 0.9990011 0.8000001 0.6 0.9990011 0.9000001 0.6 0.9990011 0.9999999 0.4 0.9990011 0.09999996 0.4 0.999001 0.2 0.4 0.9990009 0.3 0.4 0.999001 0.3999999 0.4 0.999001 0.5 0.4 0.9990011 0.6 0.4 0.999001 0.7 0.4 0.9990011 0.8000001 0.4 0.9990011 0.9000001 0.4 0.999001 0.9999999 0.2 0.9990011 0.09999996 0.2 0.999001 0.2 0.2 0.999001 0.3 0.2 0.999001 0.3999999 0.2 0.999001 0.5 0.2 0.9990011 0.6 0.2 0.9990011 0.7 0.2 0.9990011 0.8000001 0.2 0.9990011 0.9000001 0.2 0.9990011 0.95 0 0.999001 0.04999995 1 0.999001 -5.96046e-8 0.8 0.9990011 0.15 1 0.999001 0.25 1 0.999001 0.35 1 0.999001 0.45 1 0.999001 0.55 1 0.999001 0.65 1 0.999001 0.7500001 1 0.999001 0.8500001 1 0.999001 -5.96046e-8 0.8 0.9990011 -5.96046e-8 0.6 0.9990011 -5.96046e-8 0.8 0.9990011 -5.96046e-8 0.6 0.9990011 -5.96046e-8 0.4 0.9990011 -5.96046e-8 0.6 0.9990011 -5.96046e-8 0.4 0.9990011 -5.96046e-8 0.2 0.9990011 -5.96046e-8 0.4 0.9990011 0.04999995 0 0.999001 -5.96046e-8 0.2 0.9990011 0.15 0 0.999001 0.25 0 0.999001 0.35 0 0.999001 0.45 0 0.999001 0.55 0 0.999001 0.65 0 0.999001 0.7500001 0 0.999001 0.8500001 0 0.999001 + + + + + + + + + + -0.9510565 -0.3090171 -6.52508e-9 -0.9510565 -0.1882202 0.1507859 -0.7472943 -0.5894716 0.03015721 -0.5877853 -0.809017 -1.70829e-8 -0.2580911 -0.9161411 0.03015718 -1.31262e-7 -1 -2.11156e-8 0.3296941 -0.8928759 0.0301572 0.5877852 -0.809017 -1.70829e-8 0.7915474 -0.5285625 0.03015717 0.9510565 -0.3090172 -6.52508e-9 0.9510565 0.03764403 0.0301572 0.9510565 0.3090172 6.52508e-9 0.7472941 0.5894718 0.03015722 0.587785 0.8090172 1.70829e-8 0.2580906 0.9161412 0.03015722 -6.5631e-7 1 2.11156e-8 -0.3296949 0.8928756 0.0301572 -0.587786 0.8090165 1.70829e-8 -0.7915479 0.5285618 0.03015718 -0.9510567 0.3090165 6.52507e-9 -0.9510567 0.1882196 -0.1507859 -0.9510565 -0.1882202 0.1507858 -0.9510566 -0.02643514 0.08642931 -0.7694209 -0.559017 7.9155e-10 -0.9510565 -0.1882202 0.1507859 -0.2938927 -0.9045085 -4.0073e-9 0.2938925 -0.9045085 -7.41231e-10 0.7694209 -0.5590171 -6.34775e-9 0.9510565 4.77085e-9 -2.3606e-9 0.7694207 0.5590172 -6.72929e-9 0.2938922 0.9045086 -2.86915e-9 -0.2938933 0.9045082 -2.409e-9 -0.7694214 0.5590164 -1.96186e-8 -0.9510566 0.0264346 -0.0864293 -0.9510566 -0.02643514 0.08642932 -0.9510566 -0.02643521 -0.08642933 -0.7694209 -0.559017 1.17386e-8 -0.9510566 -0.02643514 0.08642931 -0.2938927 -0.9045085 -3.27196e-9 0.2938926 -0.9045085 1.16709e-8 0.7694209 -0.5590171 -4.67655e-8 0.9510565 2.37408e-9 1.21738e-9 0.7694207 0.5590172 1.66922e-8 0.2938922 0.9045086 -7.07564e-9 -0.2938933 0.9045082 1.75192e-8 -0.7694214 0.5590164 1.41495e-8 -0.9510566 0.02643467 0.08642932 -0.9510567 -0.0264351 -0.08642897 -0.9510566 -0.1882199 -0.1507856 -0.7915475 -0.5285623 0.03015731 -0.9510566 -0.02643521 -0.08642933 -0.3296942 -0.8928758 0.03015721 0.258091 -0.9161412 0.03015719 0.7472943 -0.5894716 0.03015712 0.9510565 -0.03764394 0.03015711 0.7915473 0.5285625 0.03015719 0.3296938 0.892876 0.03015719 -0.2580917 0.9161409 0.03015721 -0.7472948 0.5894711 0.03015717 -0.9510567 0.1882196 0.1507858 -0.9510566 -0.3090166 -1.38389e-9 -0.9510567 -0.1882199 -0.1507856 -0.5877853 -0.8090169 2.5245e-8 -6.40936e-16 -1 4.22312e-8 0.5877852 -0.809017 4.30865e-8 0.9510566 -0.3090169 2.74842e-8 0.9510565 0.3090172 1.38386e-9 0.587785 0.8090172 -2.5245e-8 -6.5631e-7 1 -4.22312e-8 -0.587786 0.8090165 -4.30865e-8 -0.9510567 0.3090165 -2.74842e-8 + + + + + + + + + + -0.3090171 0.9510565 2.00821e-8 -0.2458018 0.7565 -0.6060439 -0.4991224 0.60081 -0.6244231 -0.809017 0.5877853 1.24114e-8 -0.7569457 0.1926888 -0.6244232 -1 1.31262e-7 2.77168e-15 -0.7256415 -0.289033 -0.6244231 -0.809017 -0.5877852 -1.24114e-8 -0.417167 -0.660354 -0.6244232 -0.3090172 -0.9510565 -2.00821e-8 0.05065125 -0.7794422 -0.6244232 0.3090172 -0.9510565 -2.00821e-8 0.4991225 -0.6008098 -0.6244231 0.8090172 -0.587785 -1.24114e-8 0.7569458 -0.1926883 -0.6244232 1 6.5631e-7 1.38584e-14 0.7256413 0.2890337 -0.6244231 0.8090165 0.587786 1.24115e-8 0.4171665 0.6603543 -0.6244232 0.3090165 0.9510567 2.00821e-8 0.2458013 0.7565002 -0.6060439 -0.2458018 0.7565 -0.6060439 -0.09460663 0.2911693 -0.9519822 -0.1719161 0.2366222 -0.9562713 -0.2458018 0.7565 -0.6060439 -0.2781661 0.09038166 -0.9562713 -0.2781661 -0.09038162 -0.9562713 -0.1719161 -0.2366222 -0.9562713 -9.06353e-10 -0.2924811 -0.9562713 0.1719161 -0.2366221 -0.9562713 0.2781661 -0.09038149 -0.9562713 0.2781661 0.09038187 -0.9562713 0.1719159 0.2366223 -0.9562713 0.09460646 0.2911693 -0.9519822 -0.09460664 0.2911693 -0.9519822 0.09460667 -0.2911693 -0.9519821 0.1719161 -0.2366223 -0.9562713 -0.09460663 0.2911693 -0.9519822 0.2781661 -0.09038168 -0.9562713 0.2781662 0.09038165 -0.9562713 0.1719161 0.2366223 -0.9562713 4.93948e-10 0.2924813 -0.9562713 -0.1719162 0.2366222 -0.9562713 -0.2781662 0.09038154 -0.9562713 -0.2781661 -0.09038187 -0.9562713 -0.171916 -0.2366224 -0.9562713 -0.09460649 -0.2911694 -0.9519821 0.09460628 -0.2911694 -0.9519822 0.2458014 -0.7565001 -0.6060439 0.4171668 -0.6603542 -0.6244231 0.09460667 -0.2911693 -0.9519821 0.7256415 -0.2890331 -0.6244232 0.7569457 0.1926887 -0.6244231 0.4991223 0.60081 -0.6244231 0.05065112 0.7794422 -0.6244232 -0.4171671 0.6603539 -0.6244232 -0.7256416 0.2890327 -0.6244232 -0.7569456 -0.1926893 -0.6244231 -0.4991219 -0.6008104 -0.6244231 -0.2458013 -0.7565002 -0.6060439 0.3090166 -0.9510566 4.48541e-8 0.2458014 -0.7565001 -0.6060439 0.8090169 -0.5877853 3.71012e-8 1 0 1.51768e-8 0.809017 0.5877852 -1.25446e-8 0.3090169 0.9510566 -3.54744e-8 -0.3090172 0.9510565 -4.48541e-8 -0.8090172 0.587785 -3.71012e-8 -1 -6.5631e-7 -1.51768e-8 -0.8090165 -0.587786 1.25446e-8 -0.3090165 -0.9510567 3.54744e-8 + + + + + + + + + + + + + + + + + +

0 0 42 0 1 1 43 1 2 2 2 2 0 0 44 3 2 2 2 2 3 3 3 4 0 0 45 5 3 3 3 4 4 4 4 6 0 0 46 7 4 4 4 6 5 5 5 8 0 0 47 9 5 5 5 8 6 6 6 10 0 0 48 11 6 6 6 10 7 7 7 12 0 0 49 13 7 7 7 12 8 8 8 14 0 0 50 15 8 8 8 14 9 9 9 16 0 0 51 17 9 9 9 16 10 10 10 18 0 0 0 19 10 10 10 18 1 1 1 20 1 1 52 21 11 11 53 22 12 12 12 23 1 1 54 24 12 12 12 23 2 2 2 2 2 2 2 2 12 12 12 23 13 13 13 25 2 2 2 2 13 13 13 25 3 3 3 4 3 3 3 4 13 13 13 25 14 14 14 26 3 3 3 4 14 14 14 26 4 4 4 6 4 4 4 6 14 14 14 26 15 15 15 27 4 4 4 6 15 15 15 27 5 5 5 8 5 5 5 8 15 15 15 27 16 16 16 28 5 5 5 8 16 16 16 28 6 6 6 10 6 6 6 10 16 16 16 28 17 17 17 29 6 6 6 10 17 17 17 29 7 7 7 12 7 7 7 12 17 17 17 29 18 18 18 30 7 7 7 12 18 18 18 30 8 8 8 14 8 8 8 14 18 18 18 30 19 19 19 31 8 8 8 14 19 19 19 31 9 9 9 16 9 9 9 16 19 19 19 31 20 20 20 32 9 9 9 16 20 20 20 32 10 10 10 18 10 10 10 18 20 20 20 32 11 11 11 33 10 10 10 18 11 11 11 33 1 1 1 20 11 11 55 34 21 21 56 35 22 22 22 36 11 11 57 37 22 22 22 36 12 12 12 23 12 12 12 23 22 22 22 36 23 23 23 38 12 12 12 23 23 23 23 38 13 13 13 25 13 13 13 25 23 23 23 38 24 24 24 39 13 13 13 25 24 24 24 39 14 14 14 26 14 14 14 26 24 24 24 39 25 25 25 40 14 14 14 26 25 25 25 40 15 15 15 27 15 15 15 27 25 25 25 40 26 26 26 41 15 15 15 27 26 26 26 41 16 16 16 28 16 16 16 28 26 26 26 41 27 27 27 42 16 16 16 28 27 27 27 42 17 17 17 29 17 17 17 29 27 27 27 42 28 28 28 43 17 17 17 29 28 28 28 43 18 18 18 30 18 18 18 30 28 28 28 43 29 29 29 44 18 18 18 30 29 29 29 44 19 19 19 31 19 19 19 31 29 29 29 44 30 30 30 45 19 19 19 31 30 30 30 45 20 20 20 32 20 20 20 32 30 30 30 45 21 21 21 46 20 20 20 32 21 21 21 46 11 11 11 33 21 21 58 47 31 31 59 48 32 32 32 49 21 21 60 50 32 32 32 49 22 22 22 36 22 22 22 36 32 32 32 49 33 33 33 51 22 22 22 36 33 33 33 51 23 23 23 38 23 23 23 38 33 33 33 51 34 34 34 52 23 23 23 38 34 34 34 52 24 24 24 39 24 24 24 39 34 34 34 52 35 35 35 53 24 24 24 39 35 35 35 53 25 25 25 40 25 25 25 40 35 35 35 53 36 36 36 54 25 25 25 40 36 36 36 54 26 26 26 41 26 26 26 41 36 36 36 54 37 37 37 55 26 26 26 41 37 37 37 55 27 27 27 42 27 27 27 42 37 37 37 55 38 38 38 56 27 27 27 42 38 38 38 56 28 28 28 43 28 28 28 43 38 38 38 56 39 39 39 57 28 28 28 43 39 39 39 57 29 29 29 44 29 29 29 44 39 39 39 57 40 40 40 58 29 29 29 44 40 40 40 58 30 30 30 45 30 30 30 45 40 40 40 58 31 31 31 59 30 30 30 45 31 31 31 59 21 21 21 46 41 41 61 60 32 32 32 49 31 31 62 61 41 41 63 62 33 33 33 51 32 32 32 49 41 41 64 63 34 34 34 52 33 33 33 51 41 41 65 64 35 35 35 53 34 34 34 52 41 41 66 65 36 36 36 54 35 35 35 53 41 41 67 66 37 37 37 55 36 36 36 54 41 41 68 67 38 38 38 56 37 37 37 55 41 41 69 68 39 39 39 57 38 38 38 56 41 41 70 69 40 40 40 58 39 39 39 57 41 41 41 70 31 31 31 59 40 40 40 58

+
+
+
+ + + + 0 0 5 -1.54543e-7 3.535534 3.535534 -2.5 2.5 3.535534 -3.535534 -3.09086e-7 3.535534 -2.5 -2.5 3.535534 4.21608e-8 -3.535534 3.535534 2.5 -2.5 3.535534 3.535534 -1.0677e-6 3.535534 2.500001 2.499999 3.535534 -2.18557e-7 5 -2.18557e-7 -3.535534 3.535534 -2.18557e-7 -5 -4.37114e-7 -2.18557e-7 -3.535533 -3.535534 -2.18557e-7 5.96244e-8 -5 -2.18557e-7 3.535533 -3.535534 -2.18557e-7 5 -1.50996e-6 -2.18557e-7 3.535536 3.535532 -2.18557e-7 -1.54543e-7 3.535534 -3.535534 -2.5 2.5 -3.535534 -3.535534 -3.09086e-7 -3.535534 -2.5 -2.5 -3.535534 4.21608e-8 -3.535534 -3.535534 2.5 -2.5 -3.535534 3.535534 -1.0677e-6 -3.535534 2.500001 2.499999 -3.535534 0 0 -5 + + + + + + + + + + 9.88537e-9 3.95415e-8 1 6.9026e-8 0.7486158 0.6630041 -0.5293514 0.5293513 0.6630041 -0.7486159 -8.05304e-8 0.6630041 -0.5293513 -0.5293514 0.663004 1.15043e-8 -0.7486158 0.6630041 0.5293513 -0.5293514 0.6630041 0.7486158 -2.01326e-7 0.6630041 0.5293515 0.5293512 0.6630041 7.27742e-8 1 -1.2129e-8 -0.7071067 0.7071068 -3.63871e-8 -1 -9.70323e-8 -1.81936e-8 -0.7071068 -0.7071068 -1.2129e-8 0 -1 3.03226e-8 0.7071066 -0.7071069 0 1 -3.21419e-7 -4.24516e-8 0.7071069 0.7071065 -1.2129e-8 6.32739e-8 0.7486157 -0.6630041 -0.5293513 0.5293513 -0.6630042 -0.7486158 -6.9026e-8 -0.6630042 -0.5293512 -0.5293514 -0.663004 2.30087e-8 -0.7486158 -0.6630041 0.5293512 -0.5293514 -0.6630041 0.7486158 -1.86945e-7 -0.6630042 0.5293514 0.5293511 -0.6630041 9.88537e-9 2.82439e-8 -1 + + + + + + + + + + 0.5 0.5 5.5 0.5000007 4.035534 4.035534 -2 3 4.035534 -3.035534 0.5000005 4.035534 -2 -2 4.035534 0.4999992 -3.035534 4.035534 2.999999 -2.000001 4.035534 4.035534 0.4999981 4.035534 3.000002 2.999998 4.035534 0.500001 5.5 0.4999998 -3.035533 4.035535 0.4999998 -4.5 0.5000008 0.4999998 -3.035534 -3.035533 0.4999998 0.4999989 -4.5 0.4999998 4.035532 -3.035535 0.4999998 5.5 0.4999973 0.4999998 4.035537 4.035532 0.4999998 0.5000007 4.035534 -3.035534 -2 3 -3.035534 -3.035534 0.5000005 -3.035534 -2 -2 -3.035534 0.4999992 -3.035534 -3.035534 2.999999 -2.000001 -3.035534 4.035534 0.4999981 -3.035534 3.000002 2.999998 -3.035534 0.5 0.5 -4.5 + + + + + + + + + + 0.954739 2.15833e-7 -9.43795e-9 0.8185035 -0.07019225 0.07925587 0.7049205 -0.02852993 0.5855967 0.6144843 1.61232e-7 0.6938309 0.7364077 -0.004867014 0.5840719 0.8185036 -0.07019225 -0.07925597 0.7049205 -0.02852995 -0.5855966 0.6144844 1.36677e-7 -0.6938309 0.7364076 -0.004866982 -0.584072 0.7071067 -5.4318e-8 -0.2357023 0.2724478 0.2724477 -0.03612882 -1.08617e-14 7.48297e-8 -5.34923e-9 0.2724474 -0.2724474 0.03612879 0.7071068 7.1471e-9 0.2357022 0.2724478 0.2724477 0.03612882 3.23075e-14 2.23624e-7 1.56345e-8 0.2724472 -0.2724473 -0.03612873 0.8185034 0.07019258 0.07925641 0.7364079 0.004867376 -0.5840717 0.6144844 1.60997e-7 -0.6938308 0.7049204 0.02853028 -0.5855968 0.8185035 0.07019259 -0.07925631 0.736408 0.004867405 0.5840716 0.6144844 1.54593e-7 0.6938308 0.7049204 0.02853028 0.5855969 0.954739 2.15833e-7 9.43795e-9 + + + + + + + + + + 2.26065e-7 -1 3.95415e-8 -0.1282771 -0.6575266 0.742431 -0.3587224 -0.8478319 0.3905115 1.75624e-7 -1 7.68394e-8 0.3255071 -0.8483869 -0.4174744 -0.1282772 -0.6575266 -0.742431 -0.3587225 -0.8478319 -0.3905116 -5.29431e-8 -1 -2.43878e-7 0.325507 -0.848387 0.4174741 0.3162278 -1.15066e-8 0.9486833 0.06601453 0.06601457 0.9956325 -2.5066e-8 0.07130344 0.9974547 0.06601458 -0.06601456 -0.9956325 0.3162277 -2.87665e-8 -0.9486833 0.06601455 0.06601453 -0.9956325 -1.99311e-8 0.06974413 -0.9975649 0.06601449 -0.06601451 0.9956325 -0.1282779 0.6575266 0.7424309 0.3255066 0.848387 0.4174746 -1.66844e-7 1 8.42766e-8 -0.3587228 0.8478319 -0.3905113 -0.1282778 0.6575265 -0.7424309 0.3255067 0.8483869 -0.4174747 2.93614e-8 1 -2.48815e-7 -0.3587227 0.847832 0.3905111 -2.26065e-7 1 2.82439e-8 + + + + + + + + + + + + + + + + + +

0 0 0 0 1 1 1 1 2 2 2 2 0 0 0 0 2 2 2 2 3 3 3 3 0 0 0 0 3 3 3 3 4 4 4 4 0 0 0 0 4 4 4 4 5 5 5 5 0 0 0 0 5 5 5 5 6 6 6 6 0 0 0 0 6 6 6 6 7 7 7 7 0 0 0 0 7 7 7 7 8 8 8 8 0 0 0 0 8 8 8 8 1 1 1 1 1 1 1 1 9 9 9 9 10 10 10 10 1 1 1 1 10 10 10 10 2 2 2 2 2 2 2 2 10 10 10 10 11 11 11 11 2 2 2 2 11 11 11 11 3 3 3 3 3 3 3 3 11 11 11 11 12 12 12 12 3 3 3 3 12 12 12 12 4 4 4 4 4 4 4 4 12 12 12 12 13 13 13 13 4 4 4 4 13 13 13 13 5 5 5 5 5 5 5 5 13 13 13 13 14 14 14 14 5 5 5 5 14 14 14 14 6 6 6 6 6 6 6 6 14 14 14 14 15 15 15 15 6 6 6 6 15 15 15 15 7 7 7 7 7 7 7 7 15 15 15 15 16 16 16 16 7 7 7 7 16 16 16 16 8 8 8 8 8 8 8 8 16 16 16 16 9 9 9 9 8 8 8 8 9 9 9 9 1 1 1 1 9 9 9 9 17 17 17 17 18 18 18 18 9 9 9 9 18 18 18 18 10 10 10 10 10 10 10 10 18 18 18 18 19 19 19 19 10 10 10 10 19 19 19 19 11 11 11 11 11 11 11 11 19 19 19 19 20 20 20 20 11 11 11 11 20 20 20 20 12 12 12 12 12 12 12 12 20 20 20 20 21 21 21 21 12 12 12 12 21 21 21 21 13 13 13 13 13 13 13 13 21 21 21 21 22 22 22 22 13 13 13 13 22 22 22 22 14 14 14 14 14 14 14 14 22 22 22 22 23 23 23 23 14 14 14 14 23 23 23 23 15 15 15 15 15 15 15 15 23 23 23 23 24 24 24 24 15 15 15 15 24 24 24 24 16 16 16 16 16 16 16 16 24 24 24 24 17 17 17 17 16 16 16 16 17 17 17 17 9 9 9 9 25 25 25 25 18 18 18 18 17 17 17 17 25 25 25 25 19 19 19 19 18 18 18 18 25 25 25 25 20 20 20 20 19 19 19 19 25 25 25 25 21 21 21 21 20 20 20 20 25 25 25 25 22 22 22 22 21 21 21 21 25 25 25 25 23 23 23 23 22 22 22 22 25 25 25 25 24 24 24 24 23 23 23 23 25 25 25 25 17 17 17 17 24 24 24 24

+
+
+
+ + + + 0 0 5 -1.89276e-7 4.330127 2.5 -3.75 2.165064 2.5 -3.75 -2.165064 2.5 5.16362e-8 -4.330127 2.5 3.75 -2.165064 2.5 3.750001 2.165062 2.5 -1.89276e-7 4.330127 -2.5 -3.75 2.165064 -2.5 -3.75 -2.165063 -2.5 5.16362e-8 -4.330127 -2.5 3.75 -2.165064 -2.5 3.750001 2.165062 -2.5 0 0 -5 + + + + + + + + + + -1.99952e-8 1.33301e-8 1 7.03834e-8 0.8973439 0.441332 -0.7771226 0.448672 0.441332 -0.7771226 -0.448672 0.441332 -3.51917e-8 -0.8973439 0.441332 0.7771224 -0.4486721 0.441332 0.7771227 0.4486718 0.441332 8.44601e-8 0.8973438 -0.4413321 -0.7771226 0.4486719 -0.4413322 -0.7771226 -0.4486719 -0.4413321 -4.92684e-8 -0.8973439 -0.4413321 0.7771225 -0.4486721 -0.4413321 0.7771227 0.4486717 -0.4413321 -6.66506e-9 1.33301e-8 -1 + + + + + + + + + + 0.9166666 1 0.999001 0.9999999 0.6666667 0.9990011 0.1666667 0.6666666 0.9990012 0.3333333 0.6666667 0.9990011 0.5 0.6666667 0.9990011 0.6666666 0.6666667 0.999001 0.8333333 0.6666667 0.999001 0.9999999 0.3333333 0.999001 0.1666666 0.3333333 0.9990011 0.3333333 0.3333333 0.9990011 0.5 0.3333333 0.999001 0.6666666 0.3333333 0.999001 0.8333332 0.3333333 0.9990009 0.9166666 0 0.999001 0.08333331 1 0.999001 -5.96046e-8 0.6666667 0.9990011 0.25 1 0.999001 0.4166666 1 0.999001 0.5833333 1 0.999001 0.7499999 1 0.999001 -5.96046e-8 0.6666667 0.9990011 -5.96046e-8 0.3333333 0.999001 -5.96046e-8 0.6666667 0.9990011 0.08333328 0 0.999001 -5.96046e-8 0.3333333 0.999001 0.25 0 0.999001 0.4166666 0 0.999001 0.5833333 0 0.999001 0.7499999 0 0.999001 + + + + + + + + + + -0.8660253 -0.5000002 -1.06513e-8 -0.8660252 -0.09738706 0.1980136 -0.4161448 -0.7597387 0.03960266 -3.09715e-7 -1 1.33301e-8 0.4498806 -0.7402613 0.03960252 0.8660254 -0.5 2.39814e-8 0.8660254 0.01947738 0.03960269 0.8660254 0.4999999 1.06513e-8 0.416145 0.7597387 0.03960266 3.30363e-7 1 -1.33301e-8 -0.4498804 0.7402614 0.03960264 -0.8660253 0.5000001 -2.39814e-8 -0.8660254 0.09738707 -0.1980133 -0.8660254 -0.09738693 0.1980133 -0.8660254 -0.09738697 -0.1980133 -0.4498806 -0.7402613 0.03960274 -0.8660254 -0.09738709 0.1980137 0.4161448 -0.7597387 0.03960259 0.8660254 -0.01947747 0.03960272 0.4498808 0.7402612 0.03960273 -0.4161446 0.7597387 0.0396026 -0.8660254 0.09738708 0.1980132 -0.8660254 -0.5 -8.92948e-10 -0.8660254 -0.09738697 -0.1980133 0 -1 -1.33301e-8 0.8660254 -0.5 -1.24372e-8 0.8660255 0.4999998 8.92944e-10 2.75302e-7 1 1.33301e-8 -0.8660254 0.5 1.24372e-8 + + + + + + + + + + -0.5000002 0.8660253 -2.15418e-8 -0.2469142 0.4276673 -0.8695597 -0.4071567 0.176304 -0.896181 -1 3.09715e-7 -1.99952e-8 -0.3562622 -0.2644559 -0.896181 -0.5 -0.8660254 1.54663e-9 0.05089461 -0.4407601 -0.896181 0.4999999 -0.8660254 2.15418e-8 0.4071567 -0.1763041 -0.8961809 1 -3.30363e-7 1.99952e-8 0.3562622 0.2644559 -0.896181 0.5000001 0.8660253 -1.54663e-9 0.2469139 0.4276673 -0.8695598 -0.2469138 0.4276673 -0.8695598 0.2469139 -0.4276674 -0.8695598 0.3562622 -0.2644562 -0.8961809 -0.2469142 0.4276672 -0.8695597 0.4071568 0.1763041 -0.8961809 0.05089469 0.4407602 -0.8961809 -0.3562621 0.2644562 -0.8961809 -0.4071568 -0.176304 -0.8961809 -0.2469138 -0.4276673 -0.8695598 0.5 -0.8660254 -1.48767e-8 0.2469139 -0.4276674 -0.8695598 1 0 -6.66506e-9 0.5 0.8660254 8.21169e-9 -0.4999998 0.8660255 1.48767e-8 -1 2.75302e-7 6.66506e-9 -0.5 -0.8660254 -8.21169e-9 + + + + + + + + + + + + + + + + + +

0 0 14 0 1 1 15 1 2 2 2 2 0 0 16 3 2 2 2 2 3 3 3 4 0 0 17 5 3 3 3 4 4 4 4 6 0 0 18 7 4 4 4 6 5 5 5 8 0 0 19 9 5 5 5 8 6 6 6 10 0 0 0 11 6 6 6 10 1 1 1 12 1 1 20 13 7 7 21 14 8 8 8 15 1 1 22 16 8 8 8 15 2 2 2 2 2 2 2 2 8 8 8 15 9 9 9 17 2 2 2 2 9 9 9 17 3 3 3 4 3 3 3 4 9 9 9 17 10 10 10 18 3 3 3 4 10 10 10 18 4 4 4 6 4 4 4 6 10 10 10 18 11 11 11 19 4 4 4 6 11 11 11 19 5 5 5 8 5 5 5 8 11 11 11 19 12 12 12 20 5 5 5 8 12 12 12 20 6 6 6 10 6 6 6 10 12 12 12 20 7 7 7 21 6 6 6 10 7 7 7 21 1 1 1 12 13 13 23 22 8 8 8 15 7 7 24 23 13 13 25 24 9 9 9 17 8 8 8 15 13 13 26 25 10 10 10 18 9 9 9 17 13 13 27 26 11 11 11 19 10 10 10 18 13 13 28 27 12 12 12 20 11 11 11 19 13 13 13 28 7 7 7 21 12 12 12 20

+
+
+
+
+ + + + + 0 0 0 + + + + + + + + + + + + + + + + + + + + 1 + 1 + 1 + 1 + + + + + + + + + + + + + + 1 + 1 + 1 + 1 + + + + + + + + + + + + + + 1 + 1 + 1 + 1 + + + + + + + + + + + + + + 1 + 1 + 1 + 1 + + + + + + + + +
\ No newline at end of file diff --git a/Templates/Full/game/art/environment/LightVolume_Sphere.cs b/Templates/Full/game/art/environment/LightVolume_Sphere.cs new file mode 100644 index 0000000000..475da3bee9 --- /dev/null +++ b/Templates/Full/game/art/environment/LightVolume_Sphere.cs @@ -0,0 +1,8 @@ + +singleton TSShapeConstructor(LightVolume_SphereDAE) +{ + baseShape = "./LightVolume_Sphere.DAE"; + lodType = "TrailingNumber"; + neverImport = "env*"; + loadLights = "0"; +}; diff --git a/Templates/Full/game/art/environment/LightVolume_Sphere.dts b/Templates/Full/game/art/environment/LightVolume_Sphere.dts new file mode 100644 index 0000000000..223993dd63 Binary files /dev/null and b/Templates/Full/game/art/environment/LightVolume_Sphere.dts differ diff --git a/Templates/Full/game/core/scripts/client/postFx/glow.cs b/Templates/Full/game/core/scripts/client/postFx/glow.cs index 3cc946b04e..7eeb1a83d5 100644 --- a/Templates/Full/game/core/scripts/client/postFx/glow.cs +++ b/Templates/Full/game/core/scripts/client/postFx/glow.cs @@ -106,3 +106,72 @@ singleton PostEffect( GlowPostFx ) target = "$backBuffer"; }; }; + + +singleton ShaderData( PFX_VolFogGlowBlurVertShader ) +{ + DXVertexShaderFile = "shaders/common/postFx/glowBlurV.hlsl"; + DXPixelShaderFile = "shaders/common/postFx/VolFogGlowP.hlsl"; + defines = "BLUR_DIR=float2(0.0,1.0)"; + samplerNames[0] = "$diffuseMap"; + pixVersion = 2.0; +}; +singleton ShaderData( PFX_VolFogGlowBlurHorzShader : PFX_VolFogGlowBlurVertShader ) +{ + DXVertexShaderFile = "shaders/common/postFx/glowBlurV.hlsl"; + DXPixelShaderFile = "shaders/common/postFx/VolFogGlowP.hlsl"; + defines = "BLUR_DIR=float2(1.0,0.0)"; +}; + +$VolFogGlowPostFx::glowStrength = 0.3; + +singleton PostEffect( VolFogGlowPostFx ) +{ + // Do not allow the glow effect to work in reflection + // passes by default so we don't do the extra drawing. + allowReflectPass = false; + renderTime = "PFXAfterBin"; + renderBin = "FogBin"; + renderPriority = 1; + // First we down sample the glow buffer. + shader = PFX_PassthruShader; + stateBlock = PFX_DefaultStateBlock; + texture[0] = "$backbuffer"; + target = "$outTex"; + targetScale = "0.5 0.5"; + isEnabled = true; + // Blur vertically + new PostEffect() + { + shader = PFX_VolFogGlowBlurVertShader; + stateBlock = PFX_DefaultStateBlock; + internalName = "vert"; + texture[0] = "$inTex"; + target = "$outTex"; + }; + // Blur horizontally + new PostEffect() + { + shader = PFX_VolFogGlowBlurHorzShader; + stateBlock = PFX_DefaultStateBlock; + internalName = "hor"; + texture[0] = "$inTex"; + target = "$outTex"; + }; + // Upsample and combine with the back buffer. + new PostEffect() + { + shader = PFX_PassthruShader; + stateBlock = PFX_GlowCombineStateBlock; + texture[0] = "$inTex"; + target = "$backBuffer"; + }; +}; + +function VolFogGlowPostFx::setShaderConsts( %this ) +{ + %vp=%this-->vert; + %vp.setShaderConst( "$strength", $VolFogGlowPostFx::glowStrength ); + %vp=%this-->hor; + %vp.setShaderConst( "$strength", $VolFogGlowPostFx::glowStrength ); +} \ No newline at end of file diff --git a/Templates/Full/game/core/scripts/client/postFx/postFxManager.gui.settings.cs b/Templates/Full/game/core/scripts/client/postFx/postFxManager.gui.settings.cs index a6c29f58a3..c26b0898bb 100644 --- a/Templates/Full/game/core/scripts/client/postFx/postFxManager.gui.settings.cs +++ b/Templates/Full/game/core/scripts/client/postFx/postFxManager.gui.settings.cs @@ -70,6 +70,7 @@ postVerbose("% - PostFX Manager - PostFX disabled"); } + VolFogGlowPostFx.disable(); } function PostFXManager::settingsEffectSetEnabled(%this, %sName, %bEnable) diff --git a/Templates/Full/game/core/scripts/client/renderManager.cs b/Templates/Full/game/core/scripts/client/renderManager.cs index dcd1628fe4..5734bbce60 100644 --- a/Templates/Full/game/core/scripts/client/renderManager.cs +++ b/Templates/Full/game/core/scripts/client/renderManager.cs @@ -75,6 +75,8 @@ function initRenderManager() DiffuseRenderPassManager.addManager( new RenderParticleMgr() { renderOrder = 1.35; processAddOrder = 1.35; } ); DiffuseRenderPassManager.addManager( new RenderTranslucentMgr() { renderOrder = 1.4; processAddOrder = 1.4; } ); + DiffuseRenderPassManager.addManager(new RenderObjectMgr(FogBin){ bintype = "ObjectVolumetricFog"; renderOrder = 1.45; processAddOrder = 1.45; } ); + // Note that the GlowPostFx is triggered after this bin. DiffuseRenderPassManager.addManager( new RenderGlowMgr(GlowBin) { renderOrder = 1.5; processAddOrder = 1.5; } ); diff --git a/Templates/Full/game/core/scripts/client/shaders.cs b/Templates/Full/game/core/scripts/client/shaders.cs index 98d0529ebe..0c140e71d0 100644 --- a/Templates/Full/game/core/scripts/client/shaders.cs +++ b/Templates/Full/game/core/scripts/client/shaders.cs @@ -101,4 +101,23 @@ singleton ShaderData( OffscreenParticleCompositeShaderData ) samplerNames[1] = "$alphaMap"; pixVersion = 1.4; +}; + +singleton ShaderData( VolumetricFogPrePassShader ) +{ +DXVertexShaderFile = "shaders/common/VolumetricFog/VFogPreV.hlsl"; +DXPixelShaderFile = "shaders/common/VolumetricFog/VFogPreP.hlsl"; +pixVersion = 3.0; +}; +singleton ShaderData( VolumetricFogShader ) +{ +DXVertexShaderFile = "shaders/common/VolumetricFog/VFogV.hlsl"; +DXPixelShaderFile = "shaders/common/VolumetricFog/VFogP.hlsl"; +pixVersion = 3.0; +}; +singleton ShaderData( VolumetricFogReflectionShader ) +{ +DXVertexShaderFile = "shaders/common/VolumetricFog/VFogPreV.hlsl"; +DXPixelShaderFile = "shaders/common/VolumetricFog/VFogRefl.hlsl"; +pixVersion = 3.0; }; \ No newline at end of file diff --git a/Templates/Full/game/scripts/server/VolumetricFog.cs b/Templates/Full/game/scripts/server/VolumetricFog.cs new file mode 100644 index 0000000000..020b30d86b --- /dev/null +++ b/Templates/Full/game/scripts/server/VolumetricFog.cs @@ -0,0 +1,114 @@ +//----------------------------------------------------------------------------- +// Copyright (c) 2014 R.G.S. - Richards Game Studio, the Netherlands +// http://www.richardsgamestudio.com/ +// +// If you find this code useful or you are feeling particularly generous I +// would ask that you please go to http://www.richardsgamestudio.com/ then +// choose Donations from the menu on the left side and make a donation to +// Richards Game Studio. It will be highly appreciated. +// +// The MIT License: +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +// IN THE SOFTWARE. +//----------------------------------------------------------------------------- + +function VolumetricFog::onEnterFog(%this,%obj) +{ + // This method is called whenever the control object (Camera or Player) + // %obj enters the fog area. + + // echo("Control Object " @ %obj @ " enters fog " @ %this); +} + +function VolumetricFog::onLeaveFog(%this,%obj) +{ + // This method is called whenever the control object (Camera or Player) + // %obj leaves the fog area. + + // echo("Control Object " @ %obj @ " left fog " @ %this); +} + +function VolumetricFog::Dissolve(%this,%speed,%delete) +{ + // This method dissolves the fog at speed milliseconds + %this.isBuilding = true; + if (%this.FogDensity > 0) + { + %this.setFogDensity(%this.FogDensity - 0.005); + %this.schedule(%speed,Dissolve,%speed,%delete); + } + else + { + %this.isBuilding = false; + %this.SetFogDensity(0.0); + if (%delete !$= "" && %delete !$="0" && %delete !$="false") + %this.schedule(250,delete); + } +} + +function VolumetricFog::Thicken(%this,%speed, %end_density) +{ + // This method thickens the fog at speed milliseconds to a density of %end_density + + %this.isBuilding = true; + if (%this.FogDensity + 0.005 < %end_density) + { + %this.setFogDensity(%this.FogDensity + 0.005); + %this.schedule(%speed,Thicken,%speed, %end_density); + } + else + { + %this.setFogDensity(%end_density); + %this.isBuilding = false; + } +} + +function GenerateFog(%pos,%scale,%color,%density) +{ + // This function can be used to generate some fog caused by massive gunfire etc. + // Change shape and modulation data to your likings. + + %fog=new VolumetricFog() { + shapeName = "art/environment/Fog_Sphere.dts"; + fogColor = %color; + fogDensity = "0.0"; + ignoreWater = "0"; + MinSize = "250"; + FadeSize = "750"; + texture = "art/environment/FogMod_heavy.dds"; + tiles = "1"; + modStrength = "0.2"; + PrimSpeed = "-0.01 0.04"; + SecSpeed = "0.02 0.02"; + position = %pos; + rotation = "0 0 1 20.354"; + scale = %scale; + canSave = "1"; + canSaveDynamicFields = "1"; + }; + + if (isObject(%fog)) + { + MissionCleanup.add(%fog); + + %fog.Thicken(500,%density); + } + + return %fog; +} \ No newline at end of file diff --git a/Templates/Full/game/scripts/server/scriptExec.cs b/Templates/Full/game/scripts/server/scriptExec.cs index 64d4adc066..26f4f82805 100644 --- a/Templates/Full/game/scripts/server/scriptExec.cs +++ b/Templates/Full/game/scripts/server/scriptExec.cs @@ -24,6 +24,7 @@ // a server is constructed. exec("./camera.cs"); exec("./triggers.cs"); +exec("./VolumetricFog.cs"); exec("./inventory.cs"); exec("./shapeBase.cs"); exec("./item.cs"); diff --git a/Templates/Full/game/shaders/common/VolumetricFog/VFogP.hlsl b/Templates/Full/game/shaders/common/VolumetricFog/VFogP.hlsl new file mode 100644 index 0000000000..0f12d5785f --- /dev/null +++ b/Templates/Full/game/shaders/common/VolumetricFog/VFogP.hlsl @@ -0,0 +1,89 @@ +//----------------------------------------------------------------------------- +// Copyright (c) 2014 R.G.S. - Richards Game Studio, the Netherlands +// http://www.richardsgamestudio.com/ +// +// If you find this code useful or you are feeling particularly generous I +// would ask that you please go to http://www.richardsgamestudio.com/ then +// choose Donations from the menu on the left side and make a donation to +// Richards Game Studio. It will be highly appreciated. +// +// The MIT License: +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +// IN THE SOFTWARE. +//----------------------------------------------------------------------------- + +// Volumetric Fog final pixel shader V2.00 + +#include "shadergen:/autogenConditioners.h" + +uniform sampler2D prepassTex : register(S0); +uniform sampler2D depthBuffer : register(S1); +uniform sampler2D frontBuffer : register(S2); +uniform sampler2D density : register(S3); + +uniform float accumTime; +uniform float4 fogColor; +uniform float fogDensity; +uniform float preBias; +uniform float textured; +uniform float modstrength; +uniform float4 modspeed;//xy speed layer 1, zw speed layer 2 +uniform float2 viewpoint; +uniform float2 texscale; +uniform float numtiles; +uniform float fadesize; +uniform float2 PixelSize; + +struct ConnectData +{ + float4 hpos : POSITION; + float4 htpos : TEXCOORD0; + float2 uv0 : TEXCOORD1; +}; + +float4 main( ConnectData IN ) : COLOR0 +{ + float2 uvscreen=((IN.htpos.xy/IN.htpos.w) + 1.0 ) / 2.0; + uvscreen.y = 1.0 - uvscreen.y; + + float obj_test = prepassUncondition( prepassTex, uvscreen).w * preBias; + float depth = tex2D(depthBuffer,uvscreen).r; + float front = tex2D(frontBuffer,uvscreen).r; + + if (depth <= front) + return float4(0,0,0,0); + else if ( obj_test < depth ) + depth = obj_test; + if ( front >= 0.0) + depth -= front; + + float diff = 1.0; + float3 col = fogColor.rgb; + if (textured != 0.0) + { + float2 offset = viewpoint + ((-0.5 + (texscale * uvscreen)) * numtiles); + + float2 mod1 = tex2D(density,(offset + (modspeed.xy*accumTime))).rg; + float2 mod2= tex2D(density,(offset + (modspeed.zw*accumTime))).rg; + diff = (mod2.r + mod1.r) * modstrength; + col *= (2.0 - ((mod1.g + mod2.g) * fadesize))/2.0; + } + + return float4(col, 1.0 - saturate(exp(-fogDensity * depth * diff * fadesize))); +} diff --git a/Templates/Full/game/shaders/common/VolumetricFog/VFogPreP.hlsl b/Templates/Full/game/shaders/common/VolumetricFog/VFogPreP.hlsl new file mode 100644 index 0000000000..7100356660 --- /dev/null +++ b/Templates/Full/game/shaders/common/VolumetricFog/VFogPreP.hlsl @@ -0,0 +1,47 @@ +//----------------------------------------------------------------------------- +// Copyright (c) 2014 R.G.S. - Richards Game Studio, the Netherlands +// http://www.richardsgamestudio.com/ +// +// If you find this code useful or you are feeling particularly generous I +// would ask that you please go to http://www.richardsgamestudio.com/ then +// choose Donations from the menu on the left side and make a donation to +// Richards Game Studio. It will be highly appreciated. +// +// The MIT License: +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +// IN THE SOFTWARE. +//----------------------------------------------------------------------------- + +// Volumetric Fog prepass pixel shader V1.00 + +struct ConnectData +{ + float4 hpos : POSITION; + float4 pos : TEXCOORD0; +}; + +float4 main( ConnectData IN ) : COLOR0 +{ + float OUT; + + clip( IN.pos.w ); + OUT = IN.pos.w; + + return float4(OUT,0,0,1); +} diff --git a/Templates/Full/game/shaders/common/VolumetricFog/VFogPreV.hlsl b/Templates/Full/game/shaders/common/VolumetricFog/VFogPreV.hlsl new file mode 100644 index 0000000000..16001c01bf --- /dev/null +++ b/Templates/Full/game/shaders/common/VolumetricFog/VFogPreV.hlsl @@ -0,0 +1,54 @@ +//----------------------------------------------------------------------------- +// Copyright (c) 2014 R.G.S. - Richards Game Studio, the Netherlands +// http://www.richardsgamestudio.com/ +// +// If you find this code useful or you are feeling particularly generous I +// would ask that you please go to http://www.richardsgamestudio.com/ then +// choose Donations from the menu on the left side and make a donation to +// Richards Game Studio. It will be highly appreciated. +// +// The MIT License: +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +// IN THE SOFTWARE. +//----------------------------------------------------------------------------- + +// Volumetric Fog prepass vertex shader V1.00 + +#include "shaders/common/hlslstructs.h" + +struct ConnectData +{ + float4 hpos : POSITION; + float4 pos : TEXCOORD0; +}; + +uniform float4x4 modelView; + +ConnectData main( VertexIn_P IN) +{ + ConnectData OUT; + + float4 inPos = IN.pos; + inPos.w = 1.0; + + OUT.hpos = mul( modelView, inPos ); + OUT.pos = OUT.hpos; + + return OUT; +} diff --git a/Templates/Full/game/shaders/common/VolumetricFog/VFogRefl.hlsl b/Templates/Full/game/shaders/common/VolumetricFog/VFogRefl.hlsl new file mode 100644 index 0000000000..078d1547dc --- /dev/null +++ b/Templates/Full/game/shaders/common/VolumetricFog/VFogRefl.hlsl @@ -0,0 +1,45 @@ +//----------------------------------------------------------------------------- +// Copyright (c) 2014 R.G.S. - Richards Game Studio, the Netherlands +// http://www.richardsgamestudio.com/ +// +// If you find this code useful or you are feeling particularly generous I +// would ask that you please go to http://www.richardsgamestudio.com/ then +// choose Donations from the menu on the left side and make a donation to +// Richards Game Studio. It will be highly appreciated. +// +// The MIT License: +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +// IN THE SOFTWARE. +//----------------------------------------------------------------------------- + +// Volumetric Fog Reflection pixel shader V1.00 +uniform float4 fogColor; +uniform float fogDensity; +uniform float reflStrength; + +struct ConnectData +{ + float4 hpos : POSITION; + float4 pos : TEXCOORD0; +}; + +float4 main( ConnectData IN ) : COLOR0 +{ + return float4(fogColor.rgb,saturate(fogDensity*reflStrength)); +} diff --git a/Templates/Full/game/shaders/common/VolumetricFog/VFogV.hlsl b/Templates/Full/game/shaders/common/VolumetricFog/VFogV.hlsl new file mode 100644 index 0000000000..31eafccf38 --- /dev/null +++ b/Templates/Full/game/shaders/common/VolumetricFog/VFogV.hlsl @@ -0,0 +1,53 @@ +//----------------------------------------------------------------------------- +// Copyright (c) 2014 R.G.S. - Richards Game Studio, the Netherlands +// http://www.richardsgamestudio.com/ +// +// If you find this code useful or you are feeling particularly generous I +// would ask that you please go to http://www.richardsgamestudio.com/ then +// choose Donations from the menu on the left side and make a donation to +// Richards Game Studio. It will be highly appreciated. +// +// The MIT License: +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +// IN THE SOFTWARE. +//----------------------------------------------------------------------------- + +// Volumetric Fog final vertex shader V1.00 + +#include "shaders/common/hlslstructs.h" + +struct ConnectData +{ + float4 hpos : POSITION; + float4 htpos : TEXCOORD0; + float2 uv0 : TEXCOORD1; +}; + +uniform float4x4 modelView; + +ConnectData main( VertexIn_PNT IN) +{ + ConnectData OUT; + + OUT.hpos = mul(modelView, IN.pos); + OUT.htpos = OUT.hpos; + OUT.uv0 = IN.uv0; + + return OUT; +} diff --git a/Templates/Full/game/shaders/common/postFx/VolFogGlowP.hlsl b/Templates/Full/game/shaders/common/postFx/VolFogGlowP.hlsl new file mode 100644 index 0000000000..8a61b5928a --- /dev/null +++ b/Templates/Full/game/shaders/common/postFx/VolFogGlowP.hlsl @@ -0,0 +1,74 @@ +//----------------------------------------------------------------------------- +// Copyright (c) 2014 R.G.S. - Richards Game Studio, the Netherlands +// http://www.richardsgamestudio.com/ +// +// If you find this code useful or you are feeling particularly generous I +// would ask that you please go to http://www.richardsgamestudio.com/ then +// choose Donations from the menu on the left side and make a donation to +// Richards Game Studio. It will be highly appreciated. +// +// The MIT License: +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +// IN THE SOFTWARE. +//----------------------------------------------------------------------------- + +// Volumetric Fog Glow postFx pixel shader V1.00 + +#include "./postFx.hlsl" + +uniform sampler2D diffuseMap : register(S0); +uniform float strength; + +struct VertToPix +{ + float4 hpos : POSITION; + + float2 uv0 : TEXCOORD0; + float2 uv1 : TEXCOORD1; + float2 uv2 : TEXCOORD2; + float2 uv3 : TEXCOORD3; + + float2 uv4 : TEXCOORD4; + float2 uv5 : TEXCOORD5; + float2 uv6 : TEXCOORD6; + float2 uv7 : TEXCOORD7; +}; + +float4 main( VertToPix IN ) : COLOR +{ + float4 kernel = float4( 0.175, 0.275, 0.375, 0.475 ) * strength; + + float4 OUT = 0; + OUT += tex2D( diffuseMap, IN.uv0 ) * kernel.x; + OUT += tex2D( diffuseMap, IN.uv1 ) * kernel.y; + OUT += tex2D( diffuseMap, IN.uv2 ) * kernel.z; + OUT += tex2D( diffuseMap, IN.uv3 ) * kernel.w; + + OUT += tex2D( diffuseMap, IN.uv4 ) * kernel.x; + OUT += tex2D( diffuseMap, IN.uv5 ) * kernel.y; + OUT += tex2D( diffuseMap, IN.uv6 ) * kernel.z; + OUT += tex2D( diffuseMap, IN.uv7 ) * kernel.w; + + // Calculate a lumenance value in the alpha so we + // can use alpha test to save fillrate. + float3 rgb2lum = float3( 0.30, 0.59, 0.11 ); + OUT.a = dot( OUT.rgb, rgb2lum ); + + return OUT; +} diff --git a/Templates/Full/game/tools/classIcons/VolumetricFog.png b/Templates/Full/game/tools/classIcons/VolumetricFog.png new file mode 100644 index 0000000000..5dc516cb53 Binary files /dev/null and b/Templates/Full/game/tools/classIcons/VolumetricFog.png differ diff --git a/Templates/Full/game/tools/worldEditor/gui/objectBuilderGui.ed.gui b/Templates/Full/game/tools/worldEditor/gui/objectBuilderGui.ed.gui index 33cb5de751..ee182cc2bc 100644 --- a/Templates/Full/game/tools/worldEditor/gui/objectBuilderGui.ed.gui +++ b/Templates/Full/game/tools/worldEditor/gui/objectBuilderGui.ed.gui @@ -980,6 +980,19 @@ function ObjectBuilderGui::buildObserverDropPoint(%this) //------------------------------------------------------------------------------ // System //------------------------------------------------------------------------------ +function ObjectBuilderGui::buildVolumetricFog(%this) +{ + // Change this if you want to default to another Folder + // Otherwise every time you want to add a Fog you will go this. + %defShape = "/art/environment/Fog_Cube.dts"; + %this.lastPath=getMainDotCsDir() @ %defShape; + OBObjectName.setValue( "" ); + %this.objectClassName = "VolumetricFog"; + %this.addField( "shapeName", "TypeFile", "Shape (Fog volume)", "", "*.dts;*.dae"); + %this.addField("Scale", "TypePoint3", "Scale", "1 1 1"); + %this.addField("FogColor", "TypeColorI", "FogColor", "200 200 200 255"); + %this.process(); +} function ObjectBuilderGui::buildPhysicsEntity(%this) { diff --git a/Templates/Full/game/tools/worldEditor/scripts/editors/creator.ed.cs b/Templates/Full/game/tools/worldEditor/scripts/editors/creator.ed.cs index 75d41eb530..a9c65280d7 100644 --- a/Templates/Full/game/tools/worldEditor/scripts/editors/creator.ed.cs +++ b/Templates/Full/game/tools/worldEditor/scripts/editors/creator.ed.cs @@ -46,6 +46,7 @@ %this.registerMissionObject( "SFXEmitter", "Sound Emitter" ); %this.registerMissionObject( "Precipitation" ); %this.registerMissionObject( "ParticleEmitterNode", "Particle Emitter" ); + %this.registerMissionObject( "VolumetricFog", "Volumetric Fog" ); %this.registerMissionObject( "RibbonNode", "Ribbon" ); // Legacy features. Users should use Ground Cover and the Forest Editor.