package org.goko.tools.viewer.jogl.utils.render.internal; import javax.media.opengl.GL3; import org.goko.core.common.exception.GkException; import org.goko.tools.viewer.jogl.shaders.EnumGokoShaderProgram; import org.goko.tools.viewer.jogl.shaders.ShaderLoader; public abstract class AbstractLineRenderer extends AbstractVboJoglRenderer { /** Line width */ private float lineWidth; /** * Constructeur * @param renderPrimitive the type of rendered primitives * @param usedBuffers the used buffers list */ protected AbstractLineRenderer(int renderPrimitive, int usedBuffers) { super(renderPrimitive, usedBuffers); this.lineWidth = 1; } /** (inheritDoc) * @see org.goko.tools.viewer.jogl.utils.render.internal.AbstractVboJoglRenderer#loadShaderProgram(javax.media.opengl.GL3) */ @Override protected int loadShaderProgram(GL3 gl) throws GkException { return ShaderLoader.loadShader(gl, EnumGokoShaderProgram.LINE_SHADER); } /** (inheritDoc) * @see org.goko.tools.viewer.jogl.utils.render.internal.AbstractVboJoglRenderer#updateShaderData(javax.media.opengl.GL3) */ @Override protected void updateShaderData(GL3 gl) throws GkException { super.updateShaderData(gl); gl.glLineWidth(lineWidth); } /** * @return the lineWidth */ public float getLineWidth() { return lineWidth; } /** * @param lineWidth the lineWidth to set */ public void setLineWidth(float lineWidth) { this.lineWidth = lineWidth; } }