Bool ApplinkImporter::CreateChannelSpecular(long i, BaseMaterial* mat) { if(this->matArray[i].map_Ks != "") { BaseChannel *color = mat->GetChannel(CHANNEL_SPECULARCOLOR); if (!color) return false; GeData b; mat->GetParameter(DescID(MATERIAL_USE_SPECULARCOLOR), b, DESCFLAGS_GET_0); if(!b.GetBool()) mat->SetParameter(DescID(MATERIAL_USE_SPECULARCOLOR), true, DESCFLAGS_SET_0); BaseContainer cdata = color->GetData(); cdata.SetVector(BASECHANNEL_COLOR_EX, this->matArray[i].Ks); cdata.SetData(BAKE_TEX_NORMAL_FLIP_Y, GeData(true)); if (this->matArray[i].useTextures) { //GePrint ("Material Use texture: " + this->matArray[i].map_Kd); cdata.SetString(BASECHANNEL_TEXTURE, this->matArray[i].map_Ks); cdata.SetFilename(BASECHANNEL_SUGGESTEDFOLDER, this->pSet.tempPath); } color->SetData(cdata); } return true; }
Bool SDKGradientClass::Init(GeListNode *node) { BaseContainer *data = ((BaseShader*)node)->GetDataInstance(); AutoAlloc<Gradient> gradient; if (!gradient) return FALSE; GradientKnot k1,k2; k1.col =Vector(0.0,0.0,1.0); k1.pos =0.0; k2.col =1.0; k2.pos =1.0; gradient->InsertKnot(k1); gradient->InsertKnot(k2); data->SetData(SDKGRADIENTSHADER_COLOR,GeData(CUSTOMDATATYPE_GRADIENT,gradient)); data->SetBool(SDKGRADIENTSHADER_CYCLE,FALSE); data->SetLong(SDKGRADIENTSHADER_MODE,0); data->SetReal(SDKGRADIENTSHADER_ANGLE,0.0); data->SetReal(SDKGRADIENTSHADER_TURBULENCE,0.0); data->SetReal(SDKGRADIENTSHADER_OCTAVES,5.0); data->SetReal(SDKGRADIENTSHADER_SCALE,1.0); data->SetReal(SDKGRADIENTSHADER_FREQ,1.0); data->SetBool(SDKGRADIENTSHADER_ABSOLUTE,FALSE); return TRUE; }