flagflag  If you want to see English page, please click "English" Button at Left.

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
    	};

トップ   凍結 差分 バックアップ 複製 名前変更 リロード   新規 ページ一覧 単語検索 最終更新   ヘルプ   最終更新のRSS 1.0 最終更新のRSS 2.0 最終更新のRSS Atom
Counter: 927, today: 1, yesterday: 0
最終更新: 2014-10-02 (木) 09:04:17 (JST) (3521d) by iseki

サイト内 検索

ログイン

ユーザー名:

パスワード:


パスワード紛失
新規登録

サブ メニュー

ミニカレンダー

前月2024年 5月翌月
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
<今日>

オンライン状況

30 人のユーザが現在オンラインです。 (6 人のユーザが xpwiki を参照しています。)

登録ユーザ: 0
ゲスト: 30

もっと...

アクセスカウンタ

今日 : 1502150215021502
昨日 : 7844784478447844
総計 : 2368536623685366236853662368536623685366236853662368536623685366
Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Design by XoopsDesign.com