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


Java FloatBuffer.flip方法代码示例

本文整理汇总了Java中java.nio.FloatBuffer.flip方法的典型用法代码示例。如果您正苦于以下问题:Java FloatBuffer.flip方法的具体用法?Java FloatBuffer.flip怎么用?Java FloatBuffer.flip使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在java.nio.FloatBuffer的用法示例。


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

示例1: createFloatBuffer

import java.nio.FloatBuffer; //导入方法依赖的package包/类
/**
 * Generate a new FloatBuffer using the given array of Quaternion objects.
 * The FloatBuffer will be 4 * data.length long and contain the vector data.
 * 
 * @param data array of Quaternion objects to place into a new FloatBuffer
 */
public static FloatBuffer createFloatBuffer(Quaternion... data) {
    if (data == null) {
        return null;
    }
    FloatBuffer buff = createFloatBuffer(4 * data.length);
    for (Quaternion element : data) {
        if (element != null) {
            buff.put(element.getX()).put(element.getY()).put(element.getZ()).put(element.getW());
        } else {
            buff.put(0).put(0).put(0).put(0);
        }
    }
    buff.flip();
    return buff;
}
 
开发者ID:asiermarzo,项目名称:Ultraino,代码行数:22,代码来源:BufferUtils.java

示例2: Mesh

import java.nio.FloatBuffer; //导入方法依赖的package包/类
/**
    * Create a mesh with the specified vertices and indices and whether the normals should be calculated
    * @param vertices
    * @param indices
    * @param calculateNormals
    */
   public Mesh(Vertex[] vertices, int[] indices, boolean calculateNormals) {
modelMatrix = new Matrix4f();

// Automatically calculate normals for the mesh
if(calculateNormals) {
    calculateNormals(vertices, indices);
}

// Create a FloatBuffer to hold Vertex data
FloatBuffer data = BufferUtils.createFloatBuffer(vertices.length * Vertex.SIZE);

for(int i = 0; i < vertices.length; i++) {
    // Store the position
    data.put(vertices[i].getPos().x);
    data.put(vertices[i].getPos().y);
    data.put(vertices[i].getPos().z);
    // Store the texture coordinates
    data.put(vertices[i].getTexCoords().x);
    data.put(vertices[i].getTexCoords().y);
    // Store the normal
    data.put(vertices[i].getNormal().x);
    data.put(vertices[i].getNormal().y);
    data.put(vertices[i].getNormal().z);
    // Store the color
    data.put(vertices[i].getColor().x);
    data.put(vertices[i].getColor().y);
    data.put(vertices[i].getColor().z);
}

// Prepare the buffer for get() operations
data.flip();

// Create the VAO using the vertices and indices
vao = new IndexedVAO(data, indices, Vertex.DIMENSIONS);
   }
 
开发者ID:camilne,项目名称:open-world,代码行数:42,代码来源:Mesh.java

示例3: toBuffer

import java.nio.FloatBuffer; //导入方法依赖的package包/类
/**
    * Stores the specified data into a FloatBuffer
    * @param data The array of float data
    * @return The generated FloatBuffer
    */
   public static FloatBuffer toBuffer(float[] data) {
// Create an empty FloatBuffer with the correct size
FloatBuffer buffer = BufferUtils.createFloatBuffer(data.length);

// Store all the data in the buffer
for(int i = 0; i < data.length; i++) {
    buffer.put(data[i]);
}

// Prepares the buffer for get() operations
buffer.flip();

return buffer;
   }
 
开发者ID:camilne,项目名称:open-world,代码行数:20,代码来源:Util.java

示例4: createFlippedBuffer

import java.nio.FloatBuffer; //导入方法依赖的package包/类
public static FloatBuffer createFlippedBuffer(float... values)
{
	FloatBuffer buffer = createFloatBuffer(values.length);
	buffer.put(values);
	buffer.flip();
	
	return buffer;
}
 
开发者ID:oreonengine,项目名称:Lwjgl3-Game-Engine-Programming-Series,代码行数:9,代码来源:BufferUtil.java

示例5: createFlippedBufferAOS

import java.nio.FloatBuffer; //导入方法依赖的package包/类
public static FloatBuffer createFlippedBufferAOS(Vertex[] vertices)
{
	FloatBuffer buffer = createFloatBuffer(vertices.length * Vertex.FLOATS);
	
	for(int i = 0; i < vertices.length; i++)
	{
		buffer.put(vertices[i].getPos().getX());
		buffer.put(vertices[i].getPos().getY());
		buffer.put(vertices[i].getPos().getZ());
		buffer.put(vertices[i].getNormal().getX());
		buffer.put(vertices[i].getNormal().getY());
		buffer.put(vertices[i].getNormal().getZ());
		buffer.put(vertices[i].getTextureCoord().getX());
		buffer.put(vertices[i].getTextureCoord().getY());
		
		if (vertices[i].getTangent() != null && vertices[i].getBitangent() != null){
			buffer.put(vertices[i].getTangent().getX());
			buffer.put(vertices[i].getTangent().getY());
			buffer.put(vertices[i].getTangent().getZ());
			buffer.put(vertices[i].getBitangent().getX());
			buffer.put(vertices[i].getBitangent().getY());
			buffer.put(vertices[i].getBitangent().getZ());
		}
	}
	
	buffer.flip();
	
	return buffer;
}
 
开发者ID:oreonengine,项目名称:Lwjgl3-Game-Engine-Programming-Series,代码行数:30,代码来源:BufferUtil.java

示例6: calcWelzl

import java.nio.FloatBuffer; //导入方法依赖的package包/类
/**
 * Calculates a minimum bounding sphere for the copyTo of points. The algorithm
 * was originally found in C++ at
 * <p><a href="http://www.flipcode.com/cgi-bin/msg.cgi?showThread=COTD-SmallestEnclosingSpheres&forum=cotd&id=-1">
 * http://www.flipcode.com/cgi-bin/msg.cgi?showThread=COTD-SmallestEnclosingSpheres&forum=cotd&id=-1</a><br><strong>broken link</strong></p>
 * <p>and translated to java by Cep21</p>
 *
 * @param points
 *            The points to calculate the minimum bounds from.
 */
public void calcWelzl(FloatBuffer points) {
    if (center == null) {
        center = new Vector3f();
    }
    FloatBuffer buf = BufferUtils.createFloatBuffer(points.limit());
    points.rewind();
    buf.put(points);
    buf.flip();
    recurseMini(buf, buf.limit() / 3, 0, 0);
}
 
开发者ID:asiermarzo,项目名称:Ultraino,代码行数:21,代码来源:BoundingSphere.java

示例7: storeDataInFloatBuffer

import java.nio.FloatBuffer; //导入方法依赖的package包/类
private FloatBuffer storeDataInFloatBuffer(float[] data) {
	FloatBuffer buffer = BufferUtils.createFloatBuffer(data.length);
	buffer.put(data);
	buffer.flip();
	return buffer;
}
 
开发者ID:marcioz98,项目名称:MRCEngine,代码行数:7,代码来源:Loader.java

示例8: createBuffer

import java.nio.FloatBuffer; //导入方法依赖的package包/类
private FloatBuffer createBuffer(float[] data) {
    FloatBuffer buffer = BufferUtils.createFloatBuffer(data.length);
    buffer.put(data);
    buffer.flip();
    return buffer;
}
 
开发者ID:nitrodragon,项目名称:lwjgl3_stuff,代码行数:7,代码来源:Model.java

示例9: storeData

import java.nio.FloatBuffer; //导入方法依赖的package包/类
public void storeData(float[] data){
	FloatBuffer buffer = BufferUtils.createFloatBuffer(data.length);
	buffer.put(data);
	buffer.flip();
	storeData(buffer);
}
 
开发者ID:TheThinMatrix,项目名称:OpenGL-Animation,代码行数:7,代码来源:Vbo.java

示例10: getAsFloatBuffer

import java.nio.FloatBuffer; //导入方法依赖的package包/类
public FloatBuffer getAsFloatBuffer() {
	FloatBuffer buffer = BufferUtils.createFloatBuffer(4);
	buffer.put(new float[] { col.x, col.y, col.z, a });
	buffer.flip();
	return buffer;
}
 
开发者ID:TheThinMatrix,项目名称:LowPolyWater,代码行数:7,代码来源:Colour.java

示例11: storeDataInBuffer

import java.nio.FloatBuffer; //导入方法依赖的package包/类
public static void storeDataInBuffer(FloatBuffer buffer, int vertexCount, float[]... data) {
	float[] interleavedData = interleaveFloatData(vertexCount, data);
	buffer.clear();
	buffer.put(interleavedData);
	buffer.flip();
}
 
开发者ID:TheThinMatrix,项目名称:LowPolyWater,代码行数:7,代码来源:DataUtils.java

示例12: storeDataInBuffer

import java.nio.FloatBuffer; //导入方法依赖的package包/类
public static void storeDataInBuffer(FloatBuffer buffer, int vertexCount, float[]... data) {
    float[] interleavedData = interleaveFloatData(vertexCount, data);
    buffer.clear();
    buffer.put(interleavedData);
    buffer.flip();
}
 
开发者ID:GryPLOfficial,项目名称:EcoSystem-Official,代码行数:7,代码来源:DataUtils.java

示例13: print

import java.nio.FloatBuffer; //导入方法依赖的package包/类
public void print(float x, float y, String text){
	GL11.glEnable(GL11.GL_TEXTURE_2D);
	GL11.glBindTexture(GL11.GL_TEXTURE_2D, texId);
	
	FloatBuffer xbuf = BufferUtils.createFloatBuffer(1);
	FloatBuffer ybuf = BufferUtils.createFloatBuffer(1);
	
	xbuf.put(x);
	ybuf.put(Window.instance.getHeight() - y);
	
	xbuf.flip();
	ybuf.flip();
	
	STBTTAlignedQuad q = STBTTAlignedQuad.malloc();
	
	GL11.glBegin(GL11.GL_QUADS);
	
	for(char c : text.toCharArray()){
		if(c == '\n'){
			ybuf.put(0, ybuf.get(0) + fontHeight);
			xbuf.put(0, x);
			continue;
		}else if(c < 32 || c > 128){
			continue;
		}
		
		STBTruetype.stbtt_GetBakedQuad(cdata, 512, 512, (int)(c - 32), xbuf, ybuf, q, true);
		
		GL11.glTexCoord2f(q.s0(), q.t0());
		GL11.glVertex2f(q.x0(), q.y0());

		GL11.glTexCoord2f(q.s1(), q.t0());
		GL11.glVertex2f(q.x1(), q.y0());

		GL11.glTexCoord2f(q.s1(), q.t1());
		GL11.glVertex2f(q.x1(), q.y1());

		GL11.glTexCoord2f(q.s0(), q.t1());
		GL11.glVertex2f(q.x0(), q.y1());
	}
	
	GL11.glEnd();
}
 
开发者ID:tek256,项目名称:LD38,代码行数:44,代码来源:UIFont.java


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