本文整理了Java中com.jogamp.common.nio.Buffers.newDirectFloatBuffer()
方法的一些代码示例,展示了Buffers.newDirectFloatBuffer()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Buffers.newDirectFloatBuffer()
方法的具体详情如下:
包路径:com.jogamp.common.nio.Buffers
类名称:Buffers
方法名:newDirectFloatBuffer
[英]Allocates a new direct FloatBuffer with the specified number of elements. The returned buffer will have its byte order set to the host platform's native byte order.
[中]使用指定数量的元素分配新的直接浮点缓冲区。返回的缓冲区将其字节顺序设置为主机平台的本机字节顺序。
代码示例来源:origin: winder/Universal-G-Code-Sender
/**
* Initialize or update open gl geometry array in native buffer objects.
*/
private void updateGLGeometryArray(GLAutoDrawable drawable) {
GL2 gl = drawable.getGL().getGL2();
// Reset buffer and set to null of new geometry doesn't fit.
if (lineVertexBuffer != null) {
lineVertexBuffer.clear();
if (lineVertexBuffer.remaining() < lineVertexData.length) {
lineVertexBuffer = null;
}
}
if (lineVertexBuffer == null) {
lineVertexBuffer = Buffers.newDirectFloatBuffer(lineVertexData.length);
}
lineVertexBuffer.put(lineVertexData);
lineVertexBuffer.flip();
gl.glVertexPointer( 3, GL.GL_FLOAT, 0, lineVertexBuffer );
}
代码示例来源:origin: com.harium.propan/propan-jogl
/**
* Creates a private buffer. This can be used without fear of clobbering the
* global buffer. This should only be used if you have a need to create two
* parallel shapes at the same time.
*
* @param capacity
* The size of the buffer in number of vertices
*/
public VertexBuffer(int capacity) {
this(Buffers.newDirectFloatBuffer(capacity * 2));
}
代码示例来源:origin: brandonborkholder/glg2d
/**
* Creates a private buffer. This can be used without fear of clobbering the
* global buffer. This should only be used if you have a need to create two
* parallel shapes at the same time.
*
* @param capacity
* The size of the buffer in number of vertices
*/
public VertexBuffer(int capacity) {
this(Buffers.newDirectFloatBuffer(capacity * 2));
}
代码示例来源:origin: nifty-gui/nifty-gui
@Nonnull
@Override
public FloatBuffer createNativeOrderedFloatBuffer(final int numFloats) {
return Buffers.newDirectFloatBuffer(numFloats);
}
代码示例来源:origin: AlexBenton/Teaching
private void fillCurrentVertexBuffer(GL4 gl) {
FloatBuffer vertices = Buffers.newDirectFloatBuffer(new float[] {
-0.6f, 0.5f, 0.4f, 0.5f, -0.6f, -0.5f, // First triangle
0.6f, -0.5f, 0.6f, 0.5f, -0.4f, -0.5f, // Second triangle
});
gl.glBufferData(GL.GL_ARRAY_BUFFER,
Float.SIZE * 2 * 2 * 3, vertices, GL.GL_STATIC_DRAW);
}
代码示例来源:origin: ch.unibas.cs.gravis/scalismo-native-stub
@Override
public void glLoadMatrixf(final float[] m, final int m_offset) {
glLoadMatrixf(Buffers.newDirectFloatBuffer(m, m_offset));
}
@Override
代码示例来源:origin: ch.unibas.cs.gravis/scalismo-native-stub
@Override
public void glMultMatrixf(final float[] m, final int m_offset) {
glMultMatrixf(Buffers.newDirectFloatBuffer(m, m_offset));
}
@Override
代码示例来源:origin: ch.unibas.cs.gravis/scalismo-native-stub
@Override
public void glLightfv(final int light, final int pname, final float[] params, final int params_offset) {
glLightfv(light, pname, Buffers.newDirectFloatBuffer(params, params_offset));
}
@Override
代码示例来源:origin: org.jogamp.jogl/jogl-all-noawt
@Override
public void glLoadMatrixf(final float[] m, final int m_offset) {
glLoadMatrixf(Buffers.newDirectFloatBuffer(m, m_offset));
}
@Override
代码示例来源:origin: org.jogamp.jocl/jocl
/**
* Creates a CLBuffer with the specified flags and element count. No flags creates a MEM.READ_WRITE buffer.
*/
public final CLBuffer<FloatBuffer> createFloatBuffer(final int size, final Mem... flags) {
return createBuffer(Buffers.newDirectFloatBuffer(size), flags);
}
代码示例来源:origin: org.jogamp.jogl/jogl-all-noawt
@Override
protected boolean setGammaRamp(final NativeSurface surface, final float[] ramp) {
final FloatBuffer rampNIO = Buffers.newDirectFloatBuffer(ramp);
return CGL.setGammaRamp(ramp.length, rampNIO, rampNIO, rampNIO);
}
代码示例来源:origin: org.jogamp.jogl/jogl-all-noawt
@Override
public void glMaterialfv(final int face, final int pname, final float[] params, final int params_offset) {
glMaterialfv(face, pname, Buffers.newDirectFloatBuffer(params, params_offset));
}
@Override
代码示例来源:origin: ch.unibas.cs.gravis/scalismo-native-stub
@Override
public void glMaterialfv(final int face, final int pname, final float[] params, final int params_offset) {
glMaterialfv(face, pname, Buffers.newDirectFloatBuffer(params, params_offset));
}
@Override
代码示例来源:origin: ch.unibas.cs.gravis/scalismo-native-stub
@Override
protected boolean setGammaRamp(final NativeSurface surface, final float[] ramp) {
final FloatBuffer rampNIO = Buffers.newDirectFloatBuffer(ramp);
return CGL.setGammaRamp(ramp.length, rampNIO, rampNIO, rampNIO);
}
代码示例来源:origin: org.jogamp.jogl/jogl-all-noawt
@Override
public void glMultMatrixf(final float[] m, final int m_offset) {
glMultMatrixf(Buffers.newDirectFloatBuffer(m, m_offset));
}
@Override
代码示例来源:origin: org.jogamp.jogl/jogl-all-noawt
@Override
public void glLightfv(final int light, final int pname, final float[] params, final int params_offset) {
glLightfv(light, pname, Buffers.newDirectFloatBuffer(params, params_offset));
}
@Override
代码示例来源:origin: com.harium.propan/propan-jogl
protected void ensureCapacity(int numNewFloats) {
if (buffer.capacity() <= buffer.position() + numNewFloats) {
FloatBuffer larger = Buffers.newDirectFloatBuffer(buffer.position() * 2);
deviceBufferId = -deviceBufferId;
int position = buffer.position();
buffer.rewind();
larger.put(buffer);
buffer = larger;
buffer.position(position);
}
}
代码示例来源:origin: brandonborkholder/glg2d
protected void ensureCapacity(int numNewFloats) {
if (buffer.capacity() <= buffer.position() + numNewFloats) {
FloatBuffer larger = Buffers.newDirectFloatBuffer(Math.max(buffer.position() * 2, buffer.position() + numNewFloats));
deviceBufferId = -deviceBufferId;
int position = buffer.position();
buffer.rewind();
larger.put(buffer);
buffer = larger;
buffer.position(position);
}
}
代码示例来源:origin: com.harium.propan/propan-jogl
public Triangles(FloatBuffer vertexBuffer) {
int numVertices = vertexBuffer.limit() - vertexBuffer.position();
triangles = Buffers.newDirectFloatBuffer(numVertices);
triangles.put(vertexBuffer);
triangles.flip();
}
代码示例来源:origin: eu.mihosoft.vrl.vrljogl/vrl-jogl
public void allocate(float[] data) {
this.size = data.length;
Buffer buffer = Buffers.newDirectFloatBuffer(data);
int bufferByteSize = buffer.capacity() * Buffers.SIZEOF_FLOAT;
gl.glBufferData(gl.GL_ARRAY_BUFFER, bufferByteSize, buffer, gl.GL_STATIC_DRAW);
}
内容来源于网络,如有侵权,请联系作者删除!