private void readTechniqueStatement(Statement statement) throws IOException{ String[] split = statement.getLine().split("[ \\{]"); if (split[0].equals("VertexShader") || split[0].equals("FragmentShader")){ readShaderStatement(statement.getLine()); }else if (split[0].equals("LightMode")){ readLightMode(statement.getLine()); }else if (split[0].equals("ShadowMode")){ readShadowMode(statement.getLine()); }else if (split[0].equals("WorldParameters")){ readWorldParams(statement.getContents()); }else if (split[0].equals("RenderState")){ readRenderState(statement.getContents()); }else if (split[0].equals("Defines")){ readDefines(statement.getContents()); }else{ throwIfNequal(null, split[0]); } }
private void readRenderStateStatement(String statement) throws IOException{ String[] split = statement.split(whitespacePattern); if (split[0].equals("Wireframe")){ renderState.setWireframe(parseBoolean(split[1])); }else if (split[0].equals("FaceCull")){ renderState.setFaceCullMode(FaceCullMode.valueOf(split[1])); }else if (split[0].equals("DepthWrite")){ renderState.setDepthWrite(parseBoolean(split[1])); }else if (split[0].equals("DepthTest")){ renderState.setDepthTest(parseBoolean(split[1])); }else if (split[0].equals("Blend")){ renderState.setBlendMode(BlendMode.valueOf(split[1])); }else if (split[0].equals("AlphaTestFalloff")){ renderState.setAlphaTest(true); renderState.setAlphaFallOff(Float.parseFloat(split[1])); }else if (split[0].equals("PolyOffset")){ float factor = Float.parseFloat(split[1]); float units = Float.parseFloat(split[2]); renderState.setPolyOffset(factor, units); }else if (split[0].equals("ColorWrite")){ renderState.setColorWrite(parseBoolean(split[1])); }else if (split[0].equals("PointSprite")){ renderState.setPointSprite(parseBoolean(split[1])); }else{ throwIfNequal(null, split[0]); } }