public synchronized void workAllJobs() { while (!jobs.isEmpty()) { loadJob(jobs.remove()); } while (!shadertoset.empty()) { shadertoset.pop().load(); } }
public synchronized void loadShader(ShaderContainer scont, String vertex, String frag) { ShaderLoadJob sljob = new ShaderLoadJob(vertex, frag); ShaderProgramm sprog = (ShaderProgramm) ressourcen.get(sljob); if (sprog == null) { List<ShaderContainer> l = scontainer.get(sljob); if (l == null) { l = new LinkedList<ShaderContainer>(); scontainer.put(sljob, l); sljob.setConList(l); jobs.add(sljob); } l.add(scont); } else { scontainer.get(sljob).add(scont); shadertoset.add(new ThreadSafeShaderLoading(scont, sprog)); } }