RenderTransformerNetwork[input_List,transformer_List,inDimensions_Integer,outDimensions_Integer,windowSize_Integer]:=Graphics[{EdgeForm[GrayLevel[.6]],Table[{GrayLevel[(1-input[[j,i]])*.98],Rectangle[{i,j},{i+1,j+1}]},{i,windowSize},{j,inDimensions}],Table[With[{el=transformer[[i]]},With[{inputs=Table[input[[c[[2]],c[[1]]]],{c,Last[el]}]},Table[{{Gray,Arrowheads[{{.03,.95}}],Arrow[Line[{{First[c]+1/2,Last[c]+1/2},{windowSize+3,inDimensions/2-outDimensions/2+i+1/2}}]]},Style[Disk[{First[c]+1/2,Last[c]+1/2},0.2],Blend[{Red,Red},input[[c[[2]],c[[1]]]]]],FaceForm[Blend[{RuleArrayColors[[el[[1]]]],Darker[RuleArrayColors[[el[[1]]]],0.4]},Boole[BooleanFunction[el[[1]],2]@@inputs]],RuleArrayColors[[el[[1]]]]],Rotate[RegularPolygon[N@{windowSize+3,inDimensions/2-outDimensions/2+i+1/2},1/3,6],Pi/6.]},{c,Last[el]}]]],{i,Length[transformer]}]}]