public Vector2f[] getFrameBufferSamplePositions(FrameBuffer fb) { if (fb.getSamples() <= 1) { throw new IllegalArgumentException("Framebuffer must be multisampled"); } if (!caps.contains(Caps.TextureMultisample)) { throw new RendererException("Multisampled textures are not supported"); } setFrameBuffer(fb); Vector2f[] samplePositions = new Vector2f[fb.getSamples()]; FloatBuffer samplePos = BufferUtils.createFloatBuffer(2); for (int i = 0; i < samplePositions.length; i++) { glext.glGetMultisample(GLExt.GL_SAMPLE_POSITION, i, samplePos); samplePos.clear(); samplePositions[i] = new Vector2f(samplePos.get(0) - 0.5f, samplePos.get(1) - 0.5f); } return samplePositions; }
return false; if (fb.getSamples() > 1 && !caps.contains(Caps.FrameBufferMultisample)) return false;
if (fb.getSamples() > 1 && caps.contains(Caps.FrameBufferMultisample)) { int samples = fb.getSamples(); int maxSamples = limits.get(Limits.FrameBufferSamples); if (maxSamples < samples) {
public Vector2f[] getFrameBufferSamplePositions(FrameBuffer fb) { if (fb.getSamples() <= 1) { throw new IllegalArgumentException("Framebuffer must be multisampled"); } if (!caps.contains(Caps.TextureMultisample)) { throw new RendererException("Multisampled textures are not supported"); } setFrameBuffer(fb); Vector2f[] samplePositions = new Vector2f[fb.getSamples()]; FloatBuffer samplePos = BufferUtils.createFloatBuffer(2); for (int i = 0; i < samplePositions.length; i++) { glext.glGetMultisample(GLExt.GL_SAMPLE_POSITION, i, samplePos); samplePos.clear(); samplePositions[i] = new Vector2f(samplePos.get(0) - 0.5f, samplePos.get(1) - 0.5f); } return samplePositions; }
public Vector2f[] getFrameBufferSamplePositions(FrameBuffer fb) { if (fb.getSamples() <= 1) { throw new IllegalArgumentException("Framebuffer must be multisampled"); } if (!caps.contains(Caps.TextureMultisample)) { throw new RendererException("Multisampled textures are not supported"); } setFrameBuffer(fb); Vector2f[] samplePositions = new Vector2f[fb.getSamples()]; FloatBuffer samplePos = BufferUtils.createFloatBuffer(2); for (int i = 0; i < samplePositions.length; i++) { glGetMultisample(GL_SAMPLE_POSITION, i, samplePos); samplePos.clear(); samplePositions[i] = new Vector2f(samplePos.get(0) - 0.5f, samplePos.get(1) - 0.5f); } return samplePositions; }
return false; if (fb.getSamples() > 1 && !caps.contains(Caps.FrameBufferMultisample)) return false;
return false; if (fb.getSamples() > 1 && !caps.contains(Caps.FrameBufferMultisample)) return false;
if (fb.getSamples() > 1 && caps.contains(Caps.FrameBufferMultisample)) { int samples = fb.getSamples(); int maxSamples = limits.get(Limits.FrameBufferSamples); if (maxSamples < samples) {
if (fb.getSamples() > 1 && caps.contains(Caps.FrameBufferMultisample)) { int samples = fb.getSamples(); if (maxFBOSamples < samples) { samples = maxFBOSamples;