MCPcopy Create free account
hub / github.com/DGVPSH/SlackOpen / initDrawBuffers

Method initDrawBuffers

src/main/java/net/optifine/shaders/Shaders.java:2369–2422  ·  view source on GitHub ↗
(Program p)

Source from the content-addressed store, hash-verified

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 {

Callers 1

initMethod · 0.95

Calls 9

getDrawBufferMethod · 0.95
getDrawBufSettingsMethod · 0.80
getDrawBuffersBufferMethod · 0.80
lengthMethod · 0.80
getIdMethod · 0.65
putMethod · 0.65
setDrawBuffersMethod · 0.45
limitMethod · 0.45

Tested by

no test coverage detected