flagflag  If you want to see English page, please click "English" Button at Left.
2: 2014-06-21 (土) 21:40:39 iseki ソース 現: 2014-10-02 (木) 09:04:17 iseki ソース
Line 1: Line 1:
** OpenSim ジオラマ 開発用 [#w8cfb9a8] ** OpenSim ジオラマ 開発用 [#w8cfb9a8]
 + AddDynamicTextureURL()
 + RenderPlugins[contentType].AsyncConvert​Url(updater.UpdaterID, url, extraParams);
 +   contentType を持つモジュールの AsyncConvertUrl() を呼び出す.
 +
 +#br
 +*** RenderTerrainScale [#o1907c41]
 +- void LLDrawPoolTerrain::renderFullShader() の sDetailScale
 +- デフォルトは 7, テクスチャは (リージョンサイズ/7) 個繰り返し表示される.1/7 = 0.14285714
 +- UVMap は (リージョンサイズ/7) 倍される.
 +- 256にすれば,1枚の画像.
 +#br
*** Terrain Texture [#ta44cfc7] *** Terrain Texture [#ta44cfc7]
Line 17: Line 28:
                                     ↓                ↓                                      ↓                ↓
                                     →          lldrawpoolterrain.cpp                                      →          lldrawpoolterrain.cpp
 + 
#br #br
Line 23: Line 34:
*** Tecture Functions [#zd2d2e9c] *** Tecture Functions [#zd2d2e9c]
- lldrawpoolterrain.cpp - lldrawpoolterrain.cpp
- setVec(sDetailScale, 0.0f, 0.0f, 0.0);+ 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);     tp1.setVec(0.0f, sDetailScale, 0.0f, 0.0);
 + 
    //     //
    // detail texture 0     // detail texture 0
Line 32: Line 56:
    gGL.getTexUnit(detail0)->bind(detail​_texture0p);     gGL.getTexUnit(detail0)->bind(detail​_texture0p);
    gGL.getTexUnit(0)->activate();     gGL.getTexUnit(0)->activate();
 + 
    LLGLSLShader* shader = LLGLSLShader::sCurBoundShaderPtr;     LLGLSLShader* shader = LLGLSLShader::sCurBoundShaderPtr;
    llassert(shader);     llassert(shader);
 +    
    shader->uniform4fv(LLShaderMgr::OBJE​CT_PLANE_S, 1, tp0.mV);     shader->uniform4fv(LLShaderMgr::OBJE​CT_PLANE_S, 1, tp0.mV);
    shader->uniform4fv(LLShaderMgr::OBJE​CT_PLANE_T, 1, tp1.mV);     shader->uniform4fv(LLShaderMgr::OBJE​CT_PLANE_T, 1, tp1.mV);
 + 
    gGL.matrixMode(LLRender::MM_TEXTURE)​;     gGL.matrixMode(LLRender::MM_TEXTURE)​;
    gGL.loadIdentity();     gGL.loadIdentity();
    gGL.matrixMode(LLRender::MM_MODELVIE​W);     gGL.matrixMode(LLRender::MM_MODELVIE​W);
- + 
-    // +
-    // detail texture 1 +
-    // +
-// S32 detail1 = sShader->enableTexture(LLViewerShaderMgr​::TERRAIN_DETAIL1); +
-// gGL.getTexUnit(detail1)->bind(detail_tex​ture1p); +
- +
-    /// ALPHA TEXTURE COORDS 0: +
- // gGL.getTexUnit(1)->activate(); +
- // gGL.matrixMode(LLRender::MM_TEXTURE); +
- // gGL.loadIdentity(); +
- // gGL.matrixMode(LLRender::MM_MODELVIEW); ​+
- +
-    // detail texture 2 +
-    // +
- // S32 detail2 = sShader->enableTexture(LLViewerShaderMgr​::TERRAIN_DETAIL2); +
- // gGL.getTexUnit(detail2)->bind(detail_tex​ture2p); +
- +
- // gGL.getTexUnit(2)->activate(); +
- +
-    /// ALPHA TEXTURE COORDS 1: +
- // gGL.matrixMode(LLRender::MM_TEXTURE); +
- // gGL.loadIdentity(); +
- // gGL.translatef(-2.f, 0.f, 0.f); +
- // gGL.matrixMode(LLRender::MM_MODELVIEW); ​+
- +
-  // +
-    // detail texture 3 +
-    // +
- // S32 detail3 = sShader->enableTexture(LLViewerShaderMgr​::TERRAIN_DETAIL3); +
- // gGL.getTexUnit(detail3)->bind(detail_tex​ture3p); +
- +
-    /// ALPHA TEXTURE COORDS 2: +
- // gGL.getTexUnit(3)->activate(); +
- // gGL.matrixMode(LLRender::MM_TEXTURE); +
- // gGL.loadIdentity(); +
- // gGL.translatef(-1.f, 0.f, 0.f); +
- // gGL.matrixMode(LLRender::MM_MODELVIEW); ​+
- +
-  // +
-    // Alpha Ramp +
-    // +
-    //S32 alpha_ramp = sShader->enableTexture(LLViewerShaderMgr​::TERRAIN_ALPHARAMP); +
-    //gGL.getTexUnit(alpha_ramp)->bind(m​2DAlphaRampImagep); +
    // GL_BLEND disabled by default     // GL_BLEND disabled by default
    drawLoop();     drawLoop();
 + 
    // Disable multitexture     // Disable multitexture
- // sShader->disableTexture(LLViewerShaderMg​r::TERRAIN_ALPHARAMP); 
    sShader->disableTexture(LLViewerShad​erMgr::TERRAIN_DETAIL0);     sShader->disableTexture(LLViewerShad​erMgr::TERRAIN_DETAIL0);
- // sShader->disableTexture(LLViewerShaderMg​r::TERRAIN_DETAIL1); + 
- // sShader->disableTexture(LLViewerShaderMg​r::TERRAIN_DETAIL2); +
- // sShader->disableTexture(LLViewerShaderMg​r::TERRAIN_DETAIL3); +
- +
- / gGL.getTexUnit(alpha_ramp)->unbind(LLTex​Unit::TT_TEXTURE); +
- // gGL.getTexUnit(4)->disable(); +
- // gGL.getTexUnit(4)->activate(); +
- +
- // gGL.getTexUnit(detail3)->unbind(LLTexUni​t::TT_TEXTURE); +
- // gGL.getTexUnit(3)->disable(); +
- // gGL.getTexUnit(3)->activate(); +
- +
- // gGL.matrixMode(LLRender::MM_TEXTURE); +
- // gGL.loadIdentity(); +
- // gGL.matrixMode(LLRender::MM_MODELVIEW); ​+
- +
- // gGL.getTexUnit(detail2)->unbind(LLTexUni​t::TT_TEXTURE); +
- // gGL.getTexUnit(2)->disable(); +
- // gGL.getTexUnit(2)->activate(); +
- +
- // gGL.matrixMode(LLRender::MM_TEXTURE); +
- // gGL.loadIdentity(); +
- // gGL.matrixMode(LLRender::MM_MODELVIEW); ​+
- +
- // gGL.getTexUnit(detail1)->unbind(LLTexUni​t::TT_TEXTURE); +
- // gGL.getTexUnit(1)->disable(); +
- // gGL.getTexUnit(1)->activate(); +
- +
- // gGL.matrixMode(LLRender::MM_TEXTURE); +
- // gGL.loadIdentity(); +
- // gGL.matrixMode(LLRender::MM_MODELVIEW); ​+
    //----------------------------------​----------------------------------------​--     //----------------------------------​----------------------------------------​--
    // Restore Texture Unit 0 defaults     // Restore Texture Unit 0 defaults
 +    
    gGL.getTexUnit(detail0)->unbind(LLTe​xUnit::TT_TEXTURE);     gGL.getTexUnit(detail0)->unbind(LLTe​xUnit::TT_TEXTURE);
    gGL.getTexUnit(0)->enable(LLTexUnit:​:TT_TEXTURE);     gGL.getTexUnit(0)->enable(LLTexUnit:​:TT_TEXTURE);
Line 143: Line 91:
    {     {
     LLUUID tmp_id;      LLUUID tmp_id;
 + 
     msg->getUUID("RegionInfo", "TerrainDetail0", tmp_id);      msg->getUUID("RegionInfo", "TerrainDetail0", tmp_id);
     compp->setDetailTextureID(0, tmp_id);      compp->setDetailTextureID(0, tmp_id);
Line 152: Line 100:
     msg->getUUID("RegionInfo", "TerrainDetail3", tmp_id);      msg->getUUID("RegionInfo", "TerrainDetail3", tmp_id);
     compp->setDetailTextureID(3, tmp_id);      compp->setDetailTextureID(3, tmp_id);
 + 
     // Iseki      // Iseki
     tmp_id.set("1c5e544e-9198-4681-b87e-9868ae61e461");      tmp_id.set("1c5e544e-9198-4681-b87e-9868ae61e461");


トップ   新規 ページ一覧 単語検索 最終更新   ヘルプ   最終更新のRSS 1.0 最終更新のRSS 2.0 最終更新のRSS Atom

サイト内 検索

ログイン

ユーザー名:

パスワード:


パスワード紛失
新規登録

サブ メニュー

ミニカレンダー

前月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
<今日>

オンライン状況

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

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

もっと...

アクセスカウンタ

今日 : 1549115491154911549115491
昨日 : 1753317533175331753317533
総計 : 2347863423478634234786342347863423478634234786342347863423478634
Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Design by XoopsDesign.com