anchor.diff:                                  ]
   
   
  -                            for o in definition.opened do 
  -                                yield sprintf "    open %s" o
  -
  -                            yield ""
  +                            //for o in definition.opened do 
  +                            //    yield sprintf "    open %s" o
  +                            //
  +                            //yield ""
   
                               yield String.indent 1 vertexDef
   
  
positive.code:                                                 "uniform"
                                              | Some p ->
                                                  fullName p + "?" + s.Name
                                      let bufferName = fullName scope
                                      let typ = Aardvark.Base.ReflectionHelpers.getPrettyName u.uniformType
                                      let str = sprintf "    member x.%s : %s = %s?%s" name typ bufferName realName
  
negative.code:                                         let i = f.Interpolation
                                          let typ = Aardvark.Base.ReflectionHelpers.getPrettyName f.PropertyType
  
                                          let atts = f.GetCustomAttributesData() |> Seq.toList |> List.filter (fun a -> typeof<SemanticAttribute>.IsAssignableFrom a.AttributeType)
  
                                          let atts =
                                              [   
                                                  for a in atts do
                                                      let args = a.ConstructorArguments |> Seq.toList |> List.map (fun a -> match a.Value with | :? string as str -> "\"" + str + "\"" | _ -> string a) |> String.concat ", "
                                                      let name = a.Constructor.DeclaringType.Name
  
                                                      let name =
                                                          if name.EndsWith "Attribute" then name.Substring(0, name.Length - 9)
                                                          else name
  
                                                      if a.AttributeType.Assembly.GetName().Name = "FShade.Core" then
                                                          match args with
                                                              | "" -> yield name
                                                              | _ -> yield sprintf "%s(%s)" name args
                                                      else
                                                          yield sprintf "Semantic(\"%s\")" sem
  
  //
  //                                                if sem <> f.Name then
  //                                                    yield sprintf "Semantic(\"%s\")" sem
  
                                                  if i <> InterpolationMode.Default then
                                                      yield sprintf "Interpolation(InterpolationMode.%A)" i
  