internal void SetPropertyData(DependencyPropertyChangedEventArgs args, GeometryModel3D geo) { dataCore.SetPropertyData(args); if (geo is DynamoPointGeometryModel3D || geo is DynamoLineGeometryModel3D) { if (geo is DynamoPointGeometryModel3D) { (geo as DynamoPointGeometryModel3D).SetState(dataCore.GenerateEnumFromState()); } else { (geo as DynamoLineGeometryModel3D).SetState(dataCore.GenerateEnumFromState()); } } }
protected override void OnUpdatePerModelStruct(RenderContext context) { base.OnUpdatePerModelStruct(context); //store the entire state of all our flags in the X component and decode in the vertex shader. //we'll pass this from the vertex shader to the fragment shader to determine color states. //Params is a helix material builtin and maps to vParams in the shader. modelStruct.Params.X = dataCore.GenerateEnumFromState(); }