本文整理汇总了Java中com.jogamp.opengl.GL2GL3类的典型用法代码示例。如果您正苦于以下问题:Java GL2GL3类的具体用法?Java GL2GL3怎么用?Java GL2GL3使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
GL2GL3类属于com.jogamp.opengl包,在下文中一共展示了GL2GL3类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的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
示例16: render
import com.jogamp.opengl.GL2GL3; //导入依赖的package包/类
@Override
public void render(int contextID, Renderer renderer,
Camera cam, Ray pickRay) {
assert(_hasInitialized);
GL2GL3 gl = renderer.getGL();
if (_points.size() < 3) {
return; // Can't actually draw this polygon
}
float[] renderColour = colour;
if (pickRay != null && getCollisionDist(pickRay, false) > 0)
renderColour = hoverColour;
if (renderColour[3] != 1.0) {
// Transparent, render this on the transparent pass instead
return;
}
renderImp(contextID, renderer, cam, pickRay, gl, renderColour);
}
开发者ID:jaamsim,项目名称:jaamsim,代码行数:22,代码来源:Polygon.java
示例17: renderOutline
import com.jogamp.opengl.GL2GL3; //导入依赖的package包/类
private void renderOutline(GL2GL3 gl) {
// The vertex list is just the closed loop of points
if (lineWidth == 0) {
return;
}
gl.glBindBuffer(GL2GL3.GL_ARRAY_BUFFER, _vertBuffer);
gl.glBufferData(GL2GL3.GL_ARRAY_BUFFER, fb.limit() * 4, fb, GL2GL3.GL_STATIC_DRAW);
gl.glVertexAttribPointer(_posVar, 3, GL2GL3.GL_FLOAT, false, 0, 0);
gl.glBindBuffer(GL2GL3.GL_ARRAY_BUFFER, 0);
if (!gl.isGLcore())
gl.glLineWidth((float)lineWidth);
else
gl.glLineWidth(1.0f);
gl.glDrawArrays(GL2GL3.GL_LINE_LOOP, 0, _points.size());
gl.glLineWidth(1.0f);
}
开发者ID:jaamsim,项目名称:jaamsim,代码行数:24,代码来源:Polygon.java
示例18: init
import com.jogamp.opengl.GL2GL3; //导入依赖的package包/类
public static void init(Renderer r, GL2GL3 gl) {
int[] is = new int[1];
gl.glGenBuffers(1, is, 0);
_vertBuffer = is[0];
Shader s = r.getShader(ShaderHandle.DEBUG);
_progHandle = s.getProgramHandle();
gl.glUseProgram(_progHandle);
_modelViewMatVar = gl.glGetUniformLocation(_progHandle, "modelViewMat");
_projMatVar = gl.glGetUniformLocation(_progHandle, "projMat");
_colorVar = gl.glGetUniformLocation(_progHandle, "color");
_cVar = gl.glGetUniformLocation(_progHandle, "C");
_fcVar = gl.glGetUniformLocation(_progHandle, "FC");
_posVar = gl.glGetAttribLocation(_progHandle, "position");
_hasInitialized = true;
}
开发者ID:jaamsim,项目名称:jaamsim,代码行数:21,代码来源:Polygon.java
示例19: renderTransparent
import com.jogamp.opengl.GL2GL3; //导入依赖的package包/类
@Override
public void renderTransparent(int contextID, Renderer renderer, Camera cam, Ray pickRay) {
GL2GL3 gl = renderer.getGL();
if (_points.size() < 3) {
return; // Can't actually draw this polygon
}
float[] renderColour = colour;
if (pickRay != null && getCollisionDist(pickRay, false) > 0)
renderColour = hoverColour;
if (renderColour[3] == 1.0) {
// This is opaque
return;
}
renderImp(contextID, renderer, cam, pickRay, gl, renderColour);
}
开发者ID:jaamsim,项目名称:jaamsim,代码行数:19,代码来源:Polygon.java
示例20: getShaderLog
import com.jogamp.opengl.GL2GL3; //导入依赖的package包/类
private String getShaderLog(int shaderHandle, GL2GL3 gl) {
int[] is = new int[1];
gl.glGetShaderiv(shaderHandle, GL2GL3.GL_INFO_LOG_LENGTH, is, 0);
int logLength = is[0];
if (logLength == 0) {
return "";
}
byte[] bs = new byte[logLength];
gl.glGetShaderInfoLog(shaderHandle, logLength, is, 0, bs, 0);
StringBuilder sb = new StringBuilder();
for(int i = 0; i < is[0]; ++i) {
sb.append((char)bs[i]);
}
return sb.toString();
}
开发者ID:jaamsim,项目名称:jaamsim,代码行数:21,代码来源:Shader.java
注:本文中的com.jogamp.opengl.GL2GL3类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论