@Override public void main() { super.main(); RVec4 color = (RVec4) getGlobal(DefaultShaderVar.G_COLOR); RVec4 skyColor = new RVec4("skyColor"); RVec3 texCoord = (RVec3) getGlobal(DefaultShaderVar.V_CUBE_TEXTURE_COORD); int cubeMapCount = 0; for (int i = 0; i < mTextures.size(); ++i) { if(mTextures.get(i).getTextureType() == TextureType.CUBE_MAP) { skyColor.assign(textureCube(muCubeTextures[cubeMapCount++], texCoord)); } skyColor.assignMultiply(muInfluence[i]); color.assignAdd(skyColor); } }
@Override public void main() { super.main(); RVec4 color = (RVec4)getGlobal(DefaultShaderVar.G_COLOR); RVec2 textureCoord = (RVec2)getGlobal(DefaultShaderVar.G_TEXTURE_COORD); RVec4 texColor = new RVec4("texColor"); for(int i=0; i<mTextures.size(); i++) { ATexture texture = mTextures.get(i); if(texture.offsetEnabled()) textureCoord.assignAdd(getGlobal(DefaultShaderVar.U_OFFSET, i)); if(texture.getWrapType() == WrapType.REPEAT) textureCoord.assignMultiply(getGlobal(DefaultShaderVar.U_REPEAT, i)); if(texture.getTextureType() == TextureType.VIDEO_TEXTURE) texColor.assign(texture2D(muVideoTextures[videoTextureMap.indexOf(i)], textureCoord)); else texColor.assign(texture2D(muTextures[textureMap.indexOf(i)], textureCoord)); texColor.assignMultiply(muInfluence[i]); color.assignAdd(texColor); } }
@Override public void main() { super.main(); RVec2 textureCoord = (RVec2)getGlobal(DefaultShaderVar.G_TEXTURE_COORD); RVec4 alphaMaskColor = new RVec4("alphaMaskColor"); for(int i=0; i<mTextures.size(); i++) { alphaMaskColor.assign(texture2D(muTextures[i], textureCoord)); startif(new Condition(alphaMaskColor.r(), Operator.LESS_THAN, .5f)); { discard(); } endif(); } }
public RVec4 texture2DProj(ShaderVar var1, ShaderVar var2) { RVec4 s = new RVec4("texture2DProj(" + var1.getName() + ", " + var2.getName() + ")", DataType.VEC4); s.mInitialized = true; return s; }
public RVec3(DefaultShaderVar var) { this(var, new RVec4("vec3()")); }
public RVec4(DefaultShaderVar var) { this(var, new RVec4("vec4()")); }
RMat4 inverseV = (RMat4) getGlobal(DefaultShaderVar.U_INVERSE_VIEW_MATRIX); RVec4 color = (RVec4) getGlobal(DefaultShaderVar.G_COLOR); RVec4 cmColor = new RVec4("cmColor"); RVec3 eyeDir = (RVec3) getGlobal(DefaultShaderVar.V_EYE_DIR); RVec3 normal = (RVec3) getGlobal(DefaultShaderVar.V_NORMAL);
@Override public void main() { RVec4 v = new RVec4("v"); v.assign(0); v.assign(0, 0, 0, 0);
RVec2 pos = new RVec2("pos"); RVec4 horizEdge = new RVec4("horizEdge"); horizEdge.assign(0,0,0,0); pos.assign("vec2( vTextureCoord.x - uSobel.x, vTextureCoord.y - uSobel.y )"); horizEdge.assignAdd(texture2D( uTexture, pos).multiply(1)); RVec4 vertEdge = new RVec4("vertEdge"); vertEdge.assign(0,0,0,0); pos.assign("vec2( vTextureCoord.x - uSobel.x, vTextureCoord.y - uSobel.y )");
return new RVec3(name); case VEC4: return new RVec4(name); case MAT3: return new RMat3(name);
@Override public void main() { RVec4 lightDepthCol = new RVec4("lightDepthCol"); lightDepthCol.assign(texture2D(muShadowMapTexture, mvShadowTexCoord.xy())); ShaderVar gShadowValue = getGlobal(DefaultShaderVar.G_SHADOW_VALUE); ShaderVar gSpecularValue = getGlobal(DefaultShaderVar.G_SPECULAR_VALUE); RVec3 gNormal = (RVec3) getGlobal(DefaultShaderVar.G_NORMAL); RFloat shadowLightAngle = new RFloat("shadowLightAngle"); shadowLightAngle.assign(dot(gNormal, muShadowLightDir)); startif( new Condition(lightDepthCol.z(), Operator.LESS_THAN, mvShadowTexCoord.z().subtract(mcShadowBias)), new Condition(Operator.AND, shadowLightAngle, Operator.LESS_THAN_EQUALS, -.15f) ); { gShadowValue.assign(muShadowInfluence); gSpecularValue.assign(0.0f); } endif(); }
public RVec3(DefaultShaderVar var) { this(var, new RVec4("vec3()")); }
public RVec2(DefaultShaderVar var) { this(var, new RVec4("vec2()")); }
public RVec4(DefaultShaderVar var) { this(var, new RVec4("vec4()")); }
@Override public void main() { RVec2 pos = new RVec2("pos"); pos.assign(vTextureCoord); pos.x().assignSubtract(mod(pos.x(), uGrid.x())); pos.y().assignSubtract(mod(pos.y(), uGrid.y())); RVec4 srcColor = new RVec4("srcColor"); srcColor.assign(texture2D(uTexture, pos)); GL_FRAG_COLOR.assign(srcColor); } }
@Override public void main() { RVec2 textureCoord = (RVec2)getGlobal(DefaultShaderVar.G_TEXTURE_COORD); RVec4 emissionCol = new RVec4("emissionCol"); emissionCol.assign(texture2D(muEmissionTexture, textureCoord)); RVec4 color = (RVec4) getGlobal(DefaultShaderVar.G_COLOR); color.assignAdd(emissionCol); } }
@Override public void main() { RVec2 textureCoord = (RVec2)getGlobal(DefaultShaderVar.G_TEXTURE_COORD); RVec4 decalCol = new RVec4("decalCol"); if(mDecalTexture.offsetEnabled()) textureCoord.assignAdd(muDecalOffset); if(mDecalTexture.getWrapType() == ATexture.WrapType.REPEAT) textureCoord.assignMultiply(muDecalRepeat); decalCol.assign(texture2D(muDecalTexture, textureCoord)); RVec4 color = (RVec4) getGlobal(DefaultShaderVar.G_COLOR); color.assign(mix(color, decalCol, decalCol.a())); } }
public RVec4 texture2DProj(ShaderVar var1, ShaderVar var2) { RVec4 s = new RVec4("texture2DProj(" + var1.getName() + ", " + var2.getName() + ")", DataType.VEC4); s.mInitialized = true; return s; }