(Program p)
| 2367 | } |
| 2368 | |
| 2369 | private static void initDrawBuffers(Program p) |
| 2370 | { |
| 2371 | int i = GL11.glGetInteger(GL20.GL_MAX_DRAW_BUFFERS); |
| 2372 | Arrays.fill(p.getToggleColorTextures(), false); |
| 2373 | |
| 2374 | if (p == ProgramFinal) |
| 2375 | { |
| 2376 | p.setDrawBuffers((IntBuffer)null); |
| 2377 | } |
| 2378 | else if (p.getId() == 0) |
| 2379 | { |
| 2380 | if (p == ProgramShadow) |
| 2381 | { |
| 2382 | p.setDrawBuffers(drawBuffersNone); |
| 2383 | } |
| 2384 | else |
| 2385 | { |
| 2386 | p.setDrawBuffers(drawBuffersColorAtt0); |
| 2387 | } |
| 2388 | } |
| 2389 | else |
| 2390 | { |
| 2391 | String s = p.getDrawBufSettings(); |
| 2392 | |
| 2393 | if (s == null) |
| 2394 | { |
| 2395 | if (p != ProgramShadow && p != ProgramShadowSolid && p != ProgramShadowCutout) |
| 2396 | { |
| 2397 | p.setDrawBuffers(dfbDrawBuffers); |
| 2398 | usedDrawBuffers = usedColorBuffers; |
| 2399 | Arrays.fill(p.getToggleColorTextures(), 0, usedColorBuffers, true); |
| 2400 | } |
| 2401 | else |
| 2402 | { |
| 2403 | p.setDrawBuffers(sfbDrawBuffers); |
| 2404 | } |
| 2405 | } |
| 2406 | else |
| 2407 | { |
| 2408 | IntBuffer intbuffer = p.getDrawBuffersBuffer(); |
| 2409 | int j = s.length(); |
| 2410 | usedDrawBuffers = Math.max(usedDrawBuffers, j); |
| 2411 | j = Math.min(j, i); |
| 2412 | p.setDrawBuffers(intbuffer); |
| 2413 | intbuffer.limit(j); |
| 2414 | |
| 2415 | for (int k = 0; k < j; ++k) |
| 2416 | { |
| 2417 | int l = getDrawBuffer(p, s, k); |
| 2418 | intbuffer.put(k, l); |
| 2419 | } |
| 2420 | } |
| 2421 | } |
| 2422 | } |
| 2423 | |
| 2424 | private static int getDrawBuffer(Program p, String str, int ic) |
| 2425 | { |
no test coverage detected