MCPcopy Create free account
hub / github.com/TorqueGameEngines/Torque3D / _initShader

Method _initShader

Engine/source/environment/scatterSky.cpp:711–761  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

709}
710
711bool ScatterSky::_initShader()
712{
713 ShaderData *shaderData;
714 if ( !Sim::findObject( "ScatterSkyShaderData", shaderData ) )
715 {
716 Con::warnf( "ScatterSky::_initShader - failed to locate shader ScatterSkyShaderData!" );
717 return false;
718 }
719 Vector<GFXShaderMacro> macros;
720 if ( mColorizeAmt )
721 macros.push_back( GFXShaderMacro( "USE_COLORIZE" ) );
722
723 mShader = shaderData->getShader( macros );
724
725 if ( !mShader )
726 return false;
727
728 if ( mStateBlock.isNull() )
729 {
730 GFXStateBlockData *data = NULL;
731 if ( !Sim::findObject( "ScatterSkySBData", data ) )
732 Con::warnf( "ScatterSky::_initShader - failed to locate ScatterSkySBData!" );
733 else
734 mStateBlock = GFX->createStateBlock( data->getState() );
735 }
736
737 if ( !mStateBlock )
738 return false;
739
740 mShaderConsts = mShader->allocConstBuffer();
741 mModelViewProjSC = mShader->getShaderConstHandle( "$modelView" );
742
743 // Camera height, cam height squared, scale and scale over depth.
744 mMiscSC = mShader->getShaderConstHandle( "$misc" );
745
746 // Inner and out radius, and inner and outer radius squared.
747 mSphereRadiiSC = mShader->getShaderConstHandle( "$sphereRadii" );
748
749 // Rayleigh sun brightness, mie sun brightness and 4 * PI * coefficients.
750 mScatteringCoefficientsSC = mShader->getShaderConstHandle( "$scatteringCoeffs" );
751 mCamPosSC = mShader->getShaderConstHandle( "$camPos" );
752 mLightDirSC = mShader->getShaderConstHandle( "$lightDir" );
753 mSunDirSC = mShader->getShaderConstHandle( "$sunDir" );
754 mNightColorSC = mShader->getShaderConstHandle( "$nightColor" );
755 mInverseWavelengthSC = mShader->getShaderConstHandle( "$invWaveLength" );
756 mNightInterpolantAndExposureSC = mShader->getShaderConstHandle( "$nightInterpAndExposure" );
757 mUseCubemapSC = mShader->getShaderConstHandle( "$useCubemap" );
758 mColorizeSC = mShader->getShaderConstHandle( "$colorize" );
759
760 return true;
761}
762
763void ScatterSky::clearVectors()
764{

Callers

nothing calls this directly

Calls 10

createStateBlockMethod · 0.80
findObjectFunction · 0.50
warnfFunction · 0.50
GFXShaderMacroClass · 0.50
push_backMethod · 0.45
getShaderMethod · 0.45
isNullMethod · 0.45
getStateMethod · 0.45
allocConstBufferMethod · 0.45
getShaderConstHandleMethod · 0.45

Tested by

no test coverage detected