com.jogamp.common.nio.Buffers.newDirectFloatBuffer()方法的使用及代码示例

x33g5p2x  于2022-01-16 转载在 其他  
字(6.0k)|赞(0)|评价(0)|浏览(100)

本文整理了Java中com.jogamp.common.nio.Buffers.newDirectFloatBuffer()方法的一些代码示例,展示了Buffers.newDirectFloatBuffer()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Buffers.newDirectFloatBuffer()方法的具体详情如下:
包路径:com.jogamp.common.nio.Buffers
类名称:Buffers
方法名:newDirectFloatBuffer

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);
}

相关文章