flagflag  

OpenSim ジオラマ 開発用 anchor.png

AddDynamicTextureURL()
RenderPlugins[contentType].AsyncConvertUrl(updater.UpdaterID, url, extraParams);
   contentType を持つモジュールの AsyncConvertUrl() を呼び出す.
 
Page Top

RenderTerrainScale anchor.png

  • void LLDrawPoolTerrain::renderFullShader() の sDetailScale
  • デフォルトは 7, テクスチャは (リージョンサイズ/7) 個繰り返し表示される.1/7 = 0.14285714
  • UVMap は (リージョンサイズ/7) 倍される.
  • 256にすれば,1枚の画像.
     
Page Top

Terrain Texture anchor.png

  • 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
 
Page Top

Tecture Functions anchor.png

  • lldrawpoolterrain.cpp
    void LLDrawPoolTerrain::renderFullShaderX()
    {
    	// Hack! Get the region that this draw pool is rendering from!
    	LLViewerRegion *regionp = mDrawFace[0]->getDrawable()->getVObj()->getRegion();
    	LLVLComposition *compp = regionp->getComposition();
    	//
    	LLViewerTexture *detail_texture0p = compp->mDetailTextures[4];
    
    	//
    	sDetailScale = 0.142857/36.;
    
    	LLVector4 tp0, tp1;
    	
    	tp0.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::OBJECT_PLANE_S, 1, tp0.mV);
    	shader->uniform4fv(LLShaderMgr::OBJECT_PLANE_T, 1, tp1.mV);
    
    	gGL.matrixMode(LLRender::MM_TEXTURE);
    	gGL.loadIdentity();
    	gGL.matrixMode(LLRender::MM_MODELVIEW);
    
    	// GL_BLEND disabled by default
    	drawLoop();
    
    	// Disable multitexture
    	sShader->disableTexture(LLViewerShaderMgr::TERRAIN_DETAIL0);
    
    	//----------------------------------------------------------------------------
    	// Restore Texture Unit 0 defaults
    	
    	gGL.getTexUnit(detail0)->unbind(LLTexUnit::TT_TEXTURE);
    	gGL.getTexUnit(0)->enable(LLTexUnit::TT_TEXTURE);
    	gGL.getTexUnit(0)->activate();
    	gGL.matrixMode(LLRender::MM_TEXTURE);
    	gGL.loadIdentity();
    	gGL.matrixMode(LLRender::MM_MODELVIEW);
    }
  • 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   Freeze Diff Backup Copy Rename Reload   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)
Counter: 916, today: 1, yesterday: 2
Last-modified: 2014-10-02 (Thu) 09:04:17 (JST) (3497d) by iseki

Site Search

Login

Username:

Password:


Lost Password?
Register now!!

Sub Menu

mini Calendar

Last MonthApr 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
Today

Who's Online

102 user(s) are online (27 user(s) are browsing xpwiki)

Members: 0
Guests: 102

more...

Access Counter

Today : 1748317483174831748317483
Yesterday : 1529415294152941529415294
Total : 2341218323412183234121832341218323412183234121832341218323412183
Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Design by XoopsDesign.com