Exemplo n.º 1
0
 private void DeclareVarying(MemberInfo member, Type memberType, GlslAst.VaryingKind kind)
 {
     if (!member.Name.StartsWith("<>"))
     {
         var ai         = GetArrayLen(member, memberType);
         var qualifiers = member.GetQualifiers();
         var vary       = GlslAst.Vary(kind, qualifiers, ai.Item1, member.Name, ai.Item2);
         if (!(member.IsBuiltin() || member.IsDefined(typeof(OmitInGlslAttribute), true)))
         {
             AddGlobal(vary);
         }
         _globalVars.Add(member.Name, vary.Definition);
     }
 }
Exemplo n.º 2
0
 private void DeclareVaryings(Type type, GlslAst.VaryingKind kind)
 {
     if (!DefineType(type))
     {
         return;
     }
     if (!type.Name.StartsWith("<>"))
     {
         foreach (var field in type.GetGLFields())
         {
             DeclareVarying(field, field.FieldType, kind);
         }
     }
     foreach (var prop in type.GetGLProperties())
     {
         DeclareVarying(prop, prop.PropertyType, kind);
     }
 }