|
1: 2014-06-21 (土) 21:17:55 iseki |
| + | ** OpenSim ジオラマ 開発用 [#w8cfb9a8] |
| | | |
| + | |
| + | |
| + | // |
| + | // detail texture 1 |
| + | // |
| + | // S32 detail1 = sShader->enableTexture(LLViewerShaderMgr::TERRAIN_DETAIL1); |
| + | // gGL.getTexUnit(detail1)->bind(detail_texture1p); |
| + | |
| + | /// 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_texture2p); |
| + | |
| + | // 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_texture3p); |
| + | |
| + | /// 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(m2DAlphaRampImagep); |
| + | |
| + | // GL_BLEND disabled by default |
| + | drawLoop(); |
| + | |
| + | // Disable multitexture |
| + | // sShader->disableTexture(LLViewerShaderMgr::TERRAIN_ALPHARAMP); |
| + | sShader->disableTexture(LLViewerShaderMgr::TERRAIN_DETAIL0); |
| + | // sShader->disableTexture(LLViewerShaderMgr::TERRAIN_DETAIL1); |
| + | // sShader->disableTexture(LLViewerShaderMgr::TERRAIN_DETAIL2); |
| + | // sShader->disableTexture(LLViewerShaderMgr::TERRAIN_DETAIL3); |
| + | |
| + | / gGL.getTexUnit(alpha_ramp)->unbind(LLTexUnit::TT_TEXTURE); |
| + | // gGL.getTexUnit(4)->disable(); |
| + | // gGL.getTexUnit(4)->activate(); |
| + | |
| + | // gGL.getTexUnit(detail3)->unbind(LLTexUnit::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(LLTexUnit::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(LLTexUnit::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 |
| + | |
| + | 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); |
| + | } |