flagflag  
1: 2014-06-21 (Sat) 21:17:55 iseki source 2: 2014-06-21 (Sat) 21:40:39 iseki source
Line 1: Line 1:
** OpenSim ジオラマ 開発用 [#w8cfb9a8] ** OpenSim ジオラマ 開発用 [#w8cfb9a8]
 +*** Terrain Texture [#ta44cfc7]
 +- llviewerregion.cpp
 +-- void LLViewerRegion::unpackRegionHandshake()
 +--- Texture のUUID をセット
 +- Render
 +-- pipeline.cpp  LLPipeline::renderGeom(LLCamera& camera, BOOL forceVBOUpdate)
 +--- p->reander(i)
 +---- lldrawpoolterrain.cpp  LLDrawPoolTerrain::render(S32 pass)
 +
 +
 +                                                 llviewerlayer.cpp
 +                                                       ↓
 + llseurfacepatch.cpp → llvicomposition.cpp  →  llvierwerrecion.cpp
 +                                     ↓                ↓
 +                                     →          lldrawpoolterrain.cpp
 +
 +
 +#br
 +
 +*** Tecture Functions [#zd2d2e9c]
 +- lldrawpoolterrain.cpp
 + setVec(sDetailScale, 0.0f, 0.0f, 0.0);
 +    tp1.setVec(0.0f, sDetailScale, 0.0f, 0.0);
 +
 +    //
 +    // detail texture 0
 +    //
 +    S32 detail0 = sShader->enableTexture(LLViewerShaderMgr​::TERRAIN_DETAIL0);
 +    gGL.getTexUnit(detail0)->bind(detail​_texture0p);
 +    gGL.getTexUnit(0)->activate();
 +
 +    LLGLSLShader* shader = LLGLSLShader::sCurBoundShaderPtr;
 +    llassert(shader);
 +
 +    shader->uniform4fv(LLShaderMgr::OBJE​CT_PLANE_S, 1, tp0.mV);
 +    shader->uniform4fv(LLShaderMgr::OBJE​CT_PLANE_T, 1, tp1.mV);
 +
 +    gGL.matrixMode(LLRender::MM_TEXTURE)​;
 +    gGL.loadIdentity();
 +    gGL.matrixMode(LLRender::MM_MODELVIE​W);
    //     //
Line 95: Line 135:
    gGL.matrixMode(LLRender::MM_MODELVIE​W);     gGL.matrixMode(LLRender::MM_MODELVIE​W);
 }  }
 +
 +- llviewerregion.cpp
 +-- void LLViewerRegion::unpackRegionHandshake()
 +    mCentralBakeVersion = region_protocols & 1; // was (S32)gSavedSettings.getBOOL("UseServerTextureBaking");
 +    LLVLComposition *compp = getComposition();
 +    if (compp)
 +    {
 +     LLUUID tmp_id;
 +
 +     msg->getUUID("RegionInfo", "TerrainDetail0", tmp_id);
 +     compp->setDetailTextureID(0, tmp_id);
 +     msg->getUUID("RegionInfo", "TerrainDetail1", tmp_id);
 +     compp->setDetailTextureID(1, tmp_id);
 +     msg->getUUID("RegionInfo", "TerrainDetail2", tmp_id);
 +     compp->setDetailTextureID(2, tmp_id);
 +     msg->getUUID("RegionInfo", "TerrainDetail3", tmp_id);
 +     compp->setDetailTextureID(3, tmp_id);
 +
 +     // Iseki
 +     tmp_id.set("1c5e544e-9198-4681-b87e-9868ae61e461");
 +     compp->setDetailTextureID(4, tmp_id);
 +
 +
 +- llvlcomposition.h
 +    enum ECorner
 +    {
 +     SOUTHWEST = 0,
 +     SOUTHEAST = 1,
 +     NORTHWEST = 2,
 +     NORTHEAST = 3,
 +     // Iseki
 +     //CORNER_COUNT = 4
 +     CORNER_COUNT = 5
 +    };


Front page   New List of Pages Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom)

Site Search

Login

Username:

Password:


Lost Password?
Register now!!

Sub Menu

mini Calendar

Last MonthMay 2024Next Month
Su Mo Tu We Th Fr Sa
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Today

Who's Online

39 user(s) are online (3 user(s) are browsing xpwiki)

Members: 0
Guests: 39

more...

Access Counter

Today : 4615461546154615
Yesterday : 8599859985998599
Total : 2365162123651621236516212365162123651621236516212365162123651621
Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Design by XoopsDesign.com