clementlandrin 2 rokov pred
rodič
commit
99ae3cb7d2
1 zmenil súbory, kde vykonal 0 pridanie a 118 odobranie
  1. 0 118
      hxsl/NXGlslOut.hx

+ 0 - 118
hxsl/NXGlslOut.hx

@@ -1,118 +0,0 @@
-package hxsl;
-import hxsl.Ast;
-using hxsl.Ast;
-
-enum BlockType {
-	Default;
-	Globals;
-	Params;
-}
-
-class NXGlslOut extends hxsl.GlslOut {
-
-	var block : BlockType;
-	var hasGlobals = false;
-	var hasParams = false;
-	var ubo : Array<TVar> = [];
-
-	public function new(){
-		super();
-		version = 140;
-	}
-
-	override function initVar( v : TVar ){
-		switch( block ){
-		case Default:
-			if ( v.type.match(TBuffer(_)) ) {
-				ubo.push(v);
-				super.initVar(v);
-				return;
-			}
-			switch( v.kind ){
-			case Global:
-				hasGlobals = true;
-			case Param:
-				switch( v.type ) {
-				case TArray(t, _) if( t.isSampler() ):
-					super.initVar(v);
-				default:
-					hasParams = true;
-				}
-			case Output: 
-				if( !isVertex ) add('layout(location=${outIndex++}) ');
-				super.initVar(v);
-			default:
-				super.initVar(v);
-			}
-		case Globals:
-			if( v.kind == Global && !v.type.match(TBuffer(_)) ){
-				add("\t");
-				super.initVar(v);
-			} else if ( v.kind == Input ){
-				throw "unsupported";
-			}
-		case Params:
-			if( v.kind == Param ){
-				switch( v.type ) {
-				case TBuffer(_):
-				case TArray(t, _) if( t.isSampler() ):
-				default:
-					add("\t");
-					super.initVar(v);
-				}
-			} else if ( v.kind == Input ){
-				throw "unsupported";
-			}
-		}
-		if( v.qualifiers != null )
-			for( q in v.qualifiers )
-				switch( q ) {
-				case PerInstance(n):
-				default:
-				}
-	}
-
-	override function initVars( s : ShaderData ){
-		block = Default;
-		hasGlobals = false;
-		hasParams = false;
-		ubo = [];
-
-		super.initVars(s);
-
-		var prefix = isVertex ? "Vertex" : "Fragment";
-
-		if( hasGlobals ){
-			block = Globals;
-			var inputs = [];
-			add("uniform "+prefix+"Globals {\n");
-			for( v in s.vars ) {
-				if ( v.kind.match(Input) )
-					inputs.push(v);
-				else
-					initVar(v);
-			}
-			add("};\n");
-		}
-
-		if( hasParams ){
-			block = Params;
-			var inputs = [];
-			add("uniform "+prefix+"Params {\n");
-			for( v in s.vars ) {
-				if ( v.kind.match(Input) )
-					inputs.push(v);
-				else
-					initVar(v);
-			}
-			add("};\n");
-		}
-
-		for ( v in ubo )
-			initVar(v);
-
-		if( !isVertex && outIndex > 0 )
-			decl("#extension GL_ARB_explicit_attrib_location : enable");
-	}
-
-}