コード例 #1
0
 public synchronized void workAllJobs() {
   while (!jobs.isEmpty()) {
     loadJob(jobs.remove());
   }
   while (!shadertoset.empty()) {
     shadertoset.pop().load();
   }
 }
コード例 #2
0
 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));
   }
 }