当前位置: 首页>>代码示例>>Java>>正文


Java GL2GL3类代码示例

本文整理汇总了Java中com.jogamp.opengl.GL2GL3的典型用法代码示例。如果您正苦于以下问题:Java GL2GL3类的具体用法?Java GL2GL3怎么用?Java GL2GL3使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


GL2GL3类属于com.jogamp.opengl包,在下文中一共展示了GL2GL3类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: initialize

import com.jogamp.opengl.GL2GL3; //导入依赖的package包/类
@Override
public boolean initialize(RenderContext context, boolean force) {
    if (state == State.DISPOSED) return false;

    GL2GL3 gl = context.getDrawable().getGL().getGL2GL3();
    if (state == State.INITIALIZED || state == State.LOADED) {
        if (!force) return false;

        // dispose old
        vbo.dispose(gl);
        vao.dispose(gl);
    }

    vbo = BufferStorage.create(gl, GL2GL3.GL_ARRAY_BUFFER);
    vao = VertexArrayObject.create(gl);

    ptrPosition = VertexAttributePointer.create(attribute, datatype, vbo);

    state = State.INITIALIZED;
    return true;
}
 
开发者ID:sgs-us,项目名称:microtrafficsim,代码行数:22,代码来源:SingleFloatAttributeMesh.java

示例2: load

import com.jogamp.opengl.GL2GL3; //导入依赖的package包/类
@Override
public boolean load(RenderContext context, boolean force) {
    if (state == State.DISPOSED || state == State.UNINITIALIZED) return false;
    if (state == State.LOADED && !force) return false;

    GL2GL3 gl = context.getDrawable().getGL().getGL2GL3();

    gl.glBindBuffer(vbo.target, vbo.handle);
    gl.glBufferData(vbo.target, vertices.capacity() * 4L, vertices, usage);
    gl.glBindBuffer(vbo.target, 0);

    nVertices = vertices.capacity() / datatype.size;

    state = State.LOADED;
    return true;
}
 
开发者ID:sgs-us,项目名称:microtrafficsim,代码行数:17,代码来源:SingleFloatAttributeMesh.java

示例3: initialize

import com.jogamp.opengl.GL2GL3; //导入依赖的package包/类
@Override
public boolean initialize(RenderContext context, boolean force) {
    if (state == State.DISPOSED) return false;

    GL2GL3 gl = context.getDrawable().getGL().getGL2GL3();
    if (state == State.INITIALIZED || state == State.LOADED) {
        if (!force) return false;

        // dispose old
        vbo.dispose(gl);
        ibo.dispose(gl);
        vao.dispose(gl);
    }

    vbo = BufferStorage.create(gl, GL2GL3.GL_ARRAY_BUFFER);
    ibo = BufferStorage.create(gl, GL2GL3.GL_ELEMENT_ARRAY_BUFFER);
    vao = VertexArrayObject.create(gl);

    ptrAttrib = VertexAttributePointer.create(attribute, datatype, vbo);

    state = State.INITIALIZED;
    return true;
}
 
开发者ID:sgs-us,项目名称:microtrafficsim,代码行数:24,代码来源:SingleFloatAttributeIndexedMesh.java

示例4: dispose

import com.jogamp.opengl.GL2GL3; //导入依赖的package包/类
@Override
public boolean dispose(RenderContext context) {
    boolean disposable = state != State.DISPOSED && state != State.UNINITIALIZED;

    if (disposable) {
        GL2GL3 gl = context.getDrawable().getGL().getGL2GL3();

        vbo.dispose(gl);
        ibo.dispose(gl);

        state = State.DISPOSED;
    }

    for (LifeTimeObserver<Mesh> lto : ltObservers)
        lto.disposed(this);

    return disposable;
}
 
开发者ID:sgs-us,项目名称:microtrafficsim,代码行数:19,代码来源:SingleFloatAttributeIndexedMesh.java

示例5: load

import com.jogamp.opengl.GL2GL3; //导入依赖的package包/类
@Override
public boolean load(RenderContext context, boolean force) {
    if (state == State.DISPOSED || state == State.UNINITIALIZED) return false;
    if (state == State.LOADED && !force) return false;

    GL2GL3 gl = context.getDrawable().getGL().getGL2GL3();

    // vertices
    gl.glBindBuffer(vbo.target, vbo.handle);
    gl.glBufferData(vbo.target, vertices.capacity() * 4L, vertices, usage);
    gl.glBindBuffer(vbo.target, 0);

    // indices
    gl.glBindBuffer(ibo.target, ibo.handle);
    gl.glBufferData(ibo.target, indices.capacity() * 4L, indices, usage);
    gl.glBindBuffer(ibo.target, 0);

    state = State.LOADED;
    return true;
}
 
开发者ID:sgs-us,项目名称:microtrafficsim,代码行数:21,代码来源:SingleFloatAttributeIndexedMesh.java

示例6: createVAO

import com.jogamp.opengl.GL2GL3; //导入依赖的package包/类
@Override
public VertexArrayObject createVAO(RenderContext context, ShaderProgram program) {
    GL2GL3 gl = context.getDrawable().getGL().getGL2GL3();

    VertexArrayObject vao = VertexArrayObject.create(gl);

    vao.bind(gl);
    vbo.bind(gl);
    ibo.bind(gl);

    ptrAttrib.set(gl);
    ptrAttrib.enable(gl);

    vao.unbind(gl);

    return vao;
}
 
开发者ID:sgs-us,项目名称:microtrafficsim,代码行数:18,代码来源:SingleFloatAttributeIndexedMesh.java

示例7: initialize

import com.jogamp.opengl.GL2GL3; //导入依赖的package包/类
@Override
public boolean initialize(RenderContext context, boolean force) {
    if (state == State.DISPOSED) return false;

    GL2GL3 gl = context.getDrawable().getGL().getGL2GL3();
    if (state == State.INITIALIZED || state == State.LOADED) {
        if (!force) return false;

        // dispose old
        vbo.dispose(gl);
        ibo.dispose(gl);
        vao.dispose(gl);
    }

    vbo = BufferStorage.create(gl, GL2GL3.GL_ARRAY_BUFFER);
    ibo = BufferStorage.create(gl, GL2GL3.GL_ELEMENT_ARRAY_BUFFER);
    vao = VertexArrayObject.create(gl);

    final int len = (datatype1.size + datatype2.size) * 4;
    final int offs1 = datatype1.size * 4;
    ptrAttrib1 = VertexAttributePointer.create(attrib1, datatype1, vbo, len, 0);
    ptrAttrib2 = VertexAttributePointer.create(attrib2, datatype2, vbo, len, offs1);

    state = State.INITIALIZED;
    return true;
}
 
开发者ID:sgs-us,项目名称:microtrafficsim,代码行数:27,代码来源:DualFloatAttributeIndexedMesh.java

示例8: display

import com.jogamp.opengl.GL2GL3; //导入依赖的package包/类
@Override
public void display(RenderContext context, ShaderProgram shader, int mode) {
    GL2GL3 gl = context.getDrawable().getGL().getGL2GL3();

    vao.bind(gl);
    vbo.bind(gl);
    ibo.bind(gl);

    ptrAttrib1.set(gl);
    ptrAttrib1.enable(gl);

    ptrAttrib2.set(gl);
    ptrAttrib2.enable(gl);

    gl.glDrawElements(mode, indices.capacity(), GL2GL3.GL_UNSIGNED_INT, 0);

    vao.unbind(gl);
}
 
开发者ID:sgs-us,项目名称:microtrafficsim,代码行数:19,代码来源:DualFloatAttributeIndexedMesh.java

示例9: createVAO

import com.jogamp.opengl.GL2GL3; //导入依赖的package包/类
@Override
public VertexArrayObject createVAO(RenderContext context, ShaderProgram program) {
    GL2GL3 gl = context.getDrawable().getGL().getGL2GL3();

    VertexArrayObject vao = VertexArrayObject.create(gl);

    vao.bind(gl);
    vbo.bind(gl);
    ibo.bind(gl);

    ptrAttrib1.set(gl);
    ptrAttrib1.enable(gl);

    ptrAttrib2.set(gl);
    ptrAttrib2.enable(gl);

    vao.unbind(gl);

    return vao;
}
 
开发者ID:sgs-us,项目名称:microtrafficsim,代码行数:21,代码来源:DualFloatAttributeIndexedMesh.java

示例10: before

import com.jogamp.opengl.GL2GL3; //导入依赖的package包/类
protected void before(GL gl) {
    if (gl.isGL2()) {
        gl.getGL2().glPushMatrix();
        // gl.glHint(GL2.GL_PERSPECTIVE_CORRECTION_HINT,GL2.GL_NICEST);
        gl.getGL2().glPolygonMode(GL.GL_FRONT_AND_BACK, GL2GL3.GL_FILL);
        // gl.glEnable(GL2.GL_POLYGON_OFFSET_FILL);
        // gl.glPolygonOffset(1.0f, 1.0f);
        gl.glEnable(GL.GL_TEXTURE_2D);
        gl.getGL2().glTexEnvf(GL.GL_TEXTURE_2D, GL2ES1.GL_TEXTURE_ENV_MODE, GL.GL_REPLACE);
    } else {
        GLES2CompatUtils.glPushMatrix();
        GLES2CompatUtils.glPolygonMode(GL.GL_FRONT_AND_BACK, GL2GL3.GL_FILL);
        gl.glEnable(GL.GL_TEXTURE_2D);
        GLES2CompatUtils.glTexEnvf(GL.GL_TEXTURE_2D, GL2ES1.GL_TEXTURE_ENV_MODE, GL.GL_REPLACE);
    }
}
 
开发者ID:jzy3d,项目名称:bigpicture,代码行数:17,代码来源:AxeTextAnnotation.java

示例11: drawCachedGeometry

import com.jogamp.opengl.GL2GL3; //导入依赖的package包/类
public void drawCachedGeometry(final GamaGeometryFile file, final Color border) {
	if (geometryCache == null)
		return;
	if (file == null)
		return;
	final Integer index = geometryCache.get(this, file);
	if (index != null)
		drawList(index);
	if (border != null && !isWireframe()) {
		final Color old = swapCurrentColor(border);
		getGL().glPolygonMode(GL.GL_FRONT_AND_BACK, GL2GL3.GL_LINE);
		drawList(index);
		setCurrentColor(old);
		getGL().glPolygonMode(GL.GL_FRONT_AND_BACK, GL2GL3.GL_FILL);
	}
}
 
开发者ID:gama-platform,项目名称:gama,代码行数:17,代码来源:OpenGL.java

示例12: initSurfaceState

import com.jogamp.opengl.GL2GL3; //导入依赖的package包/类
/**
 * Common code to setup basic openGL state, including depth test, blending etc.
 * @param gl
 */
private void initSurfaceState(GL2GL3 gl) {
	// Some of this is probably redundant, but here goes
	gl.glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
	gl.glEnable(GL.GL_DEPTH_TEST);
	gl.glClearDepth(1.0);

	gl.glDepthFunc(GL2GL3.GL_LEQUAL);

	gl.glEnable(GL2GL3.GL_CULL_FACE);
	gl.glCullFace(GL2GL3.GL_BACK);

	gl.glBlendEquationSeparate(GL2GL3.GL_FUNC_ADD, GL2GL3.GL_MAX);
	gl.glBlendFuncSeparate(GL2GL3.GL_SRC_ALPHA, GL2GL3.GL_ONE_MINUS_SRC_ALPHA, GL2GL3.GL_ONE, GL2GL3.GL_ONE);

}
 
开发者ID:jaamsim,项目名称:jaamsim,代码行数:20,代码来源:Renderer.java

示例13: init

import com.jogamp.opengl.GL2GL3; //导入依赖的package包/类
@Override
public void init(GLAutoDrawable drawable) {
	synchronized (rendererLock) {
		// Per window initialization
		if (USE_DEBUG_GL) {
			drawable.setGL(new DebugGL4bc((GL4bc)drawable.getGL().getGL2GL3()));
		}

		GL2GL3 gl = drawable.getGL().getGL2GL3();

		initSurfaceState(gl);

		gl.glEnable(GL.GL_MULTISAMPLE);


	}
}
 
开发者ID:jaamsim,项目名称:jaamsim,代码行数:18,代码来源:Renderer.java

示例14: dispose

import com.jogamp.opengl.GL2GL3; //导入依赖的package包/类
@Override
public void dispose(GLAutoDrawable drawable) {
	synchronized (rendererLock) {

		GL2GL3 gl = drawable.getGL().getGL2GL3();

		ArrayList<Integer> vaoArray = window.getVAOs();

		int[] vaos = new int[vaoArray.size()];
		int index = 0;
		for (int vao : vaoArray) {
			vaos[index++] = vao;
		}
		if (vaos.length > 0) {
			gl.glDeleteVertexArrays(vaos.length, vaos, 0);
		}
	}
}
 
开发者ID:jaamsim,项目名称:jaamsim,代码行数:19,代码来源:Renderer.java

示例15: freeOffscreenTargetImp

import com.jogamp.opengl.GL2GL3; //导入依赖的package包/类
private void freeOffscreenTargetImp(OffscreenTarget target) {
	if (!target.isLoaded()) {
		return; // Nothing to free
	}
	sharedContext.makeCurrent();
	GL2GL3 gl = sharedContext.getGL().getGL2GL3(); // Just to clean up the code below

	int[] temp = new int[2];

	temp[0] = target.getDrawFBO();
	temp[1] = target.getBlitFBO();
	gl.glDeleteFramebuffers(2, temp, 0);

	temp[0] = target.getDrawTex();
	temp[1] = target.getBlitTex();
	gl.glDeleteTextures(2, temp, 0);

	temp[0] = target.getDepthBuffer();
	gl.glDeleteRenderbuffers(1, temp, 0);

	target.free();

	sharedContext.release();
}
 
开发者ID:jaamsim,项目名称:jaamsim,代码行数:25,代码来源:Renderer.java


注:本文中的com.jogamp.opengl.GL2GL3类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。