public void ifelseif(Condition... conditions) { mShaderSB.append("} else "); mShaderSB.append("if("); for(int i=0; i<conditions.length; i++) { Condition condition = conditions[i]; if(i > 0) mShaderSB.append(condition.getJoinOperator().getOperatorString()); mShaderSB.append(condition.getLeftValue().getVarName()); mShaderSB.append(condition.getOperator().getOperatorString()); mShaderSB.append(condition.getRightValue()); } mShaderSB.append(")\n{\n"); }
@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(); }
@Override public void main() { // -- vFogDensity = 0.0; mvFogDensity.assign(0); // -- if (uFogEnabled == true){ startif(new Condition(muFogEnabled, Operator.EQUALS, true)); { // -- vFogDensity = (gl_Position.z - uFogNear) / (uFogFar - uFogNear); mvFogDensity.assign( enclose(GL_POSITION.z().subtract(muFogNear)).divide( enclose(muFogFar.subtract(muFogNear)) ) ); // -- vFogDensity = clamp(vFogDensity, 0.0, 1.0); mvFogDensity.assign(clamp(mvFogDensity, 0, 1)); } endif(); }
@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 void ifelseif(Condition... conditions) { mShaderSB.append("} else "); mShaderSB.append("if("); for(int i=0; i<conditions.length; i++) { Condition condition = conditions[i]; if(i > 0) mShaderSB.append(condition.getJoinOperator().getOperatorString()); mShaderSB.append(condition.getLeftValue().getVarName()); mShaderSB.append(condition.getOperator().getOperatorString()); mShaderSB.append(condition.getRightValue()); } mShaderSB.append(")\n{\n"); }
public void startif(Condition condition) { mShaderSB.append("if("); mShaderSB.append(condition.getLeftValue().getVarName()); mShaderSB.append(condition.getOperator().getOperatorString()); mShaderSB.append(condition.getRightValue()); mShaderSB.append(")\n{\n"); }
public void ifelseif(Condition condition) { mShaderSB.append("} else "); mShaderSB.append("if("); mShaderSB.append(condition.getLeftValue().getVarName()); mShaderSB.append(condition.getOperator().getOperatorString()); mShaderSB.append(condition.getRightValue()); mShaderSB.append(")\n{\n"); }
public void startif(Condition... conditions) { mShaderSB.append("if("); for(int i=0; i<conditions.length; i++) { Condition condition = conditions[i]; if(i > 0) mShaderSB.append(condition.getJoinOperator().getOperatorString()); mShaderSB.append(condition.getLeftValue().getVarName()); mShaderSB.append(condition.getOperator().getOperatorString()); mShaderSB.append(condition.getRightValue()); } mShaderSB.append(")\n{\n"); }
new Condition(dist, Operator.LESS_THAN, muCircleRadius.add(circleBorderHalf)), new Condition(Operator.AND, dist, Operator.GREATER_THAN, muCircleRadius.subtract(circleBorderHalf)) ); startif(new Condition(angle, Operator.GREATER_THAN_EQUALS, startAngle), new Condition(Operator.AND, angle, Operator.LESS_THAN_EQUALS, endAngle)); startif(new Condition(outColor.a(), Operator.EQUALS, 0));
@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(); }
@Override public void main() { // -- vFogDensity = 0.0; mvFogDensity.assign(0); // -- if (uFogEnabled == true){ startif(new Condition(muFogEnabled, Operator.EQUALS, true)); { // -- vFogDensity = (gl_Position.z - uFogNear) / (uFogFar - uFogNear); mvFogDensity.assign( enclose(GL_POSITION.z().subtract(muFogNear)).divide( enclose(muFogFar.subtract(muFogNear)) ) ); // -- vFogDensity = clamp(vFogDensity, 0.0, 1.0); mvFogDensity.assign(clamp(mvFogDensity, 0, 1)); } endif(); }
@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 void startif(Condition condition) { mShaderSB.append("if("); mShaderSB.append(condition.getLeftValue().getVarName()); mShaderSB.append(condition.getOperator().getOperatorString()); mShaderSB.append(condition.getRightValue()); mShaderSB.append(")\n{\n"); }
public void ifelseif(Condition condition) { mShaderSB.append("} else "); mShaderSB.append("if("); mShaderSB.append(condition.getLeftValue().getVarName()); mShaderSB.append(condition.getOperator().getOperatorString()); mShaderSB.append(condition.getRightValue()); mShaderSB.append(")\n{\n"); }
@Override public void main() { RVec4 color = (RVec4) getGlobal(DefaultShaderVar.G_COLOR); startif(new Condition(color.a(), Operator.LESS_THAN_EQUALS, mAlphaThreshold)); { discard(); } endif(); } }
public void startif(Condition... conditions) { mShaderSB.append("if("); for(int i=0; i<conditions.length; i++) { Condition condition = conditions[i]; if(i > 0) mShaderSB.append(condition.getJoinOperator().getOperatorString()); mShaderSB.append(condition.getLeftValue().getVarName()); mShaderSB.append(condition.getOperator().getOperatorString()); mShaderSB.append(condition.getRightValue()); } mShaderSB.append(")\n{\n"); }