void Evolution::buildFX() { ID3DXBuffer* errors = 0; if ( D3DXCreateEffectFromFile(gd3dDevice, "EvolutionShader.fx", 0, 0, D3DXSHADER_DEBUG, 0, &mFX, &errors) ) if ( !errors ) { MessageBox(0, "EvolutionShader.fx not found! D:", 0, 0); PostQuitMessage(0); } if( errors ) MessageBox(0, (char*)errors->GetBufferPointer(), 0, 0); mhEFTech = mFX->GetTechniqueByName("EFEvolutionShader"); mhLTech = mFX->GetTechniqueByName("LEvolutionShader"); mhWVP = mFX->GetParameterByName(0, "gWVP"); mhTex = mFX->GetParameterByName(0, "gTex"); mhTex2 = mFX->GetParameterByName(0, "gTex2"); mhTex3 = mFX->GetParameterByName(0, "gTex3"); HR(mFX->SetTexture(mhTex, mFoodTex)); HR(mFX->SetTexture(mhTex2, mEggTex)); HR(mFX->SetTexture(mhTex3, mLifeformTex)); }
void MultiTexDemo::buildFX() { // Create the FX from a .fx file. ID3DXBuffer* errors = 0; HR(D3DXCreateEffectFromFile(gd3dDevice, "TerrainMultiTex.fx", 0, 0, D3DXSHADER_DEBUG, 0, &mFX, &errors)); if( errors ) MessageBox(0, (char*)errors->GetBufferPointer(), 0, 0); // Obtain handles. mhTech = mFX->GetTechniqueByName("TerrainMultiTexTech"); mhWVP = mFX->GetParameterByName(0, "gWVP"); mhWorldInvTrans = mFX->GetParameterByName(0, "gWorldInvTrans"); mhLightVecW = mFX->GetParameterByName(0, "gLightVecW"); mhDiffuseMtrl = mFX->GetParameterByName(0, "gDiffuseMtrl"); mhDiffuseLight = mFX->GetParameterByName(0, "gDiffuseLight"); mhAmbientMtrl = mFX->GetParameterByName(0, "gAmbientMtrl"); mhAmbientLight = mFX->GetParameterByName(0, "gAmbientLight"); mhSpecularMtrl = mFX->GetParameterByName(0, "gSpecularMtrl"); mhSpecularLight = mFX->GetParameterByName(0, "gSpecularLight"); mhSpecularPower = mFX->GetParameterByName(0, "gSpecularPower"); mhEyePos = mFX->GetParameterByName(0, "gEyePosW"); mhWorld = mFX->GetParameterByName(0, "gWorld"); mhTex0 = mFX->GetParameterByName(0, "gTex0"); mhTex1 = mFX->GetParameterByName(0, "gTex1"); mhTex2 = mFX->GetParameterByName(0, "gTex2"); mhBlendMap = mFX->GetParameterByName(0, "gBlendMap"); }
void WaterDemo::buildFX() { // Create the FX from a .fx file. ID3DXBuffer* errors = 0; HR(D3DXCreateEffectFromFile(gd3dDevice, "NormalMap.fx", 0, 0, D3DXSHADER_DEBUG, 0, &mFX, &errors)); if( errors ) MessageBox(0, (char*)errors->GetBufferPointer(), 0, 0); // Obtain handles. mhTech = mFX->GetTechniqueByName("NormalMapTech"); mhWVP = mFX->GetParameterByName(0, "gWVP"); mhWorldInv = mFX->GetParameterByName(0, "gWorldInv"); mhMtrl = mFX->GetParameterByName(0, "gMtrl"); mhLight = mFX->GetParameterByName(0, "gLight"); mhEyePosW = mFX->GetParameterByName(0, "gEyePosW"); mhTex = mFX->GetParameterByName(0, "gTex"); mhNormalMap = mFX->GetParameterByName(0, "gNormalMap"); // Set parameters that do not vary: // World is the identity, so inverse is also identity. HR(mFX->SetMatrix(mhWorldInv, &mSceneWorldInv)); HR(mFX->SetTechnique(mhTech)); }
void SpotlightDemo::buildFX() { // Create the FX from a .fx file. ID3DXBuffer* errors = 0; HR(D3DXCreateEffectFromFile(gd3dDevice, "spotlight.fx", 0, 0, D3DXSHADER_DEBUG, 0, &mFX, &errors)); if( errors ) MessageBox(0, (char*)errors->GetBufferPointer(), 0, 0); // Obtain handles. mhTech = mFX->GetTechniqueByName("SpotlightTech"); mhWVP = mFX->GetParameterByName(0, "gWVP"); mhWorldInvTrans = mFX->GetParameterByName(0, "gWorldInvTrans"); mhEyePos = mFX->GetParameterByName(0, "gEyePosW"); mhWorld = mFX->GetParameterByName(0, "gWorld"); mhAmbientLight = mFX->GetParameterByName(0, "gAmbientLight"); mhDiffuseLight = mFX->GetParameterByName(0, "gDiffuseLight"); mhSpecLight = mFX->GetParameterByName(0, "gSpecLight"); mhLightPosW = mFX->GetParameterByName(0, "gLightPosW"); mhLightDirW = mFX->GetParameterByName(0, "gLightDirW"); mhAttenuation012 = mFX->GetParameterByName(0, "gAttenuation012"); mhAmbientMtrl = mFX->GetParameterByName(0, "gAmbientMtrl"); mhDiffuseMtrl = mFX->GetParameterByName(0, "gDiffuseMtrl"); mhSpecMtrl = mFX->GetParameterByName(0, "gSpecMtrl"); mhSpecPower = mFX->GetParameterByName(0, "gSpecPower"); mhSpotPower = mFX->GetParameterByName(0, "gSpotPower"); }
void TriGridDemo::buildFX() { ID3DXBuffer *errors = 0; HR(D3DXCreateEffectFromFile(gd3dDevice, L"../src/chap08/TriGridDemo/transform.fx", 0, 0, D3DXSHADER_DEBUG, 0, &mFX, &errors)); if (errors) MessageBoxA(0, (char*)errors->GetBufferPointer(), 0, 0); mhTech = mFX->GetTechniqueByName("TransformTech"); mhWVP = mFX->GetParameterByName(0, "gWVP"); }
void Game::buildFX() { // Create the FX from a .fx file. ID3DXBuffer* errors = 0; HR(D3DXCreateEffectFromFile(gd3dDevice, "color.fx", 0, 0, D3DXSHADER_DEBUG, 0, &mFX, &errors)); if( errors ) MessageBox(0, (char*)errors->GetBufferPointer(), 0, 0); // Obtain handles. mhTech = mFX->GetTechniqueByName("ColorTech"); mhWVP = mFX->GetParameterByName(0, "gWVP"); }
void PropsDemo::buildFX() { // Create the generic Light & Tex FX from a .fx file. ID3DXBuffer* errors = 0; HR(D3DXCreateEffectFromFile(gd3dDevice, "DirLightTex.fx", 0, 0, 0, 0, &mFX, &errors)); if( errors ) MessageBox(0, (char*)errors->GetBufferPointer(), 0, 0); // Obtain handles. mhTech = mFX->GetTechniqueByName("DirLightTexTech"); mhWVP = mFX->GetParameterByName(0, "gWVP"); mhWorldInvTrans = mFX->GetParameterByName(0, "gWorldInvTrans"); mhMtrl = mFX->GetParameterByName(0, "gMtrl"); mhLight = mFX->GetParameterByName(0, "gLight"); mhEyePosW = mFX->GetParameterByName(0, "gEyePosW"); mhWorld = mFX->GetParameterByName(0, "gWorld"); mhTex = mFX->GetParameterByName(0, "gTex"); // Create the grass FX from a .fx file. HR(D3DXCreateEffectFromFile(gd3dDevice, "grass.fx", 0, 0, 0, 0, &mGrassFX, &errors)); if( errors ) MessageBox(0, (char*)errors->GetBufferPointer(), 0, 0); // Obtain handles. mhGrassTech = mGrassFX->GetTechniqueByName("GrassTech"); mhGrassViewProj = mGrassFX->GetParameterByName(0, "gViewProj"); mhGrassTex = mGrassFX->GetParameterByName(0, "gTex"); mhGrassTime = mGrassFX->GetParameterByName(0, "gTime"); mhGrassEyePosW = mGrassFX->GetParameterByName(0, "gEyePosW"); mhGrassDirToSunW= mGrassFX->GetParameterByName(0, "gDirToSunW"); HR(mGrassFX->SetTechnique(mhGrassTech)); HR(mGrassFX->SetTexture(mhGrassTex, mGrassTex)); }
void DiffuseCubeDemo::buildFX() { // Create the FX from a .fx file. ID3DXBuffer* errors = 0; HR(D3DXCreateEffectFromFile(gd3dDevice, "diffuse.fx", 0, 0, D3DXSHADER_DEBUG, 0, &mFX, &errors)); if( errors ) MessageBox(0, (char*)errors->GetBufferPointer(), 0, 0); // Obtain handles. mhTech = mFX->GetTechniqueByName("DiffuseTech"); mhWVP = mFX->GetParameterByName(0, "gWVP"); mhWorldInverseTranspose = mFX->GetParameterByName(0, "gWorldInverseTranspose"); mhLightVecW = mFX->GetParameterByName(0, "gLightVecW"); mhDiffuseMtrl = mFX->GetParameterByName(0, "gDiffuseMtrl"); mhDiffuseLight = mFX->GetParameterByName(0, "gDiffuseLight"); }
void XFileDemo::buildFX() { ID3DXBuffer *errors = 0; HR(D3DXCreateEffectFromFile(gd3dDevice, L"../src/chap14/XFileDemo/PhongDirLtTex.fx", 0, 0, D3DXSHADER_DEBUG, 0, &mFX, &errors)); if (errors) MessageBoxA(0, (char*)errors->GetBufferPointer(), 0, 0); mhTech = mFX->GetTechniqueByName("PhongDirLtTexTech"); mhWVP = mFX->GetParameterByName(0, "gWVP"); mhWorldInvTrans = mFX->GetParameterByName(0, "gWorldInvTrans"); mhMtrl = mFX->GetParameterByName(0, "gMtrl"); mhLight = mFX->GetParameterByName(0, "gLight"); mhEyePos = mFX->GetParameterByName(0, "gEyePosW"); mhWorld = mFX->GetParameterByName(0, "gWorld"); mhTex = mFX->GetParameterByName(0, "gTex"); }
void AmbientDiffuseDemo::buildFX() { ID3DXBuffer *errors = 0; HR(D3DXCreateEffectFromFile(gd3dDevice, L"../src/chap10/AmbientDiffuseDemo/ambientdiffuse.fx", 0, 0, D3DXSHADER_DEBUG, 0, &mFX, &errors)); if (errors) MessageBoxA(0, (char*)errors->GetBufferPointer(), 0, 0); mhTech = mFX->GetTechniqueByName("DiffuseTech"); mhWVP = mFX->GetParameterByName(0, "gWVP"); mhWorldInverseTranspose = mFX->GetParameterByName(0, "gWorldInverseTranspose"); mhLightVecW = mFX->GetParameterByName(0, "gLightVecW"); mhDiffuseMtrl = mFX->GetParameterByName(0, "gDiffuseMtrl"); mhDiffuseLight = mFX->GetParameterByName(0, "gDiffuseLight"); mhAmbientMtrl = mFX->GetParameterByName(0, "gAmbientMtrl"); mhAmbientLight = mFX->GetParameterByName(0, "gAmbientLight"); }
void RobotArmDemo::buildFX() { // Create the FX from a .fx file. ID3DXBuffer* errors = 0; HR(D3DXCreateEffectFromFile(gd3dDevice, "PhongDirLtTex.fx", 0, 0, D3DXSHADER_DEBUG, 0, &mFX, &errors)); if( errors ) MessageBox(0, (char*)errors->GetBufferPointer(), 0, 0); // Obtain handles. mhTech = mFX->GetTechniqueByName("PhongDirLtTexTech"); mhWVP = mFX->GetParameterByName(0, "gWVP"); mhWorldInvTrans = mFX->GetParameterByName(0, "gWorldInvTrans"); mhMtrl = mFX->GetParameterByName(0, "gMtrl"); mhLight = mFX->GetParameterByName(0, "gLight"); mhEyePos = mFX->GetParameterByName(0, "gEyePosW"); mhWorld = mFX->GetParameterByName(0, "gWorld"); mhTex = mFX->GetParameterByName(0, "gTex"); }
void StencilMirrorDemo::buildFX() { ID3DXBuffer *errors = 0; HR(D3DXCreateEffectFromFile(gd3dDevice, L"../src/chap13/StencilMirror/DirLightTex.fx", 0, 0, D3DXSHADER_DEBUG, 0, &mFX, &errors)); if (errors) MessageBoxA(0, (char*)errors->GetBufferPointer(), 0, 0); mhTech = mFX->GetTechniqueByName("DirLightTexTech"); mhWVP = mFX->GetParameterByName(0, "gWVP"); mhWorldInvTrans = mFX->GetParameterByName(0, "gWorldInvTrans"); mhLightVecW = mFX->GetParameterByName(0, "gLightVecW"); mhDiffuseMtrl = mFX->GetParameterByName(0, "gDiffuseMtrl"); mhDiffuseLight = mFX->GetParameterByName(0, "gDiffuseLight"); mhAmbientMtrl = mFX->GetParameterByName(0, "gAmbientMtrl"); mhAmbientLight = mFX->GetParameterByName(0, "gAmbientLight"); mhSpecularMtrl = mFX->GetParameterByName(0, "gSpecularMtrl"); mhSpecularLight = mFX->GetParameterByName(0, "gSpecularLight"); mhSpecularPower = mFX->GetParameterByName(0, "gSpecularPower"); mhEyePos = mFX->GetParameterByName(0, "gEyePosW"); mhWorld = mFX->GetParameterByName(0, "gWorld"); mhTex = mFX->GetParameterByName(0, "gTex"); }