protected void _LoadLightParameters(SasLight light, string bindbase) { const string sas = "Sas."; const string ins = "[*]"; const string in0 = "[0]"; string bind_ins = sas + bindbase + ins; string bind_in0 = sas + bindbase + in0; EffectParameter l = _GetParameterByDualSasBind(bind_in0, bind_ins); if (l != null) { light.SasLightColor = l.StructureMembers["Color"]; light.SasLightPosition = l.StructureMembers["Position"]; light.SasLightDirection = l.StructureMembers["Direction"]; light.SasLightRange = l.StructureMembers["Range"]; } if (light.SasLightColor == null) light.SasLightColor = _GetParameterByDualSasBind(bind_in0 + ".Color", bind_ins + ".Color"); if (light.SasLightPosition == null) light.SasLightPosition = _GetParameterByDualSasBind(bind_in0 + ".Position", bind_ins + ".Position"); if (light.SasLightDirection == null) light.SasLightDirection = _GetParameterByDualSasBind(bind_in0 + ".Direction", bind_ins + ".Direction"); if (light.SasLightRange == null) light.SasLightRange = _GetParameterByDualSasBind(bind_in0 + ".Range", bind_ins + ".Range"); }
protected override void _ClearParameters() { base._ClearParameters(); for (int i = 0; i < _textureBinds.Count; i++) _textureBinds[i].Parameter = null; for (int i = 0; i < _floatBinds.Count; i++) _floatBinds[i].Parameter = null; _sasLights = new SasLight(); _sasLightCount = null; _sasDirectionalLightCount = null; _sasDirectionalLights = new SasLight(); _sasPointLightCount = null; _sasPointLights = new SasLight(); _sasWorldMatrixCount = null; _sasWorldMatrix = null; _sasWorldInverseMatrix = null; _sasWorldViewMatrix = null; _sasWorldViewProjectionMatrix = null; _sasViewMatrix = null; _sasViewInverseMatrix = null; _sasViewProjectionMatrix = null; _sasProjectionMatrix = null; _sasTimeNow = null; _sasTimeLast = null; _sasTimeElapsed = null; _sasTimeFrameNumber = null; _viewportScaleAndOffset = null; _viewportUVMinMax = null; }