/** * {@inheritDoc} * * attributes are all declared, inPosition is declared even if it's not in * the list and its condition is nulled. */ @Override protected void generateAttributes(StringBuilder source, ShaderGenerationInfo info) { source.append("\n"); boolean inPosition = false; for (ShaderNodeVariable var : info.getAttributes()) { if (var.getName().equals("inPosition")) { inPosition = true; var.setCondition(null); fixInPositionType(var); //keep track on the InPosition variable to avoid iterating through attributes again inPosTmp = var; } declareAttribute(source, var); } if (!inPosition) { inPosTmp = new ShaderNodeVariable("vec3", "inPosition"); declareAttribute(source, inPosTmp); } }
left.setMultiplicity(multiplicity); left.setCondition(mergeConditions(left.getCondition(), "defined(" + multiplicity + ")", "||")); } else { throw new MatParseException("Wrong multiplicity for variable" + left.getName() + ". " + right.setCondition(left.getCondition());
/** * {@inheritDoc} * * attributes are all declared, inPosition is declared even if it's not in * the list and its condition is nulled. */ @Override protected void generateAttributes(StringBuilder source, ShaderGenerationInfo info) { source.append("\n"); boolean inPosition = false; for (ShaderNodeVariable var : info.getAttributes()) { if (var.getName().equals("inPosition")) { inPosition = true; var.setCondition(null); fixInPositionType(var); //keep track on the InPosition variable to avoid iterating through attributes again inPosTmp = var; } declareAttribute(source, var); } if (!inPosition) { inPosTmp = new ShaderNodeVariable("vec3", "inPosition"); declareAttribute(source, inPosTmp); } }
mapping.getLeftVariable().setMultiplicity(multiplicity); mapping.getLeftVariable().setCondition(mergeConditions(mapping.getLeftVariable().getCondition(), "defined(" + multiplicity + ")", "||")); } else { throw new MatParseException("Wrong multiplicity for variable" + mapping.getLeftVariable().getName() + ". " + multiplicity + " should be an int or a declared material parameter.", statement); right.setCondition(mapping.getLeftVariable().getCondition());